|
|
|
| Cette première partie se préoccupe de dégager les caractéristiques de tout logiciel et en particulier son rapport avec l'utilisateur. Ces 4 premiers chapitres révèlent l'importance de l'utilisateur pour qui le logiciel devrait être conçu. |
|
DéfinitionsLa création d'un logiciel ne s'improvise pas et la planification requise correspond à des paramètres dictés par les besoins de l'utilisateur. Sont-ils toujours respectés?L'auteur nous dit: "La technologie est un moteur qui mène le design d'interface. Cette situation est délicate puisque cette technologie a à la fois le pouvoir de nous libérer pour nous permettre l'invention et en même temps nous lie à des façons de penser qui ne nous sont pas naturelles. La plupart des problèmes de design d'interface utilisateur modernes viennent de personnes compétentes, intelligentes et bien intentionnées se penchant sur les mauvais problèmes."Cooper rejoint ici Donald Norman lorsque ce dernier rapporte comment il est souvent demandé à l'humain de s'adapter à la technologie alors que l'inverse devrait prévaloir. En particulier dans le design d'interface, c'est la satisfaction des besoins humains qui devraient être visé. Les buts de l'utilisateur ne sont pas toujours ceux que le design d'interface a prévu. Ainsi alors que les premiers sont de s'assurer une réalisation efficace et rapide de la tâche à accomplir il est possible que l'utilisateur d'un logiciel de bureautique soit plus préoccupé de Les interfaces utilisateur semblent parfois se spécialiser dans la création de situation où l'utilisateur est dénigré ou ridiculisé. Combien de fois ne lui est-il pas adressé des messages auquel il ne peut rien changer ou même qui ne le regardent pas. Des messages que le programme devrait plutôt s'envoyer à lui-même ou même régler en silence s'il avait un tant soit peu d'intelligence. Le but de tout design d'interface devrait être de rendre l'utilisateur efficace en fonction des buts qu'il se fixe. L'auteur propose que soit offert à l'utilisateur des boîtes de dialogues dirigés vers les buts plutôt que vers la tâche. L'illustration suivante représente une telle boîte de dialogue.
boîte de dialogue fictive illustrant
| |
Design d'interfaceUn programme informatique peut facilement contenir, en cours de développement, 40,000 lignes de code, sans compter les appels à d'autres programmes ou librairies déjà compilées qui peuvent compter quelques milliers de lignes supplémentaires. Le chiffrier Excell compte 1,000,000,000 de lignes de codes des milliers de variables, de conditions qui peuvent être comparées à des pièces mobiles dans le monde de l'industrie. Un avion supersonique, en comparaison doit compter environ 10,000 pièces et seulement 1,000 pièces mobiles.Parce que ceux qui font les programmes sont les mêmes que ceux qui les dessinent, il y a un conflit d'intérêt difficile à résoudre. L'architecte n'est pas celui qui construit la maison. Il dessine les plans pour le client et son travail est de le satisfaire. La construction de la maison représentée par les plans sera par la suite confiée aux entrepreneurs spécialisés qui verront à choisir les meilleurs matériaux. En comparaison, le design d'interface est une discipline qui se cherche encore. Cette discipline naissante s'abreuve à trois principales sources:
| |
ModèlesComputer litteracy signifie quelque chose comme la culture de l'ordinateur, la connaissance du comportement fonctionnel de l'ordinateur. Selon l'auteur, ce terme n'est rien de plus qu'un euphémisme désignant l'effort demandé à l'utilisateur pour utiliser un outil de l'âge de l'information alors qu'on serait en droit de s'attendre à un effort de la part de l'outil pour servir l'utilisateur.Partant de ce postulat, l'auteur identifie trois types de modèles possibles pour la représentation d'un outil technologique: Un projecteur de cinéma, pour projeter le film à l'écran, utilise une série compliquée d'opérations requérant le passage de la pellicule à l'intérieur de divers engrenages pour en exposer un cadre à la fois à la lumière une fraction de seconde. Il passe ainsi 24 cadres par seconde devant le faisceau lumineux qui est alors agrandi sur l'écran pour permettre au spectateur le visionnement de ce qui semble être un mouvement continu. La façon dont fonctionne une machine constitue son modèle opérationnel qu'on dira ici fonctionnel. Pour le spectateur, la connaissance de ce modèle n'est pas requise et souvent inutile. Pour ce spectateur, absorbé dans la compréhension du film, le projecteur n'est rien de plus que le faisceau lumineux lui-même portant les images mouvantes. On parlera du modèle du spectateur comme d'un modèle conceptuel ou mental. La plupart du temps, ce modèle mental est tout à fait adéquat. Il est suffisant de penser, lorsqu'on utilise un grille-pain ou tout autre appareil ménager, que le courant électrique est amené à l'appareil par le fil électrique connecté à la prise murale. Le fait que le modèle fonctionnel n'ait rien à voir avec quelque chose circulant le long du fil ou qu'il implique un renversement de potentiel électrique 120 fois par secondes n'est pas utile à l'utilisateur ici. L'ordinateur quant à lui évolue dans un monde qu'on dit virtuel et dont la représentation n'est souvent pas en rapport étroit avec les tâches réelles effectuées. Dans ce monde numérique la possibilité de créer une représentation de la tâche qui soit différente de la tâche vraiment accomplie et plus fréquente qu'ailleurs. Il est souvent utile, pour permettre une meilleure compréhension, d'utiliser une représentation qui masque la complexité des opérations sou-jacentes. On dira de ce modèle qu'il est manifeste signifiant par là qu'il représente ce que le concepteur ou le programmeur a voulu y afficher. Parce que le modèle manifeste représente à l'utilisateur le fonctionnement d'un programme, il arrive souvent que les distances soient très grandes entre le fonctionnement réel et sa représentation. Il semble que l'efficacité d'un modèle soit lié à sa facilité de compréhension par l'utilisateur. Ainsi un modèle tentant de reproduire le modèle de fonctionnement sera plus difficile à comprendre et à utiliser pour l'utilisateur qu'un modèle plus imaginatif s'approchant de son modèle conceptuel.
La tendance donc est de crééer des modèles plus simples que la réalité. Ainsi lorsque devant un écran de texte, l'utilisateur saisit la barre de défilement pour faire dérouler le texte, il n'y a pas réellement de rouleau de texte qui déroule mais plutôt un ensemble de caractères qui est appelé depuis sa propre zone de mémoire et réaffiché pour témoigner des changement demandé par le mouvement de la barre de défilement. Ici le modèle conceptuel du rouleau de texte permet de camoufler une complexité que l'utilisateur n'a pas à connaître pour utiliser le traitement de texte et qui autrement allourdirait la tâche qu'il s'est fixée d'écrire un texte. Le XXe siècle nous a vu passer d'une ère mécanique à une ère de l'information. Parce qu'il est naturel de porter l'imagerie et la taxonomie de l'ère précédente dans la nouvelle nous construisons ce que l'auteur appelle de la modélisation mécanique. Pendant la révolution industrielle, ou a ainsi utilisé les termes et le langage de l'époque pour désigner de nouvelles technologies et avons ainsi nommés les "chemins de fer", des "chevaux-vapeurs", "Télégraphie Sans Fil", etc. Le traitement de texte a ainsi "hérité" des langage de la dactylo et nous parlerons des "tabulateurs" et des "retours de charriots", éléments mécaniques qui ne répondent plus à leurs fonctions d'origine dans la page virtuelle et sur le clavier électronique que nous utilisons aujourd'hui. De la même manière, l'âge du papier nous a obligé à représenter les calendriers, un mois à la fois et c'est ce modèle que nous avons repris à l'ordinateur bien qu'il n'y a aucune frontière véritable entre le 31 mars et le 1 avril pouvant justifier des pages séparées... Les jours s'écoulent, égaux les uns aux autres et notre modèle de représentation séparant les pages en mois pourrait facilement être remplacé par un modèle à progression discrète où il serait possible de retrouver sur une même page les jours compris entre le 12 avril et le 13 mai... Cette façon de penser, perpétuant à l'ordinateur des modèles issus de l'ère mécanique témoigne de la force et du pouvoir des représentations antérieures. Le modèles informatiques seront plus efficaces s'ils reflètent notre ère de l'information. Lorsque nous transportons un modèle mécanique à l'ordinateur nous importons souvent ses faiblesses en même temps que ses forces. Ici l'exemple du carnet d'adresse: Tant que vous entrez, dans la version papier du carnet, des noms par ordre alphabétique, tout va bien, des onglets vous permettent de retrouver rapidement les entrées mais si vous recherchez quelqu'un par son prénom?. La transposition à l'ordinateur d'un tel modèle rendrait obligatoire de "feuilleter" toutes les pages du carnet pour retrouver ce prénom et négligerait de plus, d'utiliser la force de traitement de l'ordinateur pour qui, si ces prénoms étaient indexés, leur recherche serait aisée. Mais ici il modèle de la version papier aura empêché la création d'un modèle plus fonctionnel... | |
Interface visuelleIl convient de démystifier le terme interface graphique auquel au confère souvent beaucoup de pouvoir. Ce n'est pas parce qu'un programme utilise une interface où la représentation des données se fait graphiquement qu'il sera automatiquement supérieur à un autre qui ne l'utilise pas. Le terme graphique refère au domaine de la technologie et les qualités de l'interface reposent davantage sur son souci de l'utilisateur. On dira de celle-ci qu'elle est centrée sur l'utilisateur ou non. Deux points sont importants pour évaluer son souci de l'utilisateur: sa "visualité" (l'auteur créé ici le terme visualness pour désigner la qualité et le degré de propriétés visuelles) et le vocabulaire du programme.Pour la plupart d'entre nous, le traitement de l'information est réalisé plus efficacement de façon visuelle que textuelle. Bien que nous apprenions beaucoup par la lecture nous retenons davantage et apprenons plus vite, des expériences réalisées en contexte, vues dans leur ensemble. L'interaction avec l'utilisateur, pour tirer profit de la technologie, doit devenir visuelle, ce n'est donc pas la nature graphique de l'interface mais bien la "visualité" de l'interaction. Il faudrait ainsi parler d'une interface visuelle plutôt que d'une interface graphique. (En anglais on utilise l'acronyme GUI pour disigner Graphical User Interface, l'auteur suggère d'utiliser VUI pour désigner Visual User Interface). Le cerveau humain est une machine sophistiquée dont l'une des forces de traitement est la reconnaissance de patrons (patern matching) Nous faisons sans effort, à longueur de journée de la reconnaissance de patrons et en tirons une somme d'information très importante. Ce traitement d'information est basé sur l'organisation hiérarchique de l'information qui nous permet d'isoler les détails de l'ensemble. Nous reconnaîtrons un groupe de personne, puis un visage familier, puis des détails de ce visage, une expression, etc. Une partie du cerveau transforme les impulsions visuelles en patrons signifiants pendant qu'une autre les organise hiérarchiquement. Lorsque notre système visuel d'identification des formes reconnaît une enveloppe, notre système de traitement cérébral cherche à reconnaître l'adresse du destinataire. Le même phénomène se passe en lecture où, au moment de l'apprentissage des mots, nous devons décoder toutes les lettres du mot, puis toutes les syllabes. Le lecteur expérimenté voit le mot dans son intégralité, sans le lire, il le reconnaît à sa forme. Il percevra de la même manière de groupes de mots, réduisant du même coup la quantité de traitement nécessaire à la construction de sens et le temps de lecture nécessaire. Cette discrimination visuelle nous fait gagner beaucoup de temps dans le traitement de l'information parce que ce travail est plus facile à réaliser et que le coût cognitif impliqué est beaucoup moindre. S'il nous fallait, de façon consciente, analyser tous les détails que perçoivent nos yeux, nous serions submergés par la quantité d'information rapportée et le nombre de détails ici inutiles. Nous pratiquons de façon spontannée une vision sélective et un traitement hiérarchique de l'information et la compréhension de ce processus permet de dégager les éléments importants d'un modèle d'interface visuelle. L'utilisateur ne choisit de lire le texte dans un environnement graphique que lorsqu'il a décidé de son importance dans l'ensemble des données visuelles qui lui sont données à percevoir. La reconnaissance de patrons est inconsciente alors que la lecture est consciente. C'est pourquoi l'interface visuelle efficace sera construite sur la perception de patrons visuels. A ces patrons seront éventuellement associés du texte donné à lire. La création de patrons se fait spontannément par la répétition. Lorsque nous conduisons sur la route, notre oeil peut lire toutes les affiches qui se présentent à nous jusqu'à ce qu'après un moment nous reconnaissions qu'un certain type d'affiches revient constamment contenant toujours le même type d'information. Une fois cette prise de conscience réalisée, nous ne lirons plus ces affiches que lorsque nous en éprouverons le besoin. Le design d'interface est basé sur une utilisation consciente de ce processus. La reconnaissance des patrons se fait inconsciemment. La reconnaissance des icônes est basé sur l'utilisation de patrons. Cooper appelle "fugue visuelle" l'apprentissage des patrons. La chose ne s'enseigne pas dit-il, elle se créée d'elle-même dans l'esprit par la répétition. L'association du symbole et de sa représentation permet une identification rapide des situations visuelles. La force de l'interface graphique réside non pas dans ses graphiques mais dans la restriction qu'elle apporte au vocabulaire. Dans l'interface à commandes par lignes il faut manipuler des chaînes de caractères pour recréer exactement ce que les experts attendent de nous pour lancer une commande. Dans le GUI les commandes acceptées sont limitées à l'utilisation de la souris (un système de pointage par manipulation directe) ce qui restreint le vocabulaire disponible et accroît l'efficacité. Plus le nombre atomique d'éléments est grand, plus le temps d'apprentissage est long. Pour combler la perte d'expressivité liée à la réduction du nombre d'éléments que contient le système de communication, on construira diverses zones de vocabulaire plus ou moins complexes. Le résultat a la forme d'une pyramide inversée et tous les systèmes de communication faciles à apprendre l'utilisent. Ils forment un vocabulaire canonique que Cooper représente ainsi:
Dans le bas de la pyramide se trouvent les éléments atomiques, qu'on appelle aussi primitives. Dans l'interface visuelle il comprend les manipulations de base reliées à l'utilisation de la souris et du clavier. Un nombre trop grand de primitives risque d'allourdir le processus et de réduire l'efficacité du traitement. Cooper suggère que ce nombre devrait se situer entre 4 et 6 éléments. Les niveau des aglomérés, (en anglais Compound) résulte de la combinaison des primitives entre elles. On y retrouve le double-click, le déplacement et des actions simples telles les boutons et cases à cocher. Au niveau supérieure seront logés les idiomes, combinant des aglomérés au domaine de connaissance. Le domaine de connaissance refère davantage à la tâche cognitive que cherche à réaliser l'utilisateur qu'à la solution informatique. Dans l'interface graphique ce niveau comprendra les boutons spécialisés, les barres de titre, les listes et les icones de fichiers. Le respect de cette organisation hiérarchique de l'information assure un apprentissage facile de l'interface. Une telle hiérarchie canonique de commandes existe dans notre environnement quotidien où se retrouve par exemple dans la signalisation des triangles jaunes invitant à la prudence, des formes octogonales rouges impératives et des rectangles verts informatifs.
Le système téléphonique utilise aussi des primitives composées de simples signaux sonores. On sait que le système est disponible lorsqu'on entend le "buzz" comme fond sonore continu, par contre si ce signal alterne avec le silence on en déduit que la ligne est occupée. La sonnerie étouffée, distincte du son de "buzz" de départ nous indique qu'à l'autre bout, la sonnerie est déclenchée. Le silence nous indique un malfonctionnement du système. | |
|
|
|
|