Cet ouvrage est une véritable ode à la simplicité. Alors qu'il est étonnamment facile de faire des interfaces totalement bloated, c'est tout un art de rester simple et de ne concentrer l'attention de l'utilisateur que sur une seule tâche à la fois dans un web qui laisse toujours plus de choix. C'est ce qu'enseigne Designing the obvious, je ne vais pas résumer tout le livre mais concentrons-nous sur les points intéressants.
Formulaires et erreurs
J'ai beaucoup aimé les réflexions sur les formulaires qui tentent de réduire au maximum les erreurs possibles. C'est tout simple mais le seul fait de désactiver les boutons tant que les champs requis ne sont pas complétés ou offrir des choix qui ont du sens par défaut ne coûte quasiment rien mais peu apporter un avantage réel à l'utilisation.
Intitulés poka-yoke, ces dispositifs (appelés détrompeurs en français) diminuent la frustration d'un utilisateur lorsqu'il utilise une application. L'auteur insiste bien sur le fait que l'utilisateur n'est pas un geek, il n'est pas en train de tester votre application pour le plaisir ou sa culture, il a un besoin qu'il souhaite satisfaire le plus rapidement possible pour pouvoir passer à autre chose. C'est la base mais il est bon de se la rappeler, souvent.
Je n'ai toujours pas d'avis tranché sur la question de la validation à la volée des champs d'un formulaire (souvenez vous, Amélie Boucher était contre), par contre il faudrait que je trouve une méthode pour automatiser ça avec Django, je pense que ça pourrait être bien pratique selon les cas, pas évident de rester RESTful là-dessus... j'avais commencé à réfléchir à des solutions à base de PATCH mais ça reste un peu du bricolage pour l'instant.
Apprentissage et aide
Je n'avais jamais envisagé ça sous cet angle mais l'auteur explique que l'aide n'est utile qu'aux experts qui souhaitent aller encore plus loin. Elle est donc loin d'être inutile mais doit être adaptée à ce lectorat qui connaît déjà l'application. Les débutants ne lisent pas l'aide, c'est une fatalité (par contre ils peuvent vraiment cliquer sur n'importe quoi...).
D'un autre côté, ils ont besoin de retours pertinents et doivent être sûrs de ne pas effectuer d'actions destructrices irrémédiables. Ça m'a donné envie de me replonger dans la solution d'annulation que j'avais intégré pour Django. C'est pénible lorsque ça tape sur plusieurs modèles pour faire les choses proprement mais ça apporte un plus non négligeable.
J'ai bien aimé aussi la façon d'expliquer qu'un utilisateur a une façon de penser qui peut totalement différer de celle avec laquelle vous avez conçu une application.
Réflexions ergonomiques
Je suis de plus en plus convaincu que l'interface de l'iPhone avec ses « listes slidantes » a son rôle à jouer au niveau du web pour parcourir des arborescences afin de remplacer les habituelles tree-views (l'auteur suggère de passer plutôt par plusieurs select multiple mais l'iPhone n'était pas encore sorti il me semble). Il faut que je moleskine encore un peu avant de pouvoir accoucher :-).
L'ergonomie, au même titre que les contenus, doit faire partie intégrante du processus de développement d'une application. C'est un domaine trop souvent sous-estimé qui ne devrait pas l'être puisqu'il influe directement sur la satisfaction de votre utilisateur.
Les applications qui marchent sont les plus simples, on ne va plus faire des usines à gaz permettant de tout faire mais bien des applications de niche qui pourront ensuite être liées entre elles. Et c'est là où le Web Sémantique prend tout son sens, il faut absolument que je prenne le temps de développer cette notion d'horizontalité (vers laquelle tend le monde par ailleurs mais c'est un autre débat).
Au final je vais sûrement me laisser tenter par Designing the moment, des avis sur celui-là ? (j'ai peur qu'il y ait pas mal de redites par rapport au premier, encore qu'il s'agit d'études de cas ça devrait limiter les dégâts).
Commentaires
Arthur Rainbow le 08/10/2008 :
Je me permets de vous conseiller dans le même genre:
Je ne veux pas chercher, principalement pour les sites internet (titre original: don't make me think)
ainsi que
"design of everyday things" qui a au moins l'avantage de totalement déculpabilisé le lecteur de ne jamais savoir si il faut tirer ou pousser une porte, et qui s'applique après ça aux ordis.
Un cours sur ce sujet est offert à l'université de Montréal (et au MIT, mais j'y suis pas), je pense que, en dehors des sciences, c'est un sujet qui a eu une des plus grandes valeurs ajoutés pour moi.
Rik le 08/10/2008 :
Si je me rappelle bien ce que disait Amélie (j'étais en train de finir ma présentation...), c'était que la validation à la volée était bénéfique mais qu'il fallait faire attention car il est très facile de se tromper. Dans le cas de Remember the milk, le champ signale une erreur trop tôt.
La plupart des validations de ce genre n'ont pas besoin de requête HTTP d'ailleurs, juste quelques règles, regexp suffient en général. Au passage, vivement que Web Forms 2 (dans HTML5) soit plus largement implémenté parce que required, pattern, datalist, c'est juste terrible.
Pour illustrer le fait que les utilisateurs pensent différemment, je vais prendre le cas de Skyrock (que je connais un peu). On permet aux utilisateurs de trier une liste d'amis. On pensait qu'ils mettraient leurs préférés en premier. Et bien certains s'en servent pour que cette liste dessine une forme. Du genre un triangle avec les pseudos du plus long au plus court.
Pour les "listes slidantes" de l'iPhone, il y avait déjà un concept similaire avec le Finder.
Faut que je fasse les courses pour la bibliothèque de la boîte... Je pourrais stocker ça dans une ouicheliste...
florence meichel le 08/10/2008 :
Jolie réflexion et moment fort d'auto-apprentissage autour d'un livre ! Merci de le partager avec nous ! :-)
dominique le 21/10/2008 :
Oui, je conseille aussi Don't make me think. C'est un livre qui peut surprendre car la simplicité est parfois mal vue de ce côté-ci de l'Atlantique. On privilégie souvent le beau côté du web au lieu de se focaliser sur l'efficacité et l'expérience de l'utilisateur.
Thomas de blog webmarketing le 24/10/2008 :
je confirme la qualité du livre don't make me think.
en plus il a l'avantage de se lire très vite.
Paul | Riad Marrakech le 08/11/2010 :
Merci de partager ce livre. L'ergonomie est un élément très important dans le développement et pour ma part je pense que c'est l'un des points majeurs qui permettent de différencier une application médiocre d'une application bien exécutée. Aussi, le lien vers l'étude qui montre que les utilisateurs peuvent cliquer sur n'importe quoi est très intéressante. Je savais qu'il y avait beaucoup d'utilisateurs crédules mais pas à ce point. C'est bon à savoir :)