Internet Relay Chat (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.
IRC Is Not Dead
But is it dead as Royal Pingdom declared last week? 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.
Geeks from Chartio, Basho, Canonical, Citrix and active members in OpenStack and Cloudstack all said they use IRC. Canonical’s Alan Pope:
We have ~600 employees and hundreds more community people. IRC makes sense for us to communicate effectively, daily.
But IRC is not all that it used to be, morphing into services such as Campfire.
Then Redmonk Analyst Donnie Berkholz pinged me about Chatbot, a GitHub chat project ruled by Hubot, which the GitHub ops team developed. Campfire is the defacto communications tool for the ops team. Hubot is a bot that sits in the middle, showing the team what has happened instead of telling them. Hubot is open source, written in CoffeeScript on Node.js. It is a standardized way to share scripts between everyone’s robots. At GitHub the team uses Hubot to connect its various tools that the team has written over JSON APIs. It also connects to external APIs.
According to the Hubot web page:
We ship Hubot with a small group of core scripts: things like posting images, translating languages, and integrating with Google Maps.
The real fun happens when you add your own scripts. We maintain a repository of community Hubot scripts that you can add to your own robot. Be sure to personalize your Hubot, too; your company’s robot should be a place full of inside jokes, custom integrations, and general merriment.
Chatbot is of particular use considering the way people work. A GitHub DevOps team may have members in Hawaii or Portland all working on the same project. Log into Campfire and a team member can see the new roll outs to the infrastructure. They can check the status of the branch’s last build. They can see how a GitHub app is performing.
Chatbot allows for Hubot to become part of the conversation in Campfire. If you do work in a shell or a website, you have to tell people what you have done. In Chatbot, Hubot does that for you.
Campfire is effective because it can show images and do things you just can’t do in the plain-text world of IRC.
But all of IRC’s roots lie in this modern form of automation. Berkholz said this to me in an email interview:
Because of IRC’s open protocol and heavy use by developers, automated interfaces to IRC called bots have become popular over the years. Initially they were simply used to maintain control of an IRC channel (i.e. chat room) on networks without the concept of channel registration, but they’re regularly used in the context of software development to do things like report every commit or every new bug. Two of the most popular extensible bots are Eggdrop (Tcl) and Supybot (Python).#ChatOps and Hubot are part of the next generation of bot, designed not just for reporting and queries but also for taking action. Although Hubot was initially written for 37signal’s Campfire chat rather than IRC (an adapter now exists), 37signals even described Campfire at its launch as IRC for the masses, so the distinction is unimportant. The concept of #ChatOps is based around Hubot’s use primarily as a sysadmin tool rather than a developer tool, thus integrating chatrooms and IT operations into #ChatOps.