Wie man XMPP erfolgreich macht

XMPP (früher Jabber) ist ein schönes Protokoll für Sofortnachrichten. Es ähnelt E-Mail, da man beliebig eigene Server aufsetzen kann und diese Server untereinander kommunizieren. Man kann seinen Account bei einem Server seiner Wahl einrichten und mit jedem anderen kommunizieren. Dazu kann man sich das Programm, mit dem man seine Nachrichten verfasst und empfängt, frei aussuchen. Programme gibt es, wie bei E-Mail auch, für alle möglichen Platformen und mit diversen Funktionen.

Allerdings hat sich das freie XMPP nicht sonderlich durchgesetzt, ich kenne eigentlich niemanden direkt, der das regelmäßig benutzt. Vielleicht eine Person.

Daher möchte ich hier eine Anleitung geben, wie man aus XMPP ein erfolgreiches Geschäft machen kann.

Tipps

Nur einen Server

Die Vielzahl an Server ist ein Problem. Und zwar für den Benutzer. In jedem Client muss man daher nicht nur seinen Benutzernamen, sondern auch den Server angeben. Dies passiert wie bei einer E-Mail-Adresse mit nutzer@example.com. Man muss sich also nutzer und example.com merken. Dies sind mit dem Passwort und der Tatsache, dass man XMPP nutzt, schon ganze vier Informationen.

Bei allen Gesprächspartnern muss man sich ebenfalls Nutzername und Server merken. Leute, die behaupten, dass nutzer@example.com der komplette Benutzername sind, reden sich dieses komplexe System nur schön: Stockholmsyndrom. Von daher sollte man die Kommunikation zu anderen Servern abschaffen und nur noch innerhalb des eigenen Servers die Nachrichten zustellen. Das erspart die Angabe des Servers für alle Gesprächspartner.

Die Hürden muss man so tief hängen, dass sie eigentlich gar nicht mehr da sind. Daher muss man die freie Serverwahl abschaffen und nur noch einen Server erlauben. Dies wird allerdings erst in Kombination mit dem nächsten Schritt so richtig praktisch.

Nur einen Client

Da XMPP ein offenes Protokoll ist, kann jeder einen Server oder einen Client dafür implementieren. Manche halten das für einen Vorteil. Aber wenn man sich die E-Mail anschaut, sieht man, was das bringt. Es ist ein Kommunikationsmedium, das für viele Leute deutlich zu komplex ist. Das Einrichten eines E-Mailprogramms erfordert einen Abschluss in Informatik, da nach Informationen wie „IMAP Server" und „SMTP Server" gefragt wird.

Daher sollte man nur einen einzigen Client erlauben, der dann alle diese Daten enthält, die sich kein Normalsterblicher merken kann. Dadurch muss der Benutzer nur noch nutzer und sein Passwort eintippen. Dies wird langsam schon fast benutzbar.

Wenn es nur einen Client und einen Server gibt, kann man auch ohne großen Aufwand Funktionen einbauen, die vom XMPP Standard gar nicht vorgesehen sind. Standardkomitees sind vollkommen unnötige Instanzen, die Geld kosten und einfach nur den Fortschritt aufhalten. Daher ist es gut, wenn man möglichst schnell Server und Client kontrolliert und man zügig und effizient das umsetzen kann, was man mag.

Nur ein Gerät

Mehrere Geräte zu haben ist eigentlich unnötig. Dann muss man die Daten synchronisieren und so Zeug. Nutzer wissen nicht mehr, auf welchem Gerät sie welche Nachricht geschrieben haben. Man muss sich E-Mail ja nur mal anschauen. Daher ist es konsequent, den Nutzer auf ein Gerät einzuschränken. Dann weiß er immer genau, auf welchem Gerät die Nachrichten angekommen sind. Sinnvollerweise schränkt man es auf das Smartphone ein, das hat man ja immer dabei.

Kein Passwort

Passwörter sind tot. Die werden ja eh immer geklaut. Und merken darf man sie sich ja auch nicht können. Also ist es konsequent, das ganze ohne Passwort zu machen. Da man an dieser Stelle ja schon den Client kontrolliert und es auf ein Gerät beschränkt hat, kann man die Authentifikation ja auch einfach im Client machen, in dem er irgendwelche Identifikationsmerkmale von dem Endgerät ließt und validiert.

Kein Nutzername

Nutzernamen sind eigentlich auch doof. Den muss man sich merken. Und gerade diese jungen Leute haben die Angewohnheit, sich dumme Namen auszudenken. Und man muss sich dann merken, welcher Rappername zu welchem Bekannten gehört. Alles nicht so einfach.

Also sollte man auch hier ähnlich wie beim Passwort vorgehen und den Benutzernamen von etwas ableiten, was den Nutzer schon identifiziert. Zum Beispiel seinen Realnamen oder seine Telefonnummer. Die Nummer sollte ja eindeutig sein. Und die Handynummern hat man ja schon von seinen Bekannten.

Die Einschränkung ist ja jetzt auch schon auf dem Smartphone, da kann man die Telefonnummer ja ganz leicht auslesen.

Und wenn der Nutzername die Telefonnummer ist und das Smartphone das einzige Gerät, kann man auch direkt das ganze Telefonbuch an den einen Server schicken und schauen wer alles bei dem Dienst angemeldet gibt. Diese Komfortfunktion bleiben dem Nutzer natürlich vorenthalten, wenn das System zu viele Freiheitsgrade hat.

