Matrix-Testlauf für das Tanelorn

Zielsetzung

Tanelorn.net betreibt eine Discord-Instanz mit ~100 gleichzeitig angemeldeten Benutzern. Discord ist ein risikokapitalfinanzierter[^1] Onlinedienst, der aktuell noch kostenlos und ohne Werbung zu nutzen ist. Aufgrund von Befürchtungen, dass der Dienst sich drastisch verschlechtern könnte, sollten alternative Plattformen für die Community getestet werden.

Anforderungen

Zunächst wurde ein Ersatz nur in Bezug auf die Unterhaltung via Text betrachtet. Folgende Funktionen von Discord wurden hier betrachtet:

Durchführung

Für den Test wurde zunächst ein Benutzerkonto und ein privater, verschlüsselter Textkanal („Raum“) auf rollenspiel.chat erstellt. Der Server wurde deshalb ausgewählt, weil er laut Matrix Federation Tester auf der aktuellen Serverversion läuft und alle Test besteht. Abgesehen davon hat der Server bereits einen Rollenspielbezug und einen hilfsbereiten Administrator. Da wir vermutlich bei einem positiven Testergebnis ebenfalls selbst einen Homeserver betreiben wollen würden, wurde der matrix.org-Server nicht als Homeserver für die Testräume genutzt, aber als Server für Benutzerkonten mitgetestet. In den Raum wurden die vier weiteren Testteilnehmer, die Benutzerkonten auf verschiedenen Servern („Homeservern“) hatten, nach und nach eingeladen. Die allgemeinen Chatfunktionen wurden dort mit verschiedenen Clients getestet. Desweiteren wurde ein „Space“ erstellt, der Räume, Benutzer und Berechtigungen gruppiert und so in etwa einem Discord-Server entspricht. Dort wurde ein weiterer Raum erstellt, welcher dann für alle Mitglieder des Spaces einsehbar und betretbar sein sollte, und die Testteilnehmer eingeladen.

Ergebnisse

Textchat

Der Textchat in Matrix unterstützt die erwarteten Funktionen (s. [[/Anforderungen]]). Zu beachten ist, dass hier nicht jeder Client alle Funktionen unterstützt. Auf Der Matrix-Website kann eine Übersicht für jeden Client angezeigt werden, welche Funktionen unterstützt werden. Clients, die Threads nicht unterstützen, können diese Threads nicht als solche sehen. Die Nachrichten werden zusammen mit den anderen im Raum angezeigt. Antworten mit der „Antworten“-Funktion werden aber trotzdem korrekt in den dazugehörigen Thread einsortiert. Die Unterstützung von Markdown ist in manchen Clients nicht standardmäßig aktiviert. Die Umsetzung weist einige Unterschiede zur Discord-Umsetzung auf, so ist z.B. die Syntax für „Durchgestrichen“ anders und die Umsetzung von Spoilern variiert zwischen Clients.

Erstellen und Verwalten von Räumen und Spaces

Das Erstellen und Organisieren von Räumen und Spaces funktionierte recht reibungslos und intuitiv. Spaces können vor oder nach „ihren“ Räumen erstellt werden, Räume können zudem auch mehreren Spaces angehören und sind unabhängig von ihrem Homeserver. Spaces und Räume können sowohl öffentlich als auch beschränkt verfügbar sein: Bei Räumen ist es z.B. ein sinnvolles Feature, dass nur Mitglieder eines bestimmten Spaces Zugriff haben – so könnte man z.B. einen Tanelorn-Space in öffentliche Bereiche (für jeden Nutzer les- und betretbar) und Community-Bereiche (nur für Mitglieder des Tanelorn-Spaces verfügbar) aufteilen. Hier ergab sich aber schon direkt ein Problem: Möchte man einen Space nicht komplett öffentlich sicht- und betretbar machen, muss man ihn auf Eingeladene beschränken. Einladungen funktionieren nicht – wie bei Discord – über einen Link, sondern nur als Einladung innerhalb von Matrix. Seltsamerweise konnte ich mit meinem Testkonto auf rollenspiel.chat Benutzer von matrix.org – dem öffentlichen Homeserver der Matrix-Entwickler – zwar in Räume, aber nicht in Spaces einladen. Auf dem Github wurde auf den Server-Betreiber von rollenspiel.chat verwiesen, der jedoch aufgrund der Tatsache, dass die Einladung in Räume funktionierte, auch keine Abhilfe wusste. Als Rollen sind standardmäßig nur „Administrator“, „Moderator“, „Standard“ (bzw. „User“) und „Selbstdefiniertes Berechtigungslevel“ vorgesehen, wobei letzteres eine Zahl ist, zu der verschiedene Berechtigungen zugeordnet werden können. „Standard“ entspricht hier der Discord-Rolle „everyone“ und hat das Berechtigungslevel „0“. Es scheint also nicht möglich zu sein, Rollen so zu definieren, dass sie als Benutzer nur auf bestimmte Räume Zugriff zu haben, also z.B.

