web-dev-qa-db-fra.com

Comment concevoir la friction dans une application iOS pour éviter toute action accidentelle?

Je conçois une application pour iOS où je dois empêcher l'utilisateur de déclencher involontairement une alarme (l'action d'appeler en urgence doit être facilement accessible, mais en même temps, elle doit empêcher tout déclenchement accidentel).

Je ne veux pas utiliser une boîte de dialogue de confirmation car elle oblige l'utilisateur à lire et à rechercher un bouton dans une position différente (cela semble être trop de friction de l'autre côté).

Utiliser un bouton d'action `` glisser vers '' m'est apparu au départ comme une bonne idée, similaire à ce qui était/est utilisé pour déverrouiller un écran d'iPhone, mais j'ai ensuite rencontré ce sujet: - Création d'une "diapositive pour éteindre" comme un curseur sur iOS, en disant essentiellement que Apple décourage l'utilisation de ces types de composants, et ils refuser de publier une telle application dans la boutique.

Avez-vous une expérience avec ce type de scénarios utilisateur? Ou avez-vous de l'expérience avec Apple refusant de publier votre application pour de telles raisons?

44
enn

Tout d'abord, en ce qui concerne la réponse que vous avez liée, je pense que Apple avait un problème avec est l'utilisation de la même interface utilisateur que leur diapositive pour éteindre, pas l'utilisation de cette UX/interaction. Ils ne veulent tout simplement pas qu'il soit stylisé pour ressembler à leur curseur de mise hors tension afin de ne pas dérouter les utilisateurs. Si vous deviez créer, disons, un petit curseur bleu ou un curseur qui se déplace dans un cercle, je pense que vous iriez bien.

Cependant, si vous voulez jouer en toute sécurité, qu'en est-il de la presse pour maintenir comme ceci:

"press to hold"
Enregistrement d'écran depuis l'application MapMyRun

Dans le .gif, un utilisateur appuie sur le bouton "hold to finish", qui déclenche un état "finshing" d'environ 2 secondes où un utilisateur peut lâcher prise et annuler l'action, ou après deux secondes l'action, dans ce cas "finshing" ", déclenche. Il y a un indicateur de progression visuel pour montrer à l'utilisateur qu'il exécute l'action et combien de temps jusqu'à la fin de l'action. Vous pouvez également expérimenter en augmentant le temps ou en fournissant un retour haptique ou audible pour éviter les fausses pressions. Cela répond également à votre besoin de ne pas avoir à lire ou à cliquer ailleurs.

43
DasBeasto

Pour envoyer de l'argent dans mon application bancaire, je dois faire glisser un symbole dans une cible. C'est difficile à faire accidentellement, mais rapide à accomplir. Cela peut être difficile pour une personne ayant une dextérité limitée ou une personne distraite.

enter image description here

35
jejorda2

Je n'ai pas réfléchi à cela, mais il pourrait y avoir un kilométrage à considérer l'équivalent physique. Sur de nombreux panneaux de commande, comme dans les centrales électriques ou les avions, les actions particulièrement dangereuses ont un couvercle d'interrupteur qui doit être soulevé avant que le bouton puisse être utilisé.

Ma suggestion est un contrôle qui est normalement dans un état "verrouillé", et prend une action pour le déverrouiller (peut-être juste une pression sur ce contrôle, peut-être une diapositive). Lorsqu'il est déverrouillé, il peut être utilisé; s'il n'est pas utilisé dans un délai raisonnable, ou si un autre contrôle est utilisé en premier, le couvercle "glisse" automatiquement.

Bien qu'elle soit fonctionnellement équivalente à un bouton "confirmer" ou à une confirmation de menu contextuel, la métaphore est quelque peu différente et peut être présentée sous une forme visuelle différente.

22
Toby Speight

Idées supplémentaires de cet article: https://www.smashingmagazine.com/2018/01/friction-ux-design-tool/

  1. Retarder l'action et laisser une fenêtre aux utilisateurs pour "annuler"
  2. Étape supplémentaire pour la sécurité, comme demander une empreinte digitale
  3. D'autres types d'authentification tels que la demande de mot de passe ou l'authentification à 2 facteurs.

Autres articles traitant du même sujet:

13
Nicolas Hung

Parlons Flux utilisateur et navigation :

Les flux d'utilisateurs sont une série d'étapes qu'un utilisateur prend pour atteindre un objectif significatif 1.

De The Science of Great UI par Mark Miller - Lorsque l'utilisateur navigue dans une tâche, le chemin qu'il emprunte pour l'accomplir peut être divisé en étapes individuelles pour chaque changement de contexte.

  • Chemin - Ensemble d'étapes nécessaires pour terminer une tâche
  • Étape - Effort pour terminer la sous-tâche

Et chaque étape a deux propriétés:

  • Longueur - Temps nécessaire pour terminer
  • Largeur - Quantité de difficulté à compléter.

La difficulté peut être décomposée en:

  • Difficulté mentale - Se souvenir des informations, calculs, décisions
  • Difficulté physique - Augmente avec précision
    • Voir Loi de Fitts : plus la taille d'une zone est petite, plus il faut de temps pour déplacer le curseur de la souris région.

Donc, si vous voulez rendre la navigation plus facile , vous pouvez faire ce qui suit:

  1. Diminue le nombre d'étapes - ex. Remplissage automatique de la ville basé sur Zip
  2. Elargir les étapes (rendre plus facile) - ex. Augmentez la taille des boutons sur les actions courantes
  3. Raccourcissez les étapes (réduisez le temps) - ex. Suggestions de saisie semi-automatique de Google
  4. Ajouter des étapes alternatives - ex. Trouver un compte par e-mail ou par téléphone

En revanche, si vous souhaitez rendre la navigation plus difficile , vous pouvez faire le contraire:

  1. Augmentez le nombre d'étapes - ex. Boîte de dialogue modale "Êtes-vous sûr"
  2. Étapes étroites (rendre plus difficile) - ex. Faites glisser pour déverrouiller plutôt que de cliquer
  3. Allonger les étapes (augmenter le temps) - ex. Exiger une pression longue (chronométrée) plutôt qu'un clic

Donc, tous ces outils sont à votre disposition, et selon votre cas d'utilisation et la gravité de l'exécution de la mauvaise action et la difficulté de restaurer le dernier bon état connu, vous pourriez avoir besoin de n'importe quelle combinaison.

Par exemple, si l'alarme déclenche une alerte de missile nationale , vous voudrez peut-être introduire beaucoup de difficulté, de temps et de contenu informatif. Si vous voulez simplement éviter les clics accidentels dans les poches, l'augmentation de la difficulté/précision est probablement suffisante. Si les utilisateurs ne sont pas conscients des risques de déclencher une alarme, la friction introduite doit inclure une copie pour les informer

Voici un exemple de GitHub qui, je pense, introduit bien la gravité

La friction ne doit pas être égale à la frustration , alors demandez à vos utilisateurs et obtenez une bonne télémétrie :)

Lectures complémentaires : Comment concevoir des actions destructives qui empêchent la perte de données

5
KyleMit

Je suis fan de l'approche de GitHub où vous devez taper le nom d'un référentiel comme confirmation lors de la suppression d'un référentiel.

enter image description here

Votre utilisateur pourrait être invité à taper quelque chose comme "911", ce qui est très difficile à faire accidentellement. La chaîne peut être ajustée pour les paramètres régionaux et la difficulté souhaitée.

0
tom