Allgemein

AJAX


Für die technikinteressierten Internetfreaks, die eine eigene Homepage betreiben gibts ja immer mal wieder neues Futter: Als ich vor (keine Ahnung) 8 Jahren mit dem Internetzeugs angefangen hab, war DHTML so ein Buzzword mit dem man punkten konnte. Dann kam PHP, ASP, Director/Lingo/Flash, CMS, Bannerwerbung, CSS, RSS, XHTML, XML, Blogs etc.
Und jetzt der neuste Schrei AJAX.

Wo man hinsieht, überall AJAX, AJAX, AJAX. Dabei handelt es sich aber nicht um das Putzmittel und auch nicht um den griechischen Helden oder deren Fußballverein. Sondern um Asynchronous Javascript and XML. AJAX ist keine Programmiersprache oder ähnliches, sondern beschreibt vielmehr, wie Daten zwischen dem Besucher (Client) und dem Server ausgetauscht werden, nämlich asynchron und über XML.
Das hat den schicken Vorteil, dass man nicht mehr die ganze Seite neu laden muss, möchte man neuen Inhalt zeigen, sondern man braucht nur kleine Bestandteile auszutauschen und kann dies alles „on the fly“ erledigen.
Bespiele gibts dafür viele, dafür braucht man nurmal 2-3 Minuten surfen oder meinen etlichen Links folgen. Viel lustiger finde ich aber den Nutzen hinter diesem neuem Kniff. Naja, so neu ists auch wieder nicht – hat alles Anfang 2005 angefangen. Aber jetzt mal zur Sache:

Wie gesagt, man kann on the fly Inhalte nachladen und somit den Benutzer gezielter anleiten etwas zu tun, ihn bei seinem Surfen unterstützen oder aber nerviges Nachladen oder „Schritt 1 von 20“ ersparen, da er diese vielleicht gar nicht braucht.
Den größten Vorteil hat AJAX ganz klar bei Formularen, da im Hintergrund (Server) alles auf den Client zugeschnitten wird. Nicht so toll wirds aber, wenn sich Programmierer einbilden eine ganze Seite in AJAX programmieren zu müssen. Da gehen dann nämlich die „zurück“-Buttons nicht mehr, da dem Browser der reelle HTTPrequest fehlt. Ab diesem Punkt fängt nämlich die richtige Usability an. Wenn man dem Benutzer extra darauf hinweisen muss, dass das was er gerade macht neu und nützlich für ihn ist, ists eigentlich schon wieder Banane. Die Anwendung muss sich einfügen und nicht der Benutzer. Nur weil es machbar ist, muss man es nicht umsetzen. Lieber nochmal ne halbe Stunde länger hinsetzen und überlegt wie man etwas logisch umsetzen kann um einen Mehrwert zu bieten.
2. Manko: Die URI bleibt meist die gleiche. Somit geht ein Feature verloren, dass man Seiten direkt ansurfen kann, diese ausdrucken oder nachweisen kann. Hier sollte man sich wirklich überlegen: ist es nicht förderlicher, wenn ich die ganze Seite neu lade? Andererseits hat man hiermit natürlich einen neuen Sicherheitsaspekt. Aber das würde jetzt zu weit führen.

Schön umgesetzt ist AJAX auch bei Google und Google Mail oder als Mitglied bei flickr. Intuitiv und förderlich. Und schon so sehr in die Seite eingebaut dass man sich fragt wo hier die ganze Technik und der Aufwand steckt. Das alles hat aber den Nachteil, dass man dafür richtig fett Bandbreite braucht. Jeder Buchstabe, der bei der Google Suchmaske eingetippt wird erzeugt für sich eine kleine Suchanfrage. Das mag ein 08/15-Server bei einem Besucher auch verkraften. Sobald sich aber gleichzeitig 2-3 Leute auf einer Seite tummeln ist das System schon ausgereizt. Eine richtig schöne AJAX-Anwendung wurde vor ein paar Wochen nämlich von Shaun Inman veröffentlicht. Leider wurde die Online-Demo von Mint ganz schnell wieder offline gestellt. Das hat der Server einfach nicht mehr gepackt. Ein weiteres nettes Beispiel war der Liveblog von Spreeblick. Anmerkung: hier lief soweit alles glatt. Die Benutzer haben aber auch nur empfangen und somit den Server geschont.

Ich stell mir aber auch schon eine nette Anwendung vor die passend zur Bundestagswahl ist: Tortendiagramme mit Livedaten der Auszählung der einzelnen Bundesländer. Verschiedene Statistiken mit Verteilung der Sitzplätze im Bundestag. Und das alles wird just in dem nachgeladen in dem es auf dem Server veröffentlicht obwohl ich selbst keinen Finger krumm machen muss. Wenn nämlich eins in Deutschland zieht, dann sind es Seiten über Sex, Autos und Statistiken über den Bundestag. Alle reisen sich drum, wer die beste Aufmachung hat, die neusten Zahlen oder was weiß ich was.

Und da sind wir auch schon bei dem Punkt angekommen. AJAX macht es möglich, dass man richtige Anwendungen ins Internet stellt. Es gibt Serverstatistiken wie Mint (qt) oder aber auch (test/test) Intstantmessenger (hier: jabber), Filebrowser und sogar Bildbearbeitungssoftware! Und das alles eben über den Browser und Plattformunabhängig. Leider wird das dann alles schon wieder so komplex, dass man nicht mehr einfach so eine Seite aus dem Ärmel schüttelt, da auch sehr viel mehr auf Seiten des Servers passiert als es beim eigentlich betrachten einer Seite geschehen würde. Dafür kann man jetzt aber auch wirklich richtig interagieren.

Ich freu mich richtig auf diese neue Technik oder Art des Zusammenspiels verschiedener Techniken. Ich muss mich hier so geschwollen ausdrücken, nicht dass ich hier gleich wieder gebasht (Modewort) werde, dass ich nicht wüsste, das AJAX keine richtige Programmiersprache ist 😉

Wenn ichs könnte, würde ich auch gerne die eine oder andere AJAX-Anwendung ins Internet stellen. Aber ich glaube, dass die Technik zu sehr ins Detail geht, als dass ich selbst etwas entwickeln könnte. Dafür fehlt mir einfach die Zeit und das know-how. Aber Ideen kann man ja veröffentlichen, vielleicht setzt sie ein anderer um.