Video icon 64
Learn to code with practical video courses from Tuts+. Start your free trial today.
Advertisement

IRC on a Mac: A Primer

by

Long before the days of text messaging, IM services, and other instantaneous communication protocols we’re now familiar with, the Internet was home to the birthplace of it all — IRC. Standing for Internet Relay Chat, this incredible chat protocol was so robust that it’s still in use today. In this article, we’ll discover how IRC works and why you should make use of it.


The First Instant Messaging System

In 1988, a Finnish man by the name of Jarkko Oikarinen invented IRC to replace an aging system of relay chatting that was running on the phoneline-accesed bulletin board systems (BBS) popular before the 1990s.

He wanted a system that was built on the then-fresh “Internet”, and his solution leveraged the TCP, or Transmission Control Protocol, one of the core architectures of the global network we know today.

IRC helped popularize the notion of the Internet as a platform of communication.

His achievement is important for two key reasons. Firstly, it helped popularize the notion of the Internet as a platform of communication. Secondly, he laid the groundwork and provided a proof-of-concept for generations of instant messaging protocols, services, and systems that would evolve from it.

Jarkko now works for Google.


The Structure of IRC

The IRC Network
The Structure of IRC

Though it has evolved tremendously since its invention, the modern face of IRC is straightforward and the structure has remained fairly consistent throughout its long life. It is, at its heart, a system for creating chat rooms.

The hierarchy works like this: IRC Networks > IRC Servers > Channels. The networks are large clusters of individual servers, and while there are relatively few of them, it’s worth noting that EFnet — the original — is still operational and among the “Big Four” IRC networks (along with QuakeNet, Undernet, and IRCnet).

IRC servers provide the actual environments and processing for chatting, and each one is able to host a number of individual channels. Those channels are where we — as users — come into the picture.


Clients: Meet Colloquy

The first step on the road to IRC mastery is connecting to a server and finding a channel to chat on. This is achieved through client software, and there are a tremendous number of options available for nearly every computing operating system in history.

On the Mac side of things, the primary options are Adium and Colloquy. Adium is the omni-chat supertool, so for the purposes of clarity, we’re going to be using Colloquy instead to illustrate everything in this tutorial. Available as a free download from their website, Colloquy is a robust IRC-focused client that will make it very simple to understand what’s going on.

Once you download and run Colloquy, you’ll be greeted by its basic interface. Now let’s get chatting!

Colloquy's Main Interface
Colloquy is a clean, simple, and powerful IRC client.

Connecting to a Server

First things first: we need to find ourselves a server to chat on. From Colloquy’s main window, simply hit the “New” button in the top left to get started.

When you chat on IRC, you assign yourself a nickname so that you can be identified on the channel. This can be anything you like, though it’s a good idea to choose something fairly anonymous and avoid generic names that might get confusing in a crowded channel.

It’s a good idea to choose a fairly anonymous nickname, avoiding generic names that might get confusing in a crowded channel.

Next, you’re asked to select a server to connect to (ignore the server protocol dropdown since we’re using IRC here). It’s very likely that, in your Internet travels, you’ve come across invitations to join a site’s owners on IRC, and there’s either been a link to a web client, or they will have given a simple server address.

Let’s say we’re huge StarCraft fans. One day, while browsing the StarCraft subreddit on Reddit.com, we notice that they have an IRC channel. The listing directs us to “#starcraft on esper.net”.

Connecting to a Server
Connecting to a server is easy. The Details menu allows you to adjust more complex connection settings.

This address tells us that we should look for a channel called “#starcraft” on the server “esper.net”. To access this channel, we simply look for esper.net in the chat server field, and then hit connect.


Finding the Channel

With the server connection established, you’ll notice that there doesn’t seem to be an option to connect to a channel. This is because Colloquy uses the term Rooms to refer to channels, likely because it’s easier to understand things if you picture IRC channels as chat rooms — which is essentially what they are.

It’s easier to understand things if you picture IRC channels as chat rooms — which is essentially what they are.

