Apropos… Jabber

Eine kleine Zeitreise, oder: Wer schreibt denn heute noch Briefe?

Powered by Höppipedia

„Früher war alles besser/einfacher“ hört man oft von verschiedenen Leuten, meistens (aber nicht immer) von älteren Generationen, die sich schwer tun, mit neuen Technologien Schritt zu halten. Das mag für eine Aspekte durchaus gelten, doch die Kommunikation hat sich in der Zeit des Internets stark vereinfacht: Heute kann so gut wie jeder in Echtzeit schriftliche Nachrichten von A nach B schicken. Die Antwort kommt in Sekundenschnelle.

Gehen wir einmal ganz zurück in der Zeit: Zunächst gab es Briefe und Mitteilungen, die von Boten überbracht wurden. Zeitdauer: Abhängig von Statur, Ausrüstung (Pferd, Schuhe) und Bezahlung. Irgendwann kam dann die Post. Man brauchte also keinen persönlichen Sklaven Diener mehr. Damit wurde das dann ja auch so genannte Postwesen für jede Person nutzbar. Wollte man allerdings mit jemandem aus ferneren Gefilden in Kontakt treten, so musste man schon einmal einige Zeit warten, bis der Brief angekommen ist. Kommunikation über kürzere Distanz, die eher zeitkritisch war, hat man dann besser mittels persönlichem Kontakt geklärt.

Irgendwann kam dann der Telegraf und das Telefon. Zunächst konnte man kurze Textbotschaften durch die Leitung in fast Echtzeit morsen, später dann tatsächlich „fernsprechen“, mit nur minimaler Verzögerung kommunizieren. Die Welt war wieder etwas kleiner geworden. Nur der Gebührenzähler lief mit.

Heute bangen viele um das Postwesen. Und mal ehrlich: Wer hat in letzter Zeit einen echten Brief abgeschickt? Die Post ist inzwischen Logistikunternehmen mit Sondersparte Textzustellung geworden. Ganz normale persönliche textuelle handgeschriebene Briefe gibt es nur noch ganz selten. Eher Rechnungen, Mahnungen, Bescheide, kurzum alles, was mit Geschäftsverkehr zu tun hat. Und Postkarten aus dem Urlaub. Die sind aber erfahrungsgemäß oft noch nicht angekommen, wenn man mit der Person zum ersten mal nach dem Urlaub wieder Kontakt hat (was wohl weniger an langsamen Zustellzeiten, sondern hauptsächlich daran liegt, dass die Karten eher an den letzten paar Urlaubstagen geschrieben werden). Dann noch Kondolenzbriefe (sowas macht man üblicherweise (noch) nicht per E-Mail) und manchmal noch Glückwunschkarten (gerne auch mit eingelegten Baumwollzetteln), die aber inzwischen auch durch Glückwunschmails ersetzt wurden.

Heute geht es dank Internet und Flatrates noch einfacher: Man „geht online“ und unterhält sich mit Freunden und Bekannten. Man braucht sich keine Telefonnummern mehr zu merken, auch bei einem Umzug bleibt alles beim alten. Man kann so viel einfacher Kontakt halten.

Instant Messaging allgemein

Über das Internet gibt es viele Möglichkeiten, Kontakt mit jemand anderem herzustellen: Per E-Mail, über eine „Community“, über Internet-Telefonie und so weiter, oder eben über Instant Messaging.

