Arch Linux Tux

[ENC]BladeXP's Blog

Was die Welt nicht alles braucht!


Steinzeit, XMPP, Hangouts

2013-05-20 09:47 | categories: android arch debian linux software ubuntu windows

Heute sprechen wir mal etwas über Instant Messaging und dessen Entwicklung. Hintergrund ist das es (mal wieder) ein neues Tool dafür gibt, welches den Namen Hangouts trägt und von Google kommt.

Steinzeit

Fangen wir in der digitalen Steinzeit an, wir reden also von ICQ. ICQ war einer der ersten Instant Messaging Dienste die eine weitere Verbreitung fanden. ICQ konnte nicht viel und ist ein proprietäres Protokoll, es funktionieren aber die Grundlagen wie Authentifizierung, Autorisierung und Online Status was für damalige Verhältnisse bestimmt toll war.

Neben ICQ gab es, wohl etwas später, auch noch ein paar andere Protokoll welche selbstverständlich nicht kompatibel zueinander waren. Der Online CD Versandhändler AOL z.B. hatte mit AIM ein eigenes Produkt am Start, genauso wie Yahoo mit seinem Messenger oder auch Microsoft mit seinem MSN Chat.

In dieser Steinzeit mussten viele Menschen also mehrere Protokolle nutzen um alle Freunde zu erreichen, es liefen also mehrere Instant Messaging Programme auf dem selben PC. Das ganze zu einer Zeit als Hardware Ressource noch nicht im Überfluss vorhanden waren wie dies heute der Fall ist. Wir reden hier konkret von Hardware mit 64 bis 512 MB RAM, ein aktuelles Betriebssystem bekommt hier oft einen Lachkrampf.

Der nächste, und auch logische Schritt, waren dann Instant Messaging Programme welche mehrere Protokolle und Accounts gleichzeitig nutzen konnten. Das war schon ein großer Schritt für viele Anwender, zumal diese neuen IM Programme wesentlich weniger Ressourcen brauchten als die vom Anbieter gelieferten Tools. Nachteil war jedoch das die Unterstützung der jeweiligen Protokoll sich auf die Basisfunktionen beschränkte, das Austauschen von Dateien war z.B. nur eher schlecht bis nicht möglich.

Zusammengefasst war die IM Steinzeit ein großes Chaos, niemand wollte etwas miteinander zu tun haben und richtige Standards gab es auch nicht. Gewonnen hat damals ICQ, es hatte zumindest gefühlt die meisten Nutzer.

XMPP

Im Zuge des XML Hypes entwickelte sich ab 1998 ein Echtzeit-XML-Streaming Protokoll mit dem Namen Jabber, welches ab 2004 offiziell als XMPP bezeichnet wird. Es handelt sich dabei um das erste genormte IM Protokoll welches eine weitere Verbreitung fand. Für damalige Verhältnisse gab es viele neue Features und alle waren glücklich, hier ein Überblick:

  • Transport ermöglichten auch fremde Protokolle wie ICQ, AIM, MSN über den Server zu erreichen.
  • Ressourcen ermöglichten es direkt an unterschiedlichen Geräten erreichbar zu sein.
  • Prioritäten ermöglichten es selbst zu bestimmen an welchem Gerät man eine Nachricht erhalten möchte.
  • Durch den dezentralen Ansatz kann jeder selbst einen Server besteuern.
Es dauerte sehr lange bis sich XMPP durchsetzte, heute ist XMPP der Standard in Sachen Instant Messaging und das mit Recht.

XMPP ist in vielen RFCs (z.B. 6120, 6121, 6122, …) genormt und es gibt viele verschiedene Server und Clients dafür. Und genau bei den Clients und den Servern fangen bei diesem ursprünglich tollen Ansatz die Probleme erst richtig an: Jeder Server und Client hat einen anderen Funktionsumfang.

Die Basisfunktionen funktionieren natürlich bei jedem Server/Client sehr gut, aber sobald es an den Dateiaustausch oder sogar Videochats geht ist man verloren. Auch ein Abgleich des Chatprotokolls zwischen mehreren Clients funktioniert nicht mal im Ansatz zuverlässig. Dynamische Gruppenchat werden ebenfalls vermisst, und über Sachen wie PEP oder die Information welches Lied gerade gespielt wird möchte ich nicht wirklich reden.

Dazu kommt noch das XMPP durch die vielen Erweiterungen (XEPs genannt) nicht wirklich einfacher wurde, ein komplexes Monster welches Administrator und Anwender gleichermaßen nervt. Im Zeitalter der Social Networks ist es meiner Meinung nach einem Anwender nicht mehr vermittelbar warum er ein abgeschlossenes Informatikstudium benötigt um Dateien über XMPP austauschen zu können oder einen Videochat zu starten.

Ich selbst mag XMPP wirklich, sehe aber auch zunehmend die Schwächen der starken Fragmentierung und die Prioritäten der normalen Anwender. Der Anwender beschäftigt sich nicht mit offenen Standards, sondern mit Tools die funktionieren.

Hangouts

Google hat hier meiner Meinung nach die Zeichen der Zeit erkannt und etwas neues entwickelt, dabei aber bewusst auf XMPP und bestehende Grundlagen verzichtet. Dinge wie dynamische Gruppenchats, Videoübertragungen oder synchronisierte Chatprotokolle sind auf einmal kein Problem mehr und funktionieren einfach. Der normale Anwender wird mit so einer Technik mit Sicherheit glücklich, zumal wir bisher nur die erste Version kennen bei welcher andere Dinge wie z.B. SMS/MMS noch nicht integriert sind.

Fazit

Hangouts ist meiner Meinung nach eine konsequente Weiterentwicklung des Konzeptes Instant Messaging mit großen Schwächen die Google beheben muss um damit auch bei uns Nerds Erfolg zu haben:

  • Offenlegung und Dokumentation des Protokolls
  • Fortführung des Dezentralen Ansatzes
Sind diese beiden Bedingungen erfüllt ist das Ende von XMPP nichts vor dem wir uns fürchten müssen. Es wäre aber ein Unding wenn einzig ein großes Unternehmen, ähnlich wie ICQ früher, wieder die Chance bekommt den kompletten Markt zu weiten teilen in seine Hand zu haben. Nichts ist schlimmer als Monopole, das ist etwas was wir die letzten Jahre gelernt und verstanden haben. Unsere Kritik an den Hangouts sollte also nicht der Verzicht auf XMPP, sondern die nicht vorhandene Dokumentation und fehlende Offenheit sein.