Concrétiser les dispositifs d'entrée dans
 
les outils de développement
 

 

Pierre Dragicevic
(Pierre.Dragicevic@emn.fr)
Ecole des Mines de Nantes
 

 
Résumé :
Face à la prolifération et à la démocratisation des dispositifs d'entrée " non standards ", il est nécessaire de disposer de nouveaux outils de construction d'interfaces graphiques. Afin de faciliter la sélection et l'exploitation de nouveaux dispositifs d'entrée, nous proposons d'inclure dans ces outils un modèle de " dispositifs concrets ", ainsi qu'un mécanisme de connexion autorisant l'émulation de dispositifs. Par la suite, nous proposons une piste possible pour la construction d'un tel modèle.

Mots-clés :
dispositifs d'entrée, outils, interaction, modèle physique, émulation.
 
 
 

Introduction
 

    Depuis de nombreuses années, la configuration des ordinateurs individuels et des stations de travail s'est stabilisée en termes de dispositifs d'entrée, et la façon dont les applications interactives gèrent ces dispositifs n'a guère évolué [8]. Cependant, les besoins en nouveaux dispositifs augmentent, notamment en ce qui concerne les ordinateurs portables et les mondes virtuels, et ils risquent d'augmenter encore avec l'apparition de nouveaux modes d'interaction. Non seulement les dispositifs autres que le clavier et la souris prolifèrent et se diversifient, mais surtout, ils sont de moins en moins marginalisés.
 
    Malheureusement, les applications interactives manquent encore énormément de souplesse. A ce jour, elles permettent l'interchangeabilité technique de certains dispositifs, mais sont incapables d'exploiter les caractéristiques de nouveaux dispositifs, et deviennent inutilisables lorsqu'un dispositif n'est pas disponible: elles manquent de " transparence " [4]. D'autre part, les applications interactives considèrent que les dispositifs de même " type ", c'est-à-dire compatibles entre eux, sont tous équivalents. Or, " interchangeabilité technique " ne signifie pas " interchangeablilité fonctionnelle " : les dispositifs possèdent des caractéristiques propres qui les rendent adaptés à certaines tâches mais pas à d'autres [3],[4].
 
    Nous pensons que les outils de conception d'interfaces doivent à la fois élargir et affiner la notion de compatibilité entre dispositifs d'entrée en intégrant une meilleure connaissance des dispositifs concrets, et en utilisant ces connaissances de manière à accroître leur extensibilité. A cette fin, il est nécessaire de construire un modèle de dispositifs d'entrée concrets à la fois assez général pour pouvoir décrire de nouveaux dispositifs, et assez complet pour pouvoir prendre en compte les caractéristiques pragmatiques essentielles des dispositifs.
 
    Dans la suite, nous proposons une piste possible pour la construction d'un modèle de dispositifs concrets, ainsi qu'un paradigme de connexion à des dispositifs virtuels autorisant la simulation et l'émulation de dispositifs, ainsi que certaines vérifications.
 
 

Un modèle de dispositifs concrets
 

    Nous présentons un modèle de dispositifs concrets à deux niveaux : le niveau physique et le niveau transducteurs.

 * NIVEAU PHYSIQUE : Un dispositif d'entrée peut être représenté par un ensemble de " systèmes " et de " sous-systèmes " purement physiques. Ces systèmes traduisent le comportement du dispositif indépendamment des valeurs captées, et sont modélisés à l'aide d'un ensemble de paramètres et d'équations. Certains de ces paramètres décrivent des grandeurs physiques représentées par un domaine et une valeur.
    A titre d'exemple, un joystick possède un certain nombre de propriétés intrinsèques: masse du manche, raideur des ressorts, retour mécanique pour le bouton. Il peut être représenté à l'aide du système " bouton ", du système " manche " et des deux sous-systèmes " axeX " et " axeY " (figure 1). Les systèmes axeX et axeY décrivent chacun deux grandeurs physiques indissociables: la position (le manche du dispositif se déplace) et l'angle du manche. Nous supposons que ces deux sous-systèmes dérivent d'un modèle mécanique générique, comprenant des équations et des paramètres linéaires et angulaires supplémentaires, tels que la vitesse, l'accélération, la résistance du dispositif et la force appliquée par l'opérateur.
 

 
 
