whatsapp-conversations

Conversations – der bessere Ersatz für WhatsApp

Inhalt

XMPP – Was ist das?

XMPP ist ein Protokoll, über das Sofortnachrichten ausgetauscht werden – als es 1997 erfunden wurde, hieß es noch Jabber. Auch die wohl allen bekannte App „WhatsApp“ basiert auf diesem Protokoll. Basiert bedeutet dabei, dass WhatsApp ursprünglich das reine XMPP nutzte, im Laufe der Zeit aber so viele gravierenden Änderungen daran vorgenommen hat, das es nun nicht mehr mit dem urspünglichen XMPP kompatibel ist.

Unterschiede zwischen XMPP und WhatsApp

Nutzt man WhatsApp, dann wird man über die Telefonnummer identifiziert. Dadurch sieht man auch sofort, welcher der Kontakte im Telefonbuch auch WhatsApp nutzt.

XMPP funktioniert eher wie E-Mail. Es gibt viele verschiedene Server-Anbieter, bei denen man sich (meist kostenlos) anmelden kann. Man erhält dann eine Adresse in der Form Nutzername@servername.org. Diese Adresse, die genauso aussieht wie eine E-Mail-Adresse heißt bei XMPP Jabber Identifier und wird mit JID abgekürzt. Genauso wie bei E-Mail, kann diese JID nun den Freunden und Kollegen bekannt gegeben werden. Und wie bei E-Mail, können die Freunde und Kollegen ihren XMPP-Account auf völlig anderen Servern haben und trotzdem Nachrichten an eure JID schicken.

Im Gegensatz zu WhatsApp hat man also hier den Nachteil, dass man sich erst einen Server aussuchen und sich dort registrieren muss. Anschließend muss man die Kontodaten und das Passwort in der App eintragen und die Adressdaten mit den potenziellen Kontakten austauschen. Bei WhatsApp ist nach der Installation und dem bekanntgeben der eigenen Telefonnummer alles getan was nötig ist. Welche Datenschutz-Probleme damit einhergehen, steht auf einem anderen Blatt und habe ich zum Beispiel im Artikel „WhatsApp vs. XMPP“ ausführlich beschrieben.

Welche Vorteile bringt XMPP?

  • Man kann den gleichen XMPP-Account auf mehreren Geräten nutzen (und das müssen nicht nur Smartphones sein, sondern es gibt auch Programme für Windows- oder Linux-PCs).
  • Man kann mehrere XMPP-Accounts haben (z.B. einen für Freunde und Familie und einen für die Arbeit [den man zum Feierabend/Wochenende/Urlaub deaktiviert])
  • nicht jeder bekommt die eigene Telefonnummer

 

Welchen Server sollte ich wählen?

Wie bereits erwähnt, gibt es eine riesige Auswahl an XMPP-Servern. Für Neueinsteiger fällt die Wahl da schwer. Unter https://compliance.conversations.im/ ist eine handverlesene Übersicht zu finden, in der auch ein paar gängige Features aufgelistet werden. Ich betreibe seit Anfang 2017 einen eigenen XMPP-Server unter der Adresse neubert.dedyn.io. Wer möchte, und mir sein Vertrauen entgegenbringt, der kann sich gern dort als Nutzer kostenlos anmelden.

Registrierung

Je nach Server gibt es zwei verschiedene Arten, sich auf dem Server zu registrieren. Welche der beiden Möglichkeiten, oder ob beide angeboten werden, hängt vom jeweiligen Server ab.

Webformular

Wie bei vielen anderen Seiten im Netz, bieten auch XMPP-Server oft die Möglichkeit der Registrierung über ein Webformular. Hier erklärt am Beispiel des Servers trashserver.net:

Aufruf der Webseite trashserver.net, dort den Link „Registrieren“ klicken ,

trashserver Registrierung

und in das erscheinende (oben abgebildete) Formular den gewünschten Nutzernamen und das gewählte Passwort eintragen. Nach Lösung der Rechenaufgabe (Schutz vor SPAM-Robots und zu dummen Nutzern ;-)) wird durch Klick auf den Button „Registrieren!“ ein neuer Nutzer-Account auf diesem Server angelegt. Jetzt kann man sich mit der App seiner Wahl an diesem Server anmelden.

InBand-Registirerung

Bei der InBand-Registrierung legt man direkt aus der App heraus einen neuen Nutzer-Account auf dem Server an.

