Thomas Baudel(c)
Thèse de Doctorat en Informatique
sous la direction de Michel Beaudouin-Lafon
soutenue le 15 décembre 1995
à l'Université de Paris Sud
Working with an interactive programming system
Extrait de [Meadow 1970] .
Avant de détailler nos travaux, il convient de présenter sur quelles bases ils reposent. Notre domaine s'est forgé à la fois par des avancées menées sans formalisation et des travaux postérieurs de rationnalisation. Après un historique des techniques d'interaction, nous exposerons donc les recherches menées sur un terrain pratique, faites de solutions ad-hoc, puis les tentatives de formalisation menées jusqu'à présent.
L'évolution des modèles d'interaction proposée suit la progression des fonctionnalités offertes par les systèmes d'exploitation, du matériel d'entrée/sortie et dans une moindre mesure l'expérience acquise. Ceci nous permet de proposer une taxonomie raisonnable des grandes classes de modèles d'interaction actuels reposant en grande partie sur leur historique. Cette taxonomie est couramment exposée dans des ouvrages de référence ( [Shneiderman 1986] p. 57 et [Baecker et Buxton 1987], p. 427, [Foley et Dam 1990]). Cependant nous souhaitons ici systématiser les techniques employées et les variations de styles existantes, ce qui nous permettra de mettre en lumière caractéristiques communes et oppositions des modèles d'interaction.
La présentation reste informelle dans ce chapitre. En effet, les modèles d'interaction actuels sont simples à décrire en langage courant, utiliser un quelconque formalisme de définition de modèles d'interaction eût été lourd et n'aurait pas permis de mettre en valeur efficacement les caractéristiques saillantes des modèles d'interaction. Nous présenterons ultérieurement des méthodes plus formelles qui sont adaptées à la description de méthodes d'interaction plus complexes.
* Le choix du lexique, c'est-à-dire la relation établie entre les signifiés et les signifiants du langage de commande. La conception du jeu de commandes requiert le choix d'une convention permettant de retrouver aisément, et, dans la mesure du possible, deviner les mots désignant les actions et les informations auquel l'utilisateur désire accéder. Il existe de nombreux travaux sur le sujet : s'il est désirable qu'un nom de commande reflète le mieux possible sa sémantique [Shneiderman et Mayer 1979], il est cependant plus concis et plus efficace de ne conserver que des abréviations des commandes fréquentes [Grudin et Barnard 1985]. Cependant, tout lexique se doit de présenter une certaine consistance et une régularité de construction permettant à l'utilisateur de se construire un modèle cohérent de son outil.
* La richesse et la souplesse de la syntaxe. La syntaxe peut être simple et rigide, ce qui permet une grande simplicité dans l'analyse et contribue à la formation d'un modèle cohérent pour l'utilisateur. Dans ce cas, la syntaxe la plus usitée et sans doute la meilleure est dite "verbe-objet" [Shneiderman 1986], p. 151. Une syntaxe plus souple, se rapprochant du langage naturel, offre cependant une plus grande richesse et une plus grande concision (pronominalisation, contexte implicite...). Le principal avantage de ces langages, lorsqu'ils sont à la mesure de leur ambitions, est cependant d'éviter à l'utilisateur un apprentissage spécifique au modèle d'interaction, celui-ci étant directement inspiré de son usage quotidien du langage comme vecteur de communication. Cependant, une interface en langage naturel ne résout pas pour autant le problème de l'apprentissage du modèle conceptuel, qui demeure dans une large mesure indépendant du modèle d'interaction choisi.
* La puissance d'expression et la capacité d'automatisation de l'interaction. Un langage de commande peut être restreint à un domaine d'application, ou recouvrir la totalité des fonctionnalités d'un système. Lorsque le langage est doté de structures de contrôle et de commandes suffisamment générales, il est alors possible à l'utilisateur de construire des procédures évitant la répétition fastidieuses d'actions fréquentes. Dans une certaine mesure, l'utilisateur est à même de construire lui-même son jeu de commande au fur et à mesure de l'élaboration de sa tâche, et de construire une interface optimale à ses besoins, dans la limite des capacités offertes par le système primitif.
Bien que sommaire (sauf dans le cas des langages naturels), ce modèle d'interaction est toujours populaire et présente certains avantages. Tout d'abord, il est particulièrement simple à implanter et peu exigeant en ressources matérielles. Cependant la raison pour laquelle ce modèle reste encore très utilisé est sa concision et la capacité d'automatisation des actions qu'il apporte à l'utilisateur expert. B. Khernigan [Kernighan et Mashey 1981] montre ainsi les principales caractéristiques du shell UNIX qui en font un outil apprécié des programmeurs.
Toutefois, de nombreuses limites restreignent l'usage des interfaces à base de lignes de commandes : cette forme d'interaction n'autorise qu'un retour arrière limité (la ligne courante), et l'état courant de l'application n'est que partiellement reflété. L'utilisateur est sans cesse obligé de faire appel à des commandes lui permettant de déterminer le contexte de ses actions (par exemple, répertoire courant, liste des fichiers disponibles). Plus important, les possibilités d'exploration et de manipulation d'objets ne se révèlent pas d'elles-mêmes : il est presque toujours nécessaire de disposer d'une assistance pour apprendre la syntaxe et le modèle conceptuel d'une application donnée, même dans le cas des "langages naturels". Enfin, la manipulation de certains types de données est inenvisageable avec une interface à base de lignes de commandes : les informations graphiques, sonores ou fortement structurées (graphes) ne peuvent être aisément manipulées au moyen de ce modèle d'interaction.
* Guider l'utilisateur en lui proposant un choix des actions pouvant être effectuées à un instant donné. Ainsi, les connaissance requises pour utiliser le système sont beaucoup plus limitées : seule la connaissance du mode de sélection d'un élément d'un menu devient nécessaire.
* Offrir une représentation moins sommaire de l'état courant du système. Un terminal vidéo permet l'introduction d'un écho syntaxique des actions : affichage du mode courant, curseur clignotant, indication du type d'information attendu dans un formulaire de saisie.
* Rendre l'interaction plus concise lorsque le domaine d'application est restreint. Le choix par menus permet l'utilisation de mnémoniques courts pour les commandes, puisque la signification de chaque mnémonique est rappelée à l'écran.
Ben Shneiderman ([Shneiderman 1986], chapitre 3) présente clairement les variations stylistiques des systèmes à base de menus. Tout d'abord la structure générale des menus peut être une arborescence simple, un graphe acyclique ou un graphe complexe. Le nombre moyen d'éléments et la profondeur optimale de l'arborescence dans un système de menus ont été largement étudiés, et semblent montrer la préférence des utilisateurs pour des arbres relativement larges et peu profonds. L'ordre de présentation des éléments, alphabétique, fonctionnel ou basée sur la probabilité de choix est sujet à plus de controverses. Des travaux plus récents [Sears et Shneiderman 1994] évaluent l'apport d'un présentation fonctionnelle avec rappel en tête de liste des éléments les plus probablement utilisés dans le menu.
En ce qui concerne les formulaires, il est utile de mentionner deux choix possibles de navigation dans les zones de saisie : l'ordre dans lequel se fait la saisie peut être prédéterminé, l'utilisateur passant en revue les champs de gauche à droite et de haut en bas au moyen d'une touche spécifique (par exemple, la touche de tabulation), ou bien déterminé par l'utilisateur, qui indique par des caractères de contrôle quel champ il désire saisir avant de rentrer l'information (formulaire avec présélection du champs). Ce dernier style d'interaction s'avère moins efficace et plus complexe à utiliser de prime abord. Cependant, ce mode de saisie est abondamment utilisé, notamment pour les terminaux transactionnels utilisés par exemple dans les banques ou les compagnies aériennes : Il est plus efficace pour l'opérateur de saisir les informations dans l'ordre que lui fournit son interlocuteur plutôt que celui imposé par la machine.
L'utilisation d'un dispositif de pointage et de menus déroulants pour la sélection des commandes utilise une technique d'interaction différente de la sélection au clavier, plus concise d'après B. Tognazzi [Tognazzi 1992]. Cependant le modèle d'interaction n'est globalement pas affecté : les variations stylistiques restent les mêmes et les règles de conception applicables varient peu. La plupart des interfaces dites "WIMP" sont d'ailleurs construites avec ce modèle d'interaction.
Il est possible de comparer le modèle d'interaction des menus et écrans de saisie avec celui des langages de commandes. La technique d'interaction est plus concise : les actions élémentaires sont plus simples, puisqu'un nom de commande de plusieurs lettres est la plupart du temps remplacé par l'appui d'une seule touche du clavier, immédiatement suivie d'effet. Les variations stylistiques autorisées sont aussi nombreuses. Il est d'ailleurs possible de transformer toute interface à base de ligne de commande en interface à base de menu et de formulaires : il suffit de présenter à l'utilisateur l'ensemble des commandes disponibles, suivant une structure hiérarchique. Les paramètres obligatoires peuvent être saisis par formulaire "impératif", et les optionnels par formulaire avec présélection. Cependant, ce modèle se prête mal à l'automatisation et la paramétrisation par l'utilisateur : la construction d'une procédure de sélection ne se prête pas à une interaction à base de menus, les structures de contrôles ne sont pas représentables, la construction "en batch" d'une macro fait perdre le bénéfice de l'écho syntaxique et la présentation de l'état courant de l'interaction est trop sommaire pour restituer adéquatement la structure de la procédure en cours de construction. C'est ce qui explique selon nous le succès mitigé des constructeurs interactifs de macros comme MacroMaker ou Quickeys, alors que ce mécanisme était prévu à l'origine dans la conception du Macintosh [Apple 1986-1994], vol. I, p. 261.
Enfin notons que si les interfaces à base de lignes de commandes sont essentiellement amodales, les structures de menus et les formulaires au contraire introduisent une abondance de modes, chaque menu et chaque zone de saisie définissant son propre mode.
L'introduction d'un système de fenêtrage change radicalement l'architecture informatique : en effet, l'initiative de l'action ne vient plus de l'application, mais de l'utilisateur. Ils imposent une programmation par événements et le maintien explicite du contexte par le programme : dans une interface à base de menus, l'état de l'interaction est déterminé par le flot de contrôle du programme. Dès lors qu'un système de fenêtrage permet à l'utilisateur de choisir à tout moment quel processus il va activer, le système est contraint de restituer à chaque action son contexte spécifique.
Il existe plusieurs styles de présentation, même si on note une certaine convergence vers un standard proche de Motif [OSF 1991]. Les différents processus peuvent être présentés de façon à maximiser l'espace occupé ("tiling window managers") comme dans Cedar [Teitelman 1984], ce qui demande à toute application d'être capable de négocier avec le système son utilisation des ressources, ou laisser à l'utilisateur le soin de gérer la portion allouée à chaque processus ("overlapping windows"). Devant la nécessité de hiérarchiser l'importance attribuée à chaque processus en fonction du contexte, il est possible d'utiliser des gestionnaires d'icônes [OSF 1991], des "pièces" propres à une tâche donnée [Henderson et Card 1987], ou une vue "fisheye" de la zone d'intérêt (utilisation de plusieurs "icon manager" au moyen du gestionnaire de fenêtres twm ou fisheye logique [Card, et al. 1985]). De plus, plusieurs styles de gestion du focus des entrées peuvent être utilisées : le focus peut être donné explicitement par l'utilisateur par des fonctions de manipulation du focus (Macintosh, ou window manager Mwm dans sa configuration standard), ou déterminé implicitement, par la présence du pointeur dans la fenêtre d'un processus, ou la nature des actions effectuées (window manager twm sous X).
Les gestionnaires de fenêtres se limitent pour l'instant à structurer l'aura du système informatique sur un plan visuel (écran). Leur rôle doit cependant s'étendre aux autres canaux d'interactin, comme le canal sonore. Le Sonic Finder [Gaver 1989] et ENO [Beaudouin-Lafon et Gaver 1994] montrent différents moyens d'organiser le canal sonore d'un système informatique.
Nous distinguons deux modèles d'interaction : les interfaces iconiques ne préjugent pas de la représentabilité des objets de l'application. Il est possible de construire une interface iconique manipulant des symboles abstraits n'ayant aucune relation avec la nature des objets informatiques. Au contraire, la manipulation directe repose sur la possibilité intrinsèque de donner une image de ces objets conforme à la représentation que peut s'en faire un utilisateur du système. Bien que les définitions proposées des modèles de l'interaction iconique et de la manipulation directe se complètent pour définir une certaine forme d'interaction graphique, nous considérerons ces modèles comme distincts.
L'interface du système de gestion de fichiers du Macintosh ou "Finder" est un exemple canonique des interfaces iconiques. Chaque fichier, chaque répertoire d'un disque et les actions effectuables (destruction, impression, ouverture du fichier pour sa manipulation...) sur un objet sont représentés par une image spécifique. Les actions de base sont la sélection (clic simple ou délimitation d'une zone), la superposition d'icônes ("drag and drop") et l'ouverture (double-clic). Pour offrir une meilleure concision, certaines icônes d'actions sont remplacées par des menus (duplication, création d'alias...), cependant le modèle pourrait se suffire à lui-même et ne pas nécessiter d'autres techniques d'interaction.
S.K. Chang présente une théorie générale des systèmes de langages visuels appelée "théorie des icônes généralisées", ayant permis le développement d'un compilateur d'interfaces iconiques. Cette théorie offre un modèle simple et efficace pour la réalisation d'interfaces iconiques dans des domaines variés : gestion de fichiers, interrogation de bases de données au moyen de requêtes graphiques (figure II.1.1), manipulation d'automates et de graphes...
L'avantage de cette formalisation est la possibilité de systématiser la création d'interfaces iconiques, ce qui permet d'appliquer ce modèle d'interaction a priori à toute application informatique : il est toujours possible de donner une représentation, au besoin arbitraire, à tout type de donnée et toute action effectuable sur un objet ; les actions primitives permettent toutes les combinaisons de fonctions réalisable avec l'application. Ainsi, le vocabulaire d'actions primitives constitue un pivot, un mécanisme permettant l'articulation entre les commandes effectuables au moyen du système et la manipulation de leur représentation dans l'interface. Dans un certain sens, une interface iconique idéale est une idéographie dynamique telle que la décrit Pierre Lévy >[Lévy 1991].
Figure II.1.1 : Une requête visuelle dans une base de données
relationnelle d'informations
sur des trajets aériens. Extrait de
[Chang 1989], p. 6.
Cependant, il faut considérer les limites de ce modèle : tout d'abord, il n'est pas toujours possible de trouver une représentation visuelle non arbitraire des objets du système. Or une interface iconique présentant une collection d'images sans signification évidente a priori a toutes les chances de laisser perplexe le premier utilisateur venu, même s'il n'ignore rien du domaine d'application des outils qu'on lui propose. La théorie des icônes généralisées ne donne en effet aucune indication quant aux relations qui doivent s'établir entre la représentation des objets et leur sémantique. Cette description formelle de l'interaction iconique permet donc la création d'interfaces pour toute forme d'application, mais sans garantie de qualité. De plus, si le mécanisme des actions primitives est simple et efficace dans les interfaces iconiques utilisées actuellement, il limite tout de même les possibilités d'interaction à quelques gestes stéréotypés, et interdit la possibilité d'adapter les actions de base au contexte d'utilisation. L'utilisation des capacités d'action de l'utilisateur s'en trouve réduite, et il est manifeste qu'un utilisateur expert peut souvent se sentir frustré dans la manipulation d'une interface iconique. S'il est possible d'envisager des mécanismes d'automatisation des actions comme Eager [Cypher, et al. 1993], ces systèmes sont encore expérimentaux. Nous caractériserons ce défaut comme une limite de la bande passante de l'humain vers la machine : le nimbus du système est artificiellement restreint aux actions primitives.
En conclusion, si les interfaces iconiques forment un modèle d'interaction graphique clairement défini et généralisable, elles ne sont pas pour autant utilisables pour toute application dans la pratique.
Pour offrir un retour d'information et un guidage optimaux, la manipulation directe met l'accent sur la possibilité de trouver une représentation adéquate des objets permettant de respecter les préceptes exposés. Pour cela, il est possible d'utiliser une métaphore, permettant de déplacer les objets de l'application dans un domaine facilitant la création d'un modèle conceptuel intelligible et se pliant aux règles de la manipulation directe. Dans certains cas, comme les applications de dessin ou d'édition de texte, il n'est même pas nécessaire de passer par le biais d'une métaphore, les objets étant "naturellement" représentables. On peut dans ce dernier cas utiliser le "Wysiwyg" (What you see is what you get).
L'exemple typique de la manipulation directe est le programme de dessin "Draw". Les objets informatiques sont des formes géométriques : lignes, rectangles, cercles... Un certain nombre d'outils sont mis à la disposition de l'utilisateur sur une palette, lui permettant d'éditer un dessin. L'utilisateur choisit un outil et l'applique à un objet sélectionné, au moyen du pointeur. Il n'est pas nécessaire de recourir à des commandes nécessitant un apprentissage. Le mode d'emploi des outils peut être déduit soit par leur apparence visuelle, soit par essais et erreurs sur les objets manipulables. Un autre exemple plus récent est celui des requêtes dynamiques [Ahlberg, et al. 1992]. Pour interroger une base de données, l'utilisateur a au départ une vue complète des informations disponibles. Au moyen d'outils, des filtres, il sélectionne au fur et à mesure les critères de son choix, et obtient immédiatement les résultats recherchés. Le résultat recherché peut ainsi être obtenu par essais, erreurs et raffinement progressif des actions vers une solution.
Figure II.1.2 : Requêtes dynamiques dans une base de données
cinématographique.
Extrait de
[Ahlberg et Shneiderman 1994].
Alors que l'interaction iconique ne fournit aucune indication sur l'établissement de relations entre les objets informatiques et leur représentation, la manipulation directe insiste sur la nécessité d'obtenir une transposition adéquate des objets informatique en une forme perceptible. Trouver une "bonne" transposition permet de supprimer (du point de vue cognitif) le "langage de l'interface", intermédiaire entre l'utilisateur et les objets à manipuler. Elle fournit donc une transparence impossible à obtenir avec les modèles d'interaction précédemment décrits. L'inconvénient de la suppression de la double articulation lexique/syntaxe dans l'interface est que l'on perd les capacités de réification fournies par un modèle linguistique. Une interface à manipulation directe ne bénéficie donc pas des capacités d'auto-description permettant une automatisation de l'interaction dans le cas de tâches répétitives, si ce n'est par des fonctionnalités externes au modèle. Cette limite est tempérée par Ben Shneiderman [Don, et al. 1992], qui argumente qu'une "bonne" représentation des objets peut s'autosuffire et limiter le besoin d'automatisation des actions.
Toute la difficulté de conception d'une interface à manipulation directe tient donc dans le choix laissé ouvert de la représentation graphique et des techniques de d'interaction à fournir à l'utilisateur. A l'heure actuelle, les techniques se limitent souvent à la désignation/sélection des objets d'intérêt et au déplacement de ces objets (curseurs, "drag and drop", etc.). Cette pauvreté s'explique selon nous : étant confrontés à l'embarras du choix tant pour la construction de la représentation que pour celle des techniques d'interaction, il devient difficile d'imaginer et d'implanter pour une application donnée une ou plusieurs techniques plus expressives ou plus puissantes.
L'exemple des instruments de musique électroniques est certainement l'un des plus enrichissants. Sans nous attarder sur les aspects de communication instrumentale définis par Claude Cadoz [Cadoz 1994], nous nous limitons à observer la richesse des techniques d'interaction existantes et leur complémentarité. Tout d'abord, on remarque le nombre de canaux exploités. La plupart des instruments se contrôlent avec les mains, mais aussi les pieds et la bouche. Ces canaux d'interaction sont de plus souvent exploités en parallèle. On peut observer la cartographie du reflet du système moteur dans le cerveau humain (Figure II.1.3).
Figure
II.1.3: "homoncule" du système moteur, carte du contrôle du
système moteur
dans le cortex humain (hémisphère
droit), extrait de [Barlow, et al. 1990], p.266
Cette carte représente la région et la quantité de cellules nerveuses consacrées à chaque organe. Plus une zone importante du cortex est dévolue à un organe, mieux celui-ci est contrôlable par son propriétaire. Une telle carte fourni de précieuses indications sur ce à quoi ressemblerait un dispositif permettant un emploi optimal de nos ressources motrices (et donc de nos capacités d'expression). La taxonomie des techniques d'interaction musicale est un assez bon reflet de l'importance relative de chaque organe sur l'homoncule. On remarque entre autres l'importance de la bouche et des lèvres, dont les instruments à vent font précisément un usage important : le saxophone doit en partie son succès à l'expressivité et la variété de timbres qui peut être obtenu en modulant la prise de bec et en contrôlant le souffle d'une manière très fine. Sans aller jusqu'à proposer une "dataflute", un "orgue bibliographique", ou un pianocktail à la manière de Boris Vian, il nous paraît souhaitable de pouvoir offrir une telle variété de techniques de contrôle et d'interaction pour la manipulation d'information, maximisant ainsi l'usage des moyens d'actions de l'utilisateur pour agir sur les objets informatiques.
Cependant, il convient d'observer que la pratique des instruments de musique est réservée à des experts. Même un excellent musicien (ayant une excellente connaissance du domaine : harmonie, solfège, inspiration) peut n'être qu'un instrumentiste médiocre, faute d'un long entraînement, voire de capacités haptiques innées. Les meilleurs interprètes se cantonnent à un nombre limité d'instruments, car ils ne peuvent développer un contrôle moteur parfait sur toutes leur ressources potentielles. L'apport des techniques d'interaction musicale aux systèmes informatiques se doit donc de prendre en compte les capacités réduites de l'utilisateur débutant ou physiquement limité.
Dans une direction opposée, les automates distributeurs de billets fournissent un exemple de technique d'interaction simple et complètement adaptée à une tâche particulière. Ces systèmes sont relativement rigides et les opérations réalisables sont reliées le plus directement possible à des dispositifs physiques simples. L'automate distributeur de billets du RER à Paris, par exemple, possède une touche par destination possible. Dans un tel système, la recherche des actions disponibles est pratiquement optimale ; l'utilisateur peut anticiper et se construire un modèle du fonctionnement de l'appareil à la simple vue du dispositif. Dans une certaine mesure, cette interface reproduit un idéal de l'interaction : être totalement directe. On peut trouver des exemples d'une interaction aussi directe dans les "machines informatisées" que sont les machines-outils telles que les fraiseuses à commande numérique, mais aussi les machines à laver "intelligentes", de plus en plus d'articles électroménagers et l'automobile. Dans ces cas, un processeur permet de corriger et d'améliorer le fonctionnement de l'outil, mais leurs concepteurs ont veillés à préserver une bonne compatibilité avec l'homologue analogique dont l'outil est inspiré. On obtient des interfaces parfaitement transparentes, dans lesquelles objets informatiques et objets réels peuvent être totalement assimilés. Dans une certaine mesure, on peut prédire avec l'avènement de la domotique et l'automatisation de l'outil de travail une généralisation de cette forme d'interaction, une fusion des outils manuels et des systèmes de traitement de l'information.
Enfin, nous ne saurions terminer notre parcours des techniques d'interaction inspiratrices pour la manipulation de systèmes d'informations sans évoquer équipements de contrôle collecticiel tels que les simulateurs de vols, les salles de contrôle et de surveillances équipées de synoptiques muraux des usines, du contrôle aérien ou ferroviaire. Ces systèmes hautement spécialisés et directs (comme le sont les automates distributeurs ou les appareils de domotique), offrent en même temps une grande richesse d'interaction aux utilisateurs experts (comme les instruments de musique). Ils présentent à la fois une interface directe et centrée sur la tâche, tout en exploitant les connaissance et l'expertise d'utilisateurs entraînés à la maîtrise de situations complexes spécifiques.
En ce qui concerne ses capacités d'action, le portrait est plus étonnant encore : la souris et le clavier donneraient à conclure que nous disposons de deux membres asymétriques, l'un étant muni de nombreux appendices peu précis (pour le contrôle du clavier), l'autre étant plus long, très mobile et précis, mais muni de seulement un doigt. Pour élargir le tableau, nous ajouterons que les deux membres préempteurs sont situés l'un au milieu du corps, l'autre excentré ; rien n'indique que nous pouvons émettre des sons et nous sommes vraisemblablement très peu mobiles : nous ne possédons probablement pas d'autres membres ou moyens d'action (des pieds, par exemple).
Cet exemple montre le peu d'adaptation des ordinateurs actuels à nos capacités de perception, et surtout d'action. Cette situation est certes autant due à des limitations technologiques qu'à une mauvaise compréhension du problème général de l'interaction humain-ordinateur. Il nous faut trouver des voies d'extension de l'utilisation des capacités humaines dans l'interaction tout en prenant en compte les limites que présente intrinsèquement la machine. Don Norman [Norman 1988] et un courant important de la communauté actuelle de la recherche en interaction humain-ordinateur proposent une nouvelle approche de la conception de l'interaction, qualifiée d'"écologique". Il s'agit de mieux identifier et prendre en compte les "intuits"[6] ou caractéristiques externes des objets induisant leur mode d'action ou leur usage. William Gaver ([Gaver 1991] et [Smerts, et al. 1994]) montre de nombreux cas où ces intuits peuvent être exhibés et mis à profit en ergonomie. Cette approche oriente la recherche dans plusieurs directions que nous présentons maintenant, en privilégiant essentiellement les apports en matière de techniques d'interaction.
Cependant certains travaux ont aboutis à des applications effectivement répandues. Le système d'interrogation de l'annuaire électronique français, par exemple, inclut un système d'analyse des activités recherchées utilisant certaines techniques du langage naturel. Ce système souffre certes de quelques limites[7], mais permet souvent de retrouver les rubriques d'activités recherchées à partir de mots-clés approchant. Quelques serveurs vocaux sont également en expérimentation comme le serveur de renseignements et de réservation du T.G.V. Nord à Lille [Sadek 1993]. Enfin, dans des systèmes plus complexes et toujours expérimentaux, la reconnaissance de la parole est parfois utilisée comme complément à d'autres méthodes d'interaction. Les concepteurs d'avions de chasse modernes, par exemple, cherchent à utiliser la reconnaissance vocale pour la plupart des actions de reconfiguration de l'environnement de contrôle du pilote (disposition et type de présentation des écrans, contrôle de la radio...).
Toutes ces applications se fondent sur des modèles d'interaction très variés, que nous avons un peu rapidement regroupés. Tout d'abord en ce qui concerne le canal d'interaction utilisé, il importe de distinguer les systèmes à entrée vocale des systèmes à entrée textuelle. Dans les deux cas, on trouve les techniques d'interaction des langages de commandes et des systèmes à base de menus, avec peu ou prou les mêmes avantages et inconvénients. Dans le cas de l'entrée vocale, l'avantage que confère la plus grande concision du canal de la parole est cependant contrebalancé par les limites du retour d'information lexical. Ce problème est d'autant plus important que la reconnaissance étant imparfaite, l'écho est justement souvent requis pour s'assurer d'une bonne interprétation par la machine des actions réalisées.
La caractéristique majeure des systèmes à base de langage naturel, textuels ou vocaux, est cependant la gestion d'entrée suivant une syntaxe complexe, plus souple et proche de la syntaxe utilisée dans la communication humaine. Ce style d'interaction particulier offre une concision et une tolérance à l'égard des erreurs de l'utilisateur inégalée. Nous n'étudierons cependant pas l'interaction en langage naturel, que ce soit en mode mode textuel ou vocal. En effet, l'utilisation d'un paradigme de communication humaine requiert une modélisation des buts de l'utilisateur et de la tâche à effectuer. Ceci nous obligerait à sortir de notre objectif initial qui est de se concentrer sur les modèles d'interaction.
Cette recherche d'une meilleure adaptation de la présentation à l'information sous-jacente est aussi illustrée par de nouvelles approches de structuration de l'environnement de navigation. Pad [Perlin et Fox 1993] et son successeur Pad++ [Bederson et Hollan 1994] proposent une technique de navigation utilisant une troisième dimension constituée de la possibilité de faire des zooms infinis sur les objets présentés, révélant chaque fois plus de détails sur l'information. PenPoint [Carr 1991] utilise une métaphore de navigation fondée sur le carnet de notes, permettant une intégration harmonieuse des différentes applications dans un environnement homogène et spécialement adapté à l'informatique portable. La métaphore des "Rooms" [Henderson et Card 1986], définie par Stuart Card est un exemple plus ancien d'extension du principe du gestionnaire de fenêtre pour gérer un plus grand nombre d'applications concurrente sans encombrer l'écran.
L'utilisation d'une pseudo troisième dimension permet de montrer plus d'objets dans un ensemble et de mieux révéler des structures d'ensembles multi-dimensionnels. L'"Information Vizualiser" [Robertson, et al. 1991], [Mackinlay, et al. 1991, Card, et al. 1991] est un ensemble d'outils généralisant ce paradigme à des applications courantes : vue d'un système de gestion de fichiers sous la forme d'un cône, d'un mur en perspective ; gestion d'emploi du temps sur plusieurs années ou pour plusieurs personnes à l'aide d'une "spirale temporelle"...
La représentation en semi-transparence consiste à superposer des objets, les objets vus devant étant représentés soit par leurs seuls contours, soit en utilisant des couleurs atténuées en fonction de la couleur de fond. Des méthodes de Z-buffer permettent une implantation efficace de ce type de représentation. Les superpositions peuvent être utilisées pour révéler des relations entre objets (hiérarchie, contenu, vue reparamétrée de la même information...). L'utilisation de filtres déplaçables [Stone, et al. 1994] permet à l'utilisateur de mieux percevoir les différentes couches de l'application ; de plus, la superposition d'objets évite la dispersion du focus d'attention sur des zones éloignées de l'objet d'intérêt. De nombreuses autres méthodes d'interaction proposent l'utilisation de filtres transparents pour la structuration de l'interface de navigation [Kramer 1994], ou la navigation dans une structure hiérarchique [Rennison 1994].
Enfin, une direction prometteuse consiste à interpréter la dynamique des actions de l'utilisateur, par des techniques d'interaction gestuelle. Nous présenterons ultérieurement ces techniques de façon plus approfondie.
On distingue deux raisons d'utiliser conjointement plusieurs modalités pour interagir : pour pallier à l'insuffisance d'une modalité seule, non autonome, comme la parole dans de nombreux contextes, ou pour rendre l'interaction plus concise en utilisant les moyens d'action disponibles de l'utilisateur, comme le montrent W. Buxton et B. Myers [Buxton et Myers 1986], dans leur prototype d'éditeur de texte permettant de naviguer avec la main gauche et d'annoter avec la main droite. Nous distinguerons aussi deux paradigmes pour utiliser la multimodalité, en fonction de la modalité dominante qu'ils utilisent. Nous parlerons de multimodalité langagière lorsque l'interaction se structure suivant un modèle de langage de commande ou de langage naturel, c'est-à-dire qu'une interprétation complète des échanges est réalisée avant leur transformation en action sur les objets informatique. Le prototype précédent ("put that there") en est un exemple. À l'opposé, la multimodalité actionnelle structure l'interaction autour d'un paradigme de manipulation directe des objets informatique. Stéphane Chatty [Chatty 1993] présente un certain nombre d'exemples utiles d'interaction à deux souris et indique comment les implanter avec les outils actuels de construction d'interfaces graphiques.
De nombreux travaux exposent les motivations et apports de la multimodalité et les moyens d'implanter des interfaces multimodales, tels [Nigay 1993] qui fournit une synthèse récente. Aussi, nous ne nous étendrons sur ce sujet que lorsque nous présenterons nos travaux dans ce domaine.
Certains insistent sur l'immersion sensorielle. L'objectif est de tromper les sens de l'utilisateur en leur fournissant des stimuli synthétisés remplaçant ceux du monde réel. Ces systèmes sont représentés par tous les jeux et environnements de simulation utilisant un casque équipé d'écrans ou un écran géant occupant tout le champs visuel. Les systèmes les plus évolués utilisent une nacelle mobile permettant de reproduire certaines sensations de mouvement. Ces équipements peuvent fournir une senstation d'immersion effective, tout au moins sur le plan visuel. [Krueger 1989] donne quelques exemples de tels systèmes.
Pour d'autres, l'immersion doit se comprendre sur le plan cognitif. Les MUDs (Multi-user Dungeon) et autres jeux de rôle collectifs permettent aux utilisateurs de prendre une autre identité apparente et d'explorer des environnements synthétiques, même à travers des médias très pauvres, parfois une simple interface à base de ligne de commande, comme le jeu "nethack" populaire sur les stations UNIX. La sensation d'immersion n'est pas produite par la production de stimuli, mais par la présentation d'un environnement riche sur le plan cognitif et engageant à explorer. Certains de ces environnements sont tellement captivants que des utilisateurs peuvent s'y trouver piéger et ressentir une forte attraction, une dépendance vis à vis de l'univers artificiel [Walsh, et al. 1995].
Si l'intention d'utiliser une plus large part des capacités sensori-motrices de l'utilisateur est tout à fait convergente avec notre objectif, nous devons prendre garde dans le cadre d'une utilisation professionnelle de l'outil informatique à ne pas priver l'utilisateur de la possibilité d'agir dans le monde réel. Nous appelons syndrome d'immersion ce phénomène de coupure par lequel un utilisateur n'est plus capable de distinguer la réalité des stimuli synthétiques, ni d'agir sans que ses actions ne soient interprétées malgré lui par le système. On peut résumer les dangers d'un système de réalité virtuelle performant à "tout ce que fait l'utilisateur peut être retenu contre lui". Dans un contexte pratique, nous remarquerons que le système perceptuel humain est finalement peu adapté à l'interaction en trois dimensions immersive. La stéréovision et la reconstitution d'objets en trois dimensions ne se font pas tant à l'aide du système visuel primitifs qu'à un plan cognitif plus élevé, comme le montrent les illusions d'optiques comme celle de Ponzo [Gillam 1980]. Seul le toucher et le système kinesthésique sont sans doute à même de fournir des représentations perceptuelles élémentaires efficaces dans la reconstitution et l'appréhension d'objets en trois dimensions.
En conclusion, les réalités artificielles sont utiles dans des applications précises, telles que les jeux, les simulateurs (pilotage à distance, exploration de certains espaces complexes...), voire même déboucher sur une forme d'art comme l'anticipe Myron Krueger. Nous nous intéressons cependant plus à la situation où l'utilisation d'un système informatique est utilitaire et non une fin en soi. Dans ces conditions, le paradigme des réalités artificielles ne doit être utilisé que si l'on peut éviter de couper l'utilisateur de son environnement.
Une caractéristique essentielle en est le transfert du lieu de l'interaction : le système interactif n'est plus un lieu mais un environnement. L'interface n'est plus un face à face, mais se dissout dans l'espace et les objets de notre environnement. L'utilisation d'un système de traitement d'information n'est plus exclusivement un acte conscient et intentionnel.
* Les travaux en domotique et sur les capteurs environnementaux (température, lumière, présence...) qui remontent aux années 1960 ou sont même antérieurs.
* Certains travaux et l'anticipation de Myron Krueger peuvent par certains aspects évoquer la réalité augmentée (tels videodesk, créé en 1970).
* La conception des espaces médiatiques et la découverte de leurs propriétés réalisées aux Xerox PARC dans les années 1986, [Harrison, et al. 1993], [Mantei, et al. 1991].
On peut cependant considérer deux publications ayant réellement exposé la problématique de la réalité augmentée en tant que telle : Mark Weiser dans son anticipation des réseaux informatiques de l'an 2000 [Weiser 1991], et le numéro spécial de Communications of the ACM de Juillet 1993 [Wellner, et al. 1993]. Tout d'abord dénommée "virtualité incarnée" (embodied virtuality) par Mark Weiser, celui-ci s'attache à présent au terme "informatique disséminée" (ubiquitous computing), qui se distingue de la réalité augmentée, mais présente suffisamment de similitudes pour que nous assimilions les deux termes au sein d'un même domaine.
On distingue toujours dans ces appellations la volonté de se positionner en vis à vis des réalités artificielles (cf éditorial de [Wellner, et al. 1993]). La réalité augmentée considère la richesse de ce qui fait notre univers réel et de nos capacités d'actions dans celui-ci. L'objectif de la réalités artificielles de recréer un modèle synthétique aussi riche que notre univers réel est peu réaliste. Un certain pragmatisme, une vision "écologique" de l'informatique ont débouché sur une autre vision de l'avenir de l'informatique et de l'interaction humain-machine [Gaver 1995]. Cette approche cherche à enrichir de capacités nouvelles, plutôt qu'à substituer. En accord avec un des critères ergonomiques fondamentaux, la compatibilité, il s'agit de préserver autant que possible notre expérience du monde réel, en se contentant d'ajouter, de façon discrète et transparente, plutôt que changer nos habitudes ou essayer de fournir une alternative qui n'offrirait qu'une caricature de solution à nos besoins.
On peut considérer de nombreux exemples domotiques courants proches du concept de réalité augmentée : les détecteurs à ultrasons allumant la lumière lorsqu'ils détectent un mouvement, les machines à laver évaluant les caractéristiques du linge pour optimiser leur programme ou les centrales d'alarme sophistiquées...
Il convient cependant de conserver l'idée que les apports de la réalité augmentée ne se substituent pas en totalité à notre conception actuelle des stations de travail. Dans un contexte de manipulation intensive d'information, où il convient de respecter un certain "face à face" avec les objets d'intérêt, la station de travail, même si elle bénéficie d'apports de la réalité augmentée (intégration de l'environnement et des objets non informatiques), ne devrait pas se voir fondamentalement remise en cause. Nous reviendrons plus en détail sur ce domaine ultérieurement.
Figure
II.3.1 : les commandes gestuelles de PenPoint.
Certains périphériques comme le clavier sont naturellement conçus pour ce mode d'utilisation, on les appelle dispositifs à état discret. D'autres dispositifs, comme la souris, sont dénommés à entrée continue. Ils produisent un échantillonnage, ou une trace du geste réalisé pour actionner le périphérique. Dans l'exemple précédent, cette trace n'était pas utilisée pour l'interprétation de l'action de l'utilisateur. Il est nécessaire que l'utilisateur entre dans un mode particulier pour formuler son intention de tracer un rectangle, le dispositif capteur n'étant utilisé que pour fournir les paramètres requis.
De nombreuses autres possibilités d'interaction, plus effectives et dans une certaine mesure plus naturelle sont possible sur ce modèle.
On appelle interaction basée sur la reconnaissance de marques une interface utilisant la dynamique du tracé tel qu'il est perçu par les capteurs pour enrichir la sémantique des actions élémentaires de l'utilisateur. Ce type d'interaction est d'ores et déjà utilisé dans quelques applications diffusées, bien que les méthodes de conception utilisées pour ces applications soient encore fortement empiriques.
Dans cette classification, nous n'avons pris en compte que les modes d'utilisation de périphériques pour l'interprétation d'actions volontaires et signifiantes de l'utilisateur. Une autre classe de périphériques (par exemple : suivi de la direction du regard...) vient compléter cette classification, on les appelera capteurs d'état. Les informations fournies par ces capteurs ne traduisent pas nécessairement une intention d'action de l'utilisateur, mais peuvent être utilisées de façon passive pour déterminer le contexte de ses actions et en enrichir la sémantique. Par exemple, un système de suivi du regard fournit des positions permettant de déterminer le point d'attention de l'utilisateur, et par conséquent d'associer utilement l'entrée du clavier (ou d'un autre périphérique) à l'objet que l'utilisateur désire éditer.
Par la suite, au prix d'un léger abus de langage, nous emploierons souvent le terme d'interaction gestuelle pour désigner les deux derniers modes d'interaction, par opposition aux modes à états discrets.
* Désignation simple de la commande ou des paramètres. Ces interfaces correspondent au mode d'actionnement des divers interacteurs standard : boutons, scrollbars, menus. Le geste est réduit à sa plus simple expression : la désignation d'une commande. Le langage est des plus sommaires. Ces interfaces ne sont en fait que des extensions aux terminaux graphiques des interfaces à systèmes de menus et écrans de saisie. Le seul geste de base est la désignation d'un point à l'écran. Le seul moyen d'exprimer une commande est de pointer le nom de la commande à l'écran, et de préciser ses paramètres avec le clavier ou par désignation simple.
* Désignation simple de la commande & sélection par étape des paramètres (utilisé dans les logiciels de dessin et de mise en page). Comme dans la catégorie précédente, l'utilisateur choisit par désignation dans un menu ou sur une palette une commande à exécuter. Les paramètres de la commande sont saisis, soit en les désignant (par sélection), soit en traçant la portée de la commande. Par exemple, pour tracer un rectangle dans MacPaint, on choisit la commande "tracé de rectangle", on clique sur la couleur du tracé, puis on indique sur l'écran les points de départ et d'arrivée du rectangle. On peut également inclure dans cette catégorie les systèmes de lissages de courbe permettant à l'utilisateur de dessiner à main libre, l'application les transformant au fur et à mesure en courbes de Bézier [Schneider 1990].
* Sélection par étape de la commande & désignation simple des paramètres (utilisé dans le finder du Macintosh et les interfaces iconiques). Cette technique est souvent utilisée en complément des précédentes. Une commande peut être spécifiée non en la choisissant dans un menu, mais en choisissant les paramètres de la commande par sélection, puis en effectuant une manipulation sur les objets choisis. Cette manipulation peut être un "double-clic", le "drag and drop", déplacement vers un autre objet (autre dossier, corbeille, icône de tri...) ou un autre geste plus complexe, mais la dynamique des gestes n'est jamais signifiante.
Les techniques suivantes correspondent à notre définition de l'interaction gestuelle:
* Sélection par étapes de la commande et des paramètres (utilisé dans la correction manuelle de texte [Konneker 1984]). Cette technique repose sur un geste de base effectué pour désigner à la fois le type de commande à exécuter et les paramètres de cette commande. De nombreux exemples d'application montrent que ce type d'interaction gestuelle s'avère parfois plus adapté pour une tâche donnée que les techniques de manipulation directe antérieures. Parmi les plus probants, GScore [Rubine 1991], (figure II.3.2) est un éditeur de partition permettant d'écrire et d'annoter une partition à l'aide de commandes gestuelles, plus efficace et plus naturel que l'utilisation d'un clavier alphabétique que proposent certains logiciels actuels. MATE [Hardock, et al. 1993] est un système permettant l'annotation de textes. Le jeu de commande gestuel, dérivé du vocabulaire utilisé par les typographes et les correcteurs illustre les apports de l'interaction gestuelle lorsqu'un vocabulaire gestuel prédéfini existe.
Figure II.3.2 : exemple de session d'écriture musicale avec GScore :
les marques grisées sont les gestes effectués par
l'utilisateur.
* Reconnaissance de l'écriture manuscrite : Dans ce cas, il n'y a pas vraiment de désignation de commandes par geste. L'utilisateur trace des lettres ou des symboles, qui sont interprétés comme les paramètres de la commande globale "reconnaît l'écriture". Les algorithmes de reconnaissance de l'écriture peuvent souvent servir à reconnaître des commandes gestuelles diverses avec leurs paramètres. Nous pouvons intégrer dans cette catégorie différentes formes de sténographies adaptées à l'analyse informatique, tel Unistrokes [Goldberg et Richardson 1993].
* Reconnaissance et Combinaison de symboles : Assam [Murase et Wakahara 1986] est à notre connaissance le premier système permettant la reconnaissance de symboles simples (esquisse d'un schéma de composants électriques, des noeuds et feuilles d'une arborescence...). D'autres systèmes ont étés développés depuis, sans sortir du cadre de la recherche. Le système d'analyse de schémas de Apte [Apte, et al. 1993] (figure II.3.3) permet par exemple d'extraire la structure d'un schéma manuscrit de de le présenter sous une forme plus régulière. TAPAGE [Julia et Faure 1993] est un système analogue permettant d'éditer des tableaux au moyen d'une interface gestuelle. Les commandes et leurs paramètres sont dessinés successivement suivant une syntaxe gestuelle ad-hoc. Un analyseur décompose les gestes en segments. Puis en comparant les groupes de segments avec un dictionnaire prédéfini, il reconnaît des objets du modèle conceptuel et les présente sous une forme structurée. Dans ce cas, les commandes gestuelles sont interprétées à un niveau syntaxique. Les marques ne reflètent plus les actions de l'utilisateur, mais se rapprochent des données de l'application, qui est capable de les structurer pour reconstituer un ensemble d'objets informatiques. Le prototype de constructeur d'interface de James Landay [Landay et Myers 1995], par exemple, permet à l'utilisateur de dessiner une esquisse d'interface, l'analyseur reconstituant les composants d'interaction d'après leur forme.
Figure II.3.3 : Reconnaissance de schémas complexes, extrait de [Apte, et al. 1993].
* Dans les systèmes multimodaux langagiers, les gestes sont essentiellement des co-références. Il n'existe pas à proprement de commandes gestuelles, mais seulement des indications venant préciser la sémantique des commandes. L'exemple canonique de cette forme d'interaction est l'utilisation d'une commande composée de la phrase "mets-ça-ici" accompagnée de gestes de désignation.
* Avec un paradigme de langage de commandes, le système analyse les gestes de l'utilisateurs comme des signes verbaux, similaires à ceux de la langue des signes utilisés par les sourds-muets, ou aux langages gestuels opératifs abondamment utilisés dans certaines professions : commis sur les marchés boursiers, chef d'orchestre...
* Le paradigme de manipulation directe consiste à permettre la manipulation d'objets virtuels, comme s'il s'agissait d'objets réels. Les premières expériences dans ce domaines étaient des système de CAO : la possibilité de "sculpter le vide" que permet un Dataglove devait permettre de résoudre le problème difficile de la construction et la manipulation d'objets informatiques en trois dimensions. Cependant, comme il a été vite constaté et comme l'explique Claude Cadoz [Cadoz 1994], les tâches de construction d'objets et de manipulation fine requièrent une bonne rétroaction : le concepteur doit être à même de "sentir" l'objet qu'il manipule pour pouvoir agir efficacement. C'est pourquoi, malgré des investissements très importants, certains fabricants de logiciels de CAO, comme Alias Research, ont abandonné l'idée de d'utiliser des interfaces gestuelles directes, tout au moins dans l'immédiat, et sont revenus à des techniques plus conventionnelles.
Il existe pourtant un exemple réussi d'interface gestuelle directe basé sur la manipulation directe : le système d'animation de personnages développé en interne chez Médialab [Limantour 1994] permet à des marionnettistes confirmés d'animer en temps réel des personnages. Les animateurs contrôlent un certain nombre de variables du sujet animé au moyen d'un gant numérique : des fils virtuels relient les doigts de la main à des points d'attache sur le modèle. Avec un bon entraînement, les animateurs peuvent obtenir un contrôle total de l'objet animé, leur faisant instantanément prendre des poses caricaturales ("fâché", "réjoui", "hypocrite") avec une surprenante facilité. Ce système permet à Médialab de produire en une journée jusqu'à trois minutes d'animation complexe, alors que la norme antérieure était de trois minute par semaine !
David Sturman [Sturman et Zeltzer 1994] présente une synthèse assez complète des techniques d'interaction gestuelles directe, des méthodes d'analyse et des périphériques de capture du geste. Il demeure important de souligner que la plupart des applications citées n'en sont encore qu'au stade de prototype : les périphériques disponibles actuellement sont encore peu fiables et encombrants, ce qui limite leur utilisabilité et leur diffusion à grande échelle.
On rappelle que nous qualifions de naturel un modèle d'interaction tel qu'il est possible d'établir une correspondance directe (une bijection) entre le modèle mental que l'utilisateur a de l'application et le modèle choisi pour l'interaction. Dans notre cas, les interfaces à manipulation directe reposent souvent sur une métaphore d'action dans le monde réel. Dans les outils de dessin, pour poursuivre notre exemple, la métaphore est celle du dessin sur une feuille de papier "amélioré". Cependant, les périphériques utilisés imposent des contraintes : l'écran n'est pas aussi manipulable qu'une feuille de papier, et la souris ne se manipule pas comme un crayon. Il est nécessaire d'établir des transpositions dans la métaphore : utilisation de modes pour figurer différents outils avec un seul dispositif (lignes, rectangles, déplacement...), construction des polygones par étapes... Comme nous l'avons décrit précédemment, l'interaction gestuelle permet ainsi de rapprocher le modèle d'interaction des caractéristiques du support de la métaphore.
Nous avons à notre disposition plusieurs algorithmes, soit mis au point par nous-même, soit repris d'autres systèmes (du domaine public) et éprouvés depuis plusieurs années. Ces algorithmes peuvent être améliorés pour parfaire les taux de reconnaissance, simplifier les phases d'apprentissage ou s'adapter à des vocabulaires particuliers. Nous disposons cependant de suffisamment de bonnes méthodes de reconnaissance pour nous permettre de ne pas nous concentrer sur ces problèmes, mais explorer la mise au point de modèles d'interaction adaptés, qui soulève plus de difficultés. Nous présenterons dans chacun de nos démonstrateurs les algorithmes utilisés.
Une interface gestuelle peut être plus fatigante à utiliser qu'une interface à entrée haptique simple ou une interface vocale : elle demande une plus grande précision et un meilleur contrôle de ses gestes. Enfin, une interface gestuelle aura moins tendance à pardonner les erreurs d'entrée de l'utilisateur, étant donné qu'elle interprète plus d'informations de chaque action élémentaire.
Pour pallier à ces difficultés, les modèles d'interaction gestuelle se doivent de prendre en compte ces facteurs pour en limiter au maximum les effets : prévoir des périphériques adéquats, utiliser des jeux de commandes gestuels concis et acceptant une certaine marge d'erreur.
Dans le cas de l'interaction gestuelle directe, toutes les actions de l'utilisateur étant potentiellement interprétables par la machine, il est possible que des actions non intentionnelles soient interprétées par la machine : c'est le syndrome d'immersion que nous avons évoqué précedemment. L'utilisateur peut devenir incapable d'agir ou de communiquer dans le monde réel, si ses actions sont interprétées par le système informatique. Pour résoudre ce problème, le modèle d'interaction doit offrir un moyen efficace de caractériser l'intentionnalité des actions de l'utilisateur.
Les plus grandes difficultés reposent en fait sur un problème de choix : quels gestes adopter comme signaux de commande, quelle doit être la taille du jeu de commandes, comment offrir la meilleure adéquation possible entre une tâche donnée et une interface gestuelle ? Aussi, la réalisation de prototypes aisément modifiables, leur évaluation suivie d'une itération fonction des résultats obtenus est sans doute la meilleure méthode pour réaliser de techniques d'interaction gestuelle.
Tout d'abord, nous devons nous assurer de séparer les traits propres au modèle conceptuel de ceux relatifs au modèle d'interaction. Nous adopterons pour cela une approche ascendante, partant de la description des modalités, puis exposant les différentes méthodes de description de techniques d'interaction, avant d'aborder les aspects stylistiques (syntaxe) et pragmatiques.
* la main dominante, constituée des 5 doigts et de la paume, présente 23 degrés de liberté (sans les poignets). Ces degrés ne sont bien sûr pas interdépendants. La main et les doigts sont les organes les plus utilisés et vraisemblablement les plus utiles à l'interaction. Une modélisation plus détaillée de ses particularités est fournie par D. Sturman [Sturman 1992].
* la main non dominante, identique à la main dominante, mais ayant un contrôle moteur moins précis.
* les lèvres et langue, les muscles faciaux présentent un grand nombre de degrés de liberté utilisés de façon très subtile dans la communication humaine. Ces degrés de liberté sont cependant difficilement exploitables : ils sont déjà utilisé pour la communication vocale, leur emploi est fortement stéréotypé, dépendante du milieu socioculturel et sont difficile à interpréter. Le suivi du regard pour déterminer la zone d'attention est l'un des seuls degré de liberté relativement facilement exploitable dans ce domaine (avec la reconnaissance de la parole). (*** ref "representations de données par des "modèles de visages")
* les poignets et bras (coude): Le poignet est lié à la main et ne peut être utilisé indépendamment de celle-ci lorsqu'elle est déjà mise à contribution. Certaines machines-outils utilisent le coude comme moyen d'actionnement d'interrupteurs.
* les pieds : Que ce soit en position assise ou debout, le pied est assez précisément contrôlable et peu être utilisé aussi bien pour des périphériques à états discrets (pédalier de l'orgue) que des périphériques continus (contrôle du volume ou du vibrato sur un harmonium ou un orgue électronique, accélérateur d'une voiture...). De nombreux outils et instruments utilisent des pédaliers et des pédales à course pour remédier à l'occupation des membres supérieurs par d'autres contrôles. De plus, le pied peut être utilisé lorsque la force requise pour actionner un effecteur doit être assez importante.
* les jambes : Les jambes ne peuvent être facilement utilisées lorsque le pied est mis à contribution. Certaines machines outils utilisent cependant des interrupteurs activés par le genou.
* le tronc présente autant de degrés de liberté qu'il y a de vertèbres et de côtes, mais ces dimensions sont assurément difficiles à utiliser activement dans l'interaction avec un ordinateur. Tout au plus une mesure de l'état général de relâchement du corps peut-il indiquer une fatigue de l'utilisateur et une baisse de son attention.
Bien que cette description soit relativement grossière, elle nous permet d'établir une hiérarchie de distribution des dispositifs d'entrée d'information aux organes moteurs humains en établissant une relation de préférence. Il est cependant nécessaire de pouvoir représenter les actions réalisables par l'utilisateur afin de pouvoir les intégrer dans une méthode de description des modèles d'interaction.
Par exemple, le mouvement de la marche se traduit par une succession de légers déplacements du centre de gravité de gauche à droite le long de la ligne suivie. Dans une démarche naturelle, les bras se balancent à contre-amble pour rétablir une trajectoire linéaire du centre de gravité. Pour représenter un mouvement de marche naturelle, il suffit de montrer une trajectoire linéaire accompagnée de marques rythmiques. Une démarche à l'amble se traduira par une simple oscillation de la trajectoire. Toujours dans le même esprit, un écart ou un saut se traduisent naturellement par une levée du bras et une extension de la main afin de préserver l'équilibre. La notation se contentera donc de n'indiquer que les différences voulues par le chorégraphe (par exemple, placer la paume en haut) par rapport aux mouvements naturels du tronc, de la tête et des membres induits par le déplacement général indiqué. La notation Feuillet est en réalité légèrement différente sur ce point de détail mais respecte le principe d'économie.
L'ouvrage collectif [Louppe, et al. 1991] montre les principales notations utilisées, leurs avantages et leurs inconvénients, mais surtout les replace dans le cadre de leur motivation. Les notations actuelles les plus employées, la notation Laban (figure II.4.1) et la notation Benesh (figure II.4.2) sont toujours basées sur un principe différentiel par rapport à une position équilibrée, mais ont une motivation et un aspect visuel radicalement différents.
Figure
II.4.1 : Exemple de notation Laban (gamme "A"): il est aisé de se
représenter les mouvements de la totalité du corps à
partir du seul geste du bras droit noté. Extrait de
[Louppe, et al. 1991].
Figure
II.4.2 : Exemple de notation Benesh (notation de la posture figurée
à gauche). Les marques se contentent d'indiquer les différences
entre la posture notée et une posture naturelle: le corps droit, les
jambes au sol et les bras le long du corps. Extrait de [Barlow, et al. 1990].
Nous retiendrons des différentes notations de la danse qu'il n'est ni possible ni souhaitable de décrire le mouvement dans sa totalité. Une description des capacités d'action ne peut être rendue lisible et utilisable que si elle respecte un principe de concision en ne fournissant que l'information utile à l'interprétation et en se concentrant sur un domaine particulier.
Tout d'abord, on distingue deux paradigmes modaux : dans le paradigme instrumental les gestes sont des actes, l'utilisateur agit, directement ou non, sur les objets de son attention. Dans le paradigme langagier, les gestes sont interprétés (par l'utilisateur) comme des signes informatifs vers un destinataire étant chargé de les interpréter. Il n'est pas toujours clair, extérieurement, si un geste doit être interprété comme un signe ou un acte. Il est possible que les deux se confondent dans certains cas, de même qu'il existe des actes de langages [Searle 1977]. Le seul critère de distinction que nous pouvons établir consiste à demander ou à déduire du comportement général de l'agent observé s'il considère ses actions comme des signes ou des actes. Il est en revanche important, lors de la conception d'un modèle d'interaction de choisir l'un des paradigmes afin de pouvoir fournir un modèle cohérent. Le paradigme instrumental nous paraît en général plus approprié à l'utilisation d'un système informatique, qui n'est qu'un outil, cependant nous ne saurions en faire un postulat.
Nous avons précédemment exposé les trois grandes classes de senseurs et d'effecteurs utilisables dans l'interaction : les instruments à états discrets, à contrôle continu et les capteurs de contexte ou d'état. Il est possible d'assigner à chaque type d'instrument un ou plusieurs canaux haptiques préférentiels.
* Les instruments à contrôle continu fournissent un moyen de contrôle riche et fin (bande passante large) mais requièrent une bonne maîtrise motrice. Ils seront donc préférentiellement assignés d'abord à la main dominante, puis la main non-dominante, les lèvres (instruments de musique à vent) et enfin les pieds.
* Les instruments à état discrets requièrent un contrôle moteur moins fin, au prix d'une bande passante plus faible. Ils seront donc utilisés au moyen des mains ou des doigts, mais aussi par les pieds, les genoux ou les coudes.
* Enfin les capteurs d'état ne requièrent pas de l'utilisateur qu'il exerce son contrôle moteur. Toutes les parties du corps peuvent donc être mises à contribution pour indiquer des signes sur la situation (matérielle ou cognitive) de l'agent. L'oeil est un cas particulier : il possède un contrôle moteur très fin ; cependant il est utilisé inconsciemment de façon très intensive en tant que récepteur d'information. Les tentatives actuelles d'utilisation du suivi du regard [Jacob 1991] sont donc essentiellement orientées vers son utilisation en tant que capteur plutôt qu'effecteur.
Le nombre de degrés de liberté du système moteur utilisés dans une action est également un critère à considérer pour la caractérisation de l'interaction du point de vue de l'utilisateur. L'exemple du stylet est évocateur : plus de neuf degrés de libertés sont utilisés de façon coordonnées (trois doigts et les mouvements du poignet) pour fournir une information en trois ou quatre dimensions non orthogonales : position du stylet, pression exercée et parfois angle du stylet. La prise en compte des phénomènes articulatoires rend encore plus délicate la modélisation des capacités d'interaction de l'utilisateur.
Sans prétendre à l'exhaustivité, il est possible de catégoriser un certain nombre de modalités haptiques courantes dans un paradigme instrumental [Cadoz 1994]:
* Les gestes d'activation sont des gestes déclencheurs, exprimant une intention d'action. Sur un clavier, ces gestes correspondent à la pression des touches de validation ou d'annulation, des touches de fonction. L'activation du bouton d'une souris ou la pression du stylet est aussi souvent un geste d'activation.
* Les gestes de modulation viennent fournir des paramètres changeant le sens de l'action générale exprimée. Ils peuvent être exprimés par un dispositif à état discrets (touche majuscule ou "alt" du clavier), ou par un dispositif à entrée continue (pédale de contrôle, souris lors de l'indication de la taille d'un rectangle en cours de création dans un logiciel de dessin).
* Enfin les gestes de sélection, choix de registre ou de mode sont des gestes d'activation n'agissant pas sur l'objet d'attention mais sur des paramètres de contrôle de celui-ci. Ils correspondent aux changements de mode de l'application : boutons des palettes flottantes dans un éditeur de dessin, touches alphabétiques du clavier...
Un geste correspondant à une seule action de l'utilisateur peut incorporer des aspects propres à chacune de ces catégories. L'un des avantages de l'interaction gestuelle est même de systématiser l'union de l'expression de l'intention (activation) et la modulation de cette intention.
Nous n'avons aucune indication sur la complétude de cette classification, et devons conserver à l'esprit que la définition des modalités met en jeu la perception qu'a l'utilisateur de la nature de ses actions, et donc des aspects cognitifs. La description incomplète des moyens d'actions de l'utilisateur que nous venons de fournir a pour rôle essentiel de nous guider dans l'espace de conception, éventuellement de nous indiquer des points intéressants de cet espace, ou de nous fournir des contradictions fondamentales dans un modèle d'interaction proposé.
* dispositif de translation ou de rotation.
* dimension de l'espace (x, y, z ou lacet, tangage et roulis) captée.
* déplacement absolu ou relatif.
* capteur de mouvement ou de force.
* résolution (entre 1 bit et l'infini).
Le tableau (figure II.4.3) suivant montre comment positionner les deux périphériques les plus couramment employés (clavier et souris) dans cet espace.
Un périphérique est représenté dans le tableau suivant par un ensemble de cercles connectés par des arcs. Chaque cercle indique l'une des dimensions capturé par le périphérique. Par exemple la souris possède deux capteurs de position relatifs, de résolution infinie, un capteur (le bouton) de position verticale à un état. Le clavier possède 90 capteurs de position verticales à un état chacun. Un système interactif est matérialisé par un certain nombre de périphériques : le cercle en pointillé indique un ensemble de périphériques constituant un système d'entrée.
Figure
II.4.3 : Position des périphériques informatiques courant dans
l'espace de caractérisation
des dispositifs d'entrée.
L'objectif de cette grille est de pouvoir appliquer les dimensions capturées à des variables du système interactif. Suivant la nature sémantique de la variable, il est possible de choisir une dimension a priori préférable à utiliser : par exemple, il est plus direct de spécifier l'angle de vue d'un objet à l'aide d'un système d'entrée fournissant une dimension de rotation relative à course infinie qu'à l'aide d'un clavier.
Il est également possible de figurer sur cette grille les relations entre les entrées physiques d'un système et son écho lexical. Par exemple, un trackball fournit des dimensions de rotation relative, alors que l'écho usuel est le déplacement d'un point à l'écran, c'est-à-dire deux coordonnées absolues sur l'écran.
Toutes autres considérations ergonomiques mises à part, il est plus naturel de représenter un écho conforme aux dimensions manipulées, de façon à permettre au système perceptuel d'établir une corrélation entre les mouvements du corps et leur effet sur l'environnement. R. Jacob [Jacob, et al. 1994] montre l'amélioration quantitative apportée par l'emploi d'un périphérique adapté à la tâche et plus direct.
D'autres dimensions caractéristiques de cet espace permettent de distinguer des périphériques offrant a priori les mêmes types de capture du mouvement et de faire une évaluation par rapport à un critère choisi.
* La place occupée ("footprint") par le périphérique : une souris réclame une portion d'espace libre dans l'environnement plus importante que le trackball. Cette considération fait de ce dernier un périphérique de choix pour l'informatique portable. Cependant, l'écran sensible au toucher ne réclame aucun volume spécifique, et est sans doute encore plus appréciable de ce point de vue.
* L'inertie du périphérique, qui détermine la force nécessaire pour l'activer. Les claviers de machines à écrire et d'ordinateur peuvent aisément être comparés de ce point de vue. Il est clair que le meilleur périphérique n'est ni celui qui requiert la force la plus importante, ni le moins de force : un périphérique sensible à l'effleurement ne fournit pas de rétroaction passive et est donc difficile à contrôler précisément. L'inertie idéale du périphérique doit être choisie en fonction de l'organe moteur qui lui est destiné. Par exemple, une pédale activée au pied doit être plus résistante si elle est manipulée par le pied gauche que par le pied droit (pour les droitiers). Ainsi, la pédale de débrayage d'une voiture a une course et une résistance plus forte que l'accélérateur.
* L'indice de difficulté (suivant le modèle Keystroke ou la loi de Fitts). Ce critère permet d'établir partiellement l'adéquation des organes moteurs (muscles et articulations) mis à contribution dans une action à la forme du périphérique et aux dimensions captées par celui-ci. Lorsque la dimension captée est à entrée discrète, le modèle Keystroke [Card, et al. 1980] permet de mesurer le temps nécessaire à l'utilisateur pour effectuer un certain nombre d'actions en séquence. Lorsque la dimension captée est à entrée continue, la loi de Fitts permet de mesurer et de prédire les variations de performance constatées en fonction d'un ou plusieurs paramètres de la tâche. En faisant réaliser la même tâche au moyen de plusieurs périphériques fonctionnellement équivalents, il est possible de comparer les mesures de performance obtenues et donc de classer les périphériques pour leur adaptation à la tâche considérée.
Par exemple, Scott Mackenzie [Mackenzie, et al. 1991] utilise cette technique pour comparer la tablette, la souris et le trackball dans des tâches de sélection d'objets et établit que le système moteur exerce un contrôle plus fin (l'indice de difficulté est plus faible) avec une tablette qu'avec un trackball. Ceci nous permet d'affirmer que la main est "mieux" mise à contribution au moyen d'un stylet que d'une boule [Cakir, et al. 1995]. Cette constatation aide à mettre au point un périphérique de pointage intermédiaire (utilisé sur les powerbook 5xx de la gamme Apple), prenant aussi peu de place que le trackball, mais dont la position des doigts sur le périphérique est plus proche de celle utilisé sur une tablette ou un écran tactile.
Cette énumération des dimensions de comparaisons d'effecteurs n'est pas limitative. La définition de cet espace ne doit pas induire l'impression que nous disposons pour autant d'une métrique nous permettant d'évaluer l'adéquation de périphériques à une tâche donnée et de choisir le "meilleur" dispositif d'entrée. En effet, les axes que nous avons décrits ne sont pas orthogonaux. Par exemple le stylet utilisé comme une tablette graphique est reconnu comme l'un des périphériques les plus maniables (son indice de difficulté est très faible). Cependant, certaines directions de traits sont plus "faciles" à réaliser que d'autres. Par exemple, un droitier dessinera de préférence un trait de gauche à droite et de haut en bas [Sommers 1984]. Il en résulte que l'indice de difficulté d'utilisation de la tablette n'est pas un critère unique, il dépend des valeurs respectives prises par les dimensions X et Y de translation. D'autres interdépendances entre dimensions peuvent apparaître : le critère "place occupée par le périphérique" et "indice de performance" sont interdépendants : il est possible d'utiliser une souris sur une plus petite surface que la surface optimale, au prix d'une dégradation de l'indice de performance. Cette dégradation est parfois plus acceptable que le remplacement de la souris par un trackball [Baudel et Dumont 1988].
Il est cependant possible de positionner dans l'espace ainsi défini presque tous les dispositifs d'entrée recensés (figure II.4.4).
Figure II.4.4 : Position des dispositifs d'entrée haptique recensés par Card et al. [Card, et al. 1991]
Cepedendant, malgré son apparente complétude, le tableau de classification des dispositifs ne fournit pas toujours un moyen de placer certains dispositifs d'entrée précisément : par exemple le "cube modelable" décrit par [Murakami et Nakajima 1994] est un cube en mousse élastique sont les coordonnées peuvent être appliquées sur celles d'un objet en trois dimensions de l'application (figure II.4.5). Il est ainsi possible de modifier l'objet par des pressions et manipulations du cube. Cependant les dimensions de contrôle ne sont pas indépendantes : il est impossible d'affecter un seul des degré de liberté sans affecter de manière moindre les autres : une pression sur une face du cube (axe x), entraîne des déformations suivant deux autres axes (figure II.4.6). Le cube modelable possède en tout 90 degrés de libertés, 48 effecteurs sur les faces, 24 sur les arêtes et 18 mesurant la déformation interne du cube. La grille proposée ne montre pas ces interdépendances.
Figure II.4.5: le cube modelable de
[Murakami et Nakajima 1994]
et les 70 dimensions controlées.
Figure II.4.6 : opérations effectuables au moyen du cube modelable.
L'objectif de la définition de l'espace de conception des périphérique n'est donc pas de fournir des moyens de comparaisons, des métriques entre les périphériques. Il n'est pas possible d'en explorer toutes les dimensions. Comme le précisent Stuart Card, H. Robertson et Mackinlay, cette grille d'analyse permet d'organiser la recherche de points potentiellement intéressants de cet espace et de détecter des conflits possibles dans la conception d'une technique d'interaction. Cependant, seules des mesures de performances comparées en situation d'utilisation permettent une évaluation objective des apports comparés de dispositifs d'entrée.
Nous avons déjà évoqué UAN [Hartson, et al. 1990] comme méthode de notation des séquences d'actions de l'utilisateur. UAN est une notation condensée et pensée spécialement pour la description des modes et micro-modes fréquemment rencontrés dans la manipulation directe et parfois difficiles à décrire en langage courant. UAN n'est qu'un instrument de notation, et non un moyen de spécification complète. En effet, il est parfois ambigu et n'est pas directement exécutable .
D'autres modèles permettent de décrire les enchaînements d'action et leurs effets sur l'application : le modèle des réseaux de Petri à objets [Palanque 1992], les grammaires tâche-actions [Payne et Green 1986], les adaptations des modèles de spécification algébriques à l'interaction humain-ordinateur [Harrison et Timbleby 1990].... La spécification d'un système interactif à l'aide de ces modèles permet de vérifier certaines propriétés intéressantes du style d'interaction, comme l'absence d'états inaccessibles, certaines formes de cohérence de l'interaction et le reflet correct de l'état interne du système.
Tous ces modèles proposent une description de structure relativement claire, quoique difficilement utilisable car souvent lourde et éloignée des considérations d'implantation. Plus important, ils présupposent un vocabulaire d'actions élémentaires prédéfini et ne proposent pas de modèle génératif de description de ces actions. Par exemple, UAN est extensible, mais ne permet pas de décrire aisément les interfaces gestuelles, lorsque la trajectoire de l'action est à prendre en compte dans son interprétation.
Nous avons déjà précisé que dans une interaction directe, les modes se devaient d'être réduits et la structure de l'interaction la plus sommaire possible. Dans ce cas, les modèles de description des aspects stylistiques de l'interaction n'ont pas besoin d'être complexes et ne requièrent pas d'outils particuliers. Des outils comme UAN sont utiles aux concepteurs d'interfaces pour noter et communiquer leurs idées aux programmeurs, mais soit ils conservent une sémantique imprécise chargée d'implicite et d'ambiguïté (parfois utile à la conception), soit ils sont d'une lourdeur qui les rend inutilisables pour le concepteur non-informaticien et demeurent moins clairs qu'un programme.
Enfin, ces méthodes de description n'intègrent pas de règles de conception. Certains formalismes permettent de vérifier a posteriori des critères de cohérence et de complétude, mais ils ne sont d'aucune utilité pour la conception du modèle a priori. En comparaison, la description informelle de la manipulation directe que fournit Ben Shneiderman, les règles générales que doit vérifier l'interaction et les guides de style, sont une aide précieuse pour guider le concepteur vers une bonne interface.
Le module de gestion de l'interface est découpé suivant un modèle linguistique : l'interface est constituée de trois couches logicielles superposées.
Figure II.5.1 : Modèle de Seeheim
* La couche présentation est chargée de présenter à l'écran les informations et d'interpréter les actions élémentaires de l'utilisateur. Elle correspond à une analyse et un écho lexicaux de l'interaction.
* La couche dialogue est chargée d'organiser la structure de l'interaction. En entrée, on peut l'assimiler à la description des différents modes d'une application, en sortie elle s'apparente à l'organisation des écrans et leurs enchaînements.
* La couche interface-application convertit les entrées de l'utilisateur en appels du noyau fonctionnel et réciproquement traduit les données fournies par le noyau fonctionnel en représentations structurées présentables à l'utilisateur.
Ce type de modularisation est particulièrement adapté aux interfaces à base de menus et d'écrans de saisie, ou pour la construction de l'interface de contrôle des applications à interaction graphique (paragraphe I.2.2.5, alinéa 2) : la présentation se charge d'afficher les différents interacteurs (boutons, menus, zones de saisie...) et de réagir aux événements de base : inversion vidéo des boutons, appel des procédures associées aux boutons. L'essentiel des fonctions de présentation est pris en charge par les boîtes à outils actuelles. Le module de dialogue se charge d'organiser les principaux écrans et leur enchaînement. Le module d'interface avec l'application est constitué des différentes callbacks, procédures répondant aux actions principales de l'utilisateur (validation, changement de mode...) et appelant des fonctions de l'application, qui peut par exemple être un serveur de base de données.
Cependant cette modularisation n'est plus adaptée lorsque l'interaction est conforme : chaque objet se doit d'avoir sa propre représentation et de fournir ses propres moyens d'interaction. Dès lors, la gestion du dialogue se trouve dissoute dans les interactions entre objets et utilisateurs, et il devient difficile de construire une application modulaire respectant le modèle ARCH. Un exemple typique des problème que posent cette modularisation en niveaux d'abstraction est celui de l'écho sémantique des commandes. Lorsqu'une action est effectuée, il est parfois nécessaire de fournir un écho sémantique, dépendant de l'état interne de l'application. Par exemple, une interface iconique fournissant à l'utilisateur un moyen de superposer des icônes par "drag and drop" a besoin d'informations sur la nature et l'état des objets correspondants aux icônes pour fournir un reflet lexical des actions autorisées. Dans ce cas, le module de présentation doit utiliser des informations propres à la sémantique de l'application. Une solution couramment proposée consiste à autoriser la délégation sémantique : le module de gestion de l'interface peut prendre à sa charge certaines des fonctionnalités dévolues à l'application.
La délégation sémantique n'est pas une bonne solution. Tout d'abord, elle impose une redondance de code : les mêmes fonctionnalités doivent se répéter dans le module de l'application et dans celui de l'interface. Cette redondance est contraire au principe même de la modularisation et conduit à des applications difficiles à maintenir. Plus important, la délégation sémantique n'autorise pas la situation inverse, c'est-à-dire les cas où l'application doit fournir un écho lexical de son état. L'exemple du thermomètre indiquant la progression d'un calcul est significatif : il est impossible de fournir un bon retour d'information à l'utilisateur sur le déroulement du calcul sans mêler étroitement la procédure de calcul et l'écho. Le processus en cours doit maintenir un compteur de déroulement, et appeler périodiquement tout au long du calcul des procédures de présentation indiquant son état d'avancement. L'interaction gestuelle fournit également de nombreux exemples où le module d'analyse des gestes est étroitement lié à la présentation et à l'application sans pouvoir être considéré comme faisant partie de l'un ou l'autre des modules.
Dans le modèle MVC, chaque objet du système possède une vue et un contrôleur. Le rôle de la vue est de fournir une représentation manipulable de l'objet, celui du contrôleur d'interpréter les entrées en changements d'états sur l'objet.
Figure II.5.2 : Modèle MVC (Smalltalk)
Bien que sommaire, ce modèle s'est avéré très commode pour la création d'interfaces graphiques, fondées sur une conception par objets. Il est aisément extensible à d'autres formes d'interaction ou à tout type de représentation, puisque la vue et le contrôleur peuvent être spécialisés suivant les besoins. L'interaction est nécessairement complète, puisque chaque objet peut posséder une vue et un contrôleur. Smalltalk étant faiblement typé, l'interaction n'est pas forcément conforme pour autant : à moins de construire une vue adaptée au type d'un objet particulier, une vue générique est utilisée, qui ne respecte pas nécessairement la sémantique de l'objet considéré et n'est pas toujours adaptée à l'objet. Par exemple, il est assez difficile d'éditer un dessin avec la vue générique, qui représente un dessin comme une liste d'objets graphiques, chacun composé d'un indicateur de type et d'une liste de coordonnées.
Nous qualifierons parfois ce type de modularisation de "transversale", par opposition à une modularisation "verticale" du type du modèle de Seeheim : chaque ensemble MVC possède sa propre gestion des aspects présentation, dialogue et sémantique de l'interaction (Figure II.5.3).
Figure II.5.3 : MVC et Seeheim définissent des stratégies de modularisation perpendiculaires.
Le modèle MVC présente toutefois quelques inconvénients : il ne prend pas en compte les contraintes liant les objets entre eux et la structure globale de l'interaction. Il est donc relativement mal adapté aux interfaces à base de menus et d'écrans de saisie, ou lorsque le modèle de dialogue est complexe. Plus important, il ne présente pas de vue d'une application sous forme de niveaux d'abstraction : fonctionnalités de haut niveau et aspects implantatoires sont présentés sur le même plan pour chaque objet considéré.
PAC repose sur le concept d'agent, qui peut être constitué de trois modules (Figure II.5.4) :
Figure II.5.4 : Un agent du modèle PAC
* Le module d'abstraction représente la sémantique de l'objet. Il peut être comparé au "modèle" de MVC.
* Le module de présentation prend en charge les aspects vue et contrôle du modèle MVC. En effet, l'étroite dépendance entre la représentation d'un objet et les moyens de le manipuler (on ne peut agir utilement sur un objet non perçu) justifie une telle unification.
* Le module de contrôle regroupe les fonctionnalités d'interaction entre abstraction, présentation et les autres agents. De nombreuses extensions de PAC adaptées à des applications particulières (multimodalité : PAC-Amodeus [Nigay 1993], Collecticiel [Salber, et al. 1994]) enrichissent ce module ou décrivent certaines de ses particularités en fonction du contexte.
La distinction des aspects présentation et abstraction au sein d'un agent permet de séparer certains aspects implantatoires (du coté de la présentation ou celui de l'abstraction) du concept représenté par l'agent (module de contrôle). PAC permet également la conception du système sous forme d'une hiérarchie d'agents, des niveaux implantatoires aux niveaux abstraits. Les agents "conceptuels" (fonctionnalités générales de l'application, par exemple "édition de texte", "organiseur d'idée", "analyseur de requêtes") peuvent être constitués d'agents de plus bas niveau gérant des aspects de présentation, des aspects fonctionnels, ou les deux.
Nous utiliserons PAC comme modèle d'architecture général pour la description des aspects implantatoires de nos modèles d'interaction. Ce modèle est suffisamment souple et adaptable pour nous permettre de décrire les particularités de nos modèles au niveau de la présentation, du contrôle ou de l'abstraction.
* Des aspects architecturaux : étude de la compatibilité entre modèles d'interaction, adaptations fonctionnelles nécessaires à l'implantation de certains modèles d'interaction dans les outils actuels. Un prototype d'interface à base de reconnaissance de marques, baptisé Hypermarks nous a permis cette étude.
* Comment créer un modèle d'interaction adapté à un modèle de l'utilisateur particulier, et les changements qui peuvent en être induit sur le modèle conceptuel. "Ligne Claire" est un prototype de technique d'interaction à base de reconnaissance de marques destiné à des dessinateurs professionnels. Il a été conçu à partir de l'observation de techniques de dessins, et sa réalisation nous a montré qu'une technique d'interaction peut constituer en elle-même un nouvel outil interactif, changeant le modèle conceptuel original.
* Comment créer un modèle d'interaction apportant une meilleure efficacité de l'interaction, en préservant une interaction naturelle. Les "toolglass", interacteurs transparents manipulés avec la main non-dominante offrent un paradigme de manipulation directe plus efficace que les interacteurs traditionnels que sont les menus, palettes et boutons.
* L'intégration non intrusive du système dans son environnement avec un exemple d'interface gestuelle directe : "Charade".
Comme nous l'avons précisé en introduction, ces exemples ne sauraient nous fournir un modèle général de description et de construction, mais seulement un guide ou des critères aidant à la conception de modèles d'interaction.