Matrix is a new open source standard for secure real time communications using end to end encryption, it can be used for video calls, voice, text, file transfers and anything that developers want to build on top of it. Matrix server infrastructure is made up of multiple nodes talking to each other, it ends with the current fragmentation of messaging apps forcing people to have the same software installed to be able to talk with each other.
Unlike WhatsApp/Viber/LINE/Kik and similar apps needing sovereign installation, matrix is identity agnostic, the ecosystem runs an open federation model where anybody can run their own matrix server and join the network.
Identity servers track which emails and messages belong to which matrix ID, chat rooms do not exist on any single server, they are shared across multiple participating servers and each participating server can choose to publish their own alias, several different aliases can lead to the same room depending on what server you are using.
I joined a matrix test server, it was only necessary to pick a username and a password, there is no obligation to provide any email address, although specifying one lets other users find you on Matrix more easily and gives you a way to reset your password in the future. If you opt for email registration a verification code is sent to your address, the registration process took me less than a minute.
After logging in you can see multiple public chat rooms, this is nothing like IRC, matrix is more multimedia centric and it lets you call and post inline photos to the whole chatroom, you can have an avatar, notification settings that are triggered when somebody types a keyword in the chatroom and sending SMS messages to a phone number using the web gateway, currently free during beta testing but a Paypal account must be linked for security to stop abuse.
The interface was fairly easy to use and it certainly looks better than the old IRC but I am just happy using a jabber instant messenger to communicate, I don’t see a special need for a matrix network. I favour the idea of not having to adopt multiple providers to communicate with other people and not relying on a single cloud server for communications but as a user I don’t care if it is a matrix or XMPP server, I couldn’t see that many differences in between them, most of things that matrix can do can also be achieved with a jabber client.
Matthew Hodgson
Thanks for writing this up 🙂 For the record, the main reasons you might want to use Matrix instead of XMPP are:
* Decentralised conversation history. Conversations are replicated over all participating servers; no single domain controls the conversation. With XMPP you have to use the FMUC XEP for this, and there are no F/OSS implementations of FMUC.
* Persistent conversation history by default. Again, this is an optional XEP in XMPP.
* End-to-end encryption (coming shortly). Again, there are a set of incompatible extensions for doing this in XMPP, most of which don’t handle async group chat particularly well.
* Really simple HTTP API for client implementors rather than having to understand and map into XMPP.
* Matrix is basically an eventually consistent messaging database with pubsub and open federation; XMPP is a message-passing system. They’re pretty different under the hood, even though you can use them both to implement chatrooms.
Hacker10
Hello Matthew,
Many thanks for providing this information, best of luck.
hacker10