Interaction Personne-Machine

Thème "Objets logiciels et standards d'interface"

Objets logiciels


 

Le matériel informatique détermine les bornes de l'espace que le concepteur explore à la recherche d'un design. Cet espace est vaste et non structuré. Si on considère uniquement la sortie vidéo, l'espace brut du concepteur se constitue des milliards de combinaisons de N points (N = définition d'écran) que l'on puisse former en attribuant à chaque point une couleur parmi les M couleurs possibles (M dépend de la profondeur du pixel). Heureusement, le concepteur dispose d'un ensemble de concepts de plus haut niveau qui lui permettent de structurer cet ensemble de points en objets graphiques: fenêtres, icônes, menus,... La plupart des outils de développement permettent au concepteur de s'exprimer directement au moyen de ces concepts et de ne descendre au niveau du pixel que lorsque les concepts offerts au niveau supérieur ne correspondent pas à ce qu'il cherche. Nous décrivons brièvement les objets les plus communs:

Le curseur: petit objet graphique qui se déplace à l'écran et indique la position de la prochaine action. Le curseur est l'équivalent électronique de la main de l'utilisateur (Billingsley, 1988). Les curseurs les plus fréquents sont la barre verticale pour indiquer la prochaine opération sur un texte, la flèche pour désigner un objet, la croix pour dessiner un pixel individuel, la gomme pour effacer un ensemble de pixels, la loupe, la montre, etc. La forme du curseur renseigne l'utilisateur sur la nature de l'opération qu'il va effectuer ou qu'il est en train d'exécuter. La relation métaphorique entre la forme du curseur et l'opération peut cependant induire certaines ambiguïtés (par exemple, le rôle du curseur en forme de main).

