Die Zeiten, in denen Firmen nur per E-Mail kommunizierten, sind vorbei. Den internen Redebedarf stillen heute vielerorts Instant Messenger. Doch taugen dafür auch dezentrale Open-Source-Messenger?
Insbesondere Startups und Unternehmen mit Filialen nutzen Instant Messaging inzwischen als probate Form der Kommunikation. Über sie schicken Absender Nachrichten an einen oder mehrere Empfänger und vice versa, wobei dieser Austausch im Idealfall auch plattformübergreifend funktioniert.
Neben kommerziellen Anbietern wie Slack oder Whatsapp buhlen auch rein Cloud-basierte Dienste um die Gunst der Anwender. Als Open-Source-Alternativen gelten dezentrale Messenger – Peer-to-Peer-basierte und solche mit On-Premise-Servern. Sie betonen vor allem die Kontrolle über die Daten, was offenbar auch Frankreichs Ministerien überzeugte: Diese wollen künftig über quelloffene Matrix-Server und einen Riot-Fork miteinander kommunizieren [5].
Funktional beherrschen die dezentralen Messenger mehr als reine Textkommunikation: Sie übertragen neben normalen Dateien auch Multimedia-Inhalte. Ende-zu-Ende-Verschlüsselung sorgt für sichere Kommunikationswege.
Die Bitparade hat sich einige quelloffene und dezentral einsetzbare Aspiranten angesehen und prüft, ob diese sich auch für den Unternehmenseinsatz eignen.
Kriterien
Unternehmen stellen üblicherweise andere Anforderungen an Software als Heimanwender. Sie legen das Augenmerk nicht nur auf den Funktionsumfang, sondern auch auf die Datenintegrität und Sicherheitsaspekte. So sollten die Messenger Verschlüsselungsmechanismen implementieren, die ein Mitlesen von Nachrichten verhindern. Auf Smartphones müssen zudem Authentifizierungsmechanismen eine sichere Kommunikation gewährleisten.
Nicht nur dank der DSGVO stehen viele Unternehmen proprietären zentralen Lösungen inzwischen skeptisch gegenüber und bevorzugen eine Infrastruktur im eigenen Haus. Daher eignen sich für den Test des Linux-Magazins primär Peer-to-Peer-Lösungen, darunter solche, die ihre Daten dezentral über lokal installierbare Server schicken.
Nicht berücksichtigt
Neben zahlreichen proprietären Lösungen wie Slack oder Whatsapp, die sich aus Datenschutzgründen für den Einsatz in Unternehmen nur bedingt eignen, erhalten Interessierte unter Linux mit Programmen wie Pidgin [1] oder Empathy [2] Clients, die auf verschiedene Dienste aufsetzen und keine Direktkommunikation ohne Fremdserver erlauben. Signal [3] und Discord [4] erwarten eine vorhandene Installation auf einem Mobilgerät oder hängen im Betrieb von zentralen Servern ab.
Neben verschlüsselten Textnachrichten und den erwähnten Multimedia-Dateien unterstützen ausgereifte Instant-Messaging-Programme inzwischen sogar VoIP-Telefonie mit Video- und Audio-Streams. Das macht dann auch den Einsatz einer gesonderten VoIP-Software im Unternehmen überflüssig.
Auch Feedback ist in Unternehmen wichtig: Damit der Sender erfährt, ob der Empfänger seine Nachricht gelesen hat, bieten einige Messenger ein visuelles Lese-Feedback an.
Last but not least müssen Unternehmen sichergehen, dass auch die Instant Messenger den gesetzlichen Vorschriften zu Aufbewahrungsfristen für jede Form betrieblicher Kommunikation genügen. Das bedeutet, dass die Messenger auch Logging- und Backup-Mechanismen für die Nachrichtenbestände benötigen.
Mattermost
Die erst seit 2015 erhältliche Messaging-Plattform Mattermost [6] versteht sich selbst als Open-Source-Alternative zum proprietären Slack. Die Software setzt auf eine Client-Server-Architektur und stellt für unterschiedliche Plattformen eigene Clients bereit, wozu auch mehrere Mobilplattformen zählen.
Mattermost läuft bei Bedarf in der internen Cloud, der dedizierte Server arbeitet unter Linux. Zusätzlich steht Mattermost als Docker-Container und in der Team-Edition als Bitnami-App bereit.
Der Quellcode des Programms unterliegt der AGPL-, die Team-Edition des Servers der MIT-Lizenz. Daneben bietet der Anbieter eine kostenpflichtige Enterprise-Variante an. Die unterstützt unter anderem Active Directory und LDAP, SAML 2.0 sowie verschlüsselte Push-Benachrichtigungen, Multi-Node-Datenbanken-Deployments und eine feingranulare Rechtevergabe. Eine Ende-zu-Ende-Verschlüsselung fehlt in allen Mattermost-Versionen, eine Transportverschlüsselung ist mit TLS (AES-256 mit 2048-Bit-RSA) hingegen an Bord.
Systemvoraussetzungen
Mattermost gibt sich in seinen Mindestanforderungen an die Hardware sehr bescheiden: Tummeln sich auf einem Server weniger als 1000 Nutzer, reichen ein einziger Rechenkern und 2 GByte Arbeitsspeicher. Für bis zu 2000 Anwender soll eine CPU mit zwei Rechenkernen und 4GByte RAM genügen.
Während Anwender die Client-App sehr einfach installieren, braucht der Server etwas mehr Arbeit [7]. Als Betriebssysteme kommen unter anderem Ubuntu 16.04 oder 18.04 LTS, RHEL oder Centos in Frage, als Datenbanken PostgreSQL oder MySQL, als Server Nginx.
Funktionen
Am einfachsten bedient der Anwender Mattermost über das Webinterface. Dazu muss er lediglich im Browser die URL oder IP-Adresse des Servers eingeben, gefolgt von der Portnummer »8443«. Er meldet sich an und landet im Town Square, auf der Startseite des Programms (Abbildung 1). In der erscheint zunächst ein mehrstufiges Tutorial, das ihn anschließend auf den eigentlichen Arbeitsbildschirm weiterleitet.
Der listet in einer modernen Oberfläche links vertikal die einzelnen Gruppen auf, die bei Mattermost Channels heißen. Rechts befindet sich das Kommunikations- und Steuersegment. Die Entwickler halten die Bedienelemente dabei sehr einfach und übersichtlich.
Oberhalb der Gruppenansicht rechts oben passt der Nutzer zunächst das Fenster seinen Wünschen an, indem er auf das Menüsymbol klickt. Im sich nun öffnenden Kontextmenü wählt er die Option »Account Settings«, was ihn in einen Konfigurationsdialog katapultiert.
Hier ändert er persönliche Einstellungen und lokalisiert die Oberfläche in deutscher Sprache. Das klappt in der Gruppe »Display« über die Option »Language«. Über das Bleistiftsymbol »Edit« wählt er eine Sprache aus dem entsprechenden Dropdown-Menü. Ein Klick auf »Save« stellt die Bedienoberfläche komplett auf Deutsch um (Abbildung 2), ohne dass ein Neustart des Servers oder die Neuanmeldung des Nutzers nötig sind.

