Matrix

Weinto's web client: https://im.matrix.weinto.com

You can also download Element for Android, iOS and desktop.

Client's configuration:

What is Matrix

Note: I will use the accronyms "IM" for Instant Messaging and "E2EE" for End-to-End Encryption.

Matrix is a decentralized protocol. What does it means? Well, let's talk about a centralized instant messaging first.

Facebook, WhatsApp, Hangout, Telegram are all centralized instant messaging platform. Which means, if you want to talk to someone using these IM you have to register on their website. Your data, your identity, your connexions will be stored, accessible and readable from one server.

John wants to talk to Emma. Emma uses Facebook Messenger. John registers on facebook.com.

Now both John and Emma can use messenger.com to talk.

facebook.com hosts John's and Emma's conversations, photos, video calls, usernames, preferences (data and identity). Facebook also knows who they talk to (their connexions).

This system is centralized. Facebook hosts everything for you. It's easy, ok. It's unsafe, here is the problem.

This is mostly why companies, governments and privacy aware users tend to self host their own IM systems. The problem? Well, here is an example.

John works for a government entity. He uses the french IM self hosted service to talk with his collegues. He is registered on super-entity.gov.country.

Emma works for a communication agency. She is registered on agency.tld.

Eric is a simple citizen. He's registered on facebook.com, WhatsApp.

How could these foxes talk to each other? Should they all register on super-entity.gov.country. Do we want a government to read all our messages? Should they all register on facebook.com or WhatsApp? Isn't it risky to offer such sensitive conversation to a private company? How about agency.tld? This is also a private company after all!

This is why most of cross-entities communications mostly go through email. Because John, Emma and Eric can host their own email server. They can protect their data.

John has an email address: john@super-entity.gov.country

Emma has an email address: emma@agency.tld

Eric has an email address: eric@eric.tld

Problem solved? Not really.

Today's IM services provide much more than a simple body to talk. The email isn't designed for instant messaging.

We need something that allows us to own our data, End-to-End Encrypted, instant, with all modern features... meet Matrix :)

Matrix brought this huge challenge to reality. You can now host your own server (instance A) and talk to people hosted on another server (instance B) like you would do with an email.

Matrix is an ecosystem for open federated E2EE instant messaging and VoIP.

How to run my own instance of Matrix

To run your own instance you need at least a "Matrix homeserver" and a "Matrix client".

The official stable homeserver is called Synapse. It is developped in Python3. The foundation is working on a second generation developped in Go, Dentrite.

The official stable client is called Element. The named has changed over time due to multiple iterations in Matrix's history. Therefore, you will encounter other names such as "Vector", "Vector.im", "Riot" and "Riot.im". They are all the same product. In fact, you can read these 3 names in the offical Github repository of the web version. Element is available on all major platforms such as macOS, Windows, Linux, Android, iOS. A number of editors work on their own implementations as well.

Should you need consulting, hosting management or federation, contact us at hello@weinto.com.