Les icônes: objets graphiques qui représentent un fichier, un programme, un outil ou une opération. Le symbole graphique est éventuellement complété par un mot. La relation sémantique entre une icône et l'objet ou la commande qui lui est associé s'appelle 'distance articulatoire' (Blankenberger & Hahn, 1991). Lodding (1983) distingue les icônes figuratives (par exemple, une imprimante), les icônes abstraites (par exemple, une feuille de papier qui représente un fichier) et les icônes arbitraires (pas de lien évident entre l'icône et sa signification). Certaines icônes animées permettent de représenter l'état ou la transformation d'état de l'objet: lorsque l'icône de la poubelle gonfle, elle indique qu'au moins un fichier est en attente d'effacement; lorsque l'icône 'facteur' trépigne, elle indique qu'un message est en attente, etc. Parmi les conventions établies, on notera qu'une icône apparaissant en contraste inversé indique que l'objet correspondant a été sélectionné et une icône apparaissant en gris signale généralement que cet objet est ouvert ou en fonction (donc non disponible). Blankenberger & Hahn (1991) comparent des représentations iconiques et textuelles d'un jeu de commandes de traitement de texte. Les deux modes de représentation ne se différencient pas quant au taux d'erreur, mais les représentations iconiques conduisent en général à des temps de réaction plus courts (sauf si la représentation textuelle a des qualités graphiques particulières). La supériorité des icônes est accrue si celles-ci apparaissent à des positions fixes.

Les fenêtres: sous-espaces de l'écran indépendants les uns des autres, que l'on peut considérer comme des écrans dans l'écran. L'utilisateur peut généralement les fermer, les déplacer, les agrandir ou les rétrécir au moyen de 'poignées' (boutons particuliers décrits ci-après) ou de commandes figurant dans les menus. Au sens large, toute zone d'écran (y compris un menu) est une fenêtre. Au sens devenu plus habituel, une fenêtre constitue une ouverture à travers laquelle l'utilisateur aperçoit une partie d'un document, d'un fichier ou peut entrer des commandes. Il existe deux manières de faire défiler le contenu d'une fenêtre au moyen des barres de défilement (scrollbars): déplacer le contenu dans la fenêtre ou la fenêtre sur le contenu. Dans le second cas, abaisser l'ascenseur (ou slider - le symbole représentant la position de la fenêtre dans le document) provoque donc un défilement du document vers le haut. Cette différence est souvent source d'erreurs de manipulation chez le débutant. Certains 'sliders' varient en longueur afin d'indiquer le rapport entre la quantité d'information présentée dans la fenêtre et celle disponible dans le fichier. On pourrait imaginer que chaque page d'un document soit affichée dans une fenêtre différente, poussant en cela jusqu'au bout la célèbre métaphore du bureau. Toutefois, en n'ouvrant qu'une fenêtre par document (et en obligeant donc l'utilisateur à 'scroller' à l'intérieur de cette fenêtre pour accéder aux diverses pages du document), on a pu réduire fortement la complexité des interfaces (Billingsley, 1988). Fermer une fenêtre consiste soit à la faire disparaître de l'écran, soit à la réduire à la taille d'une icône ('iconify'). L'utilisation de systèmes multi-fenêtres a un impact significatif sur les méthodes de travail (pour autant que l'écran soit suffisamment grand), car cela permet à l'utilisateur de travailler sur plusieurs documents ou programmes simultanément, de passer d'une tâche à une autre pour un coût très faible (cliquer dans la bonne fenêtre) (Billingsley, 1988). On distingue les systèmes dans lesquels les fenêtres sont juxtaposées ('tiling') et superposées ('overlapping'). Dans les premiers, l'écran est divisé en N fenêtres par le système ou par l'utilisateur. L'espace propre à chaque fenêtre est relativement limité. Dans les systèmes à superposition, la taille de chaque fenêtre est indépendante de la taille des autres fenêtres. L'utilisateur doit utiliser diverses commandes pour faire passer une fenêtre devant ou derrière une autre. En d'autres termes, les systèmes de fenêtres juxtaposées sont bi-dimensionnels (Billingsley, 1988), alors que les systèmes à fenêtres superposées ajoutent une troisième dimension, la profondeur de l'écran. La fenêtre active, celle qui est au-dessus de toutes les autres, est généralement affichée dans un graphisme différent (bords surlignés, couleur différentes ou autre effet visuel).

Les menus désignent en réalité toute question à choix multiple intervenant en cours d'interaction. On distingue les menus de type 'pop-up' qui sont affichés en plein écran au cours de l'interaction et les menus permanents qui se trouvent en haut de l'écran ou d'une fenêtre et s'ouvrent lorsque le sujet clique sur le titre du menu et tire ensuite la souris vers le bas (d'où le nom 'pull-down' menu). Certains menus sont hiérarchisés, c'est-à-dire comprennent des sous-menus.

Le terme WIMP désigne les interfaces basés sur ces quatre éléments (windows, icons, menus and pointers). D'autres objets sont généralement associés:

L'alphabet du concepteur de logiciels interactif comporte en outre un certain nombre d'objets de base dont les propriétés ont été progressivement standardisées:

Deux remarques importantes doivent être formulées ici, l'une concerne l'utilisateur novice, l'autre l'utilisateur expérimenté. Le premier éprouve parfois des difficultés à 'penser' son document en termes de ces objets. Par exemple, il n'existe pas d'outil de dessin qui construise un disque avec un large trou au centre. Le dessinateur doit donc penser à créer un disque plein et puis à y superposer un disque blanc. Un autre exemple concerne la difficulté des novices à concevoir un paragraphe comme un objet en tant que tel, avec un certain nombre de propriétés attachées, plutôt que comme une séquence de lignes (séparées par une ligne blanche de la séquence suivante).

A l'opposé, un utilisateur familier maîtrise la manipulation directe et la métaphore du bureau. Par exemple, lorsqu'il déplace une icône fichier d'une fenêtre vers une autre, il se concentre uniquement sur le déplacement du fichier d'un répertoire vers un autre. En réalité, sur le plan informatique, il demande au système d'éteindre et d'allumer certains pixels de telle sorte que l'ensemble des points de l'icône représentant un 'fichier' soient, au prochain balayage de l'écran par le canon à électrons, redessiné un pixel plus a droite, et cela un grand nombre de fois consécutivement. Cependant, grâce à la vitesse du procédé, l'utilisateur a vraiment l'impression de déplacer un objet. Il en arrive facilement à concevoir un curseur ou une fenêtre presque comme des objets physiques, qu'il déplacerait réellement. C'est cette illusion qui définit la manipulation directe. Toutefois, en tant que concepteur, il faut rester conscient que seul le programme traduit les actions de la souris en actions à l'écran. C'est le programme (ou la superposition des couches logicielles) qui définit quels points afficher à l'écran, quels écritures réaliser sur le disque, etc. Le rôle du concepteur est de concevoir ces mécanismes de réponse du système, non de les ignorer.

Voici quelques exemples de mécanismes qui définissent la syntaxe et la sémantique implicites de la manipulation directe:

En réalité, ces mécanismes sont aujourd'hui devenus des 'standards'. D'une part, ils sont fortement intégrés dans l'architecture des systèmes, à un niveau auquel le concepteur ne désire généralement pas intervenir. D'autre part, ils sont devenus part entière de la culture informatique de base et créent de ce fait une inertie semblable à celle du clavier QWERTY. Ce succès remarquable dans l'histoire des interfaces s'explique de deux manières complémentaires. En premier lieu, les métaphores utilisées sont simples et intuitives. Par exemple, ouvrir un objet (double click) exige une intention plus forte que de le désigner (simple click); déplacer un objet peut se percevoir comme 'le garder suspendu', etc... Toutefois, ces conventions conservent - par définition - un caractère arbitraire. Aussi, la seconde raison de leur succès est liée à leur utilisation homogène à travers un grand nombre de programmes (politique imposée par Apple aux sociétés développant du logiciel pour le Macintosh).