Da sich hier die Vorgehensweisen je nach gewählter App stark unterscheiden, werde ich das hier nur anhand der auch von mir genutzten App Conversations erklären (Conversations – Nutzerkonto einrichten).

Download von Conversations

Conversations ist eine App die für Android-basierte Telefone zur Verfügung steht. Wer im Besitz eines Ei-Fons ist, kann als Alternative Chatsecure nutzen, hier soll es aber ein paar Probleme geben. Ich bin kein Ei-Fon-Nutzer.

Conversations gibt es sowohl im herkömmlichen Google-Playstore – dort für 2,39€ oder auch als kostenlose App im alternativen App-Store F-Droid (um Spenden wird gebeten).

Entscheidet man sich, nicht den Google-Playstore zu nutzen, dann muss man, sofern noch nicht geschehen, in Android die Installation aus fremden Quellen zulassen. Das ist zu erreichen über Einstellungen – Sicherheit – Unbekannte Herkunft.

Warum man besser auf Apps aus F-Droid setzen sollte, habe ich in meinem Artikel Alternativen für Apps aus dem Google Playstore beschrieben.

Conversations – Nutzerkonto einrichten

Nach der Installation der App muss man sich mit seinem Nutzer-Account an seinem gewünschten XMPP-Server anmelden. Wir starten also Conversations.

Conversations Start

Beim erstmaligen Start, wird man automatisch aufgefordert, ein neues Konto zu erstellen. Dazu gibt es entweder die Möglichkeit, ein Konto auf dem Server conversations.im anzulegen (wird nach 6 Monaten kostenpflichtig und kostet 8 € / Jahr) oder man wählt den Punkt „Nutze eigenen Provider“ und wählt einen anderen Server.

Hier trägt man nun seine JID ein, also die Kombination aus gewähltem Nutzernamen und dem zugehörigen XMPP-Server, getrennt durch das Zeichen @. Wenn man bereits vorher über ein Webformular einen Benutzer angelegt hat, dann existiert der Nutzer ja bereits auf dem Server. Dann darf natürlich der Haken „Neues Konto auf Server erstellen“ nicht gesetzt sein, da man den selben Nutzer ein zweites Mal nicht erstellen kann. Da ich hier gerade die InBand-Registrierung beschreibe, muss der Haken aber gesetzt sein, weil der Nutzer ja erst jetzt erstellt werden soll.

Conversations Konto hinzufügen

Hat man seine JID und sein gewähltes Passwort eingetragen, wird nach einem Klick auf „Weiter“ der neue Nutzer auf dem Server angelegt.

Im nächsten Schritt kann man nun noch ein Avatarbild für seinen Nutzer vergeben. Das kann man aber auch später noch nachholen bzw. auch ändern. Ich überspringe diesen Schritt jetzt.

Zugriff auf Kontakte

Bei der erstmaligen Nutzung fragt Android nun nach, ob Conversations auch Zugriff auf die im Telefon gespeicherten Kontakte haben darf. Dieser Zugriff ist nicht zwingend erforderlich – es funktioniert auch ohne dieses Recht. Wenn man allerdings die JIDs seiner Kontakte im Telefonbuch gespeichert hat, dann erleichtert die Freigabe des Zugriffs die Handhabung, denn dann zeigt Conversations diese auch automatisch an.

Zulassen, dass die App Conversations auf deine Kontakte zugreifen darf?

Ablehnen / Zulassen

Batterieoptimierung deaktivieren

Das nächste Recht, das Conversations anfragt ist, die Batterieoptimierung von Android zu deaktivieren. Diese Batterieoptimierung sort dafür, das Android Apps ohne Nachfrage beenden kann, die lange nicht mehr benutzt wurden. Das hätte natürlich zur Folge, das keine Nachrichten mehr ankommen würden, bis man Conversations wieder öffnet. Der Akkuverbrauch von Conversations ist sehr gering, so dass man die Batterieoptimierung für Conversations auf jeden Fall deaktivieren sollte.

Batterieoptimierung aktiv

Dein Telefon wendet Batterieoptimierungen bei Conversations an, welche verspätete Benachrichtigungen oder Nachrichtenverlust verursachen können. Es ist empfehlenswert dies zu deaktivieren.

Weiter

Akkuoptimierung ignorieren?

