January 19, 2007
Mal wieder ein kleiner AJAX-Stolperstein
Vor ein paar Tagen habe ich meinen Basecamp-Account mal wieder aufgeräumt und dabei in der Dateisektion fröhlich gelöscht. Jeder, der Basecamp kennt, weiss wie schön einfach dort das Löschen geht. Kurz auf den Mülleimer geklickt, schon kann man zur nächsten Datei weiter. Die Seite wird per AJAX direkt aktualisiert und die gelöschte Datei ist verschwunden. Toll!
Nun war ich mit Seite 1 fertig und hatte dort nur noch 4 der urspünglichen 10 Dateien gelistet. Also weiter zu Seite 2, um Datei 11 bis 20 zu beackern. Nix da, Pustekuchen! Auf Seite 2 finde ich logischerweise die Datei 17 bis 26, denn Beim Blättern wurde der Applikation gesagt, dass Sie die Dateien 11-20 anzeigen sollte, aber diese waren eben nach dem Löschen andere als zuvor. Gemerkt habe ich dies aber auch nicht sofort, sondern als ich später in die Dateisektion wiederkehrte und auf Seite 1 Dateien sah, die ich nicht mehr brauchte.
Kurz: AJAX in Listen ist toll und fix, aber sobald man Blättert und solche Dinge passieren ist schnell Verwirrung möglich, wenn nicht sogar zwangsläufig angesagt. Ich habe nur aufgeräumt, was aber wenn z.B. ein Mailinglistenverwaltungstool so arbeitet? Dann wird es schnell gefährlich. Man will eine E-Mail an wichtige Entscheidungsträger im Haus versenden, hat einen Verteiler, der allerdings auch ein paar externe Mitglieder beinhaltet und löscht nun wie oben beschrieben ein paar externe Adressen heraus. Alle fertig gelöscht? Super! Mail versenden und alles ist gut … Tja, fast, leider sind ein paar externe Adressen auf die Liste gerutscht, weil man diese beim Blättern nie gesehen hat. Schockschwerenot!
Wie kann man solche Probleme verhindern?
- Eine Lösung ist wohl beim Blättern auf die Aktualisierung hinzuweisen. Vielleicht ändert sich auch der Blätterbutton in einen Reloadbutton für die aktuelle Seite. Das ganze muss entsprechend sichtbar werden. Umständlich und nicht sehr leicht zu kommunizieren.
- Es liegen nur noch 4 von ursprünglich 10 Dateien auf der Seite vor? Nach dem Blättern wird einfach die Länge der Liste der Einträge einer Seite auch auf 4 verkürzt. Damit kann kein Eintrag ungesehen nach vorne rutschen. Problem ist aber, dass dies nur auf Seite 1 funktioniert. Außerdem wird die Seitenlänge bei jedem mal kürzer und verschiebt sich nach Blättern 2 ohnehin auch. Ergo: Keine Lösung.
- Die gelöschten Dateien werden nur als „gelöscht“ gelabelt. Somit bleibt die Sortierung erhalten. Wann aber wird aktualisiert? Wann verschwinden die gelöschten endlich aus der Liste? Das kann man zeitsteuern, aber am besten ist wohl eine manuelle Löschung. Sobald man die gelöschten (z.B. ausgegrauten oder durchgestrichenen) Dateien nicht mehr sehen möchte sagt man „gelöschte Dateien nicht mehr anzeigen“ und listet alles frisch und neu ab Position 1 mit der aktuellen Listenlänge.
- Nach dem Löschen einer Datei rutscht die Liste weiter auf. Sie Löschen Position 8, nach visueller Löschbestätigung rutscht die Pos. 9 an 8, die 10 an 9 und die 1 auf der nächsten Seite an die Pos. 10. Sehr dynamischer Ansatz. Sehr dynamisches Feeling der GUI in meinen Augen.
Ansatz 3 und 4 sind wohl die praktikablen Lösungen in meinen Augen. Bis eine Lösung bei Basecamp eingebaut wird heisst es wohl vorsichtig sein und lieber nach dem Löschen von Dateien weiterzublättern und danach wieder zurückzublättern.
technorati tags:basecamp, ajax, gui, problemlösung, webapp, dynamische Listen, ria
March 20, 2006
Flash und die Suchmaschinenoptimierung
Einen lesenswerten Beitrag zum Thema Suchmaschinenoptimierung (SEO) und die Verwendung von Flash in diesem Zusammenhang ist unter blog.deconcept.com zu lesen. Einige Tipps und Hinweise auf die Einbettung von swf-Dateien in Webseiten sind hier auch angerissen.
