it-swarm.com.de

Wie kann man Reibung in einer iOS-App gestalten, um versehentliche Aktionen zu verhindern?

Ich entwerfe eine App für iOS, in der ich verhindern muss, dass der Benutzer unbeabsichtigt einen Alarm auslöst (die Aktion zum Aufrufen eines Notfalls sollte leicht zugänglich sein, gleichzeitig aber eine versehentliche Auslösung verhindern).

Ich möchte keinen Bestätigungsdialog verwenden, da der Benutzer eine Schaltfläche an einer anderen Position lesen und suchen muss (auf der anderen Seite scheint es zu viel Reibung zu geben).

Die Verwendung einer Aktionsschaltfläche "Folie zu" kam mir anfangs als gute Idee in den Sinn, ähnlich wie beim Entsperren eines iPhone-Bildschirms, aber dann stoße ich auf dieses Thema: - Erstellen eines "Slide to Power Off" -Schiebereglers unter iOS, wobei im Grunde gesagt wird, dass Apple rät von der Verwendung dieser Art von Komponenten ab, und diese sich weigern, eine solche App im Store zu veröffentlichen.

Haben Sie Erfahrung mit solchen Benutzerszenarien? Oder haben Sie Erfahrung mit Apple weigert sich aus solchen Gründen, Ihre App zu veröffentlichen?

44
enn

In Bezug auf die Antwort, die Sie verlinkt haben, denke ich zunächst, dass Apple hatte ein Problem mit der Verwendung derselben Benutzeroberfläche wie die Folie zum Ausschalten, nicht die Verwendung dieser UX/Interaktion Ich möchte nur nicht, dass es so gestaltet ist, dass es dem Ausschalt-Schieberegler ähnelt, um die Benutzer nicht zu verwirren. Wenn Sie beispielsweise einen kleinen blauen Schieberegler oder einen Schieberegler erstellen, der sich in einem Kreismuster bewegt, wäre das in Ordnung.

Wenn Sie jedoch auf Nummer sicher gehen möchten, drücken Sie, um Folgendes zu drücken:

"press to hold"
Bildschirmaufnahme von der MapMyRun-App

In der GIF-Datei drückt ein Benutzer auf die Schaltfläche "Halten zum Beenden", wodurch ein Status von ungefähr 2 Sekunden "Finshing" ausgelöst wird, in dem ein Benutzer loslassen und die Aktion abbrechen kann, oder nach zwei Sekunden die Aktion, in diesem Fall "Finshing" ", löst aus. Es gibt eine visuelle Fortschrittsanzeige, die dem Benutzer anzeigt, dass er die Aktion ausführt und wie lange es dauert, bis die Aktion abgeschlossen ist. Sie können auch experimentieren, um die Zeit zu verlängern oder haptisches oder hörbares Feedback zu geben, um falsches Drücken zu verhindern. Dies entspricht auch Ihrem Bedürfnis, nirgendwo anders lesen oder klicken zu müssen.

43
DasBeasto

Um Geld in meiner Banking-App zu senden, muss ich ein Symbol in ein Ziel ziehen. Es ist schwierig, es versehentlich zu tun, aber schnell zu erreichen. Es kann für jemanden mit eingeschränkter Geschicklichkeit oder für jemanden, der abgelenkt ist, schwierig sein.