Darf die App „Conversations“ im Hintergrund verbunden bleiben? Dies erhöht möglicherweise die Akkunutzung.

Nein / Ja

Kontakte hinzufügen

Nach diesem Schritt ist die Installation von Conversations abgeschlossen. Allerdings fehlen noch die Kontakte, um mit diesen Nachrichten auszutauschen.

Dazu klickt man auf das Plus in der oberen rechten Ecke.

Conversations Plus

Hier wählt man erst einmal „Kontakte“ und klickt anschließend auf das Icon mit dem Männchen und dem kleinen Plus.

Conversations Kontakt hinzufügen

Es öffnet sich ein neues Fenster, in dem man die JID (Jabber-ID) des neuen Kontaktes einträgt (z.B. Bob@Server2.de). Sofern man mehrere Konten (auf einem oder mehreren Servern) hat, kann man hier unter „Dein Konto“ auch auswählen, welches davon man nutzen möchte. Im Normalfall ist hier nur ein Eintrag zur Auswahl.

Conversations Kontakt erstellen

Nach dem Klick auf „Erstellen“ öffnet sich bereits das Verlaufs-Fenster für den Chat mit der gewählten Person (im Folgenden Bob). Nun können wir (noch unverschlüsselt) los schreiben oder Bilder schicken oder ein Foto machen oder eine Sprachnachricht aufzeichnen und verschicken.

Der andere Teilnehmer (Bob) wird die Nachricht empfangen und beim ersten Mal die folgende Nachricht erhalten „Der Kontakt hat dich zur Kontaktliste hinzugefügt – mit der Option ‚auch hinzufügen‚“. Sobald Bob den Kontakt (Alice) in seine Kontaktliste hinzugefügt hat, hat er die Möglichkeit zu entscheiden, ob Alice seinen Online-Status sehen darf.  Sobald er das tut, ist es ab diesem Zeitpunkt möglich, die OMEMO-Verschlüsselung zu nutzen (im Chatfenster auf das Schloss tippen und OMEMO wählen).

Update: Ende 2017 wurde ein weiteres XMPP-Feature „erfunden“, welches es ermöglicht, auch dann bereits OMEMO-Verschlüsselung zu aktivieren, wenn die Kontakte sich noch nicht gegenseitig in die Kontaktliste aufgenommen haben. Ist dieses Feature auf dem Server aktiviert, kann man auch sofort mit OMEMO-verschlüsselten Verbindungen starten. Auf neubert.dedyn.io ist dieses Feature bereits aktiviert! 😉

OMEMO ist die Ende-zu-Ende-Verschlüsselung bei XMPP. Diese sorgt dafür, das auch der bzw. die XMPP-Server-Betreiber die Nachrichteninhalte nicht mehr mitlesen können.

Damit sind die Grundlagen zur Kommunikation mit Conversations erklärt. Was noch fehlt, sind ein paar Worte zu

  • Sprachnachrichten-Plugin
  • Standort-Freigabe-Plugin
  • MUCs (Multi-User-Chats), in WhatsApp auch Gruppenchats genannt.

Sprachnachrichten-Plugin

Damit man mit Conversations auch Sprachnachrichten versenden kann, benötigt man ein zusätzliches Plugin. Das findet man

Standort-Freigabe-Plugin

Wenn man seinen aktuellen Standort anderen Chatpartnern mitteilen möchte, dann kann man das mit dem Share-Location-Plugin.

Multi-User-Chat (MUC)

Damit man mit mehreren Kontakten gleichzeitig kommunizieren kann, gibt es sogenannte Multi-User-Chats, kurz MUC. Diese kann jeder auf jedem Server selbst erstellen. In Conversations geht man dazu wie folgt vor: Man klickt wieder auf das Plus in der oberen rechten Ecke.

Conversations Plus

Anschließend wählt man „Gruppenchats“ und klickt danach wieder auf das Männchen mit dem kleinen Plus daneben.

Conversations Kontakt hinzufügen

Im nun erscheinenden Menü würde man intuitiv „Gruppenchat erstellen“ wählen, wenn man einen neuen Gruppenchat erstellen möchte. Kann man auch tun, hat aber den Effekt, das als Name des Chatraums ein kryptischer Name generiert wird.

Conversations MUCs

