Sous-sections
MAGGLITE se positionne comme une sur-couche à ICON (voir figure 8.1), lui ajoutant une
architecture graphique avancée (les graphes de scène) et surtout des dispositifs spécifiques pour
interagir avec cette architecture graphique. Mais plus que cela, MAGGLITE a aussi permis de faire
évoluer ICON vers un système de description complet des interactions, au delà du système de gestion
d'entrées multiples qu'il était. Pierre DRAGICEVIC a étudié certaines possibilités
d'utilisation d'ICON pour spécifier des interactions avancées dans [Dragicevic et Fekete2004] et montré
des exemples des possibilités de son système dans cette optique [Dragicevic2004b]. Nos
propositions, le modèle des graphes combinés et sa réalisation dans MAGGLITE, ont permis de
conforter ces pistes, en particulier pour les interfaces post-WIMP.
Figure 8.1:
Architecture concrète
MAGGLITE/ICON. Entre MAGGLITE et ICON, nous avons introduit une extension nommée ICON+.
|
Afin de permettre la composition de nombreux graphes d'interaction, la bibliothèque des dispositifs de
MAGGLITE contient tous ceux disponibles dans ICON (dispositifs système pour les périphériques
d'entrés et dispositifs de la bibliothèque pour adapter les entrées) ainsi que des dispositifs IAP,
les dispositifs de plus haut niveau de MAGGLITE.
Dans un premier temps, nous avons étendu le modèle ICOM sous-jacent à ICON. Nous proposons une
formalisation de la notion des Points d'accès à l'interaction dans ce modèle afin d'assurer
la reproductibilité de notre approche.
Dans un second temps, nous avons introduit de nouveaux dispositifs dans la librairie afin de la
rendre encore plus polyvalente pour la description d'interactions de haut-niveau (unification du
support des périphériques d'entrée, dispositifs multimédia, reconnaissance de
gestes, etc.).
Enfin, nous avons introduit le principe et les mécanismes de la génération de dispositifs à
l'exécution afin de permettre la création dynamique des manipulateurs de MAGGLITE.
Ces ajouts, l'extension ICON+ (voir figure 8.1), sont
détaillés dans l'annexe C.
Bien que nous ne considérions pas la programmation avec la boîte à outil ICON comme particulièrement
difficile, celle-ci demande tout de même une certaine expertise. Il était donc nécessaire, afin de
ne pas avoir à assimiler les techniques de programmation de deux boîtes à outils, d'abstraire
l'utilisation d'ICON dans MAGGLITE au plus haut niveau possible. Ainsi, il est tout à fait
possible de développer des applications, de nouveaux composants graphiques et même de nouveaux
dispositifs sans pour autant avoir une connaissance pointue d'ICON. Il suffit d'avoir une vision
globale de ses principes de fonctionnement.
Nous avons tout d'abord «encapsulé» les environnements d'exécution d'ICON et de MAGGLITE,
ainsi que leur initialisation dans une abstraction d'application de haut niveau. Ainsi, créer une
application revient seulement à implémenter deux méthodes 8.1: créer les objets graphiques et instancier des dispositifs si besoin.
Nous avons suivi le même principe pour la programmation de nouveaux points d'accès à
l'interaction. Excepté pour les manipulateurs, qui sont générés automatiquement, nous avons inclus
dans MAGGLITE trois abstractions permettant de développer rapidement de nouveaux dispositifs: pour
les dispositifs d'interaction, les comportements et les outils internes. Il suffit alors de réaliser
quelques méthodes de haut niveau (comme par exemple la méthode toolAction(double x, double y),
pour les outils internes qui représente l'action à effectuer par l'outil si il est actif). Nous ne
détaillerons pas plus avant ces abstractions dans ce chapitre, des exemples complets étant fournis
dans l'annexe D.
Enfin nous proposons une organisation de la librairie des dispositifs dans le configurateur
graphique identique pour chaque application. Input Configurator, comme nous l'avons déjà
rappelé avec la figure 6.3, propose une organisation arborescente des
prototypes de dispositifs disponibles. Nous n'avons pas modifié cette organisation, mais simplement
uniformisé la partie de l'arborescence qui concerne les applications MAGGLITE, comme le montre la
figure 8.2.
Figure 8.2:
Organisation des
dispositifs de la librairie. Le configurateur d'entrée organise les dispositifs dans des
dossiers (voir la figure 6.3, dans la section 6.4). Nous
les avons étendus de la manière suivante dans MAGGLITE: en bleu, les dispositifs génériques
de la librairie (dispositifs d'interaction, comportements); en rouge, les dossiers donnent une
vue hiérarchique du graphe de scène de l'application, avec un dossier par objet graphique
(manipulateurs et outils internes).
|
Les dispositifs spécifiques de notre boîte à outils se trouvent dans la partie application de
l'arborescence. Ce dossier, qui porte le nom donné à l'application, est alors composé de deux
parties principales:
- Les dispositifs génériques de la boîte à outils (en bleu sur la figure 8.2),
regroupés dans les sous dossiers MaggLite interactions et MaggLite behaviors.
- Les dispositifs liés aux objets de l'application (en rouge sur la figure). Ceux-ci sont
regroupé selon l'arborescence du graphe de scène, chaque dossier prenant le nom du composant qu'il
représente. Cela donne un aperçu de la structure du graphe de scène, et permet de retrouver
rapidement les dispositifs. Chaque dossier correspondant à un composant graphique contient son
manipulateur (si celui-ci est rendu visible) et un éventuel sous-dossier InnerTools si
l'objet s'est vu affecter un ou plusieurs outils internes.
stuf
2005-09-06