Ein Frage zu Ajax
Was ich grundsätzlich nicht verstehe: Warum sind alle Leute so wild darauf, dass schon während des Tippens in ein Formularfeld irgendwas passiert? Habe ich eventuell was verpasst? Kann man nach neuesten Erkenntnissen dem User einen Druck auf die Return-Taste nicht mehr zumuten?
Mal angenommen, ich suche auf einer Website mit Live-Search etwas über eine „Bergbauernkooperative“. Das ist ein relativ langes Wort, für dessen Eingabe ungeübte Tipper ca. fünf Sekunden benötigen. Währenddessen muss bei jeder Eingabe eines Buchstabens die Suche auf dem Server erneut gestartet und die veränderten Ergebnisse zurückgegeben werden. Was bedeutet, dass der Server fünf Sekunden lang mit redundanten Aufgaben beschäftigt ist. Ist das vernünftig?
Ich finde das übrigens auch bei Tigers Spotlight äußerst entbehrlich. Bei meiner Spülmaschine will ich doch auch nicht, dass sie schon beim Einräumen anfängt zu spülen …
Ähnliche Beiträge:
Corinne Bailey Rae Nach uns die Sintflut
Kommentare:
Bei den Kommentaren handelt es sich um fremde Inhalte, die sich „esse est percipi“ nicht zueigen macht. Verantwortlich für den Inhalt eines Kommentars ist der jeweilige Verfasser.
Das mit der Server-Belastung ist schon ein gutes Argument. Ich halte auch nicht viel von solch sinnlosen Arbeitsschritten etc. aber bei Spotlight in Tiger finde ich diese Anzeige während der Eingabe manchmal auch recht nützlich. Wenn ich zum Beispiel etwas suche, von dem ich nicht sicher weiß wie es geschrieben wird.
So eine Live Suche ist nur ein Einsatzgebiet von Ajax, aber der Gebrauch des XMLHttpRequest Objects beschränkt sich nicht darauf.
Die meisten Webdesigner denken nur bis zu ihrer Nasenspitze und sehen die Anwendung nur auf öffetnlichen Internetseiten. Aber überall, wo unmittelbare Reaktionen gefordert sind oder auch nur praktisch sind, ist das Object—das es ja nun auch schon einen Weile länger als den Begriff Ajax gibt—gut untergebracht.
Erstmals habe ich Anfang 2003 das Objekt (damals ie only) für ein browserbasiertes Erfassungstool für ein Callcenter eingestzt, um während der Eingabe Daten gegen Stammdaten zu prüfen. Hätte man den Datenstamm in einem Array im einem Javascript auf der Seite unbringen müssen, wäre sie etlichem MB groß gewesen. Was ja nunmal lächerlich ist, egal ob Intranet oder nicht.
In solchen Fällen halte ich Ajax ähnliche Techniken für äußerst innvoll.
Ich kann Markus nur recht geben. Es ist halt mometan der große Hype und wenn man IN sein will muss halt überall AJAX drauf stehen, dabei ist der allermeiste Spielkram reines JavaScript…
Im speziellen Falle der Suche liegt aber wirklich auch Sinn dahinter. Nämlich dahingehend, dass wie jayMoena es bereits anspricht, man nicht genau wissen muss nach was man sucht bzw. wie man es schreibt. Gibt da ja auch grundsätzlich 2 Arten davon: Google Suggest versucht ja die Suchworte vorzuschlagen (um sie zu vereinheitlichen, damit nicht einer nach taggen und der Nächste nach tagging sucht bzw. gleich einen Überblick zu liefern, wieviel er zum jeweiligen findet), während andere Seiten bei Livesuche die Ergebnisse vorschlagen. Das Problem mit der Performance lässt sich ja umgehen, indem der Script erst eine Anfrage stellt, wenn eine gewisse Zeit nichts getippt wurde.
Das ist wahrscheinlich mal wieder nur die Folge von besserer Hardware: man hat mehr Rechenleistung/Bandbreite und macht dann damit wiederum irre Dinge, weil man es eben kann. =)
Da könnte man genauso fragen, warum denn die ganzen Grafikspielereien in Betriebssystemen sein müssen. – Weil es geht. Wir könnten durchaus wunderbar hochreaktive Systeme mit einem alten 800MHz G3 realisieren. OS 10.4 braucht aber schon einen G5, um so richtig „snappy“ zu werden.
Ich denke, dieser Trend ist jetzt im Internet angekommen. Man hat mehr Leistung zur Verfügung und nutzt sie jetzt für vorher völlig wahnwitzig redundante Dinge. Wenn es dem Server nichts ausmacht und die Leitung nur zu 10% belastet wird, gibt es nur wenige Gründe, warum man das dann nicht machen sollte/könnte.
Mir gefällt diese Instant-Suche auch nicht so sehr. Da gibt es bessere Anwendungen.
Im Moment ist AJAX sicherlich noch ein Hype, aber das wird sich ziemlich schnell legen, in spätestens einem Jahr wird es für jeden völlig normal sein, so etwas auf einer Website vorzufinden.
Das Lustige ist ja jetzt, das man sich auf einmal wirklich mit so Geschichten wie Serverbelastung rumschlagen muss, und es gibt auch sicher genug Paradebeispiele, wie man es besser nicht machen sollte. Und dennoch bietet es genug Vorteile; warum zum Beispiel soll eine Website komplett neu geladen werden, nur weil der Benutzer ein Kontaktformular abgeschickt hat? Es reicht, den entsprechenden Bereich zu updaten.
Und im Falle der Livesuche habe ich es so gemacht, dass die Suche erst nach einer halben Sekunde startet.
Das mit dem Server-Load hängt ganz von der Anwendung ab (hier gibt’s einen interessanten Artikel dazu, der die Auswirkungen von AJAX auf MaxRumors.com erklärt).
Und gerade für Anwendungen, die in bereits bestehende Daten verwenden (Postleitzahlsuche, Kundennummern,...) ist AJAX imho bestens geeignet.
Ein Wort zur Serverbelastung:
Gute Systeme schicken meiner Meinung nach nicht bei jedem Tastendruck eine Anfrage an den Server (eben um ihn nicht zu überlasten), sondern haben ein gewisses Delay. Das ist mit JavaScript nicht ganz trivial zu realisieren (vor allem so, dass es in allen Browsern funktioniert), aber in Deutsch formuliert hört es sich ungefähr so an:
„Schick die Anfrage nur dann an den Server, wenn der User seit (Hausnummer) einer Sekunde nichts getippt hat und sich der Inhalt des Textfeldes seit der letzten Anfrage nicht geändert hat.“
Für Langsamschreiber lässt sich das Intervall natürlich auch auf ein paar Minuten setzen ;-) So kann man zumindest das wilde Bombardieren des armen Backends mit Requests ein Bisserl eindämmen.
Möglich ist das, funktionieren tuts auch, leider kann ich euch das nicht zeigen, da es nur in einer von mir gebastelten Intranet-Applikation läuft.
Generell gilt aber bei Web 2.0 (pfui) (wie wir hoffentlich alle wissen): Weniger ist mehr.
.mitro
Ich finde, dass AJAX in vielen Bereichen definitiv seine Daseinsberechtigung hat. In Systemen wie zum Beispiel Basecamp ist das arbeiten viel angenehmer, wenn die Seiten nicht immer komplett neu aufgebaut werden müssen.
Den Rest halte ich allerdings überwiegend für Hype und in vielen Fällen auch alles andere als sinnvoll.
Keine Frage: Eine Website für kleine Änderungen jedes Mal neu laden zu müssen, ist Quatsch. Nicht umsonst gibt es deshalb hier auf esse est percipi auch ein paar Javascripts, die das anders erledigen – z.B. die vertikale Vergrößerung des Kommentareingabefelds, die Fotoalben oder das Aufklappen verborgener Inhalte. Aber das sind IMHO keine coolen „Weil’s geht“-Anwendungen (ganz abgesehen davon, dass es sich auch gar nicht um Ajax handelt), sonder klare ergonomische Verbesserungen.
Ich habe überhaupt nichts gegen Ajax, dort, wo es angebracht ist. Die Google Suggests z.B. sind eine gute Idee und unter Umständen äußerst hilfreich, und es gibt eine Menge weiterer schöner Beispiele guten Ajax-Einsatzes.
Wenn ich aber in einem Weblog etwas suche, bevorzuge ich u.a. eine vernünftige Auflistung der Suchergebnisse, bei der der Suchbegriff im Kontext angezeigt wird. Alles andere ist l’art pour l’art.
Meiner Meinung nach.
Um 593 verschiedene Schreibweisen abzufangen und dem Nutzer die korrekte vorzuschlagen.
hehe,,. bei diesem Thema muss ich doch n’wenig schmunzeln. Ich weiss noch als mir so n’php Programmierer ne predigt über „Backbuttons“ erzählte. Von wegen man könne bei Fashsites den „History Back Button“ usw. nicht betätigen. Und nun hat er mir letzte Woche ne mail geschrieben mit einer AjaxApplikation wo dies natürlich genau auch nicht geht ;-)
Hier noch n’link zum thema Live Search:
http://justaddwater.dk/2006/01/26/live-search-explained/
Ich wünschte ich hätte eine Spülmaschine. Hätte ich eine, ich würde sie in einer Woche schwer voll bekommen.
Kommentar schreiben:
FAQ (Häufig gestellte Fragen)
Kommentare:
- Michael Preidel zu Harbor – Sicherer Hafen [Testflight]
- Henning zu Harbor – Sicherer Hafen [Testflight]
- Michael Preidel zu Harbor – Sicherer Hafen [Testflight]
- Michael Preidel zu Harbor – Sicherer Hafen [Testflight]
- Mesrop zu Harbor – Sicherer Hafen [Testflight]
- Michael Preidel zu Hopper 1.0b7 (Update: 1.0b9)
Schlagwörter