It’s surprising that so many people are developing messaging clients that resemble Slack these days. Often, their design goals touch upon something fundamentally good about instant communication.
Riot makes it possible to run a powerful instant communication system yourself, without the middleman. It leverages the Matrix protocol, and the experience is fast, smooth, and everything you might want out of Slack itself.
Riot’s main benefits lie in its designs, protocol usage, and client implementation. Clients are available for iOS and Android; a web UI is also available. Regardless of the device you access Riot on, the UX experience remains consistently the same.
As an added benefit, the clients are fairly speedy in presenting real time updates. Users interested in hosting their own server can learn about Synapse, the server reference implementation run by Matrix.org.
Riot’s UI is simple and animated, reflecting updates to real time communication. Read receipts are provided for every message sent, and used as a type of visual pointer to show how far in the conversation a person has read.
Riot provides a directory to connect with rooms across different servers. One unique aspect of this is that it is also possible to search for rooms on IRC and Gitter, allowing for a seamless experience that bridges all three systems at the same time.
The value proposition here is interesting. In a sense, individual rooms in Riot can be bridged with an IRC Channel, a Slack room, or a Gitter community. From a practical point of view, this can be used to connect several hubs on community conversations together, and provide a type of graceful degradation for anyone who would rather use their existing IRC applications to communicate.
Small community channels have popped up on Riot, and many of them are provided for free by the Matrix.org service. However, it is possible to self host an instance and federate available rooms to the Matrix.org directory. Users logged in to their own instances will be able to seamlessly connect with whatever room you’re hosting.
Finally, the real killer app of Riot may be its provisions for data integrations. It can provide bots to integrate with a Github repository, GIF sharing services, continuous integrations for code testing, and RSS feeds.
A particularly compelling case could be made here for integrating a series of self-hosted bots connecting to services like Loomio, NextCloud, and WeKan. In doing this, a group or organization could keep track of updates from each source in real time.
In short, Riot is extremely promising and presents a great UI for the web and mobile devices. It can be used for ad hoc communication.