The Matrix decentralized communication tool tested
Talk Talk
One tool to rule all online communication: one tool to find them, one tool to bring them all in, and the Matrix to bind them. An open standard for decentralized communication enters the scene.
In the last 20 years, users have seen a number of communication tools come and go on the Internet. Text-based classics like IRC and ICQ made way for audio and video chatting with Skype, Google Hangouts, and others. If you were in Facebook groups five years ago, like-minded people now meet on WhatsApp, Snapchat, or another mobile messaging application. It's difficult remembering your way around all the apps and programs and remembering who you meet on what channel.
Matrix [1] promises to reorganize online communication. The web-based RTC and HTTP protocol is released under the Apache license and aims to bring all the services together under a single roof: Everyone chats in the style they like but can still reach everyone else. End-to-end encryption and a free choice of clients are just a few of the features the developers are planning. In addition to text, video, and audio communication, the service is looking to provide interfaces for the Internet of Things.
Distributed but Shared
Matrix does not route communication via a central server, nor does it connect the participants' computers directly. Instead, home servers collaborate. They also act as account servers. Each user can be reached via a unique ID on the matrix network. The ID comprises the nickname and the server address, as in @Mela:matrix.org or @hej:matrix.org.
This means that Matrix not only solves the problem of often very ugly nicknames you see on IRC or Skype with system-wide unique usernames, but it also avoids central identity management failures, which are targets primed for denial-of-service attacks.
Distributed home servers also prevent netsplits. The major IRC networks in particular suffer from this temporary breakdown of servers into two or more subnets. The Matrix concept ensures that home servers only receive the traffic of a channel on which users are logged and are actively using the channel. Another advantage of this approach is that it avoids overloading the entire network.
The Matrix ecosystem [2] is already the playground of a number of applications. Although many clients were at the early or late beta stage when this issue went to press, the server situation is not looking as good: Only two of the six projects had left the alpha stage.
However, the Matrix developers are aiming for more than just real-time communication. Their goal is to counteract the fragmentation of the messenger market. Bridges will expand home servers, adding the ability to communicate with other networks and protocols. A text message gateway is in late beta, and bridges for IRC, Slack, and XMPP are still tagged early beta and alpha. No components are currently tagged "stable."
In addition to the Android and iOS clients, our lab team also installed the text-based IRC client WeeChat and integrated a Matrix plug in. We also chatted in the browser-based Vector.im [3]. The functionality and appearance are strongly reminiscent of the good old IRC. Matrix channels have several participants marked with a hashtag, much like IRC channels, and additionally show the name of the home server (e.g., #matrix:matrix.org and #lm:matrix.org).
The clients display a list of available chat rooms. If you want to start a private conversation with another participant, you can open another room on the respective client and invite that participant to join you. Once they have consented, the conversation can begin.
Commands like /join
, /nick
, /me
, /op
, /deop
, /kick
, and /ban
also work exactly as on IRC, but Matrix has additional functions for uploading and downloading files, audio and video telephony (some clients), a search function, and a cross-client cache. Each home server not only stores the account information, but also the communication in a history, and synchronizes this data with other home servers and clients. Switching between desktop and mobile devices is thus a seamless process.
Just Talk
Much like Slack [4], the current star of the team communication world, the founder or the user with admin status can make the history of a channel accessible and searchable from the beginning. This means that participants added later can read past discussions. In the settings of the Matrix room, admins define which messages remain in the history (Figure 1). Individual messages about sensitive information can also be deleted selectively with a single mouse click.
We missed tools for improving the way communication via Matrix is organized. Mechanisms for adding other users to a personal contact list, as in ICQ, Skype, and others, would be nice. Also bookmarks for individual postings and a function for liking or pinning critical messages, as in competitor Slack, are not available yet.
Matrix uses Web RTC for audio and video conferences. Some clients display icons for initiating a phone call in public chat rooms and private conversations. If you click on one of the symbols in a Matrix channel with many visitors, you do not need to worry that you will be calling all the participants at the same time on all devices – a banner message simply indicates that a conference is currently going on in the chat room (Figure 2), and the user can take part in it with a single mouse click. Unlike a private chat, an audio or video call started here specifically addresses the chat partner, who then accepts or rejects at the push of a button.
Phone calls to other Matrix users in our lab on the Matrix.org home servers were more or less reliable between web and Android clients and two browsers using Vector.im (Figure 3). Users with plain text clients are left out in the cold, and the feature has also not yet made its way into the I-OS app. Future versions for iPhone and iPad will be playing catching up here.
Another thing we really liked was that users can configure alerts both on the client side and for every channel and every conversation. Everyone can thus decide freely whether their smartphone, tablet, or browser should beep or write messages to the lock screen.
The Matrix concept envisages an open federation of home servers, which means that each user can add their own server to the existing Matrix network. Our lab team followed the instructions at the Matrix GitHub page [5]. We installed the software on Debian 8.3 (Jessie), which worked without problems. Setting up the SSL certificates is somewhat tricky. If they are not valid or are self-signed, some clients refuse authentication. The approach described on the Matrix blog [6], with a certificate from Let's Encrypt, an Nginx web server, and a redirect to port 443, should help.
Although the Matrix team attaches great importance to security, some parts of the system are currently excluded. Communication between home servers is TLS-encrypted, and the chat history is not readily visible. The promised end-to-end encryption for clients will be available shortly according to the FAQs. But the metadata ends up on the home servers without encryption, allowing admins or potential intruders to discover at any time who was talking to whom.
Building Bridges
The open approach, the ability to connect to the Matrix network with any client, and running your own home server on the network – all of this makes the concept very interesting. Whether Matrix can revolutionize online communication not only depends on how user friendly the clients are, but also on how easy it is to set up your own home server. Our lab team is a little concerned that a kind of "diaspora effect" could occur here. The decentralized diaspora social network [7], highly acclaimed as an alternative to Facebook, with a guarantee of absolute control over your own data, never has been easy to install and manage.
Even with Matrix, the majority of users will probably chat via home servers provided by a third party, and Matrix's competitors see the major problems in precisely this. The developers of the Psyc [8] communication tool view the open federation of home servers and their identity management as a problem. It is naive, say the Psyc developers [9], to trust an arbitrary third-party server and its identity information.
It remains to be seen whether other vendors jump on the bandwagon and build bridges to Matrix. Other open standards, such as IRC or XMPP, are not the problem. Google, Facebook, Skype, and others, however, are likely to be keen to keep their users in their own ecosystems. So far, it is the smaller projects that are giving Matrix a chance, including the Freifunk Kiel [10] project, which links a Vector.im interface to the IRC channel and is especially looking forward to the history of past postings, according to the operator.
Infos
- Matrix: http://matrix.org
- List of Matrix projects: http://matrix.org/docs/projects/try-matrix-now.html
- Vector.im: https://vector.im/beta
- Slack: https://slack.com
- Matrix home server with Synapse: https://github.com/matrix-org/synapse
- Home server with Let's Encrpyt/Nginx: https://matrix.org/blog/2016/02/10/advanced-synapse-setup-with-lets-encrypt
- diaspora: https://diasporafoundation.org
- Psyc: http://www.psyc.eu
- Psyc developers on Matrix: http://about.psyc.eu/Matrix
- Freifunk Kiel: http://freifunk.in-kiel.de
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.
-
SUSE Renames Several Products for Better Name Recognition
SUSE has been a very powerful player in the European market, but it knows it must branch out to gain serious traction. Will a name change do the trick?
-
ESET Discovers New Linux Malware
WolfsBane is an all-in-one malware that has hit the Linux operating system and includes a dropper, a launcher, and a backdoor.
-
New Linux Kernel Patch Allows Forcing a CPU Mitigation
Even when CPU mitigations can consume precious CPU cycles, it might not be a bad idea to allow users to enable them, even if your machine isn't vulnerable.
-
Red Hat Enterprise Linux 9.5 Released
Notify your friends, loved ones, and colleagues that the latest version of RHEL is available with plenty of enhancements.
-
Linux Sees Massive Performance Increase from a Single Line of Code
With one line of code, Intel was able to increase the performance of the Linux kernel by 4,000 percent.
-
Fedora KDE Approved as an Official Spin
If you prefer the Plasma desktop environment and the Fedora distribution, you're in luck because there's now an official spin that is listed on the same level as the Fedora Workstation edition.
-
New Steam Client Ups the Ante for Linux
The latest release from Steam has some pretty cool tricks up its sleeve.
-
Gnome OS Transitioning Toward a General-Purpose Distro
If you're looking for the perfectly vanilla take on the Gnome desktop, Gnome OS might be for you.
-
Fedora 41 Released with New Features
If you're a Fedora fan or just looking for a Linux distribution to help you migrate from Windows, Fedora 41 might be just the ticket.