Figure 1 : Le niveau physique du joystick
 
 
* NIVEAU TRANSDUCTEURS :  A ce niveau, le dispositif est représenté par un ensemble de capteurs, ou " transducteurs ". Chaque transducteur transcrit l'état d'un système particulier en captant un de ses paramètres, et en le traduisant en valeurs discrètes. Un transducteur peut être défini de manière " statique " par un domaine d'entrée continu, un domaine de sortie discret, et une fonction de passage entre les valeurs d'entrée et les valeurs de sortie. L'ensemble des propriétés captées par un dispositif constitue ses " dimensions ". Cet ensemble est structuré selon deux propriétés: la fusion et l'influence.
Fusion: X et Y sont fusionnés si la modification simultanée de X et Y est possible de façon prolongée, et si (X,Y) est perçu comme un espace homogène.
Influence: X influe sur Y si la modification de X indépendamment de Y est impossible de façon prolongée.
 
    Dans notre exemple (figure 2), l'angle est le domaine d'entrée des transducteurs X et Y. Ce choix est arbitraire, car l'angle, la position et la résistance sont indissociables. Le fond grisé et les flèches représentent respectivement la fusion et l'auto-influence des axes X et Y.
 
 
 
 
Figure 2 : Le niveau physique et les transducteurs
 
 

Discussion
 
     Les outils de construction ou d'aide à la construction d'interfaces qui intègrent des connaissances sur les dispositifs concrets sont peu nombreux. Parmi ceux-ci, Toto est un outil d'aide à la sélection de techniques d'interaction à partir des caractéristiques physiques et pragmatiques des dispositifs [1]. L'intérêt de cet outil est qu'il décrit les dispositifs d'entrée à partir d'un certain nombre de propriétés significatives, et qui sont assez générales pour pouvoir décrire un grand nombre de dispositifs. Ces propriétés s'inspirent des travaux sur les taxonomies, qui placent les dispositifs d'entrée existants dans un espace de comparaison et d'analyse, en donnant parfois des pistes pour la conception de futur dispositifs.
 
    Les trois principales taxonomies de dispositifs sont celles de Buxton [2], de Foley, Wallace, et Chan [7], et de Card, Mackinlay et Robertson [5],[6]. Lipscomb et Pique [10] ont étendu la classification de Buxton en ajoutant un certain nombre de propriétés significatives.
 
    Notre modèle et celui de Card, Mackinlay et Robertson présentent des concepts similaires: la composition de transducteurs élémentaires, et l'existence de fonctions de transposition de domaines (fonctions de résolution) permettant de décrire des dispositifs discrets. Nous avons aussi fait mention de la possibilité d'instancier des dispositifs génériques. Une des différences majeures est l'adjonction d'un modèle physique quasi-indépendant des dimensions captées par le dispositif. Ce modèle physique présente un certain nombre d'intérêts:
* Il décrit l'ensemble des propriétés caractérisant l'état du dispositif, ainsi que leurs relations, et non pas uniquement les propriétés captées. Ceci permet par exemple d'"unifier" les joysticks linéaires et angulaires (dont certains, comme le manche à balai d'avion, ont une faible variation angulaire), de même que dispositifs isotoniques, isométriques et intermédiaires (joysticks).
* Il permet de décrire des comportements propres au dispositif. Dans notre exemple, le modèle mécanique permet de déduire des propriétés de stabilité, et donc de volatilité des données. Il est même possible, pour les systèmes à ressort, de calculer la fréquence propre du dispositif, et d'en déduire des critères de performance.
* Le modèle du dispositif constitue le lien physique entre l'utilisateur et les dimensions captées. En agissant sur une dimension, l'utilisateur agit en réalité sur plusieurs grandeurs physiques (déplacement, force, vitesse, etc). Il est donc possible d'établir un lien direct entre les données reçues et ce qui est physiquement accompli par l'utilisateur. D'autre part, des modèles d'utilisateur pourraient permettre de déduire les conséquences des limitations physiques sur les données, ainsi que les grandeurs caractéristiques du dispositif (en termes de retour).
 
    En outre, nous pensons que ce modèle peut prendre en compte la majeure partie des propriétés énoncées par Lipscomb et Pique [10], souvent de façon plus détaillée. A titre d'exemple, la position au repos, ainsi que les positions émettant un retour (mécanique, tactile, visuel, auditif, butée), sont différents types de positions reconnaissables. Cependant, la propriété d'orthogonalité/emboîtement n'est pas prise en compte, car les dimensions ne possèdent pas de référentiel.
 
    Pour être inclus dans un outil de construction d'interfaces, ce modèle doit posséder au moins deux caractéristiques : la simplicité de description et l'extensibilité. En ce qui concerne les dispositifs existants, la simplicité de description peut être améliorée grâce à une taxonomie de dispositifs structurée en classes et sous-classes. Cependant, une des faiblesses de ce modèle est que la plupart des paramètres nécessitent des mesures expérimentales. Il est donc indispensable de donner une totale liberté au concepteur quant à l'instanciation de ces paramètres, quitte à diminuer le nombre de propriétés. L'autre point important est l'extensibilité : il doit être possible d'ajouter de nouveaux types de dispositifs, quitte à créer de nouveaux modèles physiques. Le modèle mécanique peut s'appliquer à un certain nombre de dispositifs, mais il est tout à fait envisageable de définir d'autres grandeurs physiques, voire d'autres modèles (notamment pour des dispositifs plus complexes qui possèdent un grand nombre de degrés de liberté non indépendants).

    Malgré tout, il faut garder à l'esprit que le modèle physique ne décrit que partiellement le dispositif d'entrée, étant donné le rôle important joué par la partie logicielle (le pilote périphérique, par exemple). Ainsi, certains dispositifs allient un modèle physique pauvre à un traitement logiciel complexe. C'est le cas des microphones pour le traitement de la parole.
 
 
 

