Le syndrome du développeur
Je rencontre souvent chez mes confrères développeurs une manie que j’ai pris l’habitude d’appeler le syndrome du développeur. Cette manie consiste à restituer des données telles qu’elles sont à la source. J’appelle ça le syndrome du développeur, mais je pourrais appeler ça le syndrome du technicien, car ce n’est clairement pas limité à cette catégorie professionnelle, et encore moins à l’informatique. Laissez-moi vous donner des exemples.
Dans les toilettes de mon boulot, les robinets du lavabo sont arrangés comme ci-dessus (cette photo a été prise par Kev Adams, ce qui me rends un peu triste et honteux d’être tombé dessus et de m’en servir comme exemple). Cette disposition n’est évidemment pas du tout pratique à utiliser. Mais il n’est pas difficile d’imaginer pourquoi ça a été installé ainsi : un tuyau d’eau chaude et un tuyau d’eau froide en entrée, un robinet pour l’eau chaude et un robinet pour l’eau froide en sortie.
Pour améliorer ça, il semble donc évident de devoir se séparer d’un robinet, pour n’avoir qu’une seule sortie d’eau. Mais là encore, les différentes installations qu’on croise dans notre quotidien sont loin d’être parfaites.
Une première solution consiste à conserver deux robinets mais une seule sortie d’eau (ci-dessous à gauche). Mais là encore, il s’avère difficile de jauger et d’ajuster la température. La meilleure solution est d’utiliser un robinet ajustable, permettant de contrôler très facilement le débit et la température de l’eau (ci-dessous à droite).
Si je vous parle de robinetterie, ce n’est pas à cause d’une soudaine passion naissante pour la plomberie. Mais c’est parce que je rencontre exactement le même genre de problèmes partout sur le web. A chaque fois, une donnée enregistrée est restituée telle quelle ou presque, sans chercher à savoir si elle est pertinente pour l’internaute.
Un exemple courant concerne l’affichage de dates. La solution la plus facile et la plus courante pour un développeur, c’est d’afficher une date au format « JJ/MM/AAAA HH:MM ». Cette solution semble naturelle, mais s’avère dans bien des cas complexe à comprendre pour l’internaute. Par exemple, en me connectant à mon compte Last.fm, je découvre les morceaux que j’ai récemment écoutés et qui ont été ajoutés à ma bibliothèque.
C’est bien, mais ça ne m’avance pas à grand chose. « C’est qui ces groupes ? Quand est-ce que j’ai écouté ça ? Le 9 mai, c’était quand ça ? Et est-ce que la chanson de Gary Wright parle du logiciel d’Adobe ? »
En allant dans ma bibliothèque, je découvre une présentation différente des dates, beaucoup plus pratique.
« Ah, c’était mercredi après-midi. Donc c’est surement ma copine qui a allumé mon ordi et qui a lancé des playlists. » Oh, et la chanson Dream Weaver, c’est dans la B.O. de Wayne’s World.
Un autre exemple que je croise souvent sur le web, ce sont les lignes panier des sites e-commerce. Le but d’une page panier, c’est de présenter les informations importantes de tous les produits, et de permettre certaines actions (suppression, modification de coloris/taille/quantité). Voici un magnifique exemple chez La Redoute.
Essayez de distinguer facilement les 3 maillots de bain que vous venez d’ajouter à votre panier. Le visuel n’est pas assez grand pour distinguer quoi que ce soit. Et les libellés des produits ont tous été tronqués et sont quasiment identiques. Admirez également au passage la très utile colonne « Offre spéciale ».
Vous pouvez très bien mettre en ligne un site tout à fait correct rempli des symptômes du syndrome du développeur, tout comme il est courant de rencontrer des robinets comme dans mon premier exemple. Mais si vous réfléchissez à ce qui est mieux pour l’utilisateur, vous apporterez une meilleure expérience utilisateur. Et ce travail, ce n’est pas qu’au développeur ou à l’intégrateur de s’en préoccuper, mais aussi et surtout au chef de projet et au graphiste.