Dark Ages - l'age sombre de l'informatique

Note : Mise à jour probable de cet article dans un futur proche 

Voila, il serait temps qu'il y ai un article en rapport avec l'informatique sur ce site quand même.

Bon, ok j'y suis allé un peu fort avec le titre. Le sujet du jour c'est l'influence (*) de Microsoft sur l'experience utilisateur des logiciels.

 Mais bon … je viens de rendre un travail pour lequel j'ai fait l'erreur de travailler en partie sous Microsoft Word (version 2004 mac edition). J'ai pris quelques photos d'ecran en pensant bien fort à cet éventuel article.

 Cet article est à la portée de n'importe quel utilisateur occasionnel d'un ordinateur, ne fuyez pas ;). Par contre il est un peu long … mais pas trop barbant je pense

(*) : le site interactif : placez vous-même un adjectif terriblement péjoratif entre ces parenthèses.
 

Introduction  

Commençons par poser les bases. Je vais fortement critiquer Microsoft sur des points en relation avec "l'experience utilisateur", donc il faut mieux que je définisse ce terme. Ce concept représente la qualité de service l'application. Vous pouvez y ranger l'ergonomie,  le coté intuitif de l'interface (non ce n'est pas la même chose), mais aussi les "surprises" (quand le logiciel fait quelque chose que vous n'aviez pas demandé, que vous n'attendiez pas), voir les plantages (fiabilité) ou le niveau de sécurité.

 En gros cette "experience utilisateur" va définir la qualité de l'application et sa perception par l'utilisateur (vous, moi, tata Janine).

"La petite boite familiale"

C'est le surnom bourré d'ironie que donnent les informaticiens donnent à Microsoft.

Bon, je vous vois venir … pourquoi tant de haine envers cette entreprise ?

Principalement parce qu'elle détient plus de 90% du marché des systèmes d'exploitations (le logiciel qui sert à lancer tous les autres logiciels). Et ces 90% lui donnent une influence absolument gigantesque sur l'évolution du monde informatique.

Parlons-en de ce monde informatique justement. L'informatique personnelle à vue le jour à la fin des années 1970 - il y a un peu plus de 25 ans. Microsoft à dominé clairement ce marché depuis 1990 jusqu'à nos jours (au niveau des logiciels bien sûr) - et probablement pour encore quelques temps.

L'adoption de l'outil informatique par les masses s'est fait avec les produits de Bill Gates. Cela pour moi signifie que Microsoft à une très importante responsabilité sur l'éducation de masse des utilisateurs d'ordinateurs.

Et c'est bien de cela qu'il s'agit, d'éducation. L'ordinateur est quelque chose qui s'apprend, et pas du jour au lendemain.
C'est comme cela que des millions (milliards ?) de personnes utilisant pour la première fois un ordinateur ont été en contact avec un logiciel Microsoft.

Ce qui veux dire que tous ces gens vont avoir comme réference le comportement de ce type de produit. Sacré responsabilité non ?
Jusqu'à présent rien à reprocher à Billou … passons à quelques exemples concrets.

 

"J'ai dû faire une erreur"

 Voila ce que vont se dire la majorité des utilisateurs devant un comportement qu'il n'attendaient pas dans un logiciel. Et même si dans beaucoup de cas ce sera effectivement vrai, posez-vous cette question : qu'est ce qui aurait pu m'empecher de faire cette erreur ? Et on tombe sur un problème de conception de l'application, qui sont je le rappelle créées par des informaticiens. Et on ne peut pas leur faire confiance à ces gens là : croyez-moi j'en suis un.

Un logiciel, comme tout outil, requiert un apprentissage. Mais comme tout outil suffisament bien conçut, cet apprentissage peut-être réduit au minimum, et se reposer sur des concepts communs, acquis par l'utilisateur auparavant.


Conception, concept … vous avez remarqué ces mots là je les aimes bien. Ce n'est pas un hasard. Un logiciel est quelque chose qui relève de la pensée pure, pour le concevoir on se rapporte très souvent à des métaphores, des idées abstraites tirées de situation concrètes de la vie réelles : bref, des concepts connus.
De la même façon - et pour passer un bref instant dans le monde fabuleux de la programmation - une portion de code n'étant reliè a aucun de ces "concepts" utilisés pour l'analyse d'un logiciel va très probablement provoquer une erreur à un moment ou a un autre - c'est le risque d'écrire quelque chose qui n'a pas vraiment de sens.

Bon, j'ai l'impression de parler dans le vide avec mes notions abstraites … il est temps d'illustrer tout ça.

Microsoft Word

Et voila je m'attaque a un des logiciels les plus utilisés au monde.
Et c'est pour ça que je voulais écrire cet article : un des premiers logiciels que quelqu'un va apprendre à utiliser sur un ordinateur est d'une qualité d'utilisation minable.

Je tiens a préciser que ce dont je vais parler est valable pour Microsoft Word 2004 Mac edition, qui est réputé comme étant particulièrement soigné au niveau de son interface.