Un mécanisme de connexion de dispositifs autorisant l'émulation
 

    Nous proposons un paradigme inspiré du modèle de flot de données (data flow), permettant de modifier le comportement des dispositifs concrets de manière à les connecter à des dispositifs virtuels. Dans ce modèle, nous supposons que chaque canal du dispositif envoie des valeurs entières de manière régulière. Les phénomènes temporels sont abordés de manière partielle, mais il est possible d'envisager une extension du modèle afin de prendre en compte le débit, les délais, et la synchronisation des données.
 
    Le dispositif est représenté par l'ensemble de ses canaux (canaux de sortie), correspondant aux transducteurs du dispositif concret. Chaque canal possède un domaine de valeurs entières et des propriétés issues du modèle concret du dispositif. Le dispositif virtuel est décrit de manière similaire: un ensemble de canaux (canaux d'entrée), des domaines et des propriétés. Nous dirons qu'un canal de sortie peut être connecté à un canal d'entrée s'il possède le même domaine, et au moins les mêmes propriétés. Nous prendrons comme exemple un joystick devant être connecté à un pointeur. Chacun des deux canaux du pointeur possède un domaine correspondant à la résolution de l'écran, et une propriété de non-volatilité: ils conservent leur valeur lorsque l'opérateur n'exerce plus d'effort sur le ou les dispositif(s) d'entrée. Les deux canaux du joystick sont quant à eux volatiles et possèdent une valeur au repos. Cette valeur est la valeur émise par le dispositif lorsqu'il est relâché. Dans la figure 3, un ensemble d'opérateurs a été appliqué aux canaux de sortie d'un joystick de manière à pouvoir le connecter au pointeur (seul un canal est représenté).
 
 

 

 

Figure 3 : Schéma de connexion d'un joystick
 
 
    Les opérateurs présentent une ou plusieurs entrée(s) active(s) qui propagent les données à travers les autres opérateurs, jusqu'au canal d'entrée. La propagation peut aussi se faire en sens inverse. Les autres entrées sont inactives et permettent d'initialiser les opérateurs. Dans notre exemple, les opérateurs fonctionnent de la manière suivante: la valeur émise par le dispositif est d'abord recentrée autour de la valeur de repos, puis envoyée à un intégrateur. Celui-ci ajoute cette valeur à la dernière valeur qu'il a émise (ou, à défaut, sa valeur initiale), et émet le résultat. La valeur est ensuite soumise à un seuillage, qui écarte les valeurs hors-bornes. Ce schéma est un exemple de transformation simple, et comporte à ce titre quelques imperfections : il aurait été par exemple préférable d'effectuer le seuillage à l'intérieur de l'intégrateur, afin que celui-ci ne mémorise pas les valeurs hors-bornes.
 
    Les opérateurs que nous avons introduit possèdent un aspect autre que le traitement de données : ils sont aussi des transformateurs de propriétés. Ainsi, l'intégrateur possède un domaine de sortie infini si son domaine d'entrée contient 1 ou -1. De plus, il est non-volatile en sortie si son canal d'entrée possède une valeur au repos de 0. Quand à l'opérateur de seuillage, défini par les paramètres Binf et Bsup, son domaine de sortie est égal à [Binf, Bsup] si son domaine d'entrée contient [Binf, Bsup]. Il est ainsi facile de montrer que le joystick muni de ses opérateurs possède les propriétés requises par le pointeur.
 
    Dans la figure 4 nous présentons de façon simplifiée d'autres exemples de constructions pouvant être connectées au pointeur. Dans le premier, nous utilisons une tablette graphique. Le seul traitement nécessaire est une transposition linéaire, représentée par un disque noir (ici, le problème de la résolution du dispositif n'est pas abordé). Le deuxième exemple est celui de la souris. Dans le troisième, le déplacement du pointeur s'effectue à l'aide de deux boutons. Enfin, le dernier exemple montre qu'il n'est pas possible d'utiliser un capteur de pression de la même manière qu'un joystick, car celui-ci possède une valeur au repos à l'une des bornes du domaine. On utilise alors un bouton supplémentaire, afin de pouvoir agir sur le sens de déplacement du pointeur.
 
 
 
