Als langjähriger Nutzer von Jabber, beziehungsweise des XMPP Protokolls beobachte ich die Entwicklung von Matrix mit einiger Spannung. Matrix ist, wenn ich es richtig beobachtet habe ein seit dem Jahr 2014 entwickeltes Nachrichtenprotokoll, welches sich anschickt die Echtzeitkommunikation im Netz zu revolutionieren. Einige Jahre hatte es nun Zeit zu reifen, es ist an der Zeit ein Zwischenfazit zu ziehen. Ist es besser dem altgedienten XMPP die Treue zu halten oder auf das neue Pferd namens Matrix zu setzen?
Warum ich nicht mit proprietären Apps vergleiche
Es soll an dieser Stelle niemanden verwundern, daß ich hier ausschließlich über quelloffene (das heißt open source) Projekte spreche. Die allseits bekannten proprietären Lösungen, wie Skype oder Whatsapp, mögen sich einer großen Verbreitung erfreuen, bieten wegen der geschlossenen Codebasis jedoch keinerlei Erkenntnisgewinn. Viel mehr sieht es eher danach aus, daß Dienste wie diese sich freizügig des öffentlichen Codes bedienen um Unzulänglichkeiten ihres eigenen Produkts zu kaschieren. So ist Whatsapp beispielsweise ein reines Derivat, was auf XMPP basiert. Skype dagegen hatte angekündigt sich WebRTC Technologie zu bedienen um Kompatibilitätsprobleme zu lösen und einen Betrieb als Webclient zu ermöglichen.
Wie man daran sieht, haben diese Dienste ganz eigene Probleme und bedienen sich zur Lösung derselben schamlos der Leistung zahlreicher Open-Source Entwickler, während diese kaum bereit sind ihre Nutzerbasis mit Benutzern anderer Dienste zu vernetzen und damit ein wirklich weltumspannendes Netzwerk (wie E-mail z.b.) zu schaffen.
Gerade das größte Alleinstellungsmerkmal von Whatsapp, nämlich die erstmalige Verknüpfung des Benutzernamens mit einer Telefonnummer, scheint heutzutage geradezu aus der Zeit gefallen. Die meisten Benutzer möchten Ihre Apps nutzen, unabhängig davon welches Gerät sie gerade benutzen. Der Zwang zu einer Telefonnummer ist da nur noch ein Ärgernis, in einer Zeit wo echte Telefongespräche immer seltener werden.
XMPP noch zeitgemäß?
Unter dem früheren Namen Jabber gibt es das XMPP-Protokoll bereits seit dem Jahr 2000. Eine halbe Ewigkeit im Internet. Zugegeben war mobiles Internet damals noch kein Thema gewesen. Internetverbindungen waren kabelgebunden und stabil. Im mobilen Netz hingegen sind kurze Unterbrechungen jederzeit möglich. Noch dazu wird die Verbindung wechselseitig durch mehrere Geräte ersetzt oder synchron genutzt. Mit modernen Apps wie Conversations ist die mobile Kommunikation damit komfortabel wie nie zuvor. Mit OMEMO verfügt man dort über eine Ende-zu-Ende Verschlüsselung, die den modernen Anforderungen mit wechselnden Geräten gerecht wird und weit mehr Sicherheit und Privatsphäre bietet als kommerzielle Anbieter, die ihrerseits oft mit Datenskandalen zu kämpfen haben.
Nichtsdestotrotz gibt es nicht gerade wenige Stimmen im Netz, die von gelegentlichen Datenverlusten bei der Nachrichtenübermittlung berichten. Oft scheint die Ursache an der schwankenden Verbindungsqualität im mobilen Netz zu liegen, oder wenn das Gerät beispielsweise einen Wechsel vom Mobilfunknetz nach WLAN vollzieht. Ein robustes Protokoll sollte dies eigentlich auszugleichen wissen und gerade deswegen beobachte ich die Szene gespannt, ob es hier weitere Entwicklungen gibt.
Lohnt ein Wechsel zu Matrix?
Zunächst ist Matrix in vielen Belangen ziemlich ähnlich. Es ist wie XMPP ebenso quelloffen und ermöglicht genauso echte Föderation der Dienste in einem dezentralisierten Netz. Dies bedeutet, daß die Nutzer unterschiedliche Server nutzen und dennoch miteinander kommunizieren können (wie E-mail). Es verfügt ermöglicht Ende-zu-Ende Verschlüsselung zwischen wechselnden Geräten, für mich ein Ausschlußkriterium.
Ein Vorteil, den Matrix gegenüber XMPP bietet ist, daß in derselben Umgebung ein flüssiger Übergang zwischen Textnachrichten und einem Videoanruf in Echtzeit möglich ist. Bei sämtlichen XMPP-Clients musste man hierfür bisher wenigstens einen weiteren Dienst einsetzen, während die bei vielen beliebten Sprachnachrichten natürlich genauso versendet werden können.
Ein weiterer Vorteil dürfte vor allem Entwickler erfreuen. Es kommen bei Matrix zum Datenaustausch JSON-Formate genutzt, welche einfacher zu handhaben und erweiterbar sind. So kann das oben beschriebene Problem der Übertragungssicherheit etwa dadurch gelöst werden, daß die Nachrichten Informationen wie Zeitstempel und Zustellungsreihenfolge enthalten.
Für den Benutzer bringt dies jedoch nicht nur Vorteile. Ein lästiger Nebeneffekt dieses Protokolls ist bisher ein nicht zu unterschätzender Overhead. Der führt nämlich auch dazu, daß bei einem Smartphone das Sendemodul in regelmäßigen und sehr kurzen Abständen mit voller Kraft läuft. Das verringert die Batterielaufzeit und setzt dem Träger des Geräts erhöhter Strahlung aus. Über die Gefährlichkeit derselben mag es unterschiedliche Meinungen geben, ich versuche diese jedoch wo es geht zu verringern.
Fazit
Matrix bietet einige vielversprechende Lösungen in Bereichen, die XMPP momentan Schwierigkeiten bereiten. Die Modularität desselben dürften dem Protokoll sicher eine gute Zukunft bereiten. Noch werde ich aber XMPP vorziehen. Von den berichteten Übertragungsverlusten war ich bisher äußerst selten betroffen, allerdings wäre dies für mich ehrlich gesagt ein Grund über einen Wechsel nachzudenken. Mit den gebotenen Apps wie Conversations für das Mobiltelefon sowie Gajim bin ich bestens versorgt. Der Betrieb eines Servers für Matrix scheint derzeit noch sehr kompliziert, genauso wie die mit Features vollgepackten Clients.
Wie probiere ich es aus?
XMPP
Unter Android empfiehlt sich Conversations. Im Google Play Store ist es kostenpflichtig, kann aber im F-Droid Store kann es auch kostenlos heruntergeladen werden. Für iPhone-Benutzer steht Chatsecure zur Verfügung.
Unter Linux und Windows kann Gajim eingesetzt werden.
Für alle Anwendungen gilt, daß der voreingestellte (im Falle von Conversations kostenpflichtige) Server nicht verwendet werden muß, sondern ein eigener eingetragen werden kann. Gute Erfahrungen hab ich mit jabjab.de gemacht.
Matrix
Ein beliebter Webclient ist Riot.
Denselben gibt es auch für Android.
Zu den Unterschieden der beiden Systeme:
https://www.freie-messenger.de/systemvergleich/xmpp-matrix
Ja, dass man manche Nachrichten nicht empfängt weil man aus einem MUC geflogen ist, der Client das aber nicht mitbekommen hat ist ärgerlich. Das wird aber jetzt besser, da immer mehr Clients MUC Selfping implementieren. In 1-1 Chats ist mir noch keine Nachricht abhanden gekommen. 🙂
Btw, ich habe gesehen, dass du aus München bist. Ich habe mal einen MUC für Themen rund um München angelegt, vielleicht hast du ja Lust da mal vorbei zu schauen: xmpp:muenchen@chat.mdosch.de?join