What is Matrix?

First, what is email ?

Email is a decentralized, free and open source communications platform that everyone uses even though it was invented a thousand years ago.

Why do we still use email when so many more secure, feature-rich platforms exist?

Because none of these platforms are decentralized and based on free and open source protocols and software. Email is the only platform that allows people to freely message each other regardless of who their email provider is (e.g. Gmail users can email Hotmail users). Slack and Teams and Whatsapp and Facebook Messenger and all the other proprietary platforms have lots of features, but they do not interoperate and they do not put control in the hands of people using the service.

So what is Matrix then?

Matrix is “an open network for secure, decentralized communication”, where people can communicate freely with one another even when they have accounts on independent servers. It is email for the 21st century.

But nobody has heard of Matrix and no one uses it.

The governments of England, Germany, and France, as well as many other large institutions and open source communities, would disagree.

How do I get an account?

When you want an email account, you choose an email provider and register for an account. Similarly, to get a Matrix address you choose a “homeserver” and register a new account. Many people get their first account on the flagship matrix.org server.

We operate a homeserver for the MUSES project that is open for public use, but with absolutely no guarantees of service availability or data access. We reserve the right to delete or suspend accounts without justification or warning.

Who owns your conversations?

We’re about to see a major shake-up in how people communicate within the workplace

element.io

Why not choose something people already use?

There are so many options out there for communities to use for their online communication platform. There is no single “best” solution, and there is no inherent reason why multiple platforms cannot be used to engage and accommodate the most people. Some primary motivations for a research collaboration to choose Matrix include

 

        • Freedom
        • Cost
        • Features

Matrix gives us the freedom to grow and adapt without worrying about restrictions based on licensing agreement, number of participants, number of messages, etc. We never need to worry that once enough data has been shared on the platform that we will be “stuck” with it, because we have real control over our data.

Matrix is free in terms of monetary cost as well. Researchers can participate in the conversation even if they do not have a host institution paying large sums of money to Slack. We are not reliant on the licensing agreements of a few institutions to keep us online.

Matrix has plenty of features that a thriving collaboration needs to communicate effectively in the modern era. Real-time group chat, end-to-end encryption, drag-and-drop file sharing, audio/video conferencing, and loads of bridges to external services (including Slack).

More information

The project website summarizes the essential description well:

How does it work? 

 

When you send a message in Matrix, it is replicated over all the servers whose users are participating in a given conversation … There is no single point of control or failure in a Matrix conversation which spans multiple servers: the act of communication with someone elsewhere in Matrix shares ownership of the conversation equally with them. Even if your server goes offline, the conversation can continue uninterrupted elsewhere until it returns.

 

This means that every server has total self-sovereignty over its users data – and anyone can choose or run their own server and participate in the wider Matrix network. This is how Matrix democratises control over communication.

Here is an excellent quote from someone who recently discovered Matrix:

Hmm, Matrix seems….totally fine, why haven’t we been using that the whole time?

The simplest answer is that many people have not heard of Matrix because it is not a profit-driven corporate service and thus has no advertising budget. Another reason is that for so many years now, people have only been exposed to centralized information silos; they think it is natural to need 20 messenging apps to reach all their contacts.

How do I join a conversation?

You join a conversation in Matrix similarly to how you would join an email thread. First, you must acquire an email account from an email provider.

Anyone could operate their own email server, but not many do; the vast majority of people register accounts with dedicated professional email providers. They typically have multiple email accounts, such as a Google account for their personal email and a university email account for their work.

Matrix account are the same way. You can register a free account on the flagship Matrix project server (also known as a homeserver), providing you a Matrix ID like @neo:matrix.org. You can send and receive messages from anyone else on Matrix, even if they have an account on a completely independent server with a Matrix ID like @smith:machinecity.net. (These IDs are deliberately similar but distinct from email addresses, partially because you can actually connect with someone on Matrix using their email address if they have associated it with their Matrix account.)

Client apps

Now that you have a Matrix account on a server somewhere, the next step is to find a client app.

The flagship Matrix client is called Element, and if you are using the browser-based client app hosted by the Matrix project at https://app.element.io/ then you are using Element. The MUSES project at NCSA is also running an independent instance of the Element web app at https://element.musesframework.io. This is confusing to people who are not familiar with this concept in the modern messenger space; yet these same people are not confused at all when they use their Mac Mail app to send an email from their Gmail account to a Yahoo email address and then check for a reply using their Android phone’s email app 🙂

There are plenty of available Matrix clients, including versions of Element for iOS, Android and desktop clients for Linux, MacOS, and Windows.

Rooms

Now that you have a Matrix account and a client app, the last step in joining a conversation is to create/join a room. This is where Matrix diverges from email. All messages between people in Matrix are associated with a room to which people may join or leave at any time. A room has an ID similar in syntax to a Matrix account ID: #my-conversation:matrix.org. If you are familiar with Slack you can think of a Matrix room as the analog of a Slack channel.

Freedom from vendor lock-in

One of the cool features of Matrix is that rooms can effectively “migrate” as needed, because they exist equally on all participating servers.

Consider the DecentCI space on Matrix. The General discussion room was created using a matrix.org account and a room ID also on matrix.org:

#decentci-general:matrix.org

Imagine someone who has an account on the MUSES project Matrix homeserver joins this room using the Element client app hosted by their project. They could participate in the discussion by opening the following URL in their browser:

https://element.musesframework.io/#/room/#decentci-general:matrix.org

Now there are two independent homeservers sharing the room, providing its synchronized contents to each of the participants.

Next, consider a scenario in which the matrix.org homeserver goes offline or deletes the room from its database. This is no big deal! All the MUSES project needs to do is create a “local address” for the mirror of the room that already lives on its homeserver, such as #decentci-general:musesframework.io. Then they can advertise this room address instead and people can continue joining the conversation. Anyone not using a matrix.org account would never notice a problem.

Spaces

Spaces are a relatively new feature of the Element client app that are analogous to Slack Workspaces. They allow organizations to group sets of related rooms together.

While researching Spaces, we discovered people feel constrained by the limitations of the most popular platforms today. For example, the structure which makes sense to an admin, moderator or manager might differ from the best or most productive view of the same conversations.

Similarly, we found people are constrained by single column flat lists of conversations— which lack the flexibility needed to organise information with any relative sense of importance, value or area. To that end, the same way Spaces contain rooms, they can also contain other Spaces! This allows you to build whatever hierarchy of information you want to, as flexibly as you organise files and folders.