IRC is probably one of the oldest instant messaging protocols, which is still being widely used, especially among the IT and FOSS communities. One of the most known services out there is freenode which has more then 80K users at the moment.
IRC is great, but it has limitations and challenges, which make its usage not very convenient comparing to other more recent tools, especially if you are not an engineer 🙂
Some of the challenges of IRC:
multiple sessions on multiple devices
most of the recent instant messaging apps (Slack, Skype, Google Hangouts ….) store the communication on the server and you can access the same data and communication history on any device (cellphone, tablet, multiple desktop / laptop computers)
access to messages while you were away
common feature of the more recent solutions out there, you can workaround that by having your “main machine” always online and your IRC client always on not to miss a thing, but not really convenient, nor eco-friendly
searching the message history
unless you are used to working with regular expressions and tools like grep, it is hard to find the desired part of a historic conversation in tons of text files, especially when users often change their user names like jfolta / jfolta_ / jfolta|lunch / jfolta|meeting / jfolta|afk … so you do not even know which file to search..
client applications not really user friendly
there are a lot of alternative IRC clients, I have mostly been using xchat, which is not very straightforward for non-technical people
We were looking for an alternative which would enable us to have a more up-to-date tool and would integrate with IRC in order to be able to talk to our colleagues, who are still using it. Mattermost looked like an ideal solution, because it is an open source, self-hosted Slack-alternative, which integrates with IRC and other protocols and applications.
Proof of concept
I will be pretty brief with the details, you can learn more when you click the links. As the server for deployment I used my vpsFree with Debian 8 “Jessie” and Docker, which was first not very straightforward, but thanks to a great knowledge base article I managed to do it. You can use any other machine/platform compatible with Docker based on your preference.
Now, you can do a one-line Docker Install of Mattermost
docker run –name mattermost-dev -d –publish 8065:80 mattermost/platform
now you can create your team, invite other users and start collaborating already. To integrate the IRC protocol I used Matterbridge.
For the purpose of the proof of concept I used freenode IRC and I was able to chat with myself using both the freenode web interface and my Mattermost instance, which was a little schizophrenic, but served the purpose of testing the functionality 🙂
I have been playing around with Mattermost for the past couple of days and here are some of things, which I really like:
- super-easy and fast to deploy, great documentation
- open source, active community, you can easily get help and get involved in the project
- integrates with IRC and other protocols
- self-hosted, you are not sending any data externally
- stand-alone clients for major desktop platforms
So what is next?
I would like to deploy Mattermost internally, hook it up with our internal IRC server, pilot it for our local team and enjoy the benefits of both worlds – the user base of IRC and the features of Mattermost