There's been a trend where open source projects start a Slack for team communication. I understand why. The Slack UI is refined, you get searchable, synced conversions on all devices and even emails when you're away. Nice! Except the price you pay is vendor lock-in and a closed source code base. Plus aren't you fed-up with creating dozens of slack accounts for each projects? I know I am.
What if I told you there was an open alternative? One that even included access to your favorite IRC channels? Well there is. For the past month I've replaced Slack usage with Riot.im (aka vector.im) and Matrix.org and I am very, very happy with the results.
Let's start with the UI. Here's my Web UI right now:
On the left: rooms/channels. I've customized mine into high/low priority with full control over notification settings.
In the middle: the #ipfs IRC channel on Freenode. Read/unread state is maintained on the server so I can easily switch to the Android or iOS app and participate there.
On the right: the member roster. You can hide it, or use it to Initiate direct messages.
And look, here's the same UI, on Android showing the Matrix HQ Room:
As you can see Riot supports video/audio calls using WebRTC and file upload too. Works really well!
Did I mention that these super high quality clients are all open source?
So what about the underlying service? Well, we're in luck. The matrix.org service is also well designed, fast, interoperable and open. So what exactly is it? From their FAQ:
Matrix’s initial goal is to fix the problem of fragmented IP communications: letting users message and call each other without having to care what app the other user is on - making it as easy as sending an email.
The longer term goal is for Matrix to act as a generic HTTP messaging and data synchronisation system for the whole web - allowing people, services and devices to easily communicate with each other, empowering users to own and control their data and select the services and vendors they want to use.
Bold and ambitious, and the FAQ has answers to some common questions like why not XMPP and more.
What all this means in practice is that anyone can run Matrix protocols using their own servers. Want your own private internal system? Run your own server disconnected from the network. Want your chats to stay on your own server? Run your own; with the benefit of interoperating and communicating with other servers in the mesh. Want to bridge to another chat system, like IRC? Yes, you can.
And the IRC integration is very, very good. As you saw above identity and channel state is carried through, direct messages are supported. Offline for a while? Scroll back to your unread indicator. Or just check your email:
So there you have it. An open system that enables chat. A highly polished front end. Full support for one to one and one-to-many conversations. Yes, it's beta, so there are some rough edges.
Give it a try. You can find me at @lindner:matrix.org or just drop into some IRC channels, my nick is plindner.