Wählt man hier stattdessen „Gruppenchat beitreten“, dann kann man entweder einem bereits bestehenden Chat beitreten oder, falls dieser noch nicht existiert, damit auch gleich einen neuen erstellen. Den Namen kann man sich selbst aussuchen. Der Teil hinter dem @ ist vom Server fest vorgegeben und wird auch automatisch vorgeschlagen.

Conversations-MUC beitreten

Nach dem Klick auf „Beitreten“ befindet man sich auch schon in diesem Chat und kann los schreiben. Es fällt auf, dass man hier unverschlüsselt schreibt.

Conversations - Beispielgruppe

Versucht man mittels Klick auf das Schloss im oberen Bereich, eine OMEMO-Verschlüsselung zu aktivieren, wird man feststellen, dass das in diesem Gruppenchat nicht auswählbar ist. Der Grund dafür ist, dass es derzeit ein öffentlich zugänglicher Gruppenchat ist – dazu weiter unten noch etwas mehr.

Conversations Verschlüsselung MUC

Schauen wir uns mal die Eigenschaften dieses Gruppenchats an. Dazu klickt man auf die drei Punkte in der oberen rechten Ecke. In dem aufklappenden Menü wählen wir den ersten Eintrag „Gruppenchatdetails“.

Conversations - Gruppenchatdetails

Es erscheint folgendes Fenster:

Conversations-Gruppenchatdetails

Hier kann man sehen,

  • wer der Eigentümer dieses Gruppenchats ist,
  • ob es ein öffentlich zugänglicher oder ein privater Chat ist
  • ob man bei allen oder nur bei speziell an einen selbst adressierten Nachrichten benachrichtigt werden möchte
  • ob der Chatraum MAM* (Message-Archive-Management) unterstützt
  • mit welchem Konto man in diesem Gruppenchat angemeldet ist

Über „Kontakt einladen“ kann man weitere Nutzer in den Gruppenchat einladen.

Der Eigentümer des Gruppenchats kann die Einstellungen ändern, indem er auf das Zahnrad hinter „öffentlich zugänglicher Gruppenchat“ klickt. Folgende Einstellungen können damit geändert werden:

Conversations-Gruppenchatoptionen

  • Privat, nur Mitglieder: Hier kann man aus dem öffentlichen Gruppenchat einen privaten Chat machen. Das bedeutet, dass nur noch eingeladene Personen diesem Chat beitreten können.
  • Moderiert: Aktiviert man diese Option, dann können Besucher eines öffentlichen Gruppenchats keine eigenen Nachrichten hineinschreiben sondern nur lesen. Mitglieder können sowohl lesen als auch schreiben.
  • De-anonymisiert: Normalerweise sind die Kontaktadressen in einem Gruppenchat nicht für die anderen Teilnehmer/Besucher sichtbar. Aktiviert man diese Option, dann können alle alle anderen Kontaktadressen in diesem Gruppenchat sehen

In einem Gruppenchat ist die Ende-zu-Ende-Verschlüsselung OMEMO normalerweise nicht verfügbar. Hintergrund ist, dass man von jedem Teilnehmer des Gruppenchats den öffentlichen Schlüssel benötigen würde – und das können sehr viel werden, je nach dem, wieviele Teilnehmer solch ein Chat hat. Außerdem ist es zumindest bei öffentlichen Gruppenchats nicht sehr sinnvoll, denn ein potenzieller Mithörer braucht einfach nur dem Gruppenchat beizutreten. Allerdings gibt es Entwicklungen, das selbst das zukünftig in Gruppenchats möglich werden wird. Der XMPP-Server muss das dann unterstützen.

Update: Auf neubert.dedyn.io ist es seit Ende 2017 möglich, in privaten Gruppenchats auch OMEMO-verschlüsselt zu kommunizieren!


*MAM – Message-Archive-Management

In Gruppenchats besteht das Problem, das nicht immer alle online sind und dementsprechend Nachrichten verpassen könnten. Damit solche Teilnehmer die Chance bekommen, auch die während ihrer Abwesenheit geschriebenen Nachrichten lesen zu können, gibt es MAM. Das sorgt dafür, dass die Nachrichten, die während ihrer Abwesenheit geschrieben werden auf dem XMPP-Server zwischengespeichert werden. Kommt der Kontakt wieder online, werden die zwischengespeicherten Nachrichten zugestellt und vom Server gelöscht. Dieses Feature muss der Server bereitstellen (nicht alle unterstützen das – neubert.dedyn.io allerdings schon 😉 ).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.