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
Il y a dans le monde de la place pour environ 5 ou 6 ordinateurs.
attribué à T.J. Watson, fondateur d'IBM.
L'avènement et la généralisation des technologies du traitement électronique de l'information dans les années 1980 constituent sur un plan historique la quatrième phase de la révolution industrielle [Forester 1989] p. 16. Cette généralisation n'a pu se réaliser qu'en permettant l'accès aux systèmes de traitement de l'information à la plupart des catégories socioprofessionnelles, sans demander de compétences particulières aux utilisateurs. De nos jours, l'outil informatique est répandu et s'avère indispensable dans un certain nombre d'activités professionnelles : des grands systèmes, tels les réseaux bancaires ou l'organisation des transports de voyageurs, aux applications individuelles comme les traitements de texte, en passant par les aides à la gestion d'entreprise (comptabilité, gestion, organisation commerciale et planification de la production etc.).
Cette généralisation n'est cependant manifeste que pour certaines tâches, pour lesquelles a été conçue à l'origine la science informatique : essentiellement calcul et organisation de gros volumes de données, voire certaines tâches liées très fréquentes comme l'édition de texte. Il a été assez facile, par des améliorations progressives et des recherches théoriques sur la nature des données et les processus de traitement, de produire, souvent de façon ad-hoc, des méthodes d'utilisation de ces systèmes permettant à des utilisateurs non informaticiens de maîtriser ces outils sans assistance externe importante. C'est certainement ce facteur qui a permis la divulgation massive de l'informatique au cours des années 1980 et en a fait un phénomène de société.
L'avènement des interfaces dites "WIMP" (pour "Window, Icons, Menus & Pointers" : Fenêtres, icônes, menus et pointeur) et de la manipulation directe ont certainement contribué à cet essor pour les applications considérées précédemment [1]. Ces systèmes apportent quelques points positifs aidant les utilisateurs novices, toujours pour les applications précitées :
* Les systèmes de fenêtrages permettent de restituer dans l'interface la versatilité de l'outil informatique. Tout travail professionnel n'est que rarement monotâche et concentré sur un seul objet (d'après une publicité pour Claris Works en 1989, "un cadre au travail change d'activité en moyenne toutes les six minutes"). Les systèmes de fenêtrage permettent à l'utilisateur de naviguer dans les outils logiciels en fonction de ses besoins.
* La manipulation directe, le "wysiwyg"[2] et l'emploi de métaphores aident les utilisateurs novices à se former par des suites d'essais et d'erreurs, à obtenir rapidement et facilement les résultats cherchés et enfin à se forger un modèle conceptuel clair et cohérent de l'outil qu'ils manipulent.
Pour d'autres tâches en revanche, l'informatique ne rend que des services limités en dépit de son potentiel. Par exemple, de nombreux logiciels s'adressent aux illustrateurs et graphistes professionnels, leur offrant certains avantages : corrections rapides et propres, réutilisation aisée de schémas et de composants graphiques, facilitation des démarches de conception itératives, largement prônées avec les outils conventionnels. Cependant pratiquement tous les infographistes continuent à utiliser les méthodes graphiques traditionnelles sur papier : les méthodes d'interaction proposées reposent essentiellement sur l'utilisation d'un dispositif de pointage généraliste, la souris, et ne sauraient rivaliser avec la souplesse d'utilisation et la plasticité qu'offrent papier et crayon pour l'esquisse rapide, la recherche et la mise en forme des idées. Aussi, bien souvent, les infographistes conservent leurs méthodes classiques, ne se servant de l'outil informatique qu'à des fins de finalisation et d'archivage de leurs travaux.
Nous reviendrons sur cet exemple, mais il nous importe ici de montrer que les moyens d'interaction mis à la disposition des utilisateurs peuvent être des facteurs limitant l'apport d'un système informatique. Il est possible de citer de nombreuses autres catégories d'utilisation de l'informatique souffrant des mêmes limites : métiers artistiques en général, recherche documentaire (malgré les apports indéniables des grandes bases de données bibliographique réparties), tâches d'organisation et de planification (emplois du temps, répartition de ressources...). La plupart de ces tâches sont qualifiées de "créatives", ou "non procédurales" : le but de l'utilisateur n'est pas définissable comme une procédure, sa motivation et la suite de ses actions ne sont pas déterminés à priori, mais se forment au fur et à mesure de l'interaction.
On ne peut certes faire porter aux interfaces utilisateur actuelles la responsabilité de toutes les difficultés rencontrées pour ces applications nouvelles de l'informatique. Cependant, il nous paraît important de rechercher des techniques d'interaction plus particulièrement conçues pour ces applications, adaptées spécialement aux données à manipuler, à la tâche dans la mesure où celle-ci est définissable, et aux utilisateurs ciblés. Si les paradigmes d'interaction utilisant un écran graphique, un clavier et souris pour la désignation sont adéquats pour beaucoup de tâches informatiques, de nouvelles applications ne peuvent se satisfaire d'une interface "graphique" traditionnelle. Il manque un moyen de fournir à l'interaction avec l'ordinateur une plus grande richesse d'expression, se rapprochant de notre expérience quotidienne d'utilisation des objets nous entourant, en un mot, de rendre les objets informatiques plus palpables.
À un stade encore expérimental, de nouveaux paradigmes pour l'utilisation des systèmes informatiques apparaissent : les "réalités artificielles", dans lesquelles l'utilisateur se trouve immergé dans le monde des objets informatiques qu'il manipule, et "l'informatique disséminée" ou la "réalité augmentée" qui ont l'objectif opposé : informatiser notre environnement, nos objets physiques les plus courants, afin de leur permettre non plus simplement de réagir aux forces physiques exercées sur eux, mais également de traiter des informations émises par d'autres objets "augmentés" ou des utilisateurs du système. Sans nous attarder sur le rôle et l'utilité de tels systèmes, nous pouvons constater encore une fois que les méthodes actuelles d'interaction, les "vocabulaires d'actions" connus se montrent largement insuffisants pour de telles applications.
Ainsi apparaît le besoin d'inventer de nouvelles façons d'interagir avec l'ordinateur, et, en découlant naturellement, des moyens permettant de définir, ou tout au moins de décrire ces méthodes d'interaction. Nous nous sommes donnés pour objectif de caractériser d'une façon générale les actions d'utilisation d'un système de traitement de l'information. À défaut de pouvoir construire un modèle général, nous avons cherché à extraire certains principes au moyen de démonstrateurs de techniques d'interaction particulières. Nous souhaitons aboutir à une démarche permettant de se libérer des limites des techniques d'interaction actuelles. Tout en conservant certains caractères informels, nous souhaitons qu'elle puisse servir à concevoir des méthodes d'interaction plus adaptées à des applications novatrices de l'informatique.
Nous devons tout d'abord préciser ces objectifs, placer notre travail dans le contexte actuel de la recherche, et proposer quelques définitions qui nous permettrons d'exposer plus précisément nos travaux.
Ce rôle central de l'interface dans les applications qui nous intéressent nous amène à restreindre la traditionnelle dichotomie établie entre interface et application. Puisque les possibilités d'accès et de manipulation des informations disponibles dépendent étroitement des moyens de présentation et d'action offerts, et que ces derniers ne peuvent être définis indépendamment des objets considérés, nous serons amenés à considérer plus souvent un système interactif qu'une interface seule.
Les objets informatiques ont une autre propriété : étant avant tout des éléments d'information, ils n'ont d'existence propre que dans la mesure de leur interprétation. Le même document sera interprété différemment par différents utilisateurs. Prenons par exemple un bilan comptable : l'expert comptable cherchera à vérifier la régularité des opérations, un actionnaire l'état de santé de son entreprise. Les mêmes chiffres n'auront pas la même signification. La représentation externe (visuelle) et interne (mentale) des mêmes informations ne sera pas la même, les besoins de manipulation et de représentation seront différents en fonction du contexte dans lequel se place l'utilisateur. Lorsque les informations manipulées sont sujettes à une interprétation dépendant de la motivation de l'utilisateur, la notion de tâche devient difficile à déterminer. Lorsque l'activité est une recherche documentaire, l'écriture d'un article, la visualisation scientifique, la production d'une oeuvre artistique, ou même la consultation de documents comptables, le résultat recherché n'est pas prédéterminé. On ne peut parler de tâche dans l'acception courante de "recherche d'un état à atteindre fixé à l'avance". L'utilisateur du système définit son but au fur et à mesure qu'il progresse, en fonction des éléments découverts dans les objets manipulés.
Les exemples que nous avons cités ne représentent certes pas toutes les activités courantes d'utilisation d'un système interactif : de nombreuses tâches comme la saisie intensive, le remplissage de formulaires, les interrogations simples de bases de données ou le suivi et le contrôle de processus autorisent une description procédure précise. Notre intérêt se porte cependant sur les tâches que nous avons décrites et qualifiées de créatives : celles pour lesquelles il n'existe pas de connaissance a priori du résultat recherché, ni dans le système, ni pour l'utilisateur.
La difficulté à définir précisément la tâche que doit aider à résoudre un système informatique interactif dans le cas d'une activité créative peut être exposée à contrario par un paradoxe : si le concepteur d'une application interactive pouvait effectivement modéliser informatiquement la totalité de l'activité de l'utilisateur, il n'y aurait dans ce cas pas besoin d'interface utilisateur. En effet, le système informatique serait alors autosuffisant et pourrait être rendu autonome. On peut trouver un exemple dans la réalisation des systèmes de métro automatique : l'ergonomie "ultime" d'un poste de conduite de rame de métro n'est-elle pas la suppression pure et simple du conducteur, dès lors qu'un robot peut prendre sa place en toute sécurité ?
Aussi le concepteur de système informatique interactif ne peut se donner comme objectif de fournir la "meilleure" interface possible (au sens de la minimisation de l'action et des erreurs pour une activité donnée). Il doit plutôt s'assurer qu'il fournit la façon la plus complète, la plus concise et la plus simple d'accéder et de manipuler les objets informatiques qu'il met à la disposition de l'utilisateur, sans présupposer de tout usage qui peut en être fait.
Devant la difficulté de définition stricte d'une activité de manipulation d'information, on effectue souvent une anthropomorphisation de l'ordinateur, en considérant que ce dernier peut être considéré comme un "partenaire" plus que comme un outil [Coutaz 1990] p. 2. Ce parallèle est parfois utile, notamment pour rapprocher les échanges entre l'ordinateur et l'utilisateur d'un langage et tirer parti de l'apport des théories linguistiques et sémiotiques pour modéliser certains aspects de l'interaction.
Cette interprétation de l'interaction homme-machine comme une forme de communication n'est cependant pas exempte de dangers. Elle tend selon nous à masquer la fonction et les capacités respectives des "partenaires" du dialogue. D'un coté l'utilisateur est le seul à attribuer un sens (par ailleurs souvent multiple) aux objets manipulés, et à pouvoir juger de l'obtention du résultat de son travail au moyen du système interactif. L'utilisateur est la seule partie en présence disposant d'initiative et dotée d'un but propre, d'une motivation à entamer l'échange et réaliser une tâche. De l'autre coté, l'ordinateur et son logiciel sont conçus pour faciliter et limiter au minimum souhaitable les actions de l'utilisateur, tout en maximisant la quantité et la pertinence de l'information offerte à son appréciation. S'il nous fallait chercher un modèle humanoïde pour représenter un "dialogue homme-machine", ce serait au mieux des relations maître-esclave qu'il nous faudrait étudier.
De plus, il importe de considérer que les systèmes actuels sont essentiellement multi-processus. Bien que l'utilisateur ne mène qu'une seule activité à la fois (encore que parfois plusieurs tâches ou sous-tâches soient étroitement entrelacées), il se peut que plusieurs processus actifs soient à l'écoute des actions de l'utilisateur pour une action élémentaire. Parfois, dans le cadre d'une action, certains processus peuvent être amenés à échanger des informations entre eux, en plus des échanges avec l'utilisateur. Ce dernier n'est pas alors en situation de dialogue, mais s'insère dans un "polylogue", qui requiert une modélisation différente.
Enfin, dans le cas du collecticiel, le système informatique ne constitue plus un partenaire, mais se doit d'être transparent à la communication entre les utilisateurs. D'interacteur, il devient moyen de communication. L'objectif de transparence de l'interface dans l'interaction se place en contradiction avec la présentation du système comme un partenaire à part entière d'un dialogue.
Pour résumer, en l'absence de modélisation précise de l'activité dans les tâches créatives, les objets informatiques, qui eux peuvent être décrit sans ambiguïté, constituent le support qui nous permettra de définir l'interaction avec un système informatique. L'objectif du concepteur de système informatique interactif est alors de fournir à l'utilisateur ciblé des moyens de perception et d'action sur des objets informatiques définis, plus que d'aider à mener une activité indéfinie. Ces moyens doivent être dans la mesure du possible complets et ouverts puisque l'utilisation qui en sera faite ne saurait être définie exhaustivement, du moins dans le cas des activités que nous souhaitons étudier. Ils doivent de plus être efficaces et naturels, c'est-à-dire qu'ils doivent permettre de maximiser l'usage de la bande passante entre l'humain et la machine, tout en restant cohérents avec le modèle que se forme a priori l'utilisateur des objets qu'il emploie.
Les moyens d'action mis à la disposition des utilisateurs sont aujourd'hui limités pour la plupart des applications : ils se réduisent à un clavier et d'une souris dont l'usage est restreint à la désignation d'objets et de points sur l'écran. Nous nous sommes donnés pour objectif d'étudier ces moyens d'action d'une façon plus générale, de les étendre, en cherchant autant que possible à améliorer l'adéquation entre les objets à manipuler et les actions élémentaires effectuées au moyen des dispositifs d'entrée. Nous avons pour cela choisi d'étudier plusieurs exemples de méthodes d'interaction novatrices, plus particulièrement dans un contexte dépassant les activités actuelles de l'informatique.
Sans aller aussi loin pour l'instant, il est utile d'envisager quelle forme pourrait prendre l'interaction humain-ordinateur avec des applications dépassant notre environnement de travail actuel. Nous nous sommes focalisés sur l'aspect "entrée d'information", moins exploré bien qu'en offrant des perspectives de développement importantes. Dans un premier temps, nous souhaitons étudier quelques exemples de techniques d'interaction novatrices et adaptées à des cas concrets. Nous avons plus particulièrement étudié l'interaction gestuelle, c'est-à-dire des méthodes d'interaction utilisant l'analyse de la dynamique de gestes effectués par l'utilisateur. Ces interfaces sont apparues relativement récemment et se sont largement répandues dans certains domaines tels que l'informatique portable (PenPoint [Carr 1991] et Apple Newton). Les techniques et méthodes qu'elles utilisent sont à la fois sophistiquées et assez aisément implantables sur les matériels informatiques actuels. C'est pourquoi elles nous ont paru un champs d'investigation intéressant.
Les quatre démonstrateurs réalisés ont fait l'objet études distinctes, et chacune nous a apporté quelques enseignements sur la caractérisation des techniques d'interaction. Le premier, "Hypermarks", évalue les possibilités de combinaison et d'intégration des interfaces gestuelles simples dans les interfaces à manipulation directe actuelles. "Ligne Claire" explore un nouveau type d'interaction gestuelle pour l'édition de courbes splines. Ce démonstrateur a été conçu en s'inspirant de techniques de dessin des utilisateurs ciblés. Les "Toolglass", ou "interacteurs transparents" sont une technique d'interaction multimodale étendant les principes de la manipulation directe en permettant d'utiliser la main non dominante en complément de la main dominante pour manipuler des objets informatiques, comme on le fait avec les objets du monde réel. Enfin "Charade" est une application évaluant les possibilités de l'interaction gestuelle non-instrumentale, c'est-à-dire les potentialités et les limites d'une interaction sans effecteur direct, à main nue.
Nous avons eu la possibilité d'aborder aussi bien les aspects de mise en oeuvre que l'évaluation de ces techniques, ce qui nous a offert plusieurs points de vue sur la conception de méthodes d'interaction. Cependant nous les avons choisies non pas pour elles-mêmes, mais dans le but d'explorer plusieurs aspects révélateurs de la morphologie de l'interaction humain-ordinateur. Notre conviction était que nous saurions en extraire des caractéristiques communes, des points de convergence, mais aussi des contradictions apparentes nous permettant d'extraire quelques principes globaux. Ainsi, nous serions mieux armés pour définir une démarche plus globale, si cela est possible.
Plusieurs démarches s'offrent à nous. La création ex-nihilo d'un tel modèle nous paraît ambitieuse et vouée à l'échec. Bien des tentatives actuelles de modélisation se limitent à une classe particulière d'applications ou de méthodes d'interaction. Dans ce cadre, un certain nombre de modèles, comme UAN [Hartson, et al. 1990] existent, mais ils ne sont capable de généralisation et d'extension que de façon ad-hoc. Notre objectif est de fournir des critères globaux, indépendants dans la mesure du possible du matériel ou de l'application considérée. C'est pourquoi nous ne pouvons nous en tenir à une étude limitée aux méthodes d'interaction actuelles et il nous faut en créer et évaluer de nouvelles afin d'étudier non pas une méthode d'interaction en elle-même, mais le processus qui conduit à sa création. C'est dans cette mesure que se justifie la première partie de notre thèse, en nous permettant d'étudier des exemples concrets.
Notre objectif n'en demeure pas moins ambitieux et c'est pourquoi il nous faut le limiter à certains aspects. Tout d'abord, nous ne pouvons prétendre avec l'étude de nos exemples atteindre une modélisation de tout type de méthode d'interaction. Ensuite, plutôt que de nous engager dans la voie d'une théorisation poussée, notre démarche reste par certains aspects informelle. Nous avons préféré nous restreindre à une approche pragmatique, qui bien que manquant de justifications théoriques, n'en débouche pas moins sur une méthode exploitable.
Si l'on considère les échanges humain/ordinateur du point de vue la théorie linguistique, on peut distinguer deux axes d'étude : l'axe paradigmatique, ou description des aspects lexicaux, des caractéristiques individuelles des signes employés, et l'axe syntagmatique, ou description de la structure donnée aux signes dans le temps ou l'espace pour produire des échanges d'information.
Nous avons choisi de nous concentrer sur l'axe paradigmatique des échanges humain/ordinateur, afin de déboucher sur des mécanismes généraux de conception de techniques d'interaction. L'axe paradigmatique nous intéresse plus particulièrement pour deux raisons. Tout d'abord, il existe à l'heure actuelle peu de travaux sur le sujet et il nous semble qu'une meilleure compréhension nous permettra de déboucher sur des méthodes de conception de techniques d'interaction beaucoup plus générales que ce qui existe actuellement. Enfin, contrairement à la linguistique où le vocabulaire est acquis et ne peut être modifié, le concepteur d'une application peut inventer de nouvelles méthodes de manipulation des objets informatiques. La création de nouveaux vocabulaires d'interaction est possible et souhaitable.
D'autre part, dans le cas de l'interaction homme-machine l'axe syntagmatique ne semble pas fournir une richesse équivalente. Les interfaces à manipulation directe ou leurs extensions basées sur la reconnaissance de marques ont une structure syntaxique naturellement pauvre : les préceptes de la manipulation directe (progression incrémentale vers le but à atteindre, retour arrière possible à tout moment, reflet constant des effets des actions de l'utilisateur [Shneiderman 1983]), imposent une minimisation des constructions syntaxiques, afin de faire correspondre le plus directement possible à chaque action élémentaire un changement d'état de l'application et traduire son reflet au moyen des dispositifs de présentation.
En résumé, nous cherchons à caractériser les signaux et actions élémentaires qui constituent la base des échanges humain-ordinateur. Pour en déterminer la nature, nous définirons un espace de conception de techniques d'interaction, déterminé par les caractéristiques des dispositifs d'entrée/sortie et des objets informatiques à manipuler. Nous poserons comme axiomes d'une théorie certaines exigences d'une interface humain-ordinateur : efficacité de l'interaction, facilité d'utilisation, complétude d'accès et conformité aux caractéristiques des objets définis par le système. Nous pourrons ainsi explorer la portion de l'espace validée par les axiomes au moyen d'une démarche cohérente. Nous ne prétendons pas cependant proposer un formalisme prématurément, car il paraît plus important à l'heure actuelle d'éviter les vues réductrices que de chercher à tout pris une modélisation formelle.
Figure
I.2.1 : modélisations d'un système informatique interactif. Les
flèches indiquent les relations
de dépendance de chaque
modèle.
Chacun des modèles présentés correspond à une vue que peut se former un observateur en fonction de son rôle dans l'élaboration. Le commanditaire du système est principalement préoccupé par l'activité (ou la tâche) que le système aidera à effectuer. Le concepteur de l'application a pour objectif de spécifier un système logiciel correspondant au modèle de l'activité. Le concepteur de l'interface propose une représentation des objets et des méthodes d'interaction efficaces et compréhensibles pour l'utilisateur, en fonction de l'application (modèle conceptuel) et du système informatique utilisé (modèle d'interaction). Enfin, l'utilisateur utilise un système en fonction de ses connaissances du domaine (activité) et du système (modèle d'interaction et modèle conceptuel de l'application).
À l'heure actuelle, le cahier des charges est essentiellement décrit en langage naturel, il n'existe pas de formalisme de description de l'activité. L'AFNOR propose une norme de présentation de cahier des charges, mais celle-ci n'est qu'indicative. Il existe cependant de nombreuses méthodologies d'analyse des besoins et de vérification qu'un outil logiciel permet effectivement d'assister une activité. J. Calvez [Calvez 1992], partie 3, présente un panorama de ces méthodes, et P. Brun [Brun et Beaudouin-Lafon 1995] détaille plus particulièrement les méthodes dédiées à la conception et la spécification de systèmes interactifs.
On peut distinguer deux niveaux de description de l'activité, que nous qualifierons de "dénotationnel" et "opérationnel"[4] . Prenons l'exemple d'un logiciel de traitement de texte. Dans une représentation dénotationnelle, on qualifiera l'activité sous la forme d'opérations telles que "Écrire une lettre", "Corriger un rapport", c'est à-dire en supposant des connaissances du domaine absentes de l'outil informatique, telles que la motivation de l'outil et de ses utilisateurs. Une représentation opérationnelle s'abstiendra de références à ces connaissances et décrira des opérations du type "Écrire un paragraphe", "Éditer le plan", "Imprimer le texte"...
Comme on l'a vu précédemment, dans les classes d'applications qui nous intéressent, constituées essentiellement d'activités créatives, nous supposons que l'activité n'est pas complètement modélisable sur un plan dénotationnel. Il n'est cependant pas possible de construire un modèle opérationnel de l'activité, sans avoir une représentation au moins partielle d'une ou plusieurs tâches sur un plan dénotationnel. Nous supposons cependant que cette représentation n'est pas matérialisable et demeure pour l'essentiel enfouie dans les motivations et les connaissances implicites des concepteurs et des utilisateurs.
Il convient de distinguer également le modèle de l'activité formulé par le concepteur du système de celui que peut se former l'utilisateur. Dans la plupart des cas, ces modèles sont assez proches, du moins est on en droit de l'espérer. Cependant, les applications informatiques sont des systèmes versatiles, qui peuvent dans une certaine mesure être détournés de leur usage initial, voire étendues à des domaines non prévus initialement. Dans ce cas, la représentation dénotationnelle de l'activité formulée par le concepteur est caduque. Même si elle était représentable sous une forme exploitable, elle ne serait utile ni pour le concepteur de l'application, ni pour l'utilisateur.
Le modèle de l'application n'est cependant pas le seul composant logiciel à prendre en compte lors de l'élaboration d'une application. En effet, les objets informatiques manipulables et les outils proposés s'insèrent, sauf rare exception, dans un environnement informatique. Il convient de prendre en compte les autres objets existant et les contraintes imposées par le système lors de la conception d'un nouvel outil [Smith et Susser 1992]. Les nouveaux systèmes d'exploitation, tels Taligent [Taligent 1994] et même Unix dans sa conception d'origine, ne reposent pas sur le concept d'application. Il n'existe pas d'entité autonome destiné à traiter une tâche particulière, mais un ensemble d'outils et d'objets informatiques autonomes ainsi que des outils intégrateurs permettant d'organiser l'interaction de ces outils entre eux pour répondre aux besoins de l'utilisateur.
Afin d'intégrer ces aspects, nous nous devons de considérer le système interactif dans son ensemble. La création de nouveaux outils informatiques n'est pas la création d'entités autonomes, mais un assemblage de composants et leur intégration dans un système, réutilisant autant que possible les fonctionnalités fournies par le système d'origine et respectant ses caractéristiques. Afin de prendre en compte cette architecture, nous préférons considérer le système interactif dans son ensemble, plutôt qu'une "application" particulière aux limites parfois floues.
Un aspect supplémentaire viens parfois réduire l'importance du modèle de l'application au sein d'un système interactif. Dans de nombreux programmes, tels les logiciels de dessin, ce que l'on appelle noyau fonctionnel est une coquille vide. Comme on le verra dans notre démonstrateur de modèle d'interaction pour l'édition de courbes splines, c'est parfois la seule technique d'interaction et de manipulation des objets qui créé la fonctionnalité d'une application. Dans ce cas, les algorithmes et méthodes dédiés à l'interaction agissent directement sur les données que l'on pourrait considérer comme faisant partie du noyau fonctionnel. La traditionnelle séparation interface/application est dans ce cas remise en cause et doit faire la place à d'autres formes de modularisation que nous présenterons.
La tâche essentielle du concepteur de l'interface d'un système interactif est la définition d'un modèle conceptuel adapté aux activités envisagées. Elle consiste à extraire des actions réalisables avec le système et des objets manipulables une structure cohérente, aisément assimilable et permettant une interaction efficace. Il n'existe pas vraiment de moyens de représentation autonomes d'un modèle conceptuel. La spécification d'une interface noie la définition du modèle conceptuel sous des considérations propres à l'implantation du système dans un environnement déterminé et à la définition du modèle d'interaction. Par la suite, nous considérerons souvent que le modèle conceptuel est la partie du modèle de l'application accessible à l'utilisateur : c'est donc un sous-ensemble du modèle de l'application considérée, ou, si l'on ne considère pas une application mais un système dans sa globalité, l'ensemble des objets que l'utilisateur perçoit ou manipule.
Une pratique souvent efficace pour structurer le modèle conceptuel consiste à transposer le modèle de l'application en un modèle plus conforme aux connaissances de l'utilisateur par le biais d'une métaphore. Par exemple, le système de gestion de fichiers sur les ordinateur Apple propose la métaphore maintenant classique du "bureau" : les fichiers, répertoires et actions sont respectivement dénommés "documents", "dossiers" et "outils". L'utilisateur, avec un modèle d'interaction iconique, peut réaliser les différentes fonctions d'un système de gestion de fichiers hiérarchique en transposant ses actions dans celles d'un univers supposé mieux connu. Cependant toute métaphore a ses limites, et certaines manipulation d'objets informatiques ne se prêtent pas forcément à une "métaphorisation". Certaines applications proposent donc des modèles conceptuels abstraits, qui n'en sont pas moins adaptés. Ainsi 4ème dimension [Ribardière 1986-1995], SGBD sur ordinateur Macintosh, permet la manipulation d'un schéma relationnel par l'intermédiaire d'une représentation graphique du schéma de données.
Figure I.2.2 : représentation d'un schéma de données dans
4ème dimension et
quelques unes des actions de manipulation
autorisées.
La plupart des opérations courantes de manipulation d'un schéma peuvent être réalisées directement sur la représentation des objets, en très peu d'actions. Mieux, la représentation et l'écho des actions de l'utilisateur induisent dans une large mesure les fonctionnalités offertes. Dans ce cas, la définition du modèle conceptuel est implicitement contenue dans le choix de la représentation faite d'un schéma relationnel et les actions de manipulation proposées.
* Nous avons vu qu'une des caractéristiques des activités de manipulation d'information dans un contexte créatif était qu'on ne pouvait pas les décrire explicitement. Il en découle que le concepteur d'une application ne peut prétendre cerner la totalité des usages qui vont en être fait et de son rôle précis.
* L'élaboration par un utilisateur d'un modèle mental de son outil est variable. Tout d'abord, elle progresse avec l'apprentissage et l'usage de l'application. Elle dépend également fortement des connaissances qu'a l'utilisateur du domaine de la tâche à réaliser. Par exemple, on rencontre très fréquemment des personnes de formation supérieure incapables de se construire une représentation adéquate d'un système de fichiers. En dépit de la "convivialité" offerte par le "Bureau" du Macintosh, nous avons rencontré beaucoup d'utilisateurs intensifs de Macintosh rigoureusement incapables de construire et de maintenir une hiérarchie cohérente de leur fichiers. Ce problème provient de ce que ces utilisateurs n'ont en fait pratiquement aucune connaissance du domaine de l'organisation des fichiers, ou bien n'ont pu établir de lien entre leur expérience pratique d'organisation et la représentation fournie par le système. Il importe dans ce cas de distinguer le modèle conceptuel, représentation "idéale" du système informatique, et le modèle de l'utilisateur, représentation réelle, qui n'est pas pour autant toujours inadaptée à l'activité menée au moyen du système informatique [Norman 1983].
Tout comme le modèle dénotationnel de l'activité, un modèle de l'utilisateur ne peut être représenté formellement dans sa totalité. Tout d'abord, il est fortement dépendant de chaque utilisateur du système et n'est donc pratiquement jamais unique. De plus, il se définit a posteriori et non lors de la conception de l'application. Il est cependant possible d'en obtenir certaines caractéristiques, soit par des connaissances générales de psychologie cognitive, soit par l'observation des usagers en situation.
Par ailleurs, nous distinguerons deux modèles de l'utilisateur : le modèle de l'utilisateur extrapolé est l'ensemble des connaissances que le concepteur peut avoir du modèle de l'utilisateur, sa portion explicitable. Le modèle de l'utilisateur réel est celui qui se forme et évolue pour chaque utilisateur donné.
Par extension, les spécialistes des interfaces adaptatives et des systèmes de langage naturel entendent souvent par modèle de l'utilisateur un module logiciel construisant pour les besoins de l'interaction une représentation de l'état mental supposé de l'utilisateur. Cette acception ne rentre pas dans l'étude de la morphologie de l'interaction humain-ordinateur proprement dite. Par conséquent nous n'emploierons pas ce terme sous dans ce dernier sens.
Un modèle d'interaction décrit une structure générale : par exemple le modèle d'interaction des interfaces iconiques décrit les objets du modèle conceptuel sous forme de représentations graphiques appelées icônes. Ces objets peuvent être manipulés au moyen d'un vocabulaire d'actions limité : sélection (clic simple) et déplacement sur une autre icône ("drag and drop"). Quoique restreint, ce modèle d'interaction offre beaucoup de possibilités dans des domaines d'application variés ([Chang 1989]).
La notion de style d'interaction peut parfois être utilisée pour décrire des variations d'un même modèle d'interaction sur des aspects morpho-syntaxiques (axe syntagmatique). Un exemple de variations de style d'interaction est le choix d'une syntaxe "objet-verbe" ou "verbe-objet" dans les interfaces iconiques ou les interfaces "lignes de commandes". L'interprétation des clics multiples (sélection d'une ligne ou d'un paragraphe) ou les changements automatiques de modes dans les outils de dessin (retour automatique au mode "sélection" après une création d'objet ou conservation du mode courant dans les outils de dessin utilisant une palette d'outils) sont d'autres exemples de variations de style courantes, qui contribuent à l'agrément et à la personnalité d'un outil logiciel.
Nous entendrons par technique d'interaction la définition d'un aspect lexical (axe paradigmatique) d'un modèle d'interaction. Par exemple, le "drag and drop", ou une méthode de reconnaissance de marques laissées par un stylet sur une tablette graphique sont des techniques d'interaction. Un modèle d'interaction peut utiliser une ou plusieurs techniques différentes, mais il importe que celles-ci n'introduisent pas d'ambiguïtés ou de contradictions dans l'interprétation des actions de l'utilisateur. Il est par exemple délicat de mêler les techniques classiques de l'interaction iconique (sélection et "drag and drop") avec la reconnaissances de gestes, qui impose un écho des actions sous forme de trace et une interprétation des actions différée.
Un modèle d'interaction ne se limite pas à la conjonction d'une ou plusieurs techniques et de styles. Il importe de considérer des aspects pragmatiques : caractéristiques imposées par les médias utilisés, contexte d'utilisation... La description suivant une terminologie linguistique que nous avons proposée `(lexique=technique et style=syntaxe) peut aider à structurer la présentation d'un modèle d'interaction, mais elle n'est pas suffisante. L'interaction se distingue d'un langage par certains aspects :
* le "lexique" n'est pas une donnée, mais peut être créé en fonction des besoins. Il en résulte un accent important à mettre sur les aspects sublexicaux (ou "alphabétiques") de l'interaction, pour lequel la linguistique est de peu d'utilité.
* les actions de l'utilisateur ne peuvent être représentées totalement dans une structure à double articulation (lexique/syntaxe) : il peut y avoir de multiples niveaux d'articulation suivant les moyens d'action proposés pour manipuler les objets. Nous présenterons de tels exemples.
* Afin de permettre une interaction naturelle avec les objets informatiques, les méthodes d'interaction et la représentation des objets doivent avoir un rapport non arbitraire avec les concepts informatiques auxquels elles se référent. Pour P. Andersen [Andersen 1990] p. 18, l'interaction humain-ordinateur est sur ce plan plus proche de la sémiotique que de la linguistique (qui suppose un rapport entre signifiant et signifié arbitraire).
Un modèle d'interaction n'est pas une entité autonome. Le modèle d'interaction intégrateur d'un système est l'ensemble des techniques et styles d'interaction prédéfinies par l'environnement informatique. Les guides de styles, tels le guide d'OSF Motif [OSF 1991] définissent un certain nombre de règles de construction et de comportements d'objets de l'interface. Par exemple, ces guides indiquent les méthodes standard d'édition et de sélection d'un texte ou d'une liste d'objets, précisant comment doit être faite la sélection multiple, la suppression ou l'insertion d'éléments. L'apprentissage des techniques d'interaction prédéfinies permet à l'utilisateur confronté à un nouvel outil de se concentrer principalement sur le modèle conceptuel de cet outil et simplifie donc grandement la création du modèle de l'utilisateur. Dans les meilleurs cas, seule la partie originale, propre au modèle conceptuel et à la tâche nécessite un apprentissage. Cependant, les composants d'interaction prédéfinis ne sont pas toujours adaptés à un domaine d'application particulier. Par exemple, le modèle d'édition de texte standard n'est souvent pas adapté à l'édition d'un texte fortement structuré (plan d'un rapport, programme informatique). La conception d'un modèle d'interaction pour de tels cas doit respecter un équilibre entre l'introduction de caractéristiques nouvelles utiles à l'expression et la représentation du modèle conceptuel, en introduisant le moins de contradictions possibles avec le modèle intégrateur.
Le modèle d'interaction et le modèle conceptuel d'une application présentent certaines interdépendances : la définition d'un modèle conceptuel peut nécessiter celle d'un modèle d'interaction adapté. Cependant, toute application s'insère nécessairement dans un environnement informatique, et se doit de prendre en compte les caractéristiques du ou des modèles d'interaction intégrateurs. Par exemple, les applications HyperCard et le Finder du Macintosh utilisent toutes deux des modèles d'interaction iconiques. Dans les applications HyperCard, les icônes sont "activées" par un simple clic (ce sont des boutons), tandis qu'il faut un double-clic pour effectuer la même opération avec le Finder. Ces deux applications coexistent au sein d'un même environnement, aussi Apple [Apple 1990] a dû mettre en garde ses développeurs contre les confusions que peuvent engendrer auprès des utilisateurs le mélange de ces deux styles.
Certains outils, tels UAN [Hartson, et al. 1990] permettent de spécifier certains aspects d'un modèle d'interaction. Cepedant, la plupart du temps, la définition d'un modèle d'interaction est partielle, la plupart des comportements d'une interface pouvant être compris de façon implicite, par référence aux usages. Nous reviendrons plus en détail sur les techniques actuelles de définition et de caractérisation des modèles d'interaction. Cependant, afin d'alléger notre exposé, nous nous contenterons en premier lieu d'une définition "par défaut", soulignant les aspects spécifiques d'un modèle, sans l'expliciter en totalité. Ce n'est que lorsque nous essayerons de caractériser de nouveaux modèles et de formuler notre démarche de conception de modèles d'interaction que nous adopterons une approche descriptive plus précise.
On appelle nimbus l'environnement perçu par un agent à un instant donné. Pour un être humain, il s'agit des informations perçues par ses sens, mais aussi dans une certaine mesure les déductions et corrélations qu'il peut faire à partir des informations reçues sur la configuration de son environnement. On peut aussi considérer qu'une dimension temporelle intervient dans la constitution du nimbus: La mémoire à court terme des sens permet de reconstituer par exemple le volume d'un objet en trois dimensions à partir de l'exploration de ses facettes. Dans le cas d'un système informatique, ou plutôt d'un processus, le nimbus est constitué des signaux captés par les dispositifs d'entrée ou les canaux de communication avec d'autres processus. La mémoire d'état des capteurs fait également intervenir une dimension temporelle dans la constitution du nimbus d'un système informatique.
Réciproquement, l'aura d'un agent est l'ensemble des manifestations de l'agent permettant d'en déduire une partie de son état interne. Les dispositifs de sortie d'un système informatique constituent la majeure partie de son aura. Cependant, des artefacts de fonctionnement, tels le bruit du disque dur, permettent à un utilisateur habitué de déduire, parfois inconsciemment, certains aspects de l'état du système qu'il convient d'intégrer à l'aura. L'aura d'un agent humain vis-à-vis d'une machine est plus limitée et facilement caractérisable. Dans la plupart des systèmes actuels, seul l'effet des actions intentionnelles de l'utilisateur sur les dispositifs d'entrée est interprété. Des systèmes encore expérimentaux (détecteurs de présence, analyse de la direction du regard...) étendent l'aura à l'état physique de l'utilisateur. Nous appellerons ces dispositifs des capteurs de contexte [Beaudouin-Lafon 1993]. Les signaux qu'ils captent ne résultent pas d'une manifestation intentionnelle de l'utilisateur, mais permettent de déduire le contexte dans lequel l'utilisateur agit. Cependant, plus la quantité d'information sur l'utilisateur reçue par le système est grande et diversifiée, plus il est difficile d'en tirer partie de manière efficace et utile. Tirer profit efficacement de connaissances sur l'état physique de l'utilisateur requiert un module logiciel dédié, qui peut être complexe, et dont le rôle est peut-être subalterne par rapport à la tâche assignée au système.
Enfin, tout agent est caractérisé par son focus, ou point d'attention de l'agent lors de la production intentionnelle d'un changement d'état de l'environnement perçu. Le focus se situe dans l'intersection de l'aura et du nimbus de l'agent : il est nécessaire d'avoir une conscience de ses capacités d'action pour agir intentionnellement sur un autre objet ou un agent. Au sein d'un processus informatique, le focus est constitué par le registre "compteur de programme" de la machine. Dans un sens plus large, sur les systèmes actuels à base de boucles d'événements, on peut l'étendre à l'événement couramment géré par le programme. Le focus d'attention de l'utilisateur, dépendant de son intention et de son assimilation du modèle conceptuel, n'est pas perçu directement par un processus interactif. Il est donc de la responsabilité du concepteur d'un système interactif de fournir des moyens de repérages à l'utilisateur, l'écho de ses actions. Réciproquement, les techniques d'interaction mises en oeuvre doivent implicitement offrir un moyen à l'utilisateur de marquer ses actions afin que le système en déduise son "point d'attention". Les dispositifs traditionnels, clavier et souris, portent en eux-mêmes la marque d'attention de l'utilisateur : l'effort musculaire nécessaire pour les activer traduit l'intention d'interaction. L'une des difficultés à résoudre dans les systèmes immersifs comme les réalités virtuelles ou les systèmes de reconnaissance de la parole en environnement réel est la difficulté d'établir des marqueurs d'intention traduisant l'objet d'attention, et de savoir si elle est portée sur le système interactif ou sur un autre objet de l'environnement. Dans le cadre du collecticiel, ce problème se traduit par la nécessiter de fournir une sensation de présence des autres utilisateurs d'un logiciel de travail en groupe ("awareness") [Karsenty et Beaudouin-Lafon 1992].
La figure I.2.3 représente les différents niveaux d'interaction possibles entre un agent et un dispositif passif (un outil simple) (figure a) et entre deux agents interagissants (humain/humain ou humain/outil informatique) (figure b).
Sur la figure (a), un agent (caractérisé par son aura, son nimbus et un focus évoluant dans leur intersection) agit sur un dispositif passif (incapable d'action propre, donc non pourvu d'un nimbus). Il peut y avoir trois niveaux d'interaction :
* dans l'intersection nimbus/aura (zone I), l'agent perçoit le dispositif, sans agir dessus. Par exemple, si le dispositif est une feuille de papier imprimée, l'agent peut la lire sans la modifier et s'informer de son contenu. Si l'agent est un ordinateur, l'écran donnera certaines indications sur l'état du système. Dans ce dernier cas cependant, le système ne saura pas quelle information est perçue par l'utilisateur (puisque le système est passif).
* dans une intersection aura/aura (zone II), l'aura de l'agent (les informations perceptibles sur son état interne) est modifiée par le dispositif (interférence). Par exemple, la feuille de papier peut masquer la vue de l'agent, et donc modifier son aura. Plus couramment, l'agent peut déchirer la feuille de papier (sans s'en rendre compte) ou la cacher à la vue d'autres observateurs, modifiant ainsi la façon dont elle est perçue. Cette forme d'interaction caractérise une modification non-intentionnelle, ou non perçue, du dispositif par l'agent (ou de l'agent par le dispositif).
* dans une intersection focus/aura (zone III), l'agent agit intentionnellement sur le dispositif (ou au moyen de l'outil). Il peut par exemple écrire sur la feuille de papier ou se servir de l'outil intentionnellement.
Figure
I.2.3 : Les différents niveaux d'interaction entre a) un agent et un
dispositif passif
b) deux agents interagissants.
Dans le cas d'une interaction entre agents (figure b), le nombre de cas de figure est beaucoup plus élevé et croît exponentiellement en fonction du nombre d'agents. Avec deux agents interagissants, il y a neuf possibilités d'interaction, suivant que l'un des agents agit intentionnellement ou non et que l'un des agents perçoit ou non l'action effectuée. Les zones périphériques du schéma décrivent soit des états où l'utilisateur n'est pas conscient de l'action du système (par exemple, sur un écran, une information affichée mais non perçue), soit des cas où il utilise des informations fournies involontairement par ce dernier (par exemple le bruit du disque dur). Il est utile de caractériser chacune des intersections possibles dans le cas de l'utilisation de capteurs de contexte, lorsque le système ou l'utilisateur ont une représentation réciproque de l'autre dépassant la seule expression d'intention.
Dans nos travaux, nous ne caractériserons cependant que la zone centrale de cette intersection, qui correspond à la plupart des modèles d'interaction actuels. Une interaction effective (ou volontaire) entre agents ne peut se produire que si l'aura de chacun intersecte le nimbus de son partenaire, plus particulièrement lorsque les focus des deux agents convergent : l'un et l'autre sont "conscients" de l'action de l'autre sur lui-même. On appellera bande passante une mesure de cette intersection. Pour pouvoir définir une telle mesure, il faut disposer d'un espace mesurable, et donc de dimensions caractérisant nimbus et aura. L'un de nos objectifs est précisément de définir un tel espace. Remarquons cependant dès à présent que plus la bande passante est large, meilleures sont les chances d'une interaction efficace. Cependant, il est nécessaire que se forme un accord entre les agents au sein de cette intersection. Cet accord se forme par la convergence des focus des agents sur les mêmes portions des environnements perçus. C'est donc l'intersection des focus des deux agents qui constitue l'espace utile de l'interaction intentionnelle.
Notons cependant une dissymétrie dans l'usage fait du nimbus et de l'aura par des agents interagissants. Élargir l'intersection nimbus/aura afin d'améliorer l'intersection entre deux agents peut réclamer une certaine dépense d'énergie. Le rôle du système étant d'assister, c'est de ce dernier qu'on attend l'"ouverture" : l'effort de mise à disposition de son état interne et de capture de l'aura de l'utilisateur. On ne peut demander à l'utilisateur d'étendre à volonté son aura et son nimbus. C'est donc sur les dispositifs de présentation et les capteurs du système qu'il faut intervenir pour étendre l'intersection. On considère que la tâche essentielle du système est de proposer à l'utilisateur, de lui livrer un choix et d'organiser la présentation de manière à savoir guider et structurer l'évolution du focus d'attention sans le monopoliser. Ainsi, le système interactif se doit de maximiser son aura et son espace perçu, afin que l'utilisateur n'ait qu'à fournir un effort minimal d'accommodation de ses propres ressources. En d'autres termes, la bande passante humain->machine se doit d'être potentiellement restreinte mais bien exploitée, tandis que la bande passante machine-->humain se doit d'être aussi large que possible, afin de mettre le maximum d'information à la disposition de l'utilisateur.
Nous appelons tout capteur d'information du système un capteur ou dispositif d'entrée. Un dispositif d'entrée se caractérise par sa capacité à transformer des signaux provenant de l'environnement en signaux informatiques. Lorsque les informations captées par un dispositif traduisent directement l'intention d'action de l'utilisateur, ils seront qualifiés d'effecteurs. Les effecteurs permettent donc de déterminer précisément le focus d'attention de l'utilisateur. Les autres capteurs peuvent être utilisés pour préciser le contexte d'utilisation, mais ne sauraient suffire en eux-mêmes : par exemple, la souris est inutilisable dans l'interaction graphique sans au moins un bouton (effecteur de la souris), permettant de distinguer la désignation explicite d'objets du simple déplacement du pointeur. Notons qu'un dispositif donné peut jouer le rôle de capteur ou d'effecteur en fonction du mode courant : par exemple la souris dans le système Xwindows sert à déterminer la zone sur laquelle est dirigée l'entrée du clavier, par la position du pointeur qu'elle indique à l'écran. Les touches modificatrices (Majuscules, Contrôle...) du clavier peuvent également avoir un rôle de capteur simple ou d'effecteur, suivant l'application.
Claude Cadoz [Cadoz 1994] décrit les trois composants de l'interaction instrumentale, dans un contexte musical : les senseurs peuvent être des activateurs (touches du clavier ou bec de l'instrument à vent), des modulateurs (cordes ou vibrato de la guitare...) ou des sélecteurs (registres de l'orgue...). Dans une optique simplificatrice et réduite au traitement d'information, nous regroupons les deux dernières catégories au sein des senseurs purs, les activateurs correspondant aux effecteurs, spécifiant l'intention d'action.
Nous appellerons modalités les canaux d'interaction d'un agent humain. Ce terme présente une polysémie rendant son usage délicat. Le dictionnaire nous en donne une définition particulièrement floue : "Forme particulière d'une pensée, d'un acte...". Yacine Bellik [Bellik et Teil 1992] lui donne un sens plus précis : "une modalité est une forme concrète particulière d'un mode de communication. Par exemple, le bruit, la musique, la parole sont des modalités du mode sonore". Sous cette acception, un même canal physique peut servir à plusieurs modalités. Par exemple, le geste manuel peut écrire, modalité langagière, ou manipuler, modalité actionnelle. Inversement, il existe deux canaux physiques importants pour la modalité gestuelle : la main dominante et la main non dominante. Il est impossible et probablement peu utile aux systèmes informatiques actuels de distinguer de façon sûre quelle main a été à l'origine de l'action. Le canal physique effectivement employé importe peu au regard de la façon dont il l'a été : pour émettre un signe ou effectuer une action.
Nous retenons de cette définition que la structuration de l'espace des possibilités d'interaction ne doit pas se faire suivant le même plan du coté du système informatique, qui ignore tout traitement d'aspects cognitifs, et du coté de l'usager, dont les modalités d'action se découpent plus suivant un schéma cognitif que proprement fonctionnel et physique.
L'écho lexical reflète les actions élémentaires de l'utilisateur sur les dispositifs physiques, sans relation directe avec les objets informatiques manipulés. Par exemple les mouvements du pointeur animé par la souris, ou la trace des gestes réalisés dans une interface gestuelle. L'écho syntaxique marque les enchaînements en cours et situe l'utilisateur dans l'articulation de ses échanges avec l'ordinateur. Par exemple, la forme du pointeur, qui évolue en fonction du mode courant d'un éditeur de dessin, ou le curseur clignotant qui indique le point d'insertion dans un éditeur de texte. Enfin, l'écho sémantique reflète l'effet des actions de l'utilisateur. Par exemple, une jauge indiquant la progression d'un calcul constitue une forme d'écho sémantique. Il convient cependant de le distinguer de l'action sur les objets informatiques. Par exemple, dans le Finder du Macintosh, l'écho sémantique produit une inversion vidéo des icônes sur lesquelles l'utilisateur peut déposer l'icône en cours de déplacement. L'écho sémantique reflète le résultat des actions, mais ne constitue pas une action sur les objets.
Cette distinction schématique en trois niveaux directement inspirés de la linguistique cache cependant la complexité que peut avoir l'écho dans un système informatique réel. Tout d'abord, les trois formes d'écho ne sont pas présentes conjointement. Ensuite, un écho peut suivant le contexte se transformer d'écho lexical en écho syntaxique pour les mêmes actions de l'utilisateur [Kurtenbach et Buxton 1993]. De plus, il existe des niveaux intermédiaires : les éditeurs de dessin utilisant un modèle en couche [Beaudouin-Lafon, et al. 1991], [Fekete 1992] peuvent multiplier les couches de transformation de l'action physique en action sur les objets informatiques bien au-delà des trois niveaux d'abstraction cités. Ainsi, Slice [Karsenty et Beaudouin-Lafon 1994] utilise cinq couches graphiques, chacune porteuse d'un écho particulier.
Enfin, l'étude des niveaux sublexicaux (ou "alphabétiques", pour poursuivre notre comparaison) peut revêtir une importance considérable pour l'utilisabilité d'un système. On peut considérer que l'enfoncement des touches du clavier constitue une forme d'écho lexical des actions de l'utilisateur. Il est établi que les claviers dits "sensitifs", ne fournissant pas de rétroaction mécanique aux actions de l'utilisateur, sont plus difficilement utilisables que les claviers conventionnels, bien que requérant (en théorie) moins d'effort énergétique. L'absence de rétroaction des touches empêche l'utilisateur de s'assurer qu'une touche a bien été enfoncée, avant qu'il en ait eu un écho lexical. Ainsi, il est très difficile de s'assurer de la convergence des focus d'attention, c'est-à-dire que le système informatique a effectivement pris en compte l'action réalisée. On appellera écho passif la réponse physique des dispositifs d'entrée/sortie. Par opposition, un écho actif est une forme d'écho sur lequel le système peut avoir une influence lors de son fonctionnement. L'écho passif est d'une importance capitale dans bon nombre de modèles d'interaction et ne doit pas être sous-estimé. Ainsi, les concepteurs de TicTacToon [Fekete 1994] [Fekete, et al. 1995], logiciel de dessin destiné aux réalisateurs de dessin animés, précisent que les inconvénients majeurs des tablettes graphiques actuelles ne sont pas dues à leur performance, ou au décalage entre la zone d'action (tablette) et la zone d'écho (écran), mais au toucher de la tablette, jugé désagréable par les graphistes professionnels.
La versatilité de l'outil informatique impose malgré tout une structuration des échanges. Comme l'explique W. Buxton [Buxton 1986], il importe d'organiser un rythme convenable dans les successions d'actions de l'utilisateur, et de respecter une forme d'enchaînement prédictible et en accord avec la "respiration cognitive" de l'utilisateur ; alterner les phases de tension et de relâchement de l'attention, et éviter la dispersion de l'attention dans une structure trop riche.
* Mode d'expression (sens grammatical : Indicatif, Conditionnel...) : désigne une manière de s'exprimer, induisant l'intentionnalité de l'énoncé.
* Mode de dialogue (directif, réactif, coopératif, négocié...) [Caelen 1992]: désigne une manière d'organiser le dialogue, une propriété de la structure générale des énoncés.
* Mode d'action (Gestuel -- Continu, Changements d'états --, Vocal -- Parole, Bruits... --) : désigne une manière d'agir, définit le type des éléments de l'énoncé (axe paradigmatique).
En interaction homme-machine, on se rapproche du premier sens du mot mode lorsque l'on désigne les différents modes d'un outil, tels que "mode insertion", "mode sélection", "mode commande". Dans ce cas, le choix d'un mode permettra à l'utilisateur de définir quel sens il entend donner à la suite de ses actions. En effet, l'ordinateur étant un outil versatile aux moyens d'accès limités, les mêmes dispositifs (clavier) doivent être utilisés dans des contextes précis pour entrer des informations de nature différente. On retiendra donc le plus souvent la définition suivante : "État de l'interaction définissant la fonction des dispositifs d'entrée de façon unique". Un mode est donc la description d'un contexte permettant de lever toute ambiguïté sur la signification des actions élémentaires de l'utilisateur sur les dispositifs d'entrée.
On peut définir la syntaxe d'une application interactive en définissant l'enchaînement des modes à la façon d'une grammaire (contextuelle ou non). Le "lexique" est constitué des différentes actions disponibles dans chaque mode. On préférera souvent représenter cet enchaînement sous la forme d'un automate à états fini, voire d'un réseau de Petri [Palanque 1992] qui permet de vérifier certaines propriétés souhaitables de l'articulation de l'interaction.
La transition d'un mode à un autre peut se faire de façon explicite, sur demande expresse (choix d'un outil dans une palette) ou implicite, par un effet de bord de l'action de l'utilisateur. On parlera dans ce dernier cas de micro-modes : par exemple lors d'un déplacement d'icône, les touches du clavier sont inactivées, et les seules action autorisées sont le déplacement du curseur ou le relâchement du bouton enfoncé. L'étude des transitions de mode principal à micro-mode et l'enchaînement de ces derniers peut rendre l'interaction complexe à décrire. Il est parfois difficile de tracer une frontière exacte entre mode et micro-mode : certains changements de modes peuvent s'automatiser et devenir des micro-modes en fonction de l'usage que fait l'utilisateur de l'application. Par exemple, dans l'éditeur d'écrans de saisie de 4ème dimension, le retour au mode sélection après la création d'un objet est par défaut automatique, mais parfois inhibé lorsque la même commande de création a été rappelée plusieurs fois.
Pour décrire de telles formes d'interaction, on peut utiliser un outil comme UAN [Hartson, et al. 1990], particulièrement adapté à la description des enchaînements de micro-modes dans les applications à interaction graphique utilisant des techniques d'interaction traditionnelles, telle que sélection, "drag-and-drop"... Il est en effet souvent difficile et long de détailler la multiplicité des micro-modes, or il est important que le concepteur d'une application ou son programmeur documentent son comportement exact. UAN propose un vocabulaire des actions élémentaires les plus courantes et une syntaxe permettant de décrire des enchaînements de ces actions et des emboîtements de modes nécessaires pour réaliser une tâche donnée.
D'une manière générale, la description des enchaînements de modes ne présente pas de difficulté majeure de formalisation. Les modèles linguistiques étudiés depuis les débuts de l'informatique nous suffisent pour décrire les propriétés des graphes d'enchaînements. Des outils formels ont l'avantage de permettre de vérifier certaines propriétés souhaitables de la structure des modes, mais notre objectif se limité pour l'instant à une démarche descriptive des modèles d'interaction. De plus, nous avons déjà évoqué que dans l'absolu, ce graphe se doit de rester le plus simple possible et donc ne doit pas être trop complexe à présenter.
Sur le plan intra-modal, les mêmes actions réalisables dans plusieurs modes différents doivent pouvoir être exprimées de la même façon, afin d'assurer un minimum de cohérence. Par exemple, dans un éditeur de dessin, les modes "tracé de rectangle" et "tracé d'ellipses" utilisent les même micro-modes emboîtés pour permettre à l'utilisateur de spécifier un des coins du rectangle englobant l'objet, puis le deuxième point. Certains éditeurs de dessin comme Canvas proposent un autre mode où l'utilisateur peut choisir de dessiner sa figure en indiquant d'abord le centre puis le rayon. Dans l'absolu, cette dernière technique est sans doute plus conforme à notre conception mentale d'une ellipse, alors que la première convient plus à un rectangle. Il importe cependant de conserver la cohérence intra-modale en fournissant la même technique dans le même contexte de création d'objet, plutôt que de choisir le mode de création le plus conforme à la représentation de chaque objet et d'introduire ainsi une incohérence.
La régularité inter-modale requiert que les passages entre modes se fassent de façon homogène. Afin de permettre une construction satisfaisante du modèle de l'utilisateur, il importe que tout mode soit accessible de la même façon, quel que soit le mode de départ. Michel Beaudouin-Lafon [Beaudouin-Lafon 1988] distingue deux composants des interfaces graphiques : l'interface de contrôle, qui permet la navigation dans l'application, et entre autres le choix des modes principaux, et l'interface de données, qui présente les objets informatiques et permet leur manipulation proprement dite. Le fonctionnement de l'interface de contrôle est défini par les guides de styles propres à une plate-forme donnée, et se doit d'avoir le même aspect pour toutes les applications d'un système considéré. Cette interface de contrôle définit un cadre propre à assurer une bonne cohérence inter-modale.
Les concepteurs de Spice [Fahlman et Harbison 1983] et de l'Alto [Smith, et al. 1982], insistent sur le rôle d'un ensemble de fonctionalités de l'interface permettant l'articulation (ou la navigation) de façon unifiée au sein d'une application ou d'un système. Il peut être matérialisé dans un modèle d'interaction par la présence de menus, une touche "modificatrice" des entrées (touche "contrôle" la plupart du temps, mais aussi "échappement" ou "Alt") qui fournit le moyen de naviguer dans les interfaces non graphiques. On appellera modalité dominante le canal (la modalité pour l'utilisateur) supportant cette articulation. En théorie, il n'est pas nécessaire qu'une seule modalité supporte la totalité de l'articulation entre les principaux modes. Cependant, comme nous l'exposerons ultérieurement, il est plus facile de respecter la cohérence inter-modale si les enchaînements sont déterminés par un canal principal, vecteur de l'intention d'agir, que si plusieurs modalités y concourent. Le modèle d'interaction intégrateur, que nous avons défini plus haut, repose donc sur une modalité particulière d'interaction.
Par exemple, dans [Baudel 1991], nous distinguons les interfaces multimodales à dominante gestuelle (ou "actionnelle") de celles à dominante langagière. Si l'on veut profiter pleinement des possibilités de l'interaction gestuelle conjointement avec une interface vocale, il faut alors limiter les commandes vocales à de simples signaux modulateurs, fournissant des coréférences ou des précisions sur la nature de l'entrée, mais on ne saurait utiliser une interface en langage naturelle complète sans produire des effets de "discours concurrents", le geste exprimant une commande et la parole une autre. La réciproque est naturellement tout aussi vraie, et il semble difficile de tirer parti de toute la capacité d'expression des interfaces gestuelles dans une interface basée sur une analyse du langage naturel[Bellalem et Romary 1993].
Nous détaillerons ultérieurement cet espace, en particulier en présentant les travaux existants en modélisation de l'interaction. Nous souhaitons cependant décrire à présent les propriétés souhaitables d'un modèle d'interaction, qui nous permettront d'explorer la portion utile de l'espace de conception.
Dans la pratique, une interaction efficace se doit de minimiser les actions de l'utilisateur, et de tirer au mieux parti de ses capacités physiologiques supposées. À ce titre, le "critère du handicap" illustre bien l'objectif d'efficacité de l'interaction. Ce critère permet de vérifier l'utilisation efficace des capacités physiologiques de l'utilisateur : Étant donnés plusieurs modèles d'interaction de puissance d'expression a priori identique, le modèle tirant le mieux parti d'une ressource de l'utilisateur est celui qui s'avère inexploitable lorsque des conditions extérieures viennent dégrader cette ressource.
Par exemple, dans les années 1970, il était assez courant de rencontrer des ingénieurs systèmes aveugles remplissant leur fonction sans être particulièrement lésés par leur handicap. Avec l'avènement des interfaces graphiques, cette situation s'est raréfiée. Nous en concluons que l'avènement de l'interaction graphique a permis une meilleure exploitation du canal visuel. Les utilisateurs non handicapés en ont bénéficié et ont pu accéder plus facilement à des systèmes informatiques plus complexes, l'interface graphique allégeant leur charge cognitive et conférant une meilleure utilisabilité. De la même façon, il est reconnu que les interfaces gestuelles sophistiquées sont plus difficilement exploitables avec une souris qu'avec une tablette graphique. Ainsi, Scott Mackenzie [Mackenzie, et al. 1991] quantifie la croissance de l'indice de difficulté pour une tâche donnée suivant les périphériques. Nous en concluons de même que les interfaces utilisateur font une meilleure exploitation du canal gestuel que les interfaces graphiques traditionnelles, puisqu'elles sont inutilisables dans des conditions dégradées d'exploitation (trackball ou souris peu maniable).
Nous pouvons utiliser un autre critère de comparaison de l'efficacité de modèles d'interaction, inspiré partiellement de [Buxton 1992]. Nous l'appellerons le "critère du gain de distance" ou de "rétrécissement de l'espace". Partant d'objets informatiques fortement typés (tels un texte structuré, un dessin...), on peut définir une distance entre deux objets de même type par la distance, attribut par attribut entre les objets élémentaires dont ils sont composés. La distance entre deux textes sera par exemple définie comme le nombre de caractères différents d'un texte à l'autre à la même position. La distance entre deux dessins sera constituée du nombre d'objets différents dans les deux dessins, additionné des distances entre objets identiques, mais déplacés. Il est possible de comparer la distance entre deux objets avec la quantité d'actions élémentaires à fournir pour transformer un objet en l'autre dans un modèle d'interaction donné. Cette quantité d'actions élémentaires peut être calculée en utilisant par exemple un modèle de type Keystroke [Card, et al. 1980]. La comparaison de ces distances sur un certain nombres de documents représentatifs de l'espace des documents permet une mesure objective des modèles d'interaction, non seulement sur des données élémentaires (séquences d'action), mais aussi dans un contexte d'utilisation réelle.
La thèse de W. Buxton est que l'interaction homme-machine nous fournit un moyen de diminuer l'écart entre les objets : si la distance entre objets croit linéairement, alors la quantité d'action à réaliser pour passer d'un document à l'autre doit croître en moyenne logarithmiquement. L'interface fournit un moyen de rétrécir l'espace informationnel, pour le mettre à notre portée dans sa totalité. En tout état de cause, cette quantité est bornée par la distance entre le "document vide" et le document cible, car il peut être plus commode de repartir de rien que de transformer un document très différent. Sans démontrer cette thèse, l'utilisation de bases de données bibliographiques réparties (au moyen de WWW, par exemple) ou la pratique d'un simple traitement de texte qui nous permet de réutiliser des lettres types contribue à nous conforter dans cette opinion.
Ce critère permet non seulement d'évaluer objectivement des modèles d'interaction, mais aussi des interfaces utilisateurs complexes. On peut ainsi comparer précisément deux logiciels de traitement de textes commerciaux, par le calcul du rétrécissement de l'espace fournit par les deux logiciels sur un ensemble de textes types.
A titre d'exemple, l'interaction gestuelle dans les outils de dessin peut se montrer plus naturelle que l'interaction graphique actuelle : dans les interfaces graphiques actuelles, on emploie la métaphore 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 (lignes, rectangles, déplacement...) avec un seul périphérique, construction des polygones par étapes... L'interaction gestuelle permet de rapprocher le modèle d'interaction des caractéristiques du support de la métaphore. Dans ce sens, elle offre un meilleur rapport entre le paradigme choisi (support du modèle de l'utilisateur, la feuille de dessin) et son implantation informatique, ce qui rend l'utilisation effectivement plus naturelle.
Nous inspirant de D. Morris [Morris 1978] p. 10-21, nous distinguons trois formes d'acquisition de caractères. Les caractères innés, telles le réflexe de succion du nouveau né sont inscrites dans nos gènes. Les caractères acquis ont été découverts par le sujet sans action consciente de sa part. On peut citer comme exemples le réflexe de la marche (placer un pied devant l'autre en station debout), ou celui de l'évitement du feu, qui ne devient un réflexe que par une expérience personnelle de brûlure. Les actions apprises sont celles qui requièrent un apprentissage, par l'observation réfléchie ou l'enseignement de tiers. L'existence des actions acquises n'est pas formellement admise par tous les psychologues, qui considèrent que tout comportement non-inné a dû être appris par l'exemple, et n'aurait pas pu être forcément découvert "naturellement". J. Gibson [Gibson 1979] propose la définition du terme "affordance", que nous traduirons par "intuit" ou "invite", désignant des caractéristiques d'objets induisant leur usage. Dans ce sens, on peut considérer les actions acquises comme des actions induites par la conformation de l'environnement, sans nécessiter d'apprentissage explicite.
Nous retenons ces concepts pour décrire une gradation de la facilité d'apprentissage et du naturel d'une interface. Par exemple, pour l'action de détruire un objet, ou pourra considérer que le "raturage" gestuel de l'objet, action d'effacement, est presque du domaine de l'inné, la différence entre faire disparaître de la vue et supprimer étant faible. Si l'on propose à un utilisateur une interface iconique, en expliquant les gestes de base (sélection et "drag and drop"), et en présentant une icône dénommée "corbeille", il est probable que l'utilisateur trouvera de lui-même assez rapidement l'usage de la corbeille comme moyen de destruction. Nous considérerons cette action similaire à un geste acquis. Si l'on propose à l'utilisateur un raccourci clavier courant "<Ctrl> D", il est probable qu'il faudra lui apprendre ce moyen d'action, voire lui expliquer l'origine anglaise du terme (D pour "Delete") afin de lui permettre de le retenir facilement. Cette dernière action sera considérée comme apprise.
Même si la notion de système informatique n'a rien d'innée en soit, il est assez clair qu'une interface faisant appel à des caractères innés a de plus fortes chances d'être considérée naturelle qu'une interface faisant appel à des actions acquises, qui elle même sera meilleure que celle dont le maniement doit être appris. Ce critère est cependant trop grossier ou trop lourd à mettre en oeuvre pour permettre de juger a priori du naturel d'une interface de façon objective : les systèmes informatiques et l'ensemble des connaissances implicites qu'ils requièrent pour leur mise en oeuvre sont beaucoup trop complexes pour être ramenés à une échelle aussi simple. Par exemple, nous avons évoqué précédemment que dans un éditeur de dessins, le moyen le plus "naturel" de décrire un cercle est à priori de spécifier son centre et son rayon, alors qu'un rectangle se construit sans doute plus intuitivement en en donnant les cotés ou les points d'angles. On admet cependant qu'il est plus important de préserver une cohérence globale de fonctionnement de l'éditeur de dessins que de fournir une technique plus appropriée à chaque type d'objet construit. Ainsi, dans un logiciel complexe, des artefacts dus à la cohérence de la structure globale de l'outil conduisent à préférer des techniques d'interaction localement moins naturelles.
Aussi, les moyens actuels d'évaluation du naturel d'une interface ne peuvent être mis en oeuvre qu'à posteriori, par des tests d'utilisabilité et des comparaisons de temps d'apprentissage. Nous retiendrons cependant que l'utilisation de caractères innés ou acquis est souvent préférable. Ceci permet de produire constructivement des modèles d'interaction naturels, en recherchant en priorité des techniques considérées comme innées ou acquises par l'utilisateur.
Dans l'absolu, il est très aisé de construire un modèle d'interaction primaire mais complet : il est possible de décrire tous les états d'un système sur le ruban d'une machine de Turing universelle, codant à la fois la machine décrivant le système et ses données d'entrée. Les actions élémentaires peuvent être effectuées au moyen de trois touches à un état : un bouton de marquage (1 si enfoncé, 0 sinon), un bouton d'avance de la bande d'une case et un bouton de marquage d'entrée (touche "enter", déclenchant le calcul ou l'arrêtant), servant d'interface de contrôle. Tout les états internes du système sont représentables (sur le ruban), et tous peuvent être atteints. On conviendra cependant que ce modèle d'interaction ne satisfait pas aux deux premiers critères d'efficacité et de naturel.
Tout ensemble d'objets informatiques utilisé dans une application possède une structure, une forme décrivant les relations entre les objets. Le modèle d'interaction que nous venons de présenter ne respecte pas cette structure de l'information. Pour adopter une terminologie du génie logiciel, nous dirons qu'il déroge au système de types de l'application. Le respect de cette structure permet d'encadrer au mieux l'interaction, d'éviter l'accès aux états incohérents de l'application et de proposer une interface consistante avec la nature des objets manipulés. Même si un modèle d'interaction est défini indépendamment d'une application considérée, il se doit d'être capable de répondre aux contraintes imposées par la structure des objets informatiques manipulés et représentés par le système.
Aussi, plutôt que de nous concentrer sur la complétude d'accès, nous préférerons nous intéresser à préserver la conformité de l'interaction avec le modèle conceptuel. Nous considérerons qu'un modèle d'interaction est conforme lorsqu'il permet d'établir une correspondance directe (bijection) entre les actions de l'utilisateur (conformité de l'accessibilité), la représentation (conformité de la présentation) et une structure d'objets informatiques définis avec leurs comportements. Un modèle donné peut n'être conforme que pour certaines catégories d'objets informatiques (i.e. certains systèmes de types). Par exemple le modèle utilisant la métaphore de la feuille de dessin utilisé dans les logiciels de dessin s'applique à une grande classe d'applications, certaines n'ayant pas de rapport avec la construction de dessins. Cependant, il est peu adapté dès lors que des relations multidimensionnelles (plus de deux dimensions) entre les objets doivent être représentées.
L'objectif d'un modèle d'interaction conforme est de limiter les intermédiaires cognitifs entre les objets informatiques et les facultés (perceptuelles et actionnelles) de l'utilisateur, c'est à dire de préserver une certaine fidélité entre les objets perçus et leur codage interne. Un tel modèle permet entre autres de supprimer la conscience de l'interface, pour donner à agir autant que possible sur les objets eux-mêmes et non sur leurs artefacts : images et moyens d'action fournis.