Re: Thoughs about communication

On 13/01/2017 08:37, Alberto Fanjul Alonso wrote:

Hi, hackers

Do anybody though about trying new services for communication? 

I'm the project lead for Matrix, and thought it might be useful to list the pros & cons that we see with respect to Matrix for a community like GNOME:

 * It's a neutral open standard HTTP API ( with a bunch of different client, server, bot & bridge implementations of different maturity (  The API is super-easy and fun to hack on - sending & receiving messages is just PUTing or GETing some JSON from your server.
 * is a non-profit and everything is FOSS (Apache licensed); both servers, clients, SDKs, bots, bridges, etc. It's not a half-FOSS thing like Telegram.  I think we also have a pretty vibrant & friendly FOSS community going on :)
 * It's completely decentralised; you can run your own server and bridges to things like IRC, Gitter, Slack, XMPP etc.  Conversations are signed and replicated over all the participating servers in a manner very similar to Git; no single server or network owns the conversation (unlike MUCs or IRC).  You're not stuck in a silo like Signal etc.
 * Matrix isn't meant to be the One True Chat standard.  Instead it's just a lowest-common denominator decentralised pubsub network, and the bridges to things like IRC let people continue using whatever clients they prefer.  For instance, shows how the LCA folks are using it to defragment their IRC & Slack communities (whilst also supporting native Matrix for those who want it).
 * Matrix provides E2E encryption for those who needs it.  It's still beta, but the core crypto has been publicly audited and is robust: etc.
 * (the flagship Matrix client) is relatively polished, with native apps for iOS & Android; React app for Web, and Electron for desktop.  (As well as being packaged up as a proper Gnome app by aperez in the form of Revolt:
 * Supports zero-sign-up guest access (unlike Slack, Gitter, etc), letting folks jump straight into a room and start talking - e.g.
 * There are a bunch of good integrations & bots with things like Github, JIRA, Jenkins, Travis, etc.  In Riot these are exposed through a single-click appstore style UI, similar to Slack's.
 * There's a relatively advanced GTK/Vala SDK implementation at  This was written by the community with the intention of adding a Telepathy implementation of Matrix, but got stuck when it became obvious that Telepathy isn't in a great state for exposing Matrix's infinite-scrollback / sever-side-search / decentralised conversations architecture.

 * E2E encryption is still in beta; specifically there are some races where decryption keys aren't correctly synced between participants, and we haven't finished implementing sharing history when new devices are added to a conversation, and we haven't finished the UX for key verification yet.   We're rushing to get it out of beta in time for
 * Riot has some irritating UX problems and quirks which make for a steeper the necessary learning curve.  These are being addressed currently:
 * Only one of the server implementations (synapse) is ready for production use currently, and is technically still in beta.
 * Synapse is written in Python/Twisted and is quite resource hungry (typically requires 2GB of RAM), although mem usage should improve significantly in the next few weeks.
 * While there are lots of clients, Riot is by far the most functional, making it a bit of a monoculture currently.  However we would *love* to see more clients, especially GTK ones!
 * By default Matrix logs everything (it's very much a conversation history syncing system).  The log visibility can however by configured per room - e.g. we turn it off by default for IRC bridged rooms.
 * has some other good critique.

Obviously I'm not remotely neutral, but hopefully this gives a few more datapoints to help make a decision :)  Feel free to come and bug me with questions on or if desired.


Matthew Hodgson

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]