it-swarm.com.de

Sollten Dialoge in modernen Anwendungen vermieden werden?

Ich habe auf dem letzten System, das ich entworfen habe, einige Dialoge verwendet. Die Anwendung war eine Geschäftsanwendung mit vielen Datenbanktabellen, und ich habe viele Datenraster verwendet, um Daten anzuzeigen. Es war üblich, dass ich eine Schaltfläche unter dem Datagrid mit dem Text Create new item oder Create new group oder was auch immer im Raster aufgeführt war. Mit anderen Worten wurde die Schaltfläche verwendet, um eine neue Zeile in der Tabelle zu erstellen.

Wenn der Benutzer auf die Schaltfläche klickte, wurde ein neuer (modaler) Dialog mit den Textfeldern und unten eine Senden-Schaltfläche erstellt. Aber ist das wirklich der empfohlene Weg? oder wie soll ich die Anwendung ohne modale Dialoge gestalten?

Wenn dies eine Webanwendung gewesen wäre, hätte ich den Benutzer wahrscheinlich auf eine neue Webseite mit dem Formular geschickt, aber das klingt für mich ähnlich wie ein modaler Dialog.

Sollten Dialoge in modernen Anwendungen vermieden werden? und was sind die Alternativen?

17
Jonas

In der Regel sollten Sie Dialogfelder nur dann verwenden, wenn Sie müssen. Es wird bevorzugt, dass Sie die direkte Bearbeitung oder Eingabe oder Bearbeitung vor Ort verwenden, wobei der Benutzer direkt an den in einem primären Fenster dargestellten Datenobjekten arbeitet. Beim Erstellen von Objekten bietet der Ansatz der direkten Bearbeitung Folgendes:

  • Eine Schaltfläche Einfügen, die das Objekt erstellt und dem Datagrid eine leere Zeile zur Eingabe der Feldwerte hinzufügt.

  • Eine permanente leere Zeile am unteren Rand des Datagrids (oder anderswo) - Wenn der Benutzer Werte eingibt, erstellt die App ein neues Objekt.

Ich vergleiche diese beiden Ansätze auf SO bei der Beantwortung der Frage " Was ist am besten beim Einfügen in eine Tabellenansicht, eine Schaltfläche zum Hinzufügen oder eine leere Zeile? "

Dialogfelder weisen im Vergleich zu Edit-in-Place-Ansätzen folgende Nachteile auf:

  • Zusätzliches Lernen. Es fügt der App ein Fenster mit Titelleiste und Schaltflächen (z. B. OK und Abbrechen) und Feldern hinzu - Felder, die häufig bereits im übergeordneten Datagrid vorhanden sind, aber anders angeordnet sind. Dies erhöht schrittweise das, was Benutzer lernen müssen.

  • Aufmerksamkeitsverlagerung. Das Aufrufen eines Dialogfelds erfordert, dass der Benutzer die Aufmerksamkeit auf etwas Neues lenkt, das bestimmte Kosten für die Neuorientierung verursacht und dem Benutzer das Gefühl gibt, weniger Kontrolle über die Daten zu haben.

  • Zusätzliche Klicks. Dialogfelder müssen ausgeführt und geschlossen werden. Dies erfordert mindestens einen zusätzlichen Knopfdruck. Im Gegensatz dazu kann der Benutzer beim Bearbeiten an Ort und Stelle vor dem Speichern mehrere Objekte erstellen (wenn das Speichern nicht automatisch erfolgt).

  • Modalität. Wenn Sie ein modales Dialogfeld benötigen, entfernen Sie die Benutzerflexibilität und zwingen die Benutzer, die Erstellung entweder abzuschließen oder abzubrechen. Wenn sie zusätzliche Informationen von einer anderen Stelle in der App benötigen, um die Erstellung abzuschließen, müssen sie die von ihnen geleistete Arbeit verwerfen.

  • Verlustrisiko. Durch ein versehentliches Klicken auf die Schaltfläche Abbrechen werden alle vom Benutzer vorgenommenen Eingaben zurückgesetzt und der Dialog geschlossen, wodurch der Benutzer zum Neustart gezwungen wird. Der Verlust mehrerer Eingaben mit einem Klick ist für ordnungsgemäß gestaltete primäre Fenster nicht charakteristisch. Außerdem unterstützen primäre Fenster normalerweise das Rückgängigmachen.

Dialoge sollten für atomare Aktionen verwendet werden, für die Parameter erforderlich sind. Das heißt, Situationen, in denen die App bestimmte Eingaben des Benutzers haben muss, um die Aktion technisch oder logisch abzuschließen. Wenn zum Erstellen eines Objekts beispielsweise Feldwerte erforderlich sind, die nicht als Standard festgelegt werden können, empfiehlt es sich wahrscheinlich, ein Dialogfeld zu verwenden.

Ein solches Dialogfeld "Erstellen" sollte wahrscheinlich nur die erforderlichen Felder enthalten, keine optionalen. Lassen Sie den Benutzer alle optionalen Felder im Datagrid ausfüllen. Aufgrund der Modalität und des Risikos von Verlustarbeit sollten Dialoge so einfach wie möglich sein. Als grobe Faustregel sollte der Benutzer in der Lage sein, die Eingabe in etwa 20 bis 30 Sekunden abzuschließen - dies ist eine erträgliche Menge an Arbeit, die erneut ausgeführt werden muss.