Verschlüsselung

Matrix unterstützt Ende-zu-Ende-Verschlüsselung sowohl für Privatchats als auch für private Gruppenräume. Ein Testteilnehmer hatte aber Probleme mit der Verschlüsselung und konnte in einem verschlüsselten Raum nur bestimmte Benutzer lesen. Das Problem konnte nicht bis zuletzt nicht behoben werden. 

Ein verschlüsselter Raum kann keine Bots oder Bridges unterstützen. Vermutlich sollten größere, öffentliche Gruppenräume daher standardmäßig nicht verschlüsselt werden. Für private Gespräche ist dies aber eine gute Option. 

Föderation

Prinzipiell kann man seinen Account auf irgendeinem Homeserver erstellen und trotzdem mit Benutzern und Räumen von anderen Homeservern kommunizieren. Das ist sehr löblich und funktonierte größtenteils auch problemlos, nur bei Spaces gab es Probleme mit dem Homeserver matrix.org.

Clients

Matrix unterstützt verschiedende Clients und verbietet diese nicht etwa, wie Discord, in seinen Nutzungsbedingungen. Die Clients haben allerdings unterschiedliche Funktionsumfänge, was zu Problemen in der Benutzung führen könnte. Einem Aufruf, ein bestimmtes Thema in einen Thread auszulagern, können manche Nutzer aufgrund ihres Clients dann möglicherweise nicht folgen.

Nutzung mehrerer Konten

Die Nutzung mehrerer Konten wird von Element standardmäßig nicht unterstützt. Wer sich also einmal als @queerponylover99:matrix.org registriert hat, „muss“ sich mit diesem Account dann auch auf dem Matrix-Space seiner Universität oder seiner Fußballmannschaft anmelden. Die Nicknames sind zwar konfigurierbar, der Accountname ist aber für alle sichtbar. Einige Clients wie Fluffychat unterstützen mehrere Konten. Wer Element mit mehreren Konten nutzen möchte, muss dann wohl mehrere Browserfenster im Privaten Modus o.ä. offen haben.

Fazit

Matrix ist ein vielversprechender Chat-Dienst, der auf den ersten Blick gut geeignet scheint, eine Discord-Community föderiert und mit FOSS-Software umzusetzen. Da es aber schon bei fünf Test-Teilnehmern zu verschiedenen Problemen kommt, die auch mithilfe des Server-Admins und den Entwicklern auf Github nicht gelöst werden konnten, kann ich einen kompletten Umzug daher leider nicht empfehlen.

Danksagungen

Lieben Dank an Bel-Chion, schneeland, Eris2Cats und Orko für das geduldige Testen, Tealk von RollenspielMonster für das Bereitstellen des Servers, das Beantworten von technischen Fragen und den technischen Support und die Matrix-Community auf GitHub für die schnellen und technisch versierten Antworten.

[^1]: https://venturebeat.com/games/hammer-chisel-pivots-to-voice-comm-app-for-multiplayer-mobile-games/