Hallo,
(...) Vor allem kann man damit Seiten um benutzerfreundliche Funktionen erweitern, bei denen das sofortige Anzeigen des Feedbacks zwar wünschenswert, aber nicht unbedingt nötig ist.
Beispielszenarien:
Der Benutzer gibt eine Postleitzahl ein, und mittels Ajax wird der Ort eingeblendet. Bei synchroner Verarbeitung würde nach Eingabe der Postleitzahl die Seite neu geladen werden oder zumindest das weitere Ausfüllen des Formulars angehalten werden, bis das Ergebnis vorliegt.
Naja, aber auch diese Interaktion läuft synchron ab - wenn auch auf eine andere Weise als das Laden einer komplett neuen Seite. Synchronität im kleinen eben anstatt Synchronität auf globaler Ebene.
Wenn ich eine Postleitzahl eingebe, so wird meine Eingabe synchron verarbeitet. Es wird ein Event ausgelöst, der eine serververbindung herstellt, Parameter sendet, auf Antwort wartet. Server rechnet, stellt Antwort zusammen, Daten werden zurückgesendet, Callback ausgelöst und letztlich erfolgt das Feedback.
Wie du sagst, das sofortige Anzeigen des Feedbacks ist nicht nötig. Das liegt im Fall von AutoSuggest aber einfach daran, dass das ganze Feature optional ist. Wenn ich das Feature nutzen will, muss ich auf das Feedback warten, da führt nichts umhin.
Die Kernthese von Gerrett war ja, dass Ajax alle starre zeitliche Abfolge und Kausalität suspendiert: »the start-stop-start-stop nature of interaction«. Wenn ich AutoSuggest bei verschiedenen Sites nutze, dann muss ich immer auf die Serverantwort warten. Wie gesagt, das ist doch start-stop-start par excellence. Vor allem bei lahmen Servern.
Bei asynchroner Verarbeitung kann das Formular weiter ausgefüllt werden.
Hm, da hast du Recht, aber: Das halte ich aber für wenig benutzerfreundlich. Ok, zwischen Eingabe und Feedback vergehen vielleicht ein paar Sekunden, unerheblich meist. Wenn der Benutzer aber schon hastig zum nächsten Feld springt, so wundert er sich, wenn irgendwann, während er dort tippt, oben ein Hinweis aufpoppt. Er geht also wieder hoch, kaum ist er oben, so erscheint beim unteren Feld ein Hinweis... ;) Solche Asynchronität verwirrt einfach. Der Benutzer muss zwischen Eingabe und visuellem Feedback durch zeitliche Nähe eine Verbindung herstellen können.
Im besten Fall steht der Ort schon "sofort" im entsprechenden Feld und der Benutzer kann evtl. Fehler bei der PLZ-Eingabe erkennen.
Das denke ich auch: Asynchronität ist nicht einmal unbedingt erstrebenswert - man strebt eher Synchronität an, also auf Eingabe soll möglichst sofort das Feedback erfolgen.
Wenn z.B. auf einer Seite mehrere Texte sind, die vom Benutzer bewertet werden können, so können durch asynchrone Verarbeitung die Texte quasi gleichzeitig bewertet werden, ohne jeweils auf das Ergebnis der vorhergehenden Bewertung warten zu müssen.
Ja, denke ich auch, das ist wohl einer der wenigen Fälle, bei denen wirkliche Asynchronität gefragt ist.
Mathias