Figure 4 : Exemples de connexions au dispositif " pointeur "
 

    En pratique, il est bien sûr conseillé d'ajouter des propriétés supplémentaires afin d'assurer une certaine utilisabilité. Notons que les propriétés de fusion et d'influence sont parfois utiles (voir l'article de Jacob et al [9] sur l'intégrabilité et la séparabilité des dimensions). La propriété de fusion entre les canaux d'entrée X et Y éliminerait ainsi les deux dernières constructions de la figure 4. De même, imaginons que nous complétions notre pointeur par un déclencheur, représenté par un canal d'entrée de domaine [0,1], et une position au repos nulle. Il aurait été alors possible d'assurer une certaine fiabilité en ajoutant la propriété de non-influence entre le pointeur et le déclencheur.
 
 

Discussion
 
    L'intérêt principal de ce modèle est qu'il met en avant la partie " transformation " du dispositif, qui est souvent oubliée ou confondue avec le dispositif. A titre d'exemple, les dispositifs de pointage tels que la souris, la tablette graphique ou le joystick, possèdent chacun une transformation particulière qui les rendent adaptés à la tâche de pointage. Ce modèle possède donc un certain intérêt didactique, et permet en outre de construire divers types de transformations de manière exploratoire, tout en vérifiant que certaines propriétés sont conservées. En outre, ce modèle pourrait facilement être intégré à un éditeur graphique, ce qui lui conférerait une grande simplicité d'utilisation.

 
 
Conclusion
 
    Le modèle que nous avons présenté mérite d'être raffiné : à quel niveau de détail doit-on s'arrêter ? Doit-on décrire certains comportements spécifiques comme l'électronique du dispositif et le pilote périphérique dans le niveau physique, dans le niveau transducteur, ou dans la transformation ? Peut-on modéliser des transformations complexes mettant en oeuvre du traitement de signal, voire de la classification (reconnaissance de geste, de la parole) dans un paradigme de flot de données ? Ces questions seront traitées dans nos futurs travaux, où nous nous attacherons à définir et à implémenter le modèle présenté de manière informelle.
 
    Nous pensons qu'en intégrant dans un outil de conception la chaîne complète reliant l'utilisateur au dispositif virtuel, il est possible de faciliter le développement d'applications à la fois transparentes et ergonomiques. La principale nouveauté de cette " chaîne " est qu'elle permet à l'outil de remonter le fil des données jusqu'au dispositif concret. L'adjonction d'un modèle de l'utilisateur pourrait éventuellement donner lieu à modèle prédictif générique instanciable avec des dispositifs existants ou non. Une autre perspective possible de ces travaux serait d'intégrer la " chaîne " complète des données dans les applications interactives, afin qu'elles puissent s'adapter intelligemment aux dispositifs disponibles.
 
 

 
Bibliographie
 

[1] Bleser T.W., Sibert J., " Toto : A tool for Selecting Interaction Techniques ", Third Annual Symposium on User Interface Software and Techniques, Proceedings of the ACM SIGRAPH Symposium, 1990.
 
[2] Buxton W., " Lexical and Pragmatic Considerations of Input Structures ", Computer Graphics, 17(1), pp 31-17, 1983.
 
[3] Buxton, W., " There's More to Interaction than Meets the Eye : Some Issues in Manual Input ", in Norman. D.A, Draper S.W., " User Centered System Design : New Perspectives on Human-Computer Interaction ", pp 319-337, 1986.
 
[4] Buxton W., " Touch, Gesture and Marking ", Chap. 7 in Baecker R.M., Grudin J., Buxton W., Greenberg S., " Readings in HCI : Toward the year 2000 ", 1995.
 
[5] Card S.K., Mackinlay J.D., Robertson G.G., " The Design Space of Input Devices ", Proceedings of the CHI'90 Conference on Human Factors in Computing Systems, 117-124, 1990.
 
[6] Card S.K., Mackinlay J.D., Robertson G.G., " A Morphological Analysis of the Design Space of Input Devices ", ACM Transactions on Office Information Systems, 9, pp 99-122, 1991.
 
[7] Foley J.D., Wallace V.L., Chan P., " The Human Factors of Computer Graphics Interaction Techniques ", IEEE Computer Graphics and Applications, 4(11), 13-48, 1984.
 
[8] ISO, " Information processing systems - Computer graphics - Graphical Kernel System (GKS) ", ISO 7942, ISO Central Secretariat, 1985.
 
[9] Jacob R.J.K., Sibert L.E., McFarlane D.C., Preston M., " Integrality and Separability of Input Devices ", ACM Transactions on Computer-Human Interaction, Research Contributions, 1, pp 3-26, 1994.
 
[10] Lipscomb J., Pique M.E., " Analog Input Device Physical Characteristics ", SIGCHI Bulletin, 25(3), pp. 40-45, 1993.