Les interfaces graphiques des applications sont le point d’entrée des utilisateurs avec le système d’informations, il est donc crucial d’y apporter un soin particulier afin de fournir une expérience utilisateur de qualité. Sensibiliser un maximum de personnes avec la notion d’utilisabilité est donc précieux (développeur, chef de projet, product owner, etc.).

Tout d’abord, l’utilisabilité implique deux choses : l’utilisateur et la fonction. Le schéma ci-dessous illustre ce qui est attendu d’une fonction et le bénéfice pour l’utilisateur pour au final aboutir à une bonne utilisabilité :

La facilité d’apprentissage et d’appropriation de l’interface d’une fonction est également un critère important notamment pour les applications grand public (exemple : les iphones et les enfants qui assimilent l’interface de façon déconcertante).

Ceci étant posé voici quelques principes non exhaustifs favorisant une bonne utilisabilité.

Comment accéder aux fonctions ?

  • Bonne visibilité des fonction pour l’utilisateur :
    • Emplacement sur l’écran : l’emplacement doit suivre le parcours naturel de la page (depuis le haut et la gauche pour les lecteurs occidentaux)
    • Nature (bouton, lien)
    • Format (couleur, graisse)
    • et surtout Terminologie : chaque fonction est nommée en terme de tâche utilisateur et d’effets avec notamment un nommage « verbe + complément » afin de clarifier l’intention de l’action invoquée. Idéalement, ce verbe et ce complément d’objet sont bien sûr à extraire de l’ubiquitous langage issu d’une approche DDD.
  • Hiérarchiser l’accès aux fonctions : les plus visibles sont les plus fréquentes ou les premières  effectuées
  • Cacher les fonctions avancées destinées aux utilisateurs expert : tout ne peut pas être visible tout le temps

La fonction est elle facile à utiliser ?

  • Minimiser le nombre d’actions à réaliser pour atteindre l’objectif(nombre de clics, nombre d’écrans, etc.)
    • L’ordre de l’objectif jusqu’au feedback sur son atteinte est le suivant : Objectif -> Intention -> Actions/Feedback. Exemples :

– « Objectif : Allumer la lumière » -> « Intention : Actionner l’interrupteur » -> « Actions : trouver l’interrupteur, se lever, marcher, actionner l’interrupteur, Feedback : vérifier le fonctionnement, marcher, se rasseoir »

– « Objectif : Allumer la lumière » -> « Intention : Demander à une personne » -> « Actions : parler »

    • Si possible, établir un lien direct entre l’objectif et l’action.
  • Le « feedback » est essentiel pour toutes les actions réalisées. Quels retours du système me permettent de vérifier que mes actions se sont bien réalisées ? Le lien avec le « then » du Behavior Driven Development est ici évident pour moi, chaque « then » d’un scénario de test doit avoir sa correspondance en terme d’interface graphique. Le cercle vertueux de la mise en place du BDD prend ici toute sa dimension puisque cette approche peut avoir des impacts positifs sur le niveau d’utilisabilité de l’application.
  • Optimiser la prise d’informations et de décision en présentant des informations précises et brèves
  • Guider l’utilisateur par des messages explicites (erreurs) et implicites (affichage, couleurs, etc.)
  • Homogénéiser l’interface : couleurs, format, emplacement des éléments, etc.
  • Maximiser la lisibilité (bloc, données) et la terminologie employée (le nommage des commandes reflète leurs effets)
  • Distinguer données en lecture (texte, graphique) et fonctions actionnables (bouton, lien)
  • Proposer des raccourcis clavier pour les utilisateurs expérimentés
  • Faciliter le travail de l’utilisateur (pré-saisie de certains champs, valeurs par défaut, auto-complétion)
  • Robustesse : toute décision de l’utilisateur doit être réversible (et cela renvoie au principe de symmétrie dans la conception : do/undo, débit/crédit, +/-, etc.), les erreurs doivent toujours être localisables, compréhensibles et corrigeables. Cela facilite la satisfaction de l’utilisateur.

Liens pour aller plus loin

Voici les ouvrages ou sites que je trouve très intéressants pour découvrir l’utilisabilité :

  • Donald Norman « The design of everyday things » : sur les fondamentaux de l’utilisabilité dans la vie de tous les jours
  • Steve Krug « Don’t make me think » : l’utilisabilité appliqué aux sites web (et applications)
  • Useit : la référence en terme d’utilisabilité par Jakob Nielsen, gourou américain de l’utilisabilité
  • Ergolab : en français, beaucoup de ressources d’excellentes qualités
  • Balsamiq Mockup : excellent outil que je recommande pour réaliser rapidement des sketch d’écrans en complément des scénarios métiers (à la façon BDD bien sûr…:-)).

Pour élargir le champ de l’utilisabilité à l’expérience utilisateur globale que peut avoir un personne avec un service (et incluant du logiciel, l’inverse étant très rare de nos jour) je recommande l’ouvrage « This is service design thinking » et l’article « Principes de design d’une interface graphique » de l’ami Yannick Grenzinger. Cet article illustre bien que l’utilisateur et la compréhension des ses tâches et les objectifs sous-jacents doivent être au centre de la conception d’une interface graphique.

Commentaire

  1. Je viens de découvrir ton article ! bien sympa et merci pour la citation 😉
    Il y a tellement de choses à dire la dessus !
    Tu as aussi lu This is service design thinking ? A quand un bar camp / user group autour de l’expérience utilisateur ou plutôt de la vrai prise en compte du besoin dans les projets informatique ?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Voir plus
scroll to top