Now that we understand Colloquy’s terminology, we can use the “Join Room” button to find the StarCraft channel. Clicking the button brings up a small window prompting you to enter the channel name. In our case, we know it’s “#starcraft”, but assuming we weren’t sure, we could hit the downward arrow beside the entry field to expand the window and display the full list of open channels on the esper.net server. As you can see, there are many of them.

The one we’re looking for is actually an unlisted channel, meaning it won’t show up publicly in that list, but when you type “#starcraft” into the “Chat Room” field and hit Join, it will bring you into the room.


Chatting and Understanding IRC Users

Right off the bat, you can begin chatting in a room by entering a message and sending it off — same as any chat system you’ve used before.

Chatting Interface
The chatting interface shows you the rooms you're connected to and their members on the left, with the topic along the top.

To the left, you can see the list of everyone in the room. Along the top, the channel’s topic is displayed. This topic is a fantastic way to direct discussion and can be changed only by the IRC Channel Operator. This user is the chat room’s manager, and s/he will have the ability to kick a user off the channel, mute users, ban users, and otherwise change settings pertaining to the channel. The “#starcraft” Operator has decided to make it a private channel, for instance.

You’ll notice that, by default, Colloquy puts a red backdrop on the icon of users designated as Channel Operators. There may be multiple red users, because the Channel Operator powers can be bestowed on users freely by other Operators. Likewise, you might see blue backgrounds on certain users. In a channel where discussion is moderated, only blue colored members may speak freely. There are other colors, but those are the ones you’re most likely to encounter.


Channel Commands

Unlike a normal chat system, IRC has a few interesting commands that you can make use of to perform actions in the chat room.

There are actually tens of different commands you can perform, but most follow the syntax of having a forward slash, followed by the command itself, and then whatever parameters it requires.

IRC Commands
The /me command is one of the most commonly encountered on IRC.

An easy example is the “/me” command. Typing “/me eats breakfast” will show up in the channel as “[username] eats breakfast”. It’s called an action message and IRC is famous for them.

Another simple command is “/nick”, which allows you to change your nickname to whatever you want — “/nick BreakfastBeast” for example.

IRC features many different commands for performing unique actions in the chat beyond basic chatting.

Since IRC also allows private messaging between users, a common and useful command is the “/msg” command. This one must be followed first by the nickname of the member you wish to chat privately with, and then the message itself. In Colloquy, double-clicking on any user’s name in the member list will open a separate private chat with them for more involved discussions.


IRC on the Modern Internet

Since you now know the basics of IRC and how to use it, you may have come to wonder why you might want to. In fact, it might even be tempting to argue that the only reason IRC still enjoys so much popularity is because it has a strong legacy.

In fact, IRC has not yet been made obsolete by today’s chat technology any more than forums have. Forums and IRC channels have a fair amount in common, in fact, with the difference being that a forum is a slower moving, structured system that leaves a permanent record, whereas an IRC channel is an instantaneous, fast paced discussion environment for a topic.

Modern day IRC use is frequently encountered in the gaming world, where gamers will host gigantic channels for sharing tips, lore, and idle discussion about their favourite titles. Likewise, many software projects, especially open-source ones, make use of IRC’s power to host massive realtime discussions on the ongoing work. This gives project leaders the ability to actively involve their participants in a direct manner, streamlining communication among large teams.

On a practical level, one of IRC’s biggest advantages remains its ubiquity. The fact that client software is available for almost any device, including smartphones, makes it an ideal choice for chatting with a group of people from diverse situations. Likewise, the extensive management options available via commands and the Channel Operator’s moderation powers allow IRC to be flexibly adapted to many possible discussion types, including structured debates.


Go Forth and Chat!

Hopefully, we’ve managed to demystify IRC for you. Many people are aware of it only as a strange and archaic form of communication; some sort of Internet smoke signal system. But IRC remains as powerful today as it was decades ago, with many dedicated users, vast amounts of help, and an architecture designed to be adaptable.

In future articles, we’ll look a running your own IRC channel, securing it against attacks, and broadening your vocabulary of chat commands. For now, hop into the comments and tell us about your IRC experiences — do you use it? Do you think it’s obsolete? Have some great alternatives to share? We want to hear all about it!

Advertisement