Welche UI / GUI-Richtlinien sollten beachtet werden, die den Benutzer auf subtile Weise (oder nicht so subtil) leiten, damit sie sich nicht selbst in den Fuß schießen.
Sie können beispielsweise Power-Benutzern die Möglichkeit geben, eine Datenbank mit selten verwendeten Datensätzen zu "säubern", aber Sie möchten nicht, dass ein neuer Benutzer diese Option ausprobiert, wenn sie gerade erst Stunden damit verbracht haben, neue Datensätze einzugeben - Sie können sie alle verlieren, weil sie nur selten benutzt werden. Bitte gehen Sie nicht auf dieses spezielle Problem ein - es ist nur hier, um die Frage zu klären.
Obwohl man eine Reihe von Geschäftslogiken programmieren könnte, um einige Probleme zu vermeiden, kann man nicht alles berücksichtigen, was ein Benutzer tun könnte.
-Adam
Alles kann rückgängig gemacht werden. Nicht löschen - deaktivieren. Sichern Sie vor jeder destruktiven Operation und geben Sie dem Benutzer eine Möglichkeit zur Wiederherstellung.
Das ist der Weg. Es ist schwer, es den ganzen Weg zu folgen, aber es ist, was Sie anstreben.
Ermöglicht es, gefährliche Aktionen rückgängig zu machen.
Wenn es sich um eine relativ große Anwendung oder ein relativ großes System handelt, benötigen Sie auch für gefährliche Vorgänge einen separaten Administratorzugriff.
Und Sie können tatsächlich alles erklären, was sie tun könnten. Weil Sie (als der Designer) als derjenige, der ihnen die Fähigkeit gibt, all diese Dinge zu tun.
Bevor Sie irgendeinen Gegenstand auf eine Gui setzen, wie Sie selbst "Kann dies missbraucht werden?" und wenn es möglich ist, möchten Sie vielleicht mit einer niedrigeren Anpassungsfähigkeit gehen. Beispielhierarchie
Wenn der Benutzer keine zusätzlichen Optionen benötigt, geben Sie ihm keine zusätzlichen Optionen. Sie werden sie nur verwirren.
Dies ist ein alter Artikel, aber immer noch ein großartiger Artikel:
Richtlinien für die induktive Benutzerschnittstelle von Microsoft
Partitionieren Sie Ihre Benutzer und haben Sie fein abgestimmte Berechtigungen.
Definieren Sie einige Power-User-Berechtigungen, die die "gefährlicheren" Operationen ermöglichen.
Die Berechtigung für Hauptbenutzer wird nicht leichtfertig ausgegeben - nur an tatsächliche Hauptbenutzer - und wird sofort widerrufen.
Ich bin der Meinung, dass im Falle von Unklarheiten oder Unklarheiten der Benutzer selten falsch liegt und die UI immer dafür verantwortlich ist. Also, wenn Sie sagen "Schlag den Benutzer ins Gesicht", mit "Pebkac" getaggt, denke ich, dass Sie würde gut mit einem Schlag ins Gesicht tun.
Leider kann ich keine guten UX-Ratschläge geben, da ich nur ein Programmierer bin und daher mehr oder weniger per definitionem als guter UI-Designer disqualifiziert werde. Ich möchte nur auf die Möglichkeit hinweisen, dass Sie tatsächlich derjenige sein könnten, der eine Ahnung haben muss, und versuchen, gegenüber den Benutzern bescheidener zu sein.
Für Adam bearbeiten:
Das Wenige, was ich über UX weiß, ist, wie wenig ich davon weiß. Es ist ein ganzer Karriereweg. Ich weiß, dass es sehr wenig gibt, was irgendjemand lernen kann, wenn er bei Stack Overflow eine einzige "Make-me-good-at-that" -Frage stellt. Es ist so, als würde ich fragen: "Hilf mir, einen besseren Code zu schreiben", wobei der Text als eine Geschichte darüber formuliert wird, wie meine Kollegen mich über meinen Code lächerlich machen.
Wir, Programmierer, sind Ingenieure. Wir mögen Ordnung und Vernunft und logische Entscheidungen. Aber der durchschnittliche Benutzer ist kein Programmierer, kein Ingenieur und in vielen Fällen nicht selbst an Computern interessiert.
Ich bin froh, dass die Leute Ihnen Nuggets mit gutem Rat geben, und ich bin froh, dass Sie, im Gegensatz zu meinem ersten Eindruck (es tut mir leid), eifrig sind, diese Teile zu nehmen und die Bedürfnisse von der Benutzer.
Aber der Punkt bleibt: Sie müssen Bücher kaufen (Do not Make Me Think ist ein großartiger Ort, um zu beginnen, wie bereits empfohlen). Sie müssen beobachten, wie Menschen Ihre Software verwenden. Sie müssen beobachten, wo sie stolpern, und jig Dinge herum, bis Ihre UIs natürlich scheinen.
Es tut mir leid, ich kann Ihnen immer noch keine Antwort geben. Weil ich es nicht habe. Und selbst wenn ich es hätte, müsste ich Ihnen wahrscheinlich 50 EUR pro Stunde für Jahre in die Zukunft berechnen.
Machen Sie die Ergebnisse der Aktion des Benutzers sichtbar und bieten Sie eine Möglichkeit, diese Änderungen rückgängig zu machen.
Wenn die Änderungen sichtbar sind, erhält der Benutzer eine Rückmeldung darüber, ob die Ergebnisse das waren, was er beabsichtigte, und wenn dies nicht der Fall ist, wird der Benutzer durch die Möglichkeit des Rückgängigmachens erneut versuchen, sein Ziel zu erreichen. Wenn möglich, machen Sie die Ergebnisse der Aktion sichtbar, bevor der Benutzer die Aktion aufruft (z. B. wenn Sie ein Element ziehen, zeigen Sie an, was passieren würde, wenn der Benutzer die Maustaste loslässt, zum Beispiel das Hinzufügen des Elements, wohin es verschoben wird um die Entfernung des Elements von wo es bewegt wurde zu visualisieren und zu visualisieren.
Es gibt ein paar Arten von Undo. Am einfachsten ist das Rückgängigmachen eines einzelnen Schritts (wie im Editor), aber oft nicht genug. Besser ist ein mehrstufiges Undo (wie in Word), das die meisten Fälle abdeckt, aber keine bestimmte Aktion rückgängig machen kann, ohne alle Aktionen rückgängig zu machen, die danach ausgeführt wurden. Dies kann durch ein objektspezifisches Rückgängigmachen gelöst werden, beispielsweise in einer Form mit vielen Feldern (oder Zellen in einem Gitter wie in Excel). Wenn Sie mit der rechten Maustaste auf das Feld klicken, wird eine Liste der vorherigen Werte in diesem Feld angezeigt. Für gelöschte Daten können Sie einen Speicher gelöschter Daten haben, von dem aus der Benutzer nach dem Löschen Objekte wiederherstellen kann (z. B. wenn der Benutzer eine Folie in Powerpoint löscht). Und schließlich könnten Sie eine vollständige Versionshistorie jeder Änderung haben, zum Beispiel als Local History funktioniert in IntelliJ IDEA - Bei jedem Speichern der Datei einen Verlaufseintrag erstellen (und nach ein paar Sekunden Inaktivität automatisch speichern).
Bestätigungsdialoge helfen nicht. Der Benutzer könnte es beim ersten Mal lesen, aber bald darauf wird ein Klick auf "OK" im Dialog zu einem automatisierten Prozess, und der Benutzer wird die Eingabetaste drücken, bevor das Dialogfeld angezeigt wird. Dann ist der Bestätigungsdialog nur eine Quelle unnötiger mechanischer Arbeit geworden. Der Benutzer ist immer sicher, etwas zu tun, auch wenn er falsch liegt - sonst hätte er diese Aktion nicht gemacht.
Nun, es gibt ein paar verschiedene Möglichkeiten, über die ich solche Dinge machen kann.
Dies sind nur ein paar der Ideen, die ich habe.
Zwei Dinge fallen mir sofort ein.
Der erste ist der Begriff der progressiven Offenlegung, d. h. er zeigt den Benutzern nur, was sie brauchen, um die anstehende Aufgabe zu erfüllen. Wie viele UIs haben wir gesehen, die Hunderte von Steuerelementen in einem einzelnen Dialog haben? Unterteilen Sie die Steuerelemente in ihre jeweiligen Aufgaben und erlauben Sie dem Benutzer nur jeweils eine Aufgabe. Eine erweiterte Schaltfläche in einem Dialogfeld ist eine Möglichkeit, dies zu implementieren, und dieses Konzept hat den zusätzlichen Vorteil, dass die Power-User von den normalen Benutzern getrennt werden. Laufende Benutzer sind weniger wahrscheinlich, eine Aufgabe zu versuchen, die wahrscheinlich über ihr Fähigkeitsniveau hinausgeht.
Die zweite besteht darin, das Wizard-Konzept für komplizierte Aufgaben zu nutzen. Ich weiß, dass Zauberer aus der Mode gekommen sind, aber wenn eine Aufgabe wirklich kompliziert ist, schätzen es die Benutzer normalerweise, dass sie ihre Hände die ersten Male halten müssen. Ein gutes Beispiel hierfür ist die WinZip-Assistentenschnittstelle. Wenn Sie noch nie zuvor eine Datei gezippt haben, verwendet dieser Assistent eine logische Abfolge, um Sie durch den Prozess zu führen. Sobald Sie sich damit vertraut gemacht haben, können Sie schneller zur klassischen Benutzeroberfläche wechseln, um Dateien schneller zu zippen.
Um all dies zu tun, müssen natürlich nicht nur die Entwickler, sondern auch das Management verpflichtet werden. Und das ist leider der Punkt, an dem viele dieser Usability-Schlachten verloren gehen.
Tags und Links user-interface design