J'essaie de concevoir des applications qui soient robustes face aux accidents -- qu'il s'agisse de dérapages (opérations involontaires, comme cliquer au mauvais endroit) ou d'erreurs (erreurs cognitives, comme cliquer sur Ok au lieu d'Annuler dans une boîte de dialogue). Voici quelques moyens d'y parvenir :
- annuler / refaire à l'infini (ou du moins en plusieurs étapes)
- intégrer la documentation à l'interface, par le biais d'infobulles dynamiques et d'autres moyens de communication sensibles au contexte (Un article particulièrement pertinent concerne Surprendre, expliquer, récompenser". (lien direct : SER ) -- utiliser les réactions psychologiques typiques à un comportement inattendu pour informer les utilisateurs)
- Incorporer l'état du système dans ladite documentation (utiliser les données de l'utilisateur actuel comme exemples, et rendre la documentation concrète en utilisant des données qu'ils peuvent voir à l'heure actuelle )
-
Attendez-vous à erreur de l'utilisateur. S'il y a un risque que quelqu'un essaie d'écrire sur un:\ alors qu'il n'y a pas de disque en place, mettez en place un délai d'attente pour que le système puisse échouer avec élégance, et demandez un autre emplacement. Sauvegardez les données en mémoire jusqu'à ce qu'elles soient sécurisées sur le disque, etc.
Cela se résume à deux choses essentielles : (1) Programmer de manière défensive, et (2) Tenir l'utilisateur aussi bien informé que possible. Si l'interface du système est facile à utiliser et se comporte conformément aux attentes de l'utilisateur, il est plus probable que celui-ci connaître quel bouton cliquer lorsqu'une boîte de dialogue ennuyeuse apparaît.
J'essaie aussi très, très fort d'éviter tout ce qui est modal, donc les utilisateurs peut ignorent la plupart des dialogues que je dois utiliser, du moins pendant un certain temps (et quand ils doivent vraiment y prêter attention, ils ont suffisamment d'informations pour savoir quoi en faire).
Il est impossible de rendre un système complètement infaillible, mais j'ai constaté que les techniques ci-dessus vont dans la bonne direction. (et elles ont été intégrées dans les systèmes utilisés pour développer Surprise Explain Reward et d'autres outils qui ont été validés par des études approfondies auprès des utilisateurs).