Fazit

Wie viele Leute benutzen bewusst XMPP? Es gibt natürlich auf den diversen XMPP Servern viele Nutzer, aber ich persönlich kenne nur zwei, die es sporadisch benutzen. Also letztlich nicht so der Erfolg.

Google, Facebook und damals Schüler/Studi/MeinVZ betreiben XMPP Server und geben jedem dort einen Account. Auf der Webseite gibt es einen Client direkt von der Firma, den man ohne weitere Einrichtung benutzen kann. Wenn zwei Facebook Nutzer den Chat benutzen, läuft das im Hintergrund über XMPP. Man sieht hier also, dass ein erfolgreiches Produkt zwar auf XMPP aufbaut, aber den Nutzern nicht direkt etwas davon sagt.

Der wahrscheinlich erfolgreichste Sofortnachrichtendienst -- WhatsApp -- setzt allerdings alle diese Tipps um. Und 800 Millionen Nutzer (Quelle) ist ja wohl definitiv ein Zeichen dafür, dass die alles richtig machen. Und dass da XMPP hinter steckt ist ja kein Teil der Werbung für den Dienst.

Es ist also ganz einfach: Desto weniger Freiheitsgrade so ein System hat, desto erfolgreicher wird es.

Nachtrag

Mir ist noch was zu dem Thema aufgefallen, nachdem mir Chris etwas dazu geschrieben hat. Und zwar kann man die Kommunikation schön grafisch darstellen. Angenommen ein paar Leute haben sich verschiedene Server ausgesucht und kommunizieren alle über XMPP miteinander. Dann sieht das ungefähr so aus:

Die Leute kommunizieren mit den Servern. Die Server kommunizieren untereinander. Mit E-Mail funktioniert das genauso.

Jetzt ist XMPP direkt nicht wirklich erfolgreich und alle suchen sich einen Messenger ihrer Wahl. Dann sieht das ungefähr so aus:

Nun sieht man recht deutlich, dass nicht mehr alle neun Leute untereinander kommunizieren können. Es gibt nur noch Verbindungen innerhalb eines Dienstes.

Die Lösung dafür ist das Installieren der anderen Messenger:

Jetzt hat jeder mehrere Messenger laufen und muss sich merken, bei welchem Messenger er welchen Kontakt hatte. Viele Verbindungen sind jetzt redundant. Und gerade die Leute, die nur einen Messenger benutzen, zwingen letztlich alle anderen zur Installation der anderen.

Na, wenn das keine Verbesserung gegen reines XMPP ist, dann weiß ich auch nicht.

Einheitliche Formulierung

Zu meiner Schulzeit waren die großen Messenger ICQ, Yahoo!, AIM und MSN. Viele waren bei ICQ, einige bei MSN. Eine Handvoll Leute hatte Yahoo! und vielleicht einer AIM. Da diese Messenger untereinander nicht kompatibel waren, musste man mehrere Protokolle nutzen, um mit allen in Kontakt treten zu können.

Das entscheidende damals war jedoch, dass zwar jeder Dienst ein eigenes Programm anbot, das dann noch diverse Extras wie Spiele hatte, jedoch das Protokoll an sich so nutzbar war. Multi-Messenger wie Miranda IM waren in der Lage alle diese Konten zu verwalten und sogar mehrere Zugänge zu einem Kontakt zusammen zu fassen. Ich war nicht der einzige, der alle vier Dienste parallel genutzt hat, daher hatte ich oftmals andere Leute mehrfach in meiner Kontaktliste. Auch wenn es vier verschiedene Dienste waren, konnte man diese recht einheitlich nutzen.

Dann kam Skype. Es bot vor der Zeit der Festnetz-Flatrates kostenlose Anrufe, was wir damals sehr gerne genutzt haben. Jedoch konnte man Skype nur mit dem Skype Programm nutzen, so dass man in der Zeit immer zwei Programme laufen lassen musste. Man hatte also zwei getrennte Kontaktliste, zwei verschiedene Oberflächen und Gesprächsverläufe. Eigentlich alles, was man nicht haben möchte.

Irgendwann haben die anderen Dienste nachgelassen und Skype war letztlich der einzige Messengerdienst, den die Leute benutzt haben. Somit hatte man wieder nur ein Programm.

Heute, in der Zeit der Smartphone Messenger, ist das ganze wieder deutlich schlimmer geworden. Es gibt eine starke Fragmentierung zwischen untereinander inkompatiblen Messengern. Und die Protokolle sind wahrscheinlich derart geschlossen, dass man keine zwei Protokolle in einem Programm benutzen kann. Von daher ist man dann entweder auf viele im Hintergrund laufende Programme angewiesen oder kann nur mit einem begrenzten Personenkreis kommunizieren. Ersteres ist insbesondere auf einem Mobiltelefon, bei dem die Akkulaufzeit interessant ist, eine schlechte Idee. Aber auf Kontakte verzichten ist in der Regel auch keine bessere Option.

Ich freue mich, dass es E-Mail noch gibt. Ein standardisiertes Protokoll, beliebig viele Clients und Server. Aber bei Messengern weiß ich echt nicht so richtig, was ich da machen soll.