next up previous contents
suivant: 5.3 Pertinence du modèle monter: 5. Discussion précédent: 5.1 Introduction   Table des matières

Sous-sections

5.2 Les apports d'ICON du point de vue architectural

ICON repose sur des systèmes interactifs conventionnels (système d'exploitation + boîte à outils), systèmes dont nous avons déjà décrit les limites dans le chapitre 1 (section 1.4.3). Mais à l'inverse de ces systèmes il permet de décrire la manière dont les entrées sont gérées dans un modèle clair et consistant. Dans cette section, nous identifions les différents niveaux de gestion des entrées dans les systèmes interactifs réels, puis nous montrons la façon dont ICON parvient à étendre ce type de système, et ce que cette extension apporte.

5.2.1 Architecture concrète des systèmes interactifs

Figure: Architecture concrète d'un système classique, mettant en évidence les différents niveaux d'implémentation des techniques d'interaction standard.
\begin{figure}
\begin{center}
\includegraphics[scale=0.85]{levels}
\end{center}
\end{figure}

Dans les systèmes interactifs actuels, les applications s'appuient essentiellement sur des services partagés fournissant une gestion standard des entrées. Dans ces systèmes, les techniques d'interaction standard sont implémentées sur plusieurs niveaux (figure 5.1):

5.2.2 Les niveaux d'accès et de contrôle d'ICON

Figure: Un système interactif concret intégrant ICON.
\begin{figure}
\begin{center}
\includegraphics[scale=0.95]{levels_ICON}
\end{center}
\end{figure}

La figure 5.2 montre comment ICON s'insère dans un système interactif concret. ICON est une boîte à outils d'entrées qui s'interpose entre le système d'exploitation et l'application. Lorsqu'il est intégré à une boîte à outils graphique comme Swing, il s'insère entre ses mécanismes de routage événementiel et ses widgets. ICON peut servir à étendre la gestion standard des entrées, mais est également capable de gérer la quasi-totalité de l'interaction des dispositifs d'entrée à l'application. Le rôle joué par ICON dans la gestion des entrées dépend essentiellement de la manière dont il accède aux entrées et de la façon dont il contrôle l'application.

ICON accède aux entrées à deux niveaux:

ICON peut contrôler une application interactive de quatre manières différentes. Les niveaux de contrôle d'une application, du plus superficiel au plus profond, sont les suivants:

5.2.3 Une gestion des entrées entièrement explicite

Nous avons vu qu'ICON permettait de court-circuiter une bonne partie des services du système d'exploitation et de la boîte à outils afin de gérer la quasi-totalité de l'interaction en entrée. Cette dernière option est la plus avantageuse car elle remplace l'ensemble des boîtes noires standard par une boîte blanche hautement configurable.

Figure: La cascade de traitements dans un système interactif classique, vue de l'application. Le dispositif concret n'a pas d'existence, et les traitements bas-niveau sont cachés.
\begin{figure}
\begin{center}
\includegraphics[scale=0.6]{cascade_clavier2bis}
\end{center}
\end{figure}

La figure 5.3 reprend l'exemple de la gestion standard du clavier initialement introduit dans la section 3.2.5 [Fekete and Dragicevic, 2000]. Certaines fonctionnalités comme la répétition des touches, la mémoire tampon, et la gestion des voyants n'ont pas été mis en évidence dans cette exemple, mais celui-ci reproduit néanmoins les principaux mécanismes de gestion du clavier présents dans tous les systèmes interactifs existants. Comme évoqué précédemment, la gestion des entrées est répartie entre différents acteurs, de l'électronique du dispositif jusqu'à l'application.

Si une grande partie de la gestion des dispositifs d'entrée dans les systèmes interactifs actuels peut être décrite par de telles cascades de dispositifs, cette structuration est toujours implicite: les adaptateurs ne sont pas toujours bien distincts, les tâches de traitement sont disséminées à travers différentes couches étanches, et il n'existe finalement pas de mécanisme fournissant une vision globale de la chaîne complète de ces traitements. Bien que les systèmes d'exploitation produisent parfois des données à plusieurs niveaux d'abstraction pour répondre aux besoins des applications et des boîtes à outils (par exemple, symbole ou code touche en plus du caractère), la partie bas-niveau des traitements relatifs à un dispositif concret est entièrement cachée, ce qui restreint considérablement le champ d'action du développeur (figure 5.3).

Figure: Les différents niveaux d'abstraction du clavier, explicités par la cascade de dispositifs.
\begin{figure}
\begin{center}
\includegraphics[scale=0.6]{cascade_clavier3}
\end{center}
\end{figure}

À l'inverse, ICON est capable d'exposer de façon explicite le dispositif physique5.1 et tous les traitements effectués en amont. Chez le développeur, la vision synthétique et événementielle d'un dispositif d'entrée est alors remplacée par une vision à niveaux multiples. Le niveau le plus bas est le dispositif concret: le clavier concret est une boîte à boutons, chacun de ces boutons comportant deux états. Cette vision mécanique du clavier est celle qu'expérimente l'utilisateur. Ensuite, chaque adaptateur supplémentaire joue le rôle d'un opérateur logique qui transforme successivement un clavier concret en clavier spatial, puis symbolique, et enfin textuel (figure 5.4). Selon ses besoins, l'application peut se greffer à chacun de ces niveaux: un clavier textuel est pertinent pour une application de traitement de texte, mais un clavier plus bas niveau est mieux adapté à des actions telles que le déplacement d'un curseur (figure 5.4). Il est en outre évident qu'une telle modularité procure une configurabilité bien plus importante.


next up previous contents
suivant: 5.3 Pertinence du modèle monter: 5. Discussion précédent: 5.1 Introduction   Table des matières
Pierre Dragicevic 2005-07-22