Abbildung 2: Der Einstellungsdialog von Mattermost erlaubt es unter anderem, die Bedienoberfläche auf Deutsch umzustellen.
Fallen vor allem die Konfigurationsdialoge zu Benachrichtigungen und zu erweiterten Einstellungen relativ umfangreich aus, bietet die Gruppe »Sicherheit« lediglich die Änderung des Passworts an und gewährt einen Blick auf die Zugriffshistorie sowie aktuelle Sitzungen. Über den Eintrag »Teameinstellungen« passt der Admin Beitrittsoptionen an und ändert Grundkonfigurationen wie den Teamnamen, dessen Symbole und Beschreibungen.
Teamwork
Teams fungieren in Mattermost als übergeordnete Instanz zur Kommunikation. Sofern der Admin dieses Recht freigeschaltet hat, darf jeder Nutzer eines anlegen. Dazu klickt er einfach auf seinen Nutzernamen oben links in der Listenansicht und wählt im sich öffnenden Konfigurationsfenster den Eintrag »Neues Team erstellen«. Das legt er in einem neuen Reiter im Browser in wenigen Schritten an, wobei ihn Mattermost gleich als ersten Nutzer integriert. Existieren mehrere Teams, wählt der Anwender das jeweilige Team, mit dem er aktuell kommunizieren möchte, aus einer ganz links im Browserfenster eingeblendeten vertikalen Teamleiste.
Kanalisiert
Das Konzept von Mattermost basiert auf Channels. Dabei unterscheidet die Software zwischen öffentlichen und privaten Kanälen. Alle Anwender sind voreingestellt Mitglieder im öffentlichen Town-Square-Kanal. Über das »+«-Symbol rechts neben den Kanalanzeigen öffnet der Nutzer einen Dialog, um einen neuen Kanal zu öffnen. Ergänzend gibt er Daten ein, die neben dem Namen auch Beschreibung und Zielgruppe des Kanals umfassen. Nach einem Klick auf »Kanal anlegen« übernimmt Mattermost den Kanal in die blaue Listenansicht.
Öffentliche Kanäle stehen allen Usern offen. Eine Suchfunktion, die oben rechts im Browserfenster wartet, durchforstet die Inhalte. Treten Mitglieder einem geschlossenen Kanal bei (Abbildung 3), dürfen sie die Nachrichten darin rückwirkend lesen. Das geht nur, weil Mattermost die Daten im Ruhezustand nicht verschlüsselt, auch um sie aus Compliance-Gründen aufzubewahren.
Mitglieder
Mattermost akzeptiert neue Mitglieder per E-Mail-Link. Dazu verschickt ein bereits aktives Mitglied per E-Mail einen speziellen Link an einen Interessenten. Klickt dieser darauf, öffnet sich eine Anmeldeseite. Das einladende Mitglied generiert den Link über den Dialog »Team-Einladungslink erhalten«. Meldet sich das neue Mitglied erstmals an, verfrachtet Mattermost es in den Town-Square-Kanal und es kann sofort kommunizieren. Auch alle anderen Optionen darf es umgehend nutzen.
Direkt
Mattermost erlaubt es, so genannte Direktnachrichten zu versenden. Diese verfassen alle Mitglieder auf Wunsch über den Dialog »Direktnachrichten«. Das läuft wie bei herkömmlichen Nachrichten, wobei der Nutzer die Adressaten in einem gesonderten Dialog aussucht. Dabei wählt er bequem aus einer Liste aller Mitglieder, die sich im jeweiligen Kanal tummeln, um etwa auch an mehrere Teilnehmer simultan die gleiche Nachricht zu verschicken. Anhänge sind auch in Direktnachrichten erlaubt. Für Anwender, die nicht am Dialog per Direktnachricht teilnehmen, bleibt dieser Kommunikationsstrang unsichtbar.
Administration
Der Admin, den das System jeweils als ersten Anwender integriert, richtet Mattermost in seinem Menü über den Eintrag »Systemkonsole« ein. Dabei legt er etwa über die Menü-Option »Lokalisierung« fest, dass neue Nutzer standardmäßig auf Deutsch kommunizieren. Aber er darf auch detailliert Rechte in der Gruppe »Allgemein« vergeben.
Optionen zu Sicherheit, Authentifizierung und zu Benachrichtigungen des Systems runden den Konfigurationsdialog ab. Außerdem sammelt das Dashboard in der Gruppe »Reporting« Statistiken. Damit sieht der Admin etwa die Mitgliederliste ein und modifiziert Einstellungen für Teams (Abbildung 4) und einzelne Nutzer. Über den Menü-Eintrag »Protokolle« betrachtet er zudem die Serverprotokolle und durchsucht sie.
Ricochet
Das unter einer BSD-Lizenz stehende und seit 2014 entwickelte Ricochet [8] ist eine Kommunikationsplattform, die ohne einen Server auskommt. Ricochet ist als versteckter Dienst (Hidden Service) innerhalb des Tor-Netzwerks aktiv und benötigt daher auf allen teilnehmenden Rechnern einen Zugang zum Tor-Netzwerk.
Da Ricochet standardmäßig keine Nutzernamen vergibt und der Dienst komplett innerhalb des Tor-Netzwerks arbeitet, ist es für Außenstehende nur mit hohem Aufwand möglich, die Kommunikation über Ricochet auszuspähen.
Die Software gibt es plattformübergreifend als Binärpaket. Wer will, kann den Quelltext auch selbst kompilieren. Für Mobilsysteme sind allerdings keine Apps vorhanden. Ebenso wenig bietet die Applikation einen Webclient an. Unter Linux ist Ricochet bereits in die Paketquellen vieler größerer Distributionen eingepflegt.
Oberflächliches
Ricochet bringt eine grafisch überaus schlicht gestaltete Oberfläche mit. Beim Start fragt das Programm zunächst ab, ob der Nutzer eine direkte Verbindung zum Tor-Netzwerk aufnehmen möchte oder ob er – falls ein Proxyserver oder eine Firewall dazwischen hängen – zunächst den Zugang zum Tor-Netzwerk konfigurieren muss. Anschließend etabliert Ricochet automatisch eine Verbindung zum Tor-Netzwerk und öffnet das Programmfenster.
Das besteht aus nur zwei Bereichen: einer Kontaktliste im linken Fenstersegment und dem eigentlichen Nachrichtenbereich rechts daneben. Eine Menü- oder Buttonleiste fehlen. Lediglich zwei Buttons zum Öffnen eines Konfigurationsdialogs und zum Anlegen eines Kontakts sind vorhanden.
Der Konfigurationsdialog von Ricochet fällt ebenfalls außerordentlich spartanisch aus: In lediglich vier Reitern legt der Nutzer allgemeine Einstellungen fest. Dazu gehören zum Beispiel die Lokalisierung der Software, die Lautstärke bei den Benachrichtigungen (falls der Anwender dafür Audiosignale einsetzen möchte) und die Option, die Links in den empfangenen Nachrichten im Standard-Webbrowser zu öffnen. Ansonsten zeigen eigene Reiter nur noch Angaben zum Tor-Protokoll und zur Kontaktliste. Weitere Einstelloptionen fehlen (Abbildung 5).
Kontakte
Um mit anderen Ricochet-Anwendern zu kommunizieren, müssen beide Partner jeweils die automatisch vom System generierte ID austauschen. Die eigene ID generiert der Nutzer, indem er im Programm auf den Kontaktlisten-Button klickt. Das blendet die eigene ID in einem überlappenden Fenster ein.
In diesem Fenster zeigt Ricochet auch bereits Eingabefelder für die Kommunikation mit einem weiteren Teilnehmer. Zunächst trägt der Anwender dort die ID des Partners ein. Anschließend gibt der Nutzer einen Klarnamen und seine Nachricht ein. Die Nachricht überträgt die Software nach einem Druck auf [Eingabe] sofort, während der Partner in der Kontaktliste landet.
Gibt der Anwender beim Anlegen eines neuen Kontakts keinen Klarnamen an, erscheint der Kontakt mit der Ricochet-ID. Es empfiehlt sich daher, möglichst einen Klar- oder Aliasnamen einzugeben (Abbildung 6). Denn wer zahlreiche Kontakte pflegt, muss den gesuchten Partner andernfalls vor jeder Aufnahme eines Chats anhand der ID identifizieren. Die aber lässt keine Rückschlüsse auf seinen Klarnamen zu. Ein grünes Lämpchen vor dem jeweiligen Klarnamen oder der ID in der Liste verrät dann, ob die Person gerade online ist.
Im rechten Fenstersegment zeigt Ricochet den Verlauf des Dialogs an. Darunter befindet sich die Eingabezeile für Mitteilungen. Neu eingegebene Nachrichten landen sofort in der Verlaufsansicht, wobei Ricochet die einzelnen Einträge je nach Herkunft unterschiedlich farbig hinterlegt. Außerdem sortiert es die Mitteilungen: Die eigenen erscheinen auf der einen Seite des Fenstersegments, die des Gesprächspartners dagegen auf der gegenüberliegenden. So vollzieht der Anwender den Chatverlauf später problemlos nach (Abbildung 7).
Verabschiedet sich ein Kontakt während einer Sitzung aus dem Netz, erlischt das kleine grüne Lämpchen links neben dem Kontakt. Die Software kennt keine Routine zum Ein- und Ausloggen. Wer sie beenden will, klickt auf den entsprechenden Button rechts in der Titelleiste. Da Ricochet beendete Sitzungen nicht speichert, erscheint bei einem erneuten Start der Software und beim Chat mit demselben Kontakt stets nur ein leeres Nachrichtenfenster.
Damit fehlen auch Komfortfunktionen wie das Backup eines Nachrichtenstrangs oder eine Suchfunktion. Gruppenchat-Funktionen bietet Ricochet aufgrund seiner Konzeption als Tor-Service ebenfalls nicht. Auch das Versenden und Empfangen von Anhängen ist nicht möglich.
Riot
Riot [9] verwendet das Matrix-Protokoll und steht ebenfalls unter einer freien Lizenz. Die Software ist der Referenzclient für Matrix-Server [10]. Dieser nutzt öffentliche Server, kooperiert aber auch mit so genannten Homeservern vor Ort. Riot arbeitet Web-basiert und ist sowohl für mehrere Linux-Distributionen als Binärpaket erhältlich als auch für mobile Betriebssysteme.
Der Server
Matrix-Server verstehen sich nicht nur als zentrale Instanzen für die angeschlossenen Clients, sondern ermöglichen durch eine Bridge-Funktion auch die Kommunikation über Protokollgrenzen hinweg: Sie lassen sich dank der Bridges auch für die Kommunikation über IRC, Github oder Slack einsetzen.
Die Kommunikation innerhalb des Matrix-Netzes ist dabei Ende-zu-Ende-verschlüsselt. Zudem erlaubt das Netzwerk eine Video- und Gruppentelefonie. Dabei nutzt Matrix den Web-RTC-Standard und ermöglicht darüber ebenfalls eine komplett verschlüsselte Kommunikation. Inzwischen existieren zahlreiche dezentrale Matrix-Homeserver, viele davon sind öffentlich zugänglich. Anwender dürfen auch eigene, öffentlich zugängliche Homeserver hosten.
Speziell für größere Organisationen, die keine Daten nach außen geben möchten, bietet sich jedoch ein intern gehosteter Matrix-Synapse-Homeserver mit Riot-Clients als zentraler Kommunikationsplattform an.
Start
Einen installierten Server steuern Nutzer entweder Web-basiert an – er unterstützt als Browser etwa Firefox oder Chrome – oder über eine der Apps. Diese gibt es für verschiedene mobile Betriebssysteme und für die gängigen Desktop-Betriebssysteme. Unter Linux öffnet sich beim ersten Start ein sehr schlichtes Fenster, in dem sich der Anwender zunächst anmelden muss.
Anschließend gelangt er in einen zweigeteilten Bildschirm. Das Nachrichtensegment erscheint hier rechts, der Bereich für die Räume und Kommunikationspartner auf der linken Seite (Abbildung 8). Räume heißen dabei die einzelnen Gruppen, die sich meist über ein gemeinsames Thema zusammenfinden. Über das jeweils rechts daneben befindliche »+«-Symbol ergänzt der Anwender neue Kontaktpersonen oder öffnet ein Fenster mit vorhandenen Räumen.
Hier erzeugt er durch einen Klick auf »Neuen Raum erstellen« selbst einen Raum oder betritt einen bereits existierenden. Standardmäßig schottet Riot die Räume ab und macht sie nur für die jeweiligen Mitglieder einsehbar. Nur wer die Räume als »Für alle lesbar« kennzeichnet, macht sie öffentlich zugänglich (Abbildung 9).
Betritt der User einen Raum, indem er auf die gewünschte Gruppe klickt, erscheint der Kommunikationsstrang mittig im Programmfenster, während die Gruppe links in der Listenansicht auftaucht. Rechts öffnet Riot zudem eine weitere Spalte, die Teilnehmer auflistet, die der Gruppe angehören. Über die grüne Schaltfläche »In diesen Raum einladen« laden Teilnehmer zudem andere Interessierte ein. Die Bedienoberfläche der Desktop-Anwendung und der Browser sind dabei identisch (Abbildung 10).
Einstellungen
Die Einstellungsdialoge von Riot verwaltet der Nutzer, indem er auf seinen Namen links oben im Fenster klickt und dort die Option »Einstellungen« aussucht. Anschließend nimmt er in einem gesonderten Fenster nicht nur Änderungen an den Zugangsdaten vor, sondern fordert auch Medienberechtigungen an, um Telefonie-Dienste zu nutzen.
Riot stellt außerdem IP- und Videotelefonie-Dienste bereit. Dazu muss der Anwender zusätzlich eine Verbindungsoption, die eine Eins-zu-Eins-Kommunikation freischaltet, aktivieren. Erst dann darf er die Telefonie-Dienste verwenden, wobei er diese über das Telefonhörer- oder Kamerasymbol unten mittig im Fenster einschaltet.
Anhänge
Riot kommt auch mit Anhängen klar, wobei diese häufig aus Bildern bestehen. Einen Anhang fügt der Nutzer über das Büroklammer-Symbol neben dem Eingabefeld für Nachrichten ein. Riot ergänzt ihn dann in der Nachricht. Bilder stellt Riot verkleinert dar. Ein Klick auf ein Bild holt es in den Vordergrund des Fensters und vergrößert es zugleich dabei.
Über die Option »Dateien« oben rechts im Fenster betrachtet der Nutzer die von anderen Teilnehmern im Raum publizierten Bilder in der rechten Spalte. Ein Klick auf eine der Abbildungen vergrößert diese. Ein »Herunterladen«-Button gestattet den Download. Multimediale Inhalte wie Videosequenzen präsentiert Riot in einem Player-Fenster an, wobei der User den Medien-Abspieler mit Buttons unterhalb des Sichtfensters steuert.
Suche
Riot besitzt eine Volltextsuche, die der Nutzer über das Lupensymbol oben rechts im Programmfenster startet. In ein Eingabefeld im mittigen Fenstersegment geben Anwender Begriffe und Zeichenfolgen ein.
Nach einem Klick auf das Lupensymbol rechts neben dem Eingabefeld durchsucht Riot den Strang und zeigt anschließend den ersten Treffer für den Begriff oder die Zeichenfolge an (Abbildung 11).