Vous avez dû le remarquer, j'écris cet article d'une traîte sans avoir structuré mon argumentation auparavant. Je vais donc probablement sauter du coq à l'âne de temps en temps.

 Commençons par le plus flagrant : Microsoft ne teste pas ses produits. Une accusation comme ça se prouve. Ok, allons-y, preuve en image :

Bug Error Reporter

 

Qu'est ce que c'est que ça ? C'est une fenêtre que vous obtenez sur Mac OS X quand vous désirez fermer une application qui a plantée (qui ne répond plus et a peu de chance de répondre un jour). Sauf qu'ici, l'application qui nous interresse, ce n'est pas vraiment Word. Car Microsoft inclus un second logiciel, qui permet de communiquer une erreur pour correction future : Microsoft Error Reporting. Seul petit soucis : cette application se lance, et se fige … l'application qui doit normalement permettre d'éviter les bugs, bug.

Ce genre d'application est de taille suffisament réduite pour que sa programmation soit triviale comparée au déboguage de l'application principale - ici Word. Donc Microsoft n'a vraisemblablement porté que peu d'attention au développement de ce produit.

 

Ce genre de chose est particulièrement tragique sur un système comme Windows (1.0 jusqu'à - a une moindre mesure - XP), quand le plantage d'une application peu avoir comme effet le plantage de toutes les autres.

 

Bon, je m'éloigne du sujet. Le but est de vous apprendre comment juger de la qualité d'utilisation d'une application comme Word.

Passons aux tableaux

Oui … aujourd'hui j'ai essayé de faire des tableaux sous Word.
Alors certains habitués vont me dire "mais des tableaux tu pouvais les faire sous Excel". Bon, commençons la leçon à ce point précis.

Excel, conceptuellement, sert à résoudre quel type de besoin ? C'est un logiciel de feuilles de calcul. En utilisant une grille de cellules, vous pouvez gerer des calculs complexes en mettant les cellules en relations les unes avec les autres.
Ce logiciel ne sert donc en aucune façon à faire des tableaux de texte ou de la mise en page.

 Là je sais que certains se sentent visés … revenez, je vous en veux pas, je vous comprends même tout à fait. Pourquoi faire des tableaux et de la mise en page sous Excel ? Parce que c'est tellement plus pratique et compréhensible que sous Word, qui, lui, est fait pour résoudre ce genre de problèmes.

D'abord, essayez de selectionner une cellule sous Word … Vous y êtes arrivé ? Je n'en serais pas si sûr à votre place :

Selection cellule 

Voilà ce que j'obtiens en faisant une opération de sélèction à la souris. Où est le problème ? Et bien visuellement Word m'indique que je n'ai pas selectionné les cellules, mais leur contenu ! Mais si, regardez bien, la cellule est définie par ses bordures, et la bordure n'est en aucun cas surlignée. Vous commencez à voir ce que j'entends par "concept" ?

Autre exemple (celui-là m'a fait perdre mon sang-froid je dois avouer).
Regardez comment mon tableau est composé : une grande colonne d'entête et plusieures sous-colonnes. Mon but pour l'opération suivante est d'inserer une colonne de plus à droite des sous-colonnes (donc elle doit se trouver à la droite de Number of tests failed, et sous Expected Results).
Pour cela, premiere chose, je selectionne les "cellules" de la sous-colonne la plus à droite. Ensuite il me faut demander cette opération à Word. Pour cela, premier reflexe (venant de l'usage d'autres applications), j'ai selectionné un ensemble d'"objets", sur lesquels je veux faire un opération. Donc j'effectue un clic-droit, de manière à afficher les actions disponibles sur ces objets. Première surprise, aucune option "Insérer colonne". Je me rabat donc sur la palette de mise en forme, et trouve l'opération rangée à la bonne place dans la section tableau.

Seconde surprise, le résultat :

 


Bon … pas vraiment ce que je voulais. Je constate avec horreur que Word a décidé à la dernière minute que j'avais très probablement voulu selectionné toute la colonne (cette case du haut n'était pas sélectionné). Et qu'est-ce que c'est que ce truc ? Rappellez moi ce que tout être humain normal appelle un tableau … je suis sûr que ça n'inclus pas des cases flottantes sans aucune contraintes les unes avec les autres …

Ok, j'espère que vous saisissez le message.

Un mot des boites de dialogues

Les boites de dialogues sont toutes ces petites fenêtres, autre que le document lui-même et qui vous demandent en général des actions, des confirmations, etc … 

J'ai évoqué la palette de mise en forme. Celle-ci est une voie standard pour effectuer des actions sur le document. Elle a la bonne idée, et c'est le genre de choses que je veux voir, d'utiliser les capacités de Mac OS X en devenant translucide lorsque l'on ne l'utilise pas :

 

Bon, certains qui auront compris mon point de vue vont me dire "ok, c'est joli, mais conceptuellement parlant …" et bien conceptuellement parlant c'est très bon : cette fenêtre vous apporte des actions à effectuer sur votre document, et dans certains cas elle peut se trouver par dessus celui-ci. Auquel cas la transparence vous permet d'éditer votre document en observant directement les effets sur celui-ci ! Ah … il y a un problème. Quand j'utilise la palette ma souris et dessus … donc pas de transparence …

Mais il y a de l'idée. D'ailleurs une idée très bien réalisée par Apple avec le concept de HUD (=Affichage Tête Haute, comme dans les avions de chasse) :

 

Ici la fenêtre reste semi-transparente, tout en permettant de complexes manipulation de la photo appliquées en temps réel.

Ok, parlons-en de ce que je viens d'appeler (par abus de langage) "temps réel". Dans l'exemple ci-dessus, si vous cliquez sur les ajustements ou les effets présentés dans ces "HUDs", la modification va se faire instantanément, et vous pourrez ainsi directement approuver, ou annuler.

Ce n'est plus vrai pour cette version, mais il n'y a pas si longtemps dans Word (avant la palette de mise en forme), pour modifier une police de caractères, vous deviez passez par ce qu'on appelle dans notre jargon (conceptuellement bien sûr ;)), une fenêtre de dialogue modale. Tout est dans le mot "modal". Cela veut dire que la fenêtre bloque tout autre utilisation de l'application jusqu'à ce que vous répondiez a sa demande.
L'exemple le plus commun est la demande de confirmation d'effacement, ou l'ouverture/enregistrement d'un document. Mais est ce qu'un changement de police est suffisament critique pour justifier cette prise d'otage ?
D'un point de vue pratique maintenant : pour changer d'avis ou essayer plusieurs polices, il vous fallait repasser par le menu et redemander cette fenêtre … je sais pas vous mais je n'ai personnelement pas tant de temps à perdre.

Modal Window

 

Ci dessus la fenetre modale de changement de style de paragraphe : notez la necessité de l'aperçu pour palier à ce que j'ai décrit. Ne serait-il pas plus simple d'observer l'effet directement sur le texte que vous modifiez ? Notez aussi que le menu "Format" reste surligné, signe que l'action est toujours en cours et necessite une validation de votre part - en langage clair vous ne pouvez pas naviguer dans votre document.

Dans d'autres applications, plus récentes certes (je pense à Apple Pages, mon éditeur de texte/mise en page préferé), tous les changements se font instantanément, de manière à ce que l'utilisateur puisse tout de suite voir les éventuelles erreurs et réagir.

Dernière chose à propos de ces fenêtres. Revenons à notre chère palette de mise en forme. Elle est organisée sous forme de catégories que l'on peut déplier pour afficher les différentes actions possibles. La fenêtre adapte alors sa taille au contenu.

Voilà le résultat :

Oops

 
Ce qu'il faut voir sur cette image est que la palette disparaît en bas de l'écran. Je ne critiquerait pas trop cette décision, car elle est dure à prendre. Considerez les alternatives : dans le cas de Pages, ces catégories sont gérées par des onglets, ce qui réduit la taille maximale de la palette (considération pratique interressante quand elle doit survoler le document). Cependant, dans ce cas, l'utilisateur ne peut pas avoir deux catégories visibles en même temps. Ce que l'on gagne d'un coté, on le perd de l'autre. Pas facile le métier de dévelopeur …

Si je ne veux pas m'attarder sur ce "problème", c'est aussi parce qu'il est bien geré à la base : quand vous ouvrez une catégorie, la fenêtre va modifier sa position pour éviter de disparaitre vers le bas de l'écran. Mieux encore, quand vous la réduisez, la fenêtre tente d'abord de s'étendre vers le haut (ou elle ne peut pas dépasser le bord de l'écran).

Et c'est la dessus que je fermerais cet article, qui en appelera peut-être d'autres par al suite : une application doit avoir le comportement qu'en attends son utilisateur (dans la mesure du possible), et chaque détail doit être justifiable. C'est valable en programmation comme dans la vie : ce que vous faites, vous devez le faire pour une raison précise, si vous ne pouvez pas répondre à la question "pourquoi ça fonctionne comme ça ?", vous devez reprendre le concept.

Quel rapport avec le début, l'experience utilisateur et l'apprentissage ? Si quelque chose est pensé de manière naturelle, l'utilisateur ne se rendra même pas compte qu'il apprend à se servir d'un nouvel outil. Combien de fois ai-je dit à un utilisateur Mac qui me demandait comment faire quelque chose "t'as essayé le glissé déposé ?", et combien de fois ce simple concept, on ne peut plus naturel - prendre un objet et le déposer sur un autre pour provoquer une action par exemple - a réglé le problème.

J'aimerais beaucoup que ces braves gens de chez Microsoft travaillent selon ces idées… (spéciale dédicasse au nouveau Windows, Vista, qui sort très bientôt et agrémente ces logiciels de faible qualité avec une interface particulièrement esthétique).

 

A bientôt

Back