Instant Messaging kennt man auch landläufig als „chatten“. Ins Deutsche übersetzt bedeutet Instant Messaging „Sofortmitteilungen schreiben“, also in Echtzeit eine Textnachricht von A nach B übermitteln. In der Regel schickt man eine Nachricht mit einem „Instant Messenger“ (oft als IM-Client abgekürzt), also einem Programm oder manchmal auch einem Web-Interface, an einen Server, auf dem man sich mit dem Client eingeloggt hat. Der Server verteilt die Nachricht dann an die anderen Gesprächsteilnehmer. Dabei kann man zwischen einem Dialog unterscheiden, wenn also nur 2 Personen miteinander kommunizieren, und einem sogenannten Multichat, in dem mehrere Personen gleichzeitig teilnehmen. Dabei besteht der der technische Unterschied darin, dass im Dialog die Nachrichten vom Server einfach an die Zielperson geschickt werden, beim Multichat aber über einen „Chatroom“ (wörtlich „Plauder-Raum“) laufen, und jeder, der in diesem Chatroom sitzt, bekommt alle dorthin geschickten Nachrichten zugestellt. Im Gegensatz zum Multichat können in einem Dialog auch Nachrichten an einen Benutzer geschickt werden, wenn er nicht eingeloggt ist. Diese werden dann auf dem Server zwischengespeichert, bis der Benutzer sich wieder dort einloggt, und dann zugestellt.

Instant Messaging ist absolut formlos. Es ist wie ein kurzer Plausch in der (Mittags-)Pause: Ein kurzes Hallo, ein paar Worte gewechselt, sich wieder verabschiedet. Anders als bei der E-Mail, in der es einen Betreff und dann einen normalerweise themenspezifischen Text gibt, kennt das Instant-Messaging nur Nachrichten, komplett themenungebunden. Diese sind normal recht kurz, viele Clients haben nur eine einzelne Eingabezeile. Anders als im E-Mail-Verkehr, welcher ja noch recht stark an den Briefverkehr erinnert (nomen est omen, wie der Lateiner zu sagen pflegt), wird gleich im Dialog kommuniziert. Das Gegenüber ist „online“, sitzt also an der Tastatur und kann gleich auf kurze Nachfragen antworten. Bei den meisten Instant Messengern wird auch an das Gegenüber übermittelt, wenn man gerade eine Nachricht tippt.

Instant Messaging ist also quasi telefonieren in Textform. Allerdings ist es auch problemlos möglich, mit mehreren Personen ein jeweils komplett verschiedenes Gespräch zu führen. Anders als beim Telefonieren hat man den vergangenen Dialog in der „History“, das heißt man kann nochmal genau nachlesen, was der Gesprächspartner einige Minuten zuvor geschrieben hat, und behält somit den Überblick. Chaotisch wird es nur dann, wenn mit der selben Person zwei verschiedene Themen besprochen werden; da jeder eine gewisse Zeit braucht, um seinen Text zu tippen, kann das Thema schon gewechselt werden; das könnte dann zum Beispiel so aussehen (alles natürlich rein fiktiv):

Anna: Hey, bist du schon zu Hause?
Ben: Jap
Anna: Rate mal, was mir heut passiert ist :)
Ben: Bin krank :(
Ben: kA
Anna: Du armer
Anna: was hast du?
Ben: Du hast dein neues Auto bekommen?
Ben: Fieber
Anna: nein
Ben: Schnupfen
Anna: krieg ich erst nächste Woche
Ben: Achso
Anna: und da liegst du nicht im Bett?

In solchen Fällen ist dann etwas mitdenken gefragt. In den meisten Clients kann man jedoch auch anzeigen lassen, wann eine Nachricht gesendet bzw. empfangen wurde, bei sehr kurzen Zeitabständen ist dann schnell klar, dass Anna in der nächsten Woche nicht Schnupfen, sondern ihr neues Auto bekommt. Im Multichat mit mehr als 2 Personen kann das allerdings dann sehr schnell sehr unübersichtlich werden, insbesondere dann, wenn sich im selben Chatroom je zwei (oder mehr) Personen über ein jeweils anderes Thema unterhalten, die Nachrichten aber an alle zugestellt werden.

Was ist Jabber?

Protokolle für Instant Messaging gibt es jede Menge, und noch viel mehr Client-Programme, die zum Teil mehrere verschiedene Protokolle beherrschen. Die bekanntesten Protokolle sind IRC, MSNP (vom Windows Live Messenger), OSCAR (das Protokoll von ICQ und AIM) und XMPP (welches den Kern von Jabber ausmacht); es gibt aber noch genug andere Protokolle. Die meisten dieser Protokolle sind proprietär, was bedeutet, sie können vom „Hersteller“ jederzeit geändert werden (was auch bei einigen Protokollen vorkommt. Als Beispiel kann man z. B. nennen, dass die ICQ-Server ältere Client-Versionen nicht mehr akzeptieren und somit die Benutzer zu einem Update ihres Clients zwingen). Netterweise ist XMPP, das Hauptprotokoll von Jabber, standardisiert, und auch die Jabber-Erweiterungen werden wie Standards angesehen, sodass eine plötzliche Änderung nicht zu erwarten ist. Da das Protokoll im Gegensatz zu den meisten anderen frei ist, und nicht an ein Unternehmen gebunden ist, könnte jeder einen eigenen Jabber-Server einrichten, der dann mit den anderen Servern kommunizieren kann. Dementsprechend viele Server gibt es weltweit, die sich allerdings in ihrer Funktionalität und Zuverlässigkeit stark unterscheiden.

Illustration zum Aufbau eines Jabber-Netzwerks (als SVG)

Am Beispiel im Bild rechts sei kurz der Aufbau eines Jabber-Netzwerkes und die Kommunikation erläutert. Ähnlich funktionieren auch andere Protokolle, dennoch gibt es durchaus auch Abweichungen.

Anna und Ben haben sich auf dem Jabber-Server 1 registriert, nennen wir ihn mal jabber1.net. Da Anna sich naheliegend den Benutzernamen „anna“ herausgesucht hat, ist ihre Jabber-Adresse nun einfach anna@jabber1.net; ebenso wie Ben die Jabber-ID ben@jabber1.net hat. Anna startet ihren Jabber-Client und loggt sich mit ihrer Jabber-ID und ihrem Passwort auf Jabber-Server 1 ein. Um mit Ben chatten zu können, fügt sie ihn in ihre Kontaktliste hinzu. Das geht ganz einfach, wenn sie weiß, welche Jabber-ID Ben hat; eine Benutzersuche gibt es auf den meisten Servern nicht, sodass Ben entscheiden kann, wer ihn über Jabber kontaktieren kann.

Wenn Anna Ben zu ihrer Liste hinzugefügt hat, erhält Ben (sobald er online ist) von seinem Clientprogramm eine Nachricht, dass Anna ihn zu ihrer Kontaktliste hinzugefügt hat, und wird gefragt, ob er sie auch zu seiner Liste hinzufügen möchte. Je nach Einstellung von Server und Programm müssen sowohl Anna als auch Ben sich noch gegenseitig erlauben, ihren Online-Status zu sehen (also ob sie gerade am Rechner sind, abwesend, beschäftigt oder eben offline). Diese Erlaubnis kann man auch später wieder widerrufen, sodass der andere diese Informationen eben nicht mehr bekommt.

Sieht Anna, dass Ben online ist, so schreibt sie ihm eine Nachricht. Diese wird an den Jabber-Server 1 übermittelt, mit der Information, für wen die Nachricht bestimmt ist. Der Server leitet diese Nachricht dann weiter an Ben, dessen Programm sie ihm anzeigt. Wäre Ben jetzt nicht online, so würde der Server die Nachricht einfach in eine Art Posteingang stecken, und sobald sich Ben am Server wieder einloggt, würde dieser ihm die gesammelten Nachrichten zuschicken. Ben kann nun auf die Nachrichten von Anna antworten, auch hier wird die Nachricht an den Server übermittelt und von dort zu Anna.

Nun möchte Anna auch mit Claudia chatten. Diese ist allerdings am Jabber-Server 2 registriert (mit der Domain jabber2.de). Anna kennt Claudias Jabber-ID (claudia@jabber2.de) und fügt diese, wie vorhin bei Ben auch, zu ihrer Kontaktliste hinzu. Da alle öffentlichen Jabber-Server miteinander vernetzt sind, wird Server 1 nun zu Server 2 eine Verbindung herstellen und nachsehen, ob es Claudias ID dort gibt. Dann wird er die ID in Annas Kontaktliste hinzufügen, die er bei sich (auf jabber1.net) gespeichert hat. Claudia bekommt dann wie Ben eine Benachrichtigung, dass Anna sie zur Kontaktliste hinzugefügt hat. Schreibt Anna nun Claudia eine Mitteilung, so wird diese von Anna zum Server 1 übertragen, welcher sie weiter an Server 2 schickt. Von dort wird die Nachricht dann an Claudias Client übermittelt.

Da das ganze Verfahren einem festen Protokoll folgt, kann Claudia ein ganz anderes Chatprogramm benutzen als Anna, und dennoch können die beiden problemlos kommunizieren. Auch die beiden Server könnten mit unterschiedlicher Software laufen.

Wollen jetzt Anna, Ben und Claudia gemeinsam plaudern, so können sie sich mit einen Chatroom verbinden, zum Beispiel mit xyz@conference.jabber1.net. Wie man sieht, sind Chatroom-Adressen nichts anderes als Client-Adressen, nur dass sie (häufig) unter einer Subdomain (hier „conference“) beherbergt sind. Auch Claudia kann sich dorthin verbinden, sie muss nur den gleichen Multichat-Server und den gleichen „Channel“ angeben wie die anderen beiden. Der Channel (hier „xyz“) ist quasi der Name für den Chatroom. Auf den meisten Servern kann man problemlos neue Räume erstellen. Nun können also alle drei gleichzeitig miteinander schreiben.

Jabber im Vergleich

Jabber bietet viele Vorteile gegenüber anderen Instant-Messaging-Lösungen. Insbesondere ist ein Vorteil, dass die Server nicht in der Hand eines einzigen Unternehmens sind, welches dann die Kontrolle über die gesamte Kommunikation inne hat. Da das Netzwerk dezentral ist, könnte theoretisch jeder einen Jabber-Server betreiben, der dann mit anderen Jabber-Servern kommunizieren kann. Aber auch isolierte Netzwerke (wie zum Beispiel in einem Firmen-Intranet) sind möglich.

Aufgrund des offenen und dezentralen Systems sind die Nutzungsbedingungen vom Serverbetreiber abhängig und beschränken sich oft darauf, keinen Spam versenden zu dürfen. Im Gegensatz zu anderen Protokollen wie MSN und ICQ wird man nicht in den AGB gezwungen, einen bestimmten Client zu benutzen (der dann, wie bei ICQ, auch noch mit Werbung zugemüllt ist). Außerdem gibt es bei diesen Anbietern auch sehr fragwürdige Klauseln in den AGB, welche der Firma ermöglichen, versendete Daten mitzulesen oder die die Rechte an versendeten Daten in die Hand des Betreibers übergehen lassen. Das alles gibt es bei Jabber nicht; sollte ein Betreiber eines Servers solche Bedingungen einführen, kann man einfach auf einen anderen Server wechseln.

Auch das Registrieren ist ganz einfach: Das funktioniert mit fast allen Jabber-Clients direkt aus dem Programm heraus. Von dort aus kann man auch sein Profil, das von anderen Nutzern angesehen werden kann, erstellen und bearbeiten (sofern man das möchte). Und sollte man einen Jabber-Account nicht mehr brauchen, kann man ihn auch vom Client aus wieder komplett löschen.

Netterweise ist es bei Jabber auch möglich, sich mehrfach mit der selben Jabber-ID einzuloggen, beispielsweise vom Rechner am Schreibtisch und vom Laptop im Garten aus. Dabei wird dann der andere Client nicht zwangsausgeloggt. Über eine Priorität kann man dann bestimmen, an welchen Client die Nachricht gehen soll. Freunde, die einen anschreiben wollen, können aber auch in vielen Clients, wenn sie möchten, selbst wählen, welche „Ressource“, also welchen von den beiden Clients sie anschreiben.

Die Tatsache, dass Jabber dezentral (un)organisiert ist, schlägt sich auch auf die Ausfallsicherheit nieder, und zwar in beide Richtungen: Da die Server häufig nicht von Firmen, sondern von Vereinen, Universitäten oder Privatpersonen betrieben werden (aber nicht immer, siehe unten), kommt es immer wieder vor, dass ein Server kurzzeitig oder auch mal länger ausfällt. Andersherum kann aber auch nie das gesamte Netzwerk ausfallen, da die Server unabhängig voneinander sind und sich jeder auf seinem jeweiligen Server einloggt. Deshalb ist es ratsam, zwei Jabber-Accounts auf verschiedenen Servern parallel zu betreiben, um im Falle eines Ausfalles des einen Servers immer noch den anderen benutzen zu können.

Eine interessante Gegenüberstellung von Jabber und ICQ gibt es auf blog.jbbr.net, auch mit Auszügen aus den ICQ-Nutzungsbedingungen.

Verbreitung

Jabber ist vielen Internetnutzern, auch denen, die sich aktiv in vielen „Communities“ bzw. Foren tümmeln, eher unbekannt; dies liegt vermutlich hauptsächlich daran, dass viele Instant-Messaging-Einsteiger das Protokoll bzw. die Client-Software verwenden, die auch ihre Freunde verwenden. Dennoch ist Jabber insbesondere bei Freunden von freier Software und Open Source als Kommunikationsmittel sehr beliebt. Auch GoogleTalk basiert auf XMPP und nutzt einige Jabber-Erweiterungen, wurde jedoch noch um Jingle erweitert. Dennoch sind die beiden Messaging-Systeme miteinander kompatibel (zumindest solange es um den Austausch von Textnachrichten geht). Interessanterweise hat sogar ICQ (die ja zu AOL gehören) schon mit Jabber herumgespielt, was in der Blogsphäre schon als Vorzeichen für einen kompletten Umstieg von ICQ auf das XMPP-Protokoll gedeutet wurde. Ob dem irgendwann so sein wird, bleibt abzuwarten…

Interessant ist auch, dass viele Leute gar nicht wissen, dass sie einen Jabber-Account besitzen, den sie nicht verwenden. Denn United Internet stellt allen Kunden mit Mailpostfach automatisch auch eine Jabber-ID mit gleicher Adresse zur Verfügung. Das gilt für alle Kunden von GMX und Web.de (also auch Freemail-Kunden) und allen, die ein Mail-Postfach auf einem von 1&1 gehosteten Webspace haben. Dies wurde im Zuge der Erstellung des GMX/Web.de Multimessenger für Windows eingeführt (und gilt auch für schon davor registrierte Kunden), um Kunden untereinander Echtzeitkommunikation zu erlauben (und natürlich um neue Kunden mit den Funktionen des Messengers zu gewinnen). Der Login funktioniert aber auch mit jedem anderen jabberfähigen IM-Client. Dazu muss man allerdings den Login-Server manuell angeben: Für web.de-Kunden ist das xmpp-webde.gmx.net, für GMX-Kunden (egal, was hinter dem Punkt steht, also .de, .net, usw.) gilt xmpp-gmx.gmx.net und 1&1-Kunden verwenden einfach nur gmx.net. Leider muss man die Authentifizierung mit Klartextpasswort zulassen, sonst funktioniert der Login nicht, aber SSL-Protokollverschlüsselung wird immerhin unterstützt. So kann man dann auch ohne Multimessenger und mit dem Client seiner Wahl jabbern.

Neugierig geworden? Eine Liste mit Jabber-Servern gibt es auf xmpp.org, welche zwar bei weitem nicht vollständig ist, aber schon mal eine ordentliche Startmenge bildet.

Alle Texte sind erstellt von Daniel J. Höpp und stehen unter der Creative Commons Attribution Share Alike Lizenz 3.0 (cc-by-sa)