Abbildung 11: Dank einer Suchfunktion findet der Nutzer rasch Informationen in einem Nachrichtenstrang.
Will er die Suche über alle Räume umsetzen, erledigt der Riot-Nutzer das über die Option »Alle Räume durchsuchen«. Dabei darf er neben Begriffen und Zahlenfolgen auch Anwender über die Eingabe ihres Aliasnamens aufspüren.
Tox
Tox [11] ist eine seit 2013 entwickelte Peer-to-Peer-Plattform, die auf zentrale Server verzichtet und eine Ende-zu-Ende-Verschlüsselung bietet. Diese lässt sich nicht umgehen oder abschalten. Da sich die Software noch in reger Entwicklung befindet, ist noch nicht der volle Funktionsumfang implementiert.
Tox positioniert sich als Skype-Alternative und erhält sukzessive Funktionen zum Video- und Gruppenchat und für den Dateiversand. Bereits möglich sind Textnachrichten und das Offline-Messaging. Tox läuft plattformübergreifend auch auf Mobilsystemen und Exoten wie BSD. Es ist unter Linux bereits in einige Software-Repositories eingepflegt. Zusätzlich bieten die Entwickler ein unabhängig von der jeweiligen Distribution nutzbares App-Image-Paket auf der Webseite des Projekts an [12].
Vielfalt
Für Linux gibt es mehrere Tox-Clients, die sich an verschiedene Zielgruppen richten: Qtox [13] und µTox [14] eignen sich für grafische Desktopumgebungen, während es sich bei Toxic [15] um einen extra Client für die Kommandozeile handelt. Toxygen [16] heißt ein weiterer grafischer Client, der unter einer freien Lizenz steht.
Das eigentliche Programm dagegen besteht aus einer Kernbibliothek, die die relevanten Funktionen für die Clients bereithält. Je nach Zahl der Beitragenden und der Aktivität der Community weichen die Entwicklungsstände der Clients erheblich voneinander ab.
Funktionen
Das Programmfenster von Qtox unterscheidet sich im Aufbau mit zwei Bereichen nicht wesentlich von denen anderer Messaging-Applikationen. Hat der Nutzer ein Profil angelegt, indem er seine Authentifizierungsdaten eingibt, gelangt er in ein zweigeteiltes Fenster. Das listet links die Kontakte vertikal auf, rechts erscheint der Nachrichtenbereich. Qtox zeigt noch zwei weitere Reiter an, über die er Kontakte importiert und so genannte Friend Requests absetzt, also Freundschafts-Anfragen sendet.
Konfiguration
Links unterhalb der Kontaktliste befinden sich vier Buttons in einer Leiste. Über das Zahnrad rechts in der Buttonleiste öffnet der User einen umfangreichen Konfigurationsdialog, in dem er nicht nur im Reiter »Allgemein« die Lokalisierung einstellt, sondern auch den Dateipfad anpasst, unter dem er später den Kommunikationsverlauf speichert. In weiteren Reitern modifiziert er das Erscheinungsbild, passt die Konfiguration zur Privatsphäre an und bereitet die im System vorhandene Audio- und Videohardware vor.
Ein Klick auf den Nutzernamen öffnet rechts eine Liste mit persönlichen Daten. Dazu gehört die individuelle ID, die andere Anwender zur Kontaktaufnahme mit dem Nutzer brauchen. Dieser übermittelt sie dank eines angezeigten QR-Codes auch als Bild. Im gleichen Dialog kann er sich auch bei Toxme [17] registrieren. Der zentrale Server kümmert sich um die Namensauflösung. Nicht zuletzt legt er dort fest, wo er sein Profil speichern will.
Kontakte
Ein Klick auf das »+«-Symbol unten links in der Buttonleiste öffnet rechts im Fenster einen Dialog zur Kontaktaufnahme mit einem neuen Partner. Hierzu gibt der Anwender die 72-stellige ID des gewünschten Teilnehmers gemeinsam mit einem kleinen, frei wählbaren Text ein. Dann klickt er auf die Schaltfläche »Freundschaftsanfrage senden«.
Beim Empfänger taucht nun im linken Fenstersegment der Kontaktliste ein grün hinterlegter Hinweis auf die Anfrage auf. Ein Klick auf diesen öffnet rechts im Programmfenster einen Dialog, der die ID des Anfragenden zusammen mit dem Fragetext anzeigt. Ein Klick auf »Annehmen« übernimmt den neuen Kontakt links in die Liste.
Auch beim Anfragenden erscheint der neue Kontakt umgehend in der Liste. Bei Partnern, die online sind, erscheint ein grüner Punkt hinter ihrem Aliasnamen. Kontakte, die offline sind, visualisiert Tox dagegen durch einen hohlen roten Kreis.
Verwirrend
Qtox zeigt die Aktivitäten der Kontakte über verschiedene Symbole an. Loggt sich ein inaktiver Teilnehmer wieder ein, aktualisiert es jedoch dessen Statussymbol nicht automatisch. Andere Teilnehmer, die mit diesem Kontakt verbunden sind, erfahren dadurch nicht, ob er wieder online ist.
Schreibt ein Teilnehmer einem solchen Kontakt hingegen eine Nachricht, verwandelt sich beim Empfänger das Statussymbol in einen geschlossenen grün umrandeten Briefumschlag. Dahinter erscheint der Aliasname des Senders. Auf diese Weise erkennt der Empfänger eine neue Nachricht.
Ein Klick auf den Briefumschlag öffnet im rechten Fenstersegment die Nachricht und einen Eingabebereich zum Verfassen einer Antwort. Über das Sprechblasensymbol rechts neben Letzterem, schickt der Nutzer die Antwort ab. Dabei ist es möglich, Emoticons einzubinden. Über die Büroklammer lässt sich zudem eine Datei anhängen. Das Nachrichtensegment zeigt die fortlaufende Kommunikation dabei nach Teilnehmern getrennt an (Abbildung 12).
Mehrwert
Neben dem Namen des Gesprächspartners warten oben rechts im Nachrichtenbereich von Qtox ein Kamera- und ein Telefonhörersymbol. Sie dienen zur IP- und Videotelefonie. Klickt der Nutzer auf den Telefonhörer, öffnet das beim Empfänger ein Popup-Fenster, über das dieser den Anruf entgegennimmt oder ihn ablehnt.
Zeitgleich meldet auch der Nachrichtenbereich den Eingang des Anrufs. Die zuvor neben dem Telefonhörer mit grauer Farbe hinterlegten Mikrofon- und Lautsprechersymbole ändern während des Anrufs ihre Farbe in Grün. Das signalisiert: Sie sind eingeschaltet.
Während des Telefonats dürfen beide Nutzer bei Bedarf auch wieder temporär das Mikrofon oder den Lautsprecher aus- und einschalten. Das erweist sich als nützlich, um Gespräche mit Dritten im Raum zu führen, die der Tox-Partner nicht mithören soll. Beenden die Gesprächspartner das Telefonat, erscheint erneut eine automatisch generierte Nachricht im Kommunikationsverlauf.
Besitzen beide Gesprächspartner eine Webkamera, kann einer von beiden ein Videotelefonat per Klick auf das Kamerasymbol starten. Nimmt der zweite Teilnehmer den Anruf entgegen, öffnet sich ein Fenster mit einem eingebetteten Kamerabild in den Programmoberflächen der beiden Teilnehmer. Auch beim Videofonieren lassen sich Lautsprecher oder Mikrofon auf beiden Seiten temporär ausschalten.
Gruppendynamik
Qtox erlaubt auch Gruppen, die nur aus eigens eingeladenen Mitgliedern bestehen. Per Rechtsklick in die Kontaktanzeige öffnet der Nutzer dazu das Kontextmenü und wählt die Option »Neue Gruppe erstellen« aus. Schon taucht eine neue Gruppe in der Kontaktliste auf, deren Namen der Nutzer ändern darf. Im Anschluss wählt er per Rechtsklick jene Kontakte aus, die er in die neue Gruppe aufnehmen möchte, und schickt über die Option »Gruppeneinladung« passende Einladungen.
Beim angefragten Teilnehmer poppt im Qtox-Fenster ein Hinweis zur Einladung auf. Er tritt der Gruppe nach einem Klick auf eine passende Schaltfläche neben dem Hinweis rechts im Nachrichtensegment bei.
Die Kontaktanzeige verrät hinter der Gruppe auch, wie viele Teilnehmer sich gerade im Chat tummeln. Ein Klick auf die Gruppe in der Kontaktanzeige öffnet wiederum rechts einen Kommunikationsbereich, über den ein Chat oder IP- beziehungsweise Videotelefonie möglich sind. Im Fall eines Videotelefonats erscheinen verkleinerte Abbildungen aller Teilnehmer in der Gruppe. Innerhalb der Gruppe lassen sich zugleich, wie bei den Einzelgesprächen auch, Dateien teilen (Abbildung 13).
Fazit
Die vier besprochenen Instant-Messaging-Applikationen decken ein weites Funktionsspektrum ab (Tabelle 1). Nutzer wählen die passende Software anhand ihres Anwendungsszenarios. Wer also neben dem eigentlichen Nachrichtenversand und -empfang auch IP-Telefonie betreiben möchte und nach einer Slack-ähnlichen Lösung dafür sucht, wird mit Riot, Mattermost und auch Tox gut bedient.
|
Mattermost |
Ricochet |
Riot |
Tox/Qtox |
|
|---|---|---|---|---|
|
Lizenz |
MIT, Apache-Lizenz |
BSD |
Apache-Lizenz |
GPLv3 |
|
Sicherheit |
||||
|
Ende-zu-Ende-Verschlüsselung |
nein |
ja |
ja |
ja |
|
Tor-Service |
nein |
ja |
nein |
nein |
|
Funktionen |
||||
|
Gruppenchat |
ja |
nein |
ja |
ja |
|
Telefoniefunktion |
ja |
nein |
ja |
ja |
|
Nachrichten durchsuchbar |
ja |
nein |
ja |
ja |
|
Direktnachrichten |
ja |
ja |
ja |
ja |
|
Anhänge |
ja |
nein |
ja |
ja |
|
Clients/Server |
||||
|
Web-basiert |
ja |
nein |
ja |
nein |
|
Desktop-Apps |
ja |
ja |
ja |
ja |
|
Apps für Mobilsysteme |
ja |
nein |
ja |
ja |
|
On-Premise-Server |
ja |
nein |
ja |
nein |
Ricochet legt äußersten Wert auf Sicherheit, ist aber bei der Kontaktaufnahme der einzelnen Teilnehmer etwas sperrig zu bedienen. Zwar erreicht die Software dank der Konzeption als Tor-Service und mit der Ende-zu-Ende-Verschlüsselung ein sehr hohes Sicherheitsniveau. Die fehlende Backup- und Gruppenfunktion dürfte den Messenger aber für den Unternehmenseinsatz ausschließen.
Wermutstropfen bringen aber auch die anderen drei Messenger mit. Mattermost ist zwar an sich sicher, doch fehlt eine Ende-zu-Ende-Verschlüsselung. Die bringt Riot in Kombination mit dem Matrix-Server zwar mit, bietet aber keine komfortable Möglichkeit, Logs anzulegen. Auch in Tox diskutieren die Entwickler diese Möglichkeit noch.
Infos
-
Pidgin: https://pidgin.im
-
Empathy: https://wiki.gnome.org/action/show/Apps/Empathy?action=show&redirect=Empathy
-
Signal: https://signal.org
-
Discord: https://discord.me
-
Video zum Fosdem-Vortrag: https://mirror.cyberbits.eu/fosdem/2019/Janson/matrix_french_state.webm
-
Mattermost: https://mattermost.com
-
Mattermost-Dokumentation: https://docs.mattermost.com/guides/administrator.html
-
Ricochet: https://ricochet.im
-
Riot: https://about.riot.im
-
Matrix: https://matrix.org/blog/home/
-
Tox: https://tox.chat
-
Tox-Download: https://tox.chat/download.html
-
Qtox: https://qtox.github.io
-
µTox https://utox.io
-
Toxme-Server: https://toxme.io


















Fehlt nicht mit XMPP das verbreitetste Protokoll für dezentrale Instant Messenger? Man kann eigene Server hosten, es gibt Clients für Web (converse.js), Android (Conversations), iOS (Zom/Chatsecure/Monal) und Linux/WIndows (Gajim). Die genannten Clients unterstützten Gruppenchats ebenso wie private Chats mit Ende-zu-Ende-Verschlüsselung.