Sie haben Recht, dass in Web-Apps eine separate Eingabeseite einem modalen Dialogfeld entspricht, in dem der Benutzer gezwungen ist, eine Transaktion entweder abzuschließen oder abzubrechen, bevor er etwas anderes ausführt. Dies gibt vielen Web-Apps ein klobiges "indirektes" Gefühl im Vergleich zum flüssigen Gefühl eines Desktop-Äquivalents mit direkter Manipulation.

9

In Mac OS X gibt es Spaces, bei denen es sich um virtuelle Desktops handelt (und auch bei Dual-Screen-Setups). Multi-Window-Apps funktionieren nicht gut mit Spaces, modale Dialoge neigen immer noch dazu, auf den falschen Desktops zu erscheinen!

Wenn Sie stattdessen Blätter verwenden, die an das übergeordnete Fenster angehängt sind, werden die Benutzer nicht auf die gleiche Weise gestört.

2
neoneye

Manchmal funktioniert es und manchmal nicht, aber mit dem von Ihnen vorgeschlagenen Beispiel scheint es, dass ein Ajax-Update die neue Zeile in die Tabelle einfügen könnte. Sie haben angegeben, dass Sie ein Dialogfeld mit der neuen Datenzeile/dem neuen Datenraster und anschließend eine Schaltfläche zum Senden verwendet haben. Was nicht klar ist, ist, ob dies ein Bestätigungsdialog mit bearbeitbaren Inhalten ist oder ob es nur eine Ja/Nein-Sache ist. Unklar ist auch, was der Benutzer inhaltlich bearbeitet/hinzufügt, um dann die neue Zeile zum Datenraster hinzuzufügen.

Mir scheint, Sie könnten zulassen, dass die neue Zeile vom Benutzer innerhalb der Seite erstellt/bearbeitet und dann aktualisiert wird, alles ohne Dialogfelder. Wenn Sie aus irgendeinem Grund ein neues Bedienfeld öffnen müssen, ist im Allgemeinen ein gut gestaltetes Modal einem Dialogfeld vorzuziehen, da Sie keine neue Browserinstanz öffnen, den Benutzer von der Seite entfernen, auf der er sich befindet, oder die Kontrolle entfernen von ihnen. Die meisten UX-Untersuchungen zeigen, dass die Schaltfläche "Zurück" immer noch der einzige vollständig verständliche Mechanismus zur Steuerung des Browsers ist. Popups und sogar Benutzeroberflächen mit Registerkarten sind je nach Benutzer ein Hit und Miss.

1
jameswanless

Ich denke, die Nachteile werden erwähnt. Ich denke jedoch nicht, dass Sie Dialoge überhaupt ablehnen können oder sollten.

Inline-Bearbeitung/-Erstellung (wie in Excel) ist nützlich, um viele Datensätze schnell einzugeben oder ganz bestimmte Werte zu bearbeiten.

Es ist jedoch möglicherweise nicht das Beste, wenn Sie einen detaillierteren Datensatz speichern müssen, als in Ihrer Tabellenliste angegeben. Angenommen, es werden der Name, die Adresse und das Geburtsdatum einer Person angezeigt. Wenn Sie jedoch einen neuen Datensatz eingeben, möchten Sie möglicherweise auch die soziale Sicherheit, den Geburtsort, die Beziehungen zu den Eltern, den Rechtsstatus oder eine ganze Reihe anderer Optionen berücksichtigen.

Dialoge können auch dazu beitragen, die Benutzeroberfläche zu vereinfachen, Dropdown-Felder für verknüpfte Informationen bereitzustellen, Feedback zu geben, Datumsauswahl oder andere Benutzeroberflächenelemente einzufügen. Die meisten davon können nicht in die Inline-Bearbeitung einbezogen werden, ohne die Benutzeroberfläche stark zu überfüllen.

Das Trennen der Aktion zum Speichern der Informationen von der Dateneingabe ist nicht nur eine Belastung, es kann auch hilfreich sein, einen strukturierten Moment der Überprüfung bereitzustellen: Habe ich alles ausgefüllt, ist es jetzt in Ordnung? Ich mag diese Option sehr, wenn Sie beispielsweise etwas online bestellen. Sie können die Informationen Schritt für Schritt sammeln und ausfüllen, und dann gibt es einen klaren Moment der Entscheidung, bevor sie tatsächlich abgeschlossen sind.

Ich denke also, dass es vom Kontext abhängt: der Anzahl der Felder, der Art der bereitgestellten Informationen, der Struktur, in der Informationen gesammelt werden. Ich würde nicht raten, Dialoge im Allgemeinen zu vermeiden: Überlegen Sie nur, wo sie geeignet sind und wo nicht.

Was Modal betrifft oder nicht, kann Nicht-Modal es verwirrend machen (weil sich der Dialog hinter anderen verstecken kann und verloren geht oder vergessen wird), Modal kann es irritierend machen (weil Sie nichts anderes tun können als das, was Sie tun). Modale Dialoge sind nicht der beste Weg, aber verwenden Sie sie erneut, wo sie angebracht sind, anstatt sie blind zu meiden.

Wenn die Bildschirme größer werden, kann es möglich sein, den Dialog (oder die Detailansicht) neben der Tabellenübersicht zu platzieren. Andererseits werden mit der Zunahme von Smartphones auch viele Bildschirme kleiner, und Dialoge sind noch wichtiger, da das Bearbeiten einer Tabelle, wenn Sie nur wenige Zellen gleichzeitig sehen, einfach nicht sehr gut funktioniert.

1
Inca