(enter image description here

35
jejorda2

Ich habe das nicht durchdacht, aber es könnte Meilen geben, wenn man das physische Äquivalent betrachtet. Bei vielen Bedienfeldern, z. B. in Kraftwerken oder Flugzeugen, haben die besonders gefährlichen Aktionen eine Schalterabdeckung, die angehoben werden muss, bevor der Knopf verwendet werden kann.

Mein Vorschlag ist ein Steuerelement, das sich normalerweise in einem "gesperrten" Zustand befindet und eine Aktion zum Entsperren ausführt (möglicherweise nur ein Druck auf dieses Steuerelement, möglicherweise eine Folie). Wenn es entsperrt ist, kann es verwendet werden. Wenn es nicht innerhalb einer angemessenen Zeit verwendet wird oder wenn zuerst ein anderes Steuerelement verwendet wird, "gleitet" die Abdeckung automatisch zurück.

Obwohl es funktional einer "Bestätigungs" -Taste oder einer Popup-Menü-Bestätigung entspricht, ist die Metapher etwas anders und kann in einer anderen visuellen Form dargestellt werden.

22
Toby Speight

Zusätzliche Ideen aus diesem Artikel: https://www.smashingmagazine.com/2018/01/friction-ux-design-tool/

  1. Verzögern Sie die Aktion und geben Sie den Benutzern eine Fensterzeit zum "Rückgängigmachen".
  2. Zusätzlicher Schritt für die Sicherheit, z. B. nach Fingerabdruck fragen
  3. Andere Arten der Authentifizierung, z. B. das erneute Abfragen des Kennworts oder die 2-Faktor-Authentifizierung.

Andere Artikel zum gleichen Thema:

13
Nicolas Hung

Reden wir User Flows & Navigation:

Benutzerabläufe sind eine Reihe von Schritten, die ein Benutzer unternimmt, um ein sinnvolles Ziel zu erreichen 1.

Von The Science of Great UI von Mark Miller - Wenn der Benutzer durch eine Aufgabe navigiert, kann der Pfad, den er dazu einnimmt, für jede Kontextverschiebung in einzelne Schritte unterteilt werden.

  • Pfad - Eine Reihe von Schritten, die zum Ausführen einer Aufgabe erforderlich sind
  • Schritt - Bemühen Sie sich, die Unteraufgabe abzuschließen

Und jeder Schritt hat zwei Eigenschaften:

  • Länge - Zeit bis zur Fertigstellung
  • Breite - Schwierigkeitsgrad.

Die Schwierigkeit kann unterteilt werden in:

  • Mentale Schwierigkeit - Erinnern an Informationen, Berechnungen, Entscheidungen
  • Physische Schwierigkeit - Erhöht sich mit Präzision
    • Siehe Fitts'sches Gesetz : Je kleiner ein Bereich ist, desto länger dauert es, einen Mauszeiger darauf zu bewegen Bereich.

Wenn Sie also die Navigation einfacher vereinfachen möchten, können Sie Folgendes tun:

  1. Anzahl der Schritte verringern - ex. Stadt automatisch füllen basierend auf Zip
  2. Schritte erweitern (einfacher machen) - ex. Erhöhen Sie die Tastengröße bei allgemeinen Aktionen
  3. Schritte verkürzen (Zeit reduzieren) - ex. Vorschläge zur automatischen Vervollständigung von Google
  4. Alternative Schritte hinzufügen - ex. Konto per E-Mail oder Telefon suchen

Wenn Sie dagegen die Navigation erschweren möchten , können Sie das Gegenteil tun:

  1. Anzahl der Schritte erhöhen - ex. "Bist du sicher" modaler Dialog
  2. Schmale Schritte (schwieriger machen) - ex. Zum Entsperren schieben, anstatt zu klicken
  3. Schritte verlängern (Zeit erhöhen) - ex. Benötigen Sie langes (zeitgesteuertes) Drücken anstatt zu klicken

Alle diese Tools stehen Ihnen zur Verfügung. Abhängig von Ihrem Anwendungsfall und der Schwere der Ausführung der falschen Aktion sowie der Schwierigkeit, den zuletzt bekannten guten Zustand wiederherzustellen, benötigen Sie möglicherweise eine beliebige Kombination.

Wenn der Alarm beispielsweise einen landesweiter Raketenalarm auslöst, möchten Sie möglicherweise viel mit Schwierigkeitsgrad, Zeit und informativem Inhalt einführen. Wenn Sie nur versehentliche Klicks aus den Taschen verhindern möchten, ist es wahrscheinlich ausreichend, die Schwierigkeit/Präzision zu erhöhen. Wenn Benutzer sich der Risiken beim Einstellen eines Alarms möglicherweise nicht bewusst sind, sollte die eingeführte Reibung eine Kopie enthalten, um sie zu informieren

Hier ist ein Beispiel von GitHub, das meiner Meinung nach den Schweregrad gut einführt

Reibung muss nicht gleich Frust sein , also fragen Sie Ihre Benutzer und holen Sie sich eine gute Telemetrie :)

Weiterführende Literatur : Entwerfen destruktiver Aktionen, die Datenverlust verhindern

5
KyleMit

Ich bin ein Fan von GitHubs Ansatz, bei dem Sie den Namen eines Repositorys als Bestätigung eingeben müssen, wenn Sie ein Repository löschen.

(enter image description here

Ihr Benutzer könnte aufgefordert werden, etwas wie "911" einzugeben, was aus Versehen sehr schwierig ist. Die Zeichenfolge kann an das Gebietsschema und den gewünschten Schwierigkeitsgrad angepasst werden.

0
tom