Internet Relay Chat (IRC) is a protocol, created in 1988, and was meant to help facilitate group discussions, via various channels. The channels served to identify different discussion topics you could pop in on. In the 90’s, IRC chat was world changing and career-influencing. However, I was too young to enjoy its flavor back then, but there is no doubt that it showed the developers the potential of the Internet as a globally-connecting venue for meaningful cultural collaboration and connections. Over the time, IRC has lost 60 percent of its users, going from 1 million in 2003 to about 400,000 today. And IRC channels? In 2003 there were 500,000; now there is half that number. This is due in large part to the advent of the Web, social media, and tools that can do a lot more than plain text can do.
But here is the thing. I’ve noticed in the last couple of years is a resurgence in using IRC as a primary means of communication, especially for open source projects. I hear about IRC all the time in the geek world. I asked on Twitter and Facebook if people use it and, sure enough, the open-source and developer crowd shot right back that it is still their chat world of choice. While there have been group-based services for a while (Skype, Campfire, Google Hangouts, etc.), the relatively open nature of IRC makes it easy for large groups of people to hop on a channel and collaborate easily.
So you want to get into this “IRC thing”. That’s actually a good thing because to be honest, a LOT of great discussions are happening on there and in some cases, going to a channel is the only way to get any decent support, especially for some open source efforts. I did some research on it lately and findings are amazing. Read on..
IRC works by using some type of client that connects you to an IRC network. The networks are just machines that are setup to allow users to connect to IRC. There are a number of networks out there, and most are targeted to specific interests. According to IRCHelp.org, the major networks are as follows:
While QuakeNet targets video game players – especially Quakeworld players, Freenode is rightfully one of the best development platforms. Here’s how the Freenode network describes itself:
“An IRC network providing discussion facilities for the Free and Open Source Software communities, not-for-profit organizations, and related communities.”
And with open source software so vitally important today to just about every major web property, it makes perfect sense why so many of the popular development channels are on Freenode. Wikipedia lists it as the largest of the major networks, with approximately 85k users on it at peak hours.
Specific networks have specific channels for specific topics. By joining a channel, you’re choosing to jump into a discussion group about a specific topic. The discussion is typically free-form so don’t expect to go into a threaded UX with everything tightly organized or hierarchical. In fact, depending on the number of users in the channel and how active they are, discussions can be challenging to piece together. You’ll typically participate in group chats, but IRC does support 1 to 1 private chats as well, along with the ability to transfer files. As always, safe Internet practices are essential. Chances are high that you DON’T know the person on the other end of the wire; so you need to be careful when accepting anything from anyone.
I recently asked senior developers in Twitter and Quora about channels that developers are using and I got some nice feedback. The following list is a little long, but I think worth posting since the channels are incredibly useful:
This is NOT an all-encompassing list of every awesome web development channel so if you think there are others that would be useful, drop them in the comments section.
The hash (“#”) in front of the channel is purposeful and meant to identify channels that are available across a whole network.
- Windows – HexChat, mIRC
- OSX – Colloquy, LimeChat
- Browser Based- Just hop on over to Freenode’s Web Chat if you do not want to install any software.
- /who <nick> – This allows you to get more information about someone in a channel.
- /list – This will return a list of all channels available on a network.
- /join – This allows you to join a channel via the Freenode command line. Remember to prefix the channel name with a hash (“#”)
- /msg – This allows you to have a private chat with the person whose nick you’ve specified and will send them the message to kick off the chat
- /invite – This allows you to invite a user to another channel for a chat
- /away – Tells users that you’re away from your PC for a bit
- /quit – Tells the network you’re done and are leaving
I can’t stress enough that IRC offers no anonymity. Don’t assume anything you say is private and can’t be seen (unless you’ve gone to great lengths to anonymize yourself). Conversations can be logged and in fact, most IRC clients have that feature built-in. Your IP address is also easily visible by simply using the “/who” command.
- Don’t accept file transfers
- Don’t accept direct connection requests (you’re bypassing the IRC server and directly connecting to another computer)
- Don’t run commands that someone tells you to run
- Don’t run scripts that someone has sent you. You can get backdoored.
Go through this page for more details.
IRC offers a great opportunity to get developers from across the world together and share a wealth of knowledge. So, if you haven’t yet tried IRC or you’re a veteran that needs to re-grease the wheels, IRC is back and ready for you.