Jabber Instant Messaging

Jabber ist Chat und Mehr

Wenn man die Bedeutung des Wortes „jabber“ in einem Englisch-Wörterbuch nach schlägt findet man dort „schnattern, quasseln, schwatzen“. Das trifft in gewisser Weise auch ganz gut worum es bei Jabber geht.

Jabber ist vor allem ein freies und offenes Mittel zur zeitnahen Kommunikation über das Internet. Dafür wird meist der Begriff Instant Messaging, kurz IM verwendet.

Ein weiterer wichtiger Aspekt ist "Presence". Darunter versteht man, dass leicht ersichtlich ist ob ein Kontakt gerade Online ist und ob er vielleict zwar gerade angemeldet ist, aber eigentlich gar nicht da ist, oder nur nicht gestört werden möchte.

Jabber ist die freie Alternative zu proprietären Services wie ICQ, AIM oder MSN Messenger. Es bietet eine grosse Anzahl an Vorteilen.

Das Jabber Logo ist eine leuchtende Glühbirne.

Geschichte

Jeremy Miller entwickelte 1998 den ersten Jabber-Server und die grundlegende Technologie, auf der Jabber basiert. Seitdem ist die Jabber-Community stark gewachsen und es sind viele Clients und Server entwickelt worden. 2004 wurde die Basis des Jabber Protokolls von der IETF (Internet Engineering Task Force) als Internet-Standard akzeptiert.

Vorteile

Offener Standard

Jabber ist ein offener Internet-Standard. Das Protokoll ist für jeden einsehbar und jeder hat die Möglichkeit es zu implementieren und auch zu erweitern.

Dezentral

Jabber ist dezentral und es gibt eine grosse Anzahl von verschiedenen Anbietern, die verwendet werden können. Auch wenn einer davon ausfällt oder ausser Betrieb genommen wird kann man leicht auf einen anderen umsteigen.

Die Welt von Instant Messaging heutzutage ist durchaus mit Email in frühen Zeiten des Internets vergleichbar. Damals konnten Nutzer von verschiedener Online-Dienstanbieter nicht oder nur sehr umstaendlich Emails untereinander austauschen. Heute kann zum Beispiel ein MSN-User nicht direkt mit einem ICQ-User kommunizieren. Jabber hat das Potential die Lösung für dieses Problem darzustellen. ICQ könnte beispielsweise sein gesamtes bestehendes Netz in das Jabber-Netz integrieren.

Jeder kann einen eigenen Jabber-Server aufstellen und entweder seinen eigenen abgeschlossenen Instant-Messaging Dienst betreiben oder diesen in das weltweite Jabber-Netz integrieren.

Erprobt

Jabber hat sich durch jahrelangen Einsatz als brauchbar erwiesen. Es sind tausende Jabber-Server mit Millionen von Benutzern im Betrieb. Viele Unternehmen benutzen Jabber als Mittel zur unternehmensinterten Kommunikation

Sicherheit

Jabber hat sichere Verbindungen mit Hilfe von SSL- und TLS-Verschlüsselung bereits eingebaut. Dies betrifft sowohl die Verbindungen zwischen Clients und Servern, sowie Server-zu-Server Verbindungen.

Mit Hilfe von GPG bieten viele Clients auch Verschlüsselung direkt zwischen Endpunkten.

Diversität

Für Jabber sind eine grosse Anzahl von Clients verfügbar.

Standardisierung

Wer sich für Details zum Protokoll hinter Jabber interessiert, oder sogar eine eigene Applikation auf der Basis von Jabber implementieren will, kann sich in den vielen Standard-Dokumenten dazu informieren.

Jabber ist in den RFCs 3920 - 3923, sowie über 100 Jabber Enhancement Proposals (JEP) standardisiert.

RFC 3920, hat den Titel "Extensible Messaging and Presence Protocol (XMPP): Core". Dort ist die grundlegende XML-Streaming Architektur die hinter Jabber steht spezifiziert. In RFC 3921 ist "Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence" definiert.

In den Jabber Enhancement Proposals sind Erweiterungen zum XMPP Protokoll definiert. Diese werden von der Jabber Software Foundatioun verwaltet. JEPs werden in einem offenem Verfahren vom Jabber Council genehmigt.

In JEPs sind beispielsweise Dateitransfer, Multi-User-Chats und HTML in Nachrichten definiert.

Begriffe

Hier erkläre ich einige Begriffe über die man beim benutzen von Jabber stolpern kann.

Die Adresse eines Jabber Benutzers nennt sich Jabber ID - kurz JID - und ist leicht mit einer Email-Adresse zu verwechseln. Als Beispiel nehmen wir eine Figur aus Shakespeares Romeo und Julia: juliet@capulet.com . Die Adresse besteht aus dem Benutzernamen "juliet" und - durch ein "@" getrennt - der Domain des Jabber-Servers.

Nun hat man auch die Möglichkeit mit mehreren Programmen gleichzeitig online zu sein. Zum Beispiel vom Handy und vom Computer zu Hause aus. Um zu kontrollieren wo eingehende Nachrichten ankommen kann man jedem Client eine Priorität in Form einer Zahl vergeben. Nachrichten werden dann vom Server zu dem Client mit der höchsten Priorität weitergeleitet.

Man kann aber auch direkt angeben wo die Nachricht ankommen soll. Dazu wird der Bezeichner des Clients, auch Resource genannt, durch einen "/" getrennt hinten dran gehängt. juliet@capulet.com/balcony

XMPP steht für "Extensible Messaging and Presence Protocol" und ist das Protokoll, dass hinter Jabber steht.

"Roster" ist der Begriff der bei Jabber oft für die Liste der Kontakte verwendet wird.

Technisches

Das Jabber-Netzwerk hat eine der von Email sehr ähnliche Struktur. Die Kommunikation funktioniert über Server von verschiedenen Anbietern, die Nachrichten von Benutzern untereinander weiterleiten.

Wenn juliet@capulet.com eine Chat Nachricht an romeo@montague.net schickt läuft das folgendermassen ab.

Juliets Client schckt die Nachricht an den Server capulet.com. Dieser baut nun, sofern noch keine besteht, eine Verbindung zu montague.net auf und leitet die Nachricht dorthin weiter. Wenn romeo@montague.net online ist wird ihm die Nachricht zugestellt. Wenn nicht bleibt sie auf montague.net gespeichert, bis Romeo sich das nächste mal anmeldet.

<message
    to='romeo@montague.net'
    from='juliet@capulet.com/balcony'
    type='chat'
    xml:lang='en'>
  <body>Wherefore art thou, Romeo?</body>
</message>

Transports

Clients

Es gibt eine grosse Auswahl an Clients für Jabber. Diese sind für eine grosse Anzahl an Plattformen verfügbar. Jabber kann man auf den meisten Betiebsystemen wie Linux, MacOs und Windows nutzen. Es sind auch Clients für Web-Browser, PDAs und Handys verfügbar. Jemand hat sogar einen Jabber Client geschrieben der in Microsoft Excel läuft.

Die Programme haben recht unterschiedliche Fähigkeiten. Einige unterstützen nur die grundlegende Funktionalität von Jabber während andere viel weiter gehende Fähigkeiten haben.

Psi ist ein Jabber-Client der sowohl für LImux, Windows, als auch OS X verfügbar ist. Psi hat viele Features, kann aber für Neueinsteiger auch etwas verwirrend sein, weil viele der in der Jabber Community eigenen Begriffe vervendet werden. Im grossen und ganzen ein sehr brauchbarer und mächtiger Client.

Centericq ist wie der Name schon sagt nicht nur ein Jabber-Client, sondern kann auch selbst ICQ und andere Netze nutzen. Centericq kann leider nur wenige Funktionen von Jabber nutzen. Dadurch, dass er einer der wenigen einigermaßen brauchbaren Clients für die Konsole ist, kann man ihn trotzdem guten Gewissesns empfehlen.

Mabber bietet einen einfach zu bedienenden Web-Client und einen mobilen Client für Java-fähige Handys für Jabber an. Der Web-Client ist sehr zu empfehlen, da er sehr sinpel und intuitiv gehalten ist und die Einrichtung von Transports ohne Probleme ermöglicht.

Der Client fürs Handy macht keinen ganz so guten Eindruck, weil er für meinen Geschmack etwas zu kleine Schrift und eine umständliche Menü-Struktur hat. Ist aber sicher eine gute Möglichkeit auch in der Strassenbahn zu chatten.

Seit Juni 2004 kann man auch mit Apples iChat, Jabber benutzen.

Google hat letztes Jahr mit Gtalk ein auf Jabber basierendes IM und Voice over IP Service vorgestellt.

Demonstration

Ausblick

Zwei neue Technologien versprechen spannende neue Features für Jabber zu bringen.

Jingle basiert auf dem Protokoll von Google für GTalk verwendeten Protokoll. Im Grunde ist es eine Spezifikation für Voice-over-IP Anwendungen über Jabber. Die Spezifikation geht aber schon über das hinaus was Google und Skype heutzutage, technisch zu bieten haben. Das lässt viele spannende Anwendungen mit Voice-over-IP, Video und Jabber erwarten.

PubSub bietet die Möglichkeit Daten auf einem Jabber-Server abzulegen und mit einem Client zu abonnieren. Das hat eine gewisse Ähnlichkeit zu RSS-Feeds. Der Unterschied liegt darin, dass Inhalte statt wie bei RSS vom Client regelmässig abgefragt zu werden, vom Server an interessierte Clients verschickt werden. Zusätzlich können Inhalte leichter serverseitig gefiltert oder dynamisch generiert werden.

Gemeinsames Malen

Zwei Programme unter Linux haben mit Hilfe von Jabber, die Möglichkeit bekommen über das Internet gemeinsam an Grafiken zu Arbeiten.

Das SVG-Vektorgrafikprogramm Inkscape bietet eine Funktion namens Whiteboard die es erlaubt Vektorgrafiken live mit anderen zusammen über das Internet zu bearbeiten. Leider ist diese Funktion noch nicht ganz ausgereift und ist deswegen nicht per Default in Inkscape enthalten, sondern muss beim Übersetzen aus dem Quellcode extra aktiviert werden.

Etwas ausgereifter ist der Jabber-Client Coccinella. Er eignet sich zwar nicht ganz so gut zum Erstellen professionell wirkender Grafiken, dafür ist die Whiteboard-Funktion ausgereift und stabil.