Sous-sections


4.3 Instruments des feuilles d'interaction

À chaque feuille sont associés des instruments qui définissent les interactions possibles avec le système. Toutes ces interactions sont des outils, le plus souvent directement associés à des périphériques d'entrée, renforçant alors la métaphore de table à dessin virtuelle (voir figure 4.2). Cette approche s'inspire directement du modèle de l'interaction instrumentale [Beaudouin-Lafon2000], extension de la manipulation directe [Shneiderman1983].
En plus de ces interactions et outils contextuels, il y a aussi des outils ou interactions que nous qualifions de «globaux», car actifs dans tous les modes.

4.3.1 Travail sur la feuille de dessin

La feuille de dessin, représentation du mode de dessin de l'interface, doit permettre deux activités principales et donc fournir deux outils adaptés: dessin et manipulation des calques.


4.3.1.1 Outil de dessin

Dans le souci d'appliquer les lignes directrices que nous avons proposées auparavant, la feuille de dessin représente un espace de dessin libre. Pour placer l'utilisateur dans ce contexte, l'outil correspondant se doit d'être de manipulation simple et de prise en main intuitive, afin de pouvoir rapidement «se faire oublier»: ne pas bouleverser les méthodes de travail, ni nécessiter un temps d'apprentissage trop long, phase pendant laquelle les activités de création seraient alors freinées. Enfin, pour être le plus fidèle possible aux méthodes traditionnelles, l'outil se doit aussi de procurer des résultats visuels proches du dessin papier/crayon, réduisant de fait l'écart entre la tâche réelle et son pendant informatique.

Figure 4.6: Outil de dessin de SVALABARD. Le retour graphique de l'outil renvoie, sous le curseur, des informations sur la taille et la couleur du trait (figure (a).
\begin{figure}\setcounter{subfigure}{0}
\subfigure[La main et l'outil.]{
\incl...
...u curseur.]{
\includegraphics[width=.35\textwidth]{drawcursor}}
\end{figure}

L'outil de dessin est conçu comme une adaptation des techniques traditionnelles (voir figure 4.6). Il permet de tracer naturellement les traits sur la feuille de dessin avec le stylet d'une tablette écran, directement sur la surface d'affichage (voir figure 4.7). C'est de cette association entre un outil logique de dessin et un tel périphérique d'entrée que la métaphore de «table à dessin virtuelle» prend son sens: le dessin libre et direct sur l'écran.

Figure 4.7: Tablette écran utilisée pour dessiner avec SVALABARD.
\includegraphics[width=.75\textwidth]{cintiq}

Les traits produits peuvent alors présenter différentes apparences, selon la brosse sélectionnée: une brosse de type crayon, une de type stylo et une autre de type calligraphie (voir la figure 4.8). L'épaisseur du trait est contrôlée par l'inclinaison du stylet par rapport à la tablette, son opacité par la pression exercée. Ces contrôles permettent de maîtriser l'aspect du trait d'une manière relativement proche de l'emploi d'un crayon.

Figure 4.8: Les brosses de l'outil de dessin de SVALABARD.
\begin{figure}\setcounter{subfigure}{0}
\subfigure[\emph{Crayon}.]{
\includegr...
...aphie}.]{
\includegraphics[width=.305\textwidth]{calligraphie}}
\end{figure}

Enfin, la couleur de tracé peut être changée à l'aide d'un boîtier de glissières (voir figure 4.9). Ce type de périphérique d'entrée est de plus en plus utilisé dans les milieux de l'audiovisuel, proposant un mode d'interaction identique aux systèmes de mixage analogique (audio ou vidéo). Dans notre cas, nous avons utilisé ces «faders» pour contrôler les canaux Rouge, Vert et Bleu4.1 de la couleur de tracé.

Figure 4.9: Boîtier midi utilisé pour contrôler la couleur de l'outil de dessin de SVALABARD.
\includegraphics[width=.55\textwidth]{sliders}

L'outil de dessin, tel qu'il est représenté dans la figure 4.6(b), rassemble quatre retours graphiques. Tout d'abord, le curseur, permettant d'identifier l'outil. Ensuite, sous le point actif du curseur, se situe une représentation de la brosse de dessin utilisée par l'outil. Cette représentation de la brosse est assujettie aux changements de couleur et d'épaisseur de l'outil, ce qui permet d'identifier rapidement ces paramètres. Notons tout de même que le retour graphique lié à l'épaisseur du trait (taille de la brosse) étant dynamiquement lié au variations de l'inclinaison du stylet au cours d'un trait, il n'est pas d'une grande utilité lorsque l'utilisateur dessine, le trait dessiné faisant office de retour. Toutefois, dans le cas où l'utilisateur déciderait de ne pas associer cette inclinaison à l'épaisseur du trait, ce retour est important pour visualiser l'épaisseur de trait choisie.

L'association d'une tablette graphique à un outil de dessin numérique compose un instrument tout particulièrement adapté, relativement proche du dessin papier-crayon dont il est inspiré. De plus, la réunion Tablette/Écran a permis une meilleure intégration de l'outil informatique pour une population plutôt réticente, en réduisant fortement les perturbations et le temps d'apprentissage induis par:

Les différentes brosses, et les rendus graphiques des traits qui leurs sont associées, ainsi que leurs épaisseur, couleur et opacité, font rentrer en jeu la notion de style de dessin dans notre système, permettant à l'utilisateur de varier les traits et styles d'expression: il influe sur la perception directe de l'œuvre et sur la signification qu'il donne à ses traits (trait majeur, révision, etc.). C'est à notre avis un apport important pour la conception créative, où le dessin est fait de révisions, de combinaison de traits plus ou moins appuyés.
Il est aussi important de noter que les interactions associées à la gestion de ces paramètres ne tendent pas à casser le processus de dessin comme le feraient des techniques standard basées sur des widgets de contrôle. Notre approche directement instrumentée par des périphériques d'entrée permet de contrôler les propriétés de l'outil simultanément à l'action de dessin: incliner le stylet ou varier la pression exercée dessus est un geste naturel pour le dessinateur, et l'utilisation des glissières pour varier la couleur peut être faite avec la main non dominante sans interrompre le dessin. Ce principe de changement de couleur pendant le dessin peut même être utilisée pour des effets de style, dans un contexte plus «artistique».

Du point de vue du système et de l'interprétation du dessin, ces différents paramètres de l'outil n'influent pas de manière directe, le système d'interprétation étant directement connecté au périphérique d'entrée (tablette). Par contre, ils influent de manière indirecte, en offrant au dessinateur des possibilités d'expression plus complètes et artistique qu'un simple système de dessin au trait uniforme: épaisseur, couleur et opacité variables au cours d'un même trait, brosses aux aspects et comportements différents, etc.

Enfin, cet outil joue un rôle primordial dans les comportements de l'interface du système. Nous le qualifions d'outil modal, car son utilisation déclenche automatiquement les traitements d'interprétation du dessin ainsi que la disparition des feuilles augmentée et 3D. Ainsi, lorsque l'utilisateur dessine, il ne voit plus que son dessin, il n'est pas «distrait» par les comportements du système et les autres outils sont inactifs (à l'exception du contrôle des calques). Lorsque l'outil de dessin devient inactif, les autres feuilles redeviennent visibles et leurs outils accessibles. Ce paradigme de changement de mode implicite nous parait une alternative efficace et adaptée à des tâches créatives, en opposition aux interfaces standard, trop souvent surchargées de contrôleurs (widgets), de vues et de commandes qui ne sont pas conçus pour être utilisés dans un tel contexte, facilitant plus la vie des programmeurs que celle des utilisateurs (inadaptés à la manipulation directe des objets).


4.3.1.2 Manipulation des calques

La manipulation des calques de dessin doit permettre plusieurs opérations: créer un nouveau calque, sélectionner le calque courant de dessin ou les réordonner. L'approche traditionnelle pour la manipulation de tels objets dans les logiciels en général consiste à proposer un widget représentant des vues miniatures des calques. L'utilisateur peut alors sélectionner des propriétés simples des calques ou les réorganiser à l'aide de la souris, ou de sa tablette graphique. Les fonctionnalités étendues sont accessibles par menu contextuel. Ce mode d'interaction pose selon nous deux problèmes majeurs.
Tout d'abord, il interrompt l'activité de dessin, obligeant à déplacer le pointeur sur le widget de manipulation (les solutions par raccourcis clavier ne font, à notre avis, qu'ajouter à la peine de l'utilisateur par leur mémorisation difficile). Ensuite, l'espace occupé par un tel composant sur la zone de travail est conséquent, surtout si beaucoup de fonctionnalités sont proposées. D'autres solutions ont été proposées, comme par exemple l'utilisation d'onglets dans CPNTools [Beaudouin-Lafon et Lassen2000]. Bien adaptée à la notion et la manipulation de calques d'interaction (comme le sont nos feuilles, d'ailleurs), cette solution n'est à notre avis pas assez directe pour l'interaction avec des calques de dessin.

Figure 4.10: Shuttle (périphérique réunissant molettes et boutons) utilisé pour la création et sélection des calques de la feuille de dessin de SVALABARD.
\includegraphics[width=.75\textwidth]{shuttlexpress}

Nous proposons un approche directe de manipulation des calques de dessin avec un périphérique d'entrée particulier: le Shuttle. Nous l'avons utilisé pour créer, supprimer, sélectionner et ordonner les calques (voir figure 4.10). Ce périphérique est composé de deux molettes superposées, une absolue et une relative, ainsi que de boutons. La molette absolue (isotonique) permet de sélectionner le calque actif (celui sur lequel l'utilisateur dessine) parmi les calques existant, de manière incrémentale. La molette relative (élastique), permet de plier le calque courant afin de visualiser les calques du dessous (nous reviendrons plus loin sur cette interaction de pliage). Les boutons du dispositif proposent quant à eux les fonctions de création et suppression d'un nouveau calque de dessin, ainsi que le contrôle de leur position relative.

Les résultats des manipulations des calques sont visibles à la fois sur la feuille de dessin elle-même et sur un composant graphique dédié à leur représentation. Lorsque le calque actif change, seul celui-ci reste visible sur la feuille de dessin pendant un cours laps de temps afin de le signifier clairement à l'utilisateur. Le composant graphique des calques (voir figure 4.11) présente quant à lui des vues miniatures du contenu de chaque calque, vues ordonnées du bas vers le haut conformément leur disposition. La vue miniature du calque actif est surlignée et agrandie par rapport aux autres et les transitions lors des changements de calque ou leur reordonancement, en plus d'être naturellement visible sur la feuille de dessin, sont animées sur la vue miniature. Pour ne pas gêner ou masquer des zones du dessin, ce composant graphique peut évidemment être déplacé interactivement. Mais il peut aussi être rendu semi-transparent ou complètement invisible.

Figure 4.11: Miniatures des calques de dessin. La vue du calque actif est surlignée et agrandie.
\includegraphics[width=.25\textwidth]{thumbs}

Pliage des calques
Comme nous l'avons déjà évoqué, la molette élastique du périphérique permet une interaction originale avec le calque actif: le pliage. Michel BEAUDOUIN-LAFON, dans [Beaudouin-Lafon2001], a proposé d'utiliser des techniques usuelles de manipulation de feuilles pour manipuler des fenêtres d'application. Nous proposons d'utiliser l'une de ces méthodes, le pliage, de manière encore plus naturelle dans notre contexte de dessin sur calques. En effet, quoi de plus habituel que de replier un calque pour voir celui du dessous, ou même y dessiner. C'est ce que permet la molette élastique du shuttle dans SVALABARD. Comme le montre la figure 4.12, le déplacement vers la gauche de cette molette plie le calque actif de la droite vers la gauche (et inversement de la gauche vers la droite). Le pliage suit la position de la molette: au centre, le calque n'est pas plié; à fond sur la gauche, le calque est totalement plié, laissant apparaître complètement ce qui est en dessous. Réciproquement, la rotation de la molette vers la droite permet de plier le calque de la gauche vers la droite. Si, comme dans la figure 4.12(c), le calque que plie l'utilisateur n'est pas au sommet de la pile, les calques au dessus de lui sont aussi pliés. Finalement, et c'est l'un des atouts de cette technique, il est possible lorsqu'un calque est plié de dessiner sur le calque du dessous.

Figure 4.12: Lorsque le calque actif n'est pas au sommet, tous les calques au dessus de lui sont aussi pliés.
\begin{figure}\setcounter{subfigure}{0}
\subfigure[La feuille de dessin comport...
...h{Calligraphie}.]{
\includegraphics[width=\textwidth]{layers3}}
\end{figure}

Nous voyons deux avantages majeurs à cette technique. Premièrement, elle permet de rapidement visualiser le contenu d'un calque recouvert ou de dessiner dessus sans avoir à changer de calque actif. Cela évite la notion troublante de calques virtuels qui permettent de dessiner sur un calque masqué. Ensuite, l'aspect naturel du pliage, de par sa réalisation graphique (semi-transparence, rendu de la partie pliée, ombre portée) et l'interaction associée (manipulation de la main non dominante permettant de continuer le dessin avec la main dominante), renforce encore une fois notre métaphore de table à dessin virtuelle.

L'instrument dédié aux calques réunit donc un périphérique d'entrée et un widget pour les contrôler aisément. La polyvalence du Shuttle permet de regrouper toutes ses commandes sur ce seul périphérique, un unique «espace» d'interaction. Ainsi, son rôle est rapidement assimilé par l'utilisateur. Il doit tout de même mémoriser les commandes, que nous avons essayé de disposer au mieux sur le dispositif. Mais nous pouvons tout de même supposer que cette étape d'apprentissage est anecdotique par rapport à la mémorisation de raccourcis claviers, ou le temps perdu à manipuler un widget trop complet. De plus l'utilisateur peut lui même redéfinir les attributions des fonctions du périphérique (voir section 4.3.5).

Enfin, le widget associé (vues miniatures) n'est présent que comme retour graphique, ne faisant pas office de contrôleur de l'interaction avec les calques. Bien que les actions soient visibles sur la feuille de dessin, il nous semble aussi utile de fournir une vue hiérarchique de la pile de calques. C'est pour cela que nous avons repris cette notion de séparation des calques, courante dans les logiciels de dessin. Mais bien qu'habituelle, elle ne fait appel à aucune représentation logique ou sémantique particulière. Elle permet juste une appréciation rapide de l'ordre des calques et de celui qui est actif. Évidemment, un utilisateur plus «averti» peut s'en passer, et n'utiliser que le pliage pour «naviguer» dans la pile. Cette notion de pliage, par contre, a une sémantique précise, liée à une action du quotidien. C'est dans ce sens bien plus qu'un simple gadget graphique car replaçant le dessinateur dans un environnement familier.


4.3.2 Travail sur la feuille augmentée

La feuille augmentée regroupe les fonctionnalités supplémentaires que peut apporter un outil de dessin numérique par rapport au traditionnel papier/crayon. Elle offre une représentation graphique des analyses effectuées sur le dessin par le système, et propose donc des outils d'édition liés à ces analyses: la saisie de propriétés géométriques. Outre cette saisie, elle permet aussi d'annoter le dessin.

4.3.2.1 Annotations

Les annotations sont courantes sur les croquis de conception, permettant des explications et améliorant aussi la communication des idées entre collaborateurs. Il est évident qu'un système de dessin numérique doit aussi proposer un tel outil pour ne pas rompre avec les habitudes du concepteur, mais aussi pour renforcer cette notion d'explication et d'historique des croquis dans un contexte où les possibilités d'archivage et de fouille documentaire sont en constante évolution (voir [Coüasnon et Camillerapp2003] et plus généralement la revue Document numérique [Lavoisier-Hermes science publications2000 2004]).

Figure 4.13: Outil d'annotations de la feuille augmentée de SVALABARD.
\includegraphics[width=.55\textwidth]{annottool}

Il reste encore à rendre cette saisie d'annotations des plus naturelles, en évitant de rompre avec la ligne directrice de notre interface basée sur le dessin (proscrire la saisie au clavier, par exemple). La saisie des annotations dans SVALABARD est donc aussi une interaction de dessin à main levée. Elle ne doit alors pas interférer avec l'action de dessin, et c'est pour cela que nous avons choisi de placer cette saisie d'annotations sur la feuille augmentée: c'est une première discrimination sémantique (les traits sur la feuille de dessin sont du dessin, sur la feuille augmentée des compléments au dessin). Ces traits ne seront donc pas interprétés par le système d'analyse du dessin, et ne seront visibles que sur la feuille augmentée (voir figure 4.13).

Pour la manipulation de cet outil, une seconde tablette est utilisée. Elle est disposée à proximité de la tablette écran, permettant ainsi de passer rapidement d'un outil à l'autre en utilisant le même stylet sur des tablettes différentes (voir figure 4.14). Cette disposition est dans le même esprit que le périphérique proposé par la société Wacom, le CintiqPartnerTM [Wacom Europe GmbH2003], en complément de leurs tablettes écran4.2.

Figure 4.14: Interaction avec deux tablettes graphiques. La tablette écran est utilisée pour dessiner, alors que la seconde tablette permet de tracer de simples annotations avec le même stylet. Le changement d'outil est naturel, sans avoir à changer de stylet.
\includegraphics[width=.75\textwidth]{twotablets}

Il aurait été envisageable d'utiliser deux stylets et une seule tablette, chaque crayon correspondant alors à un outil logique différent. Toutefois, cette approche aurait impliqué un changement de crayon pour changer d'outil, ce qui n'est pas le cas dans la réalité. Un architecte réalisant un croquis et voulant l'annoter utilisera le même crayon. C'est pourquoi nous avons conservé notre métaphore du changement d'espace: le changement d'espace virtuel (feuille de dessin/feuille augmentée) est associé à un changement d'espace physique. Ce changement de surface de contrôle (tablette écran/tablette standard) fournit cette fois une discrimination physique entre les deux activités et outils similaires: dessiner/annoter.

L'outil d'annotations de SVALABARD, par sa manipulation similaire à l'outil de dessin, ne brise pas la cohérence dans les interactions du système. Les espaces de travail distincts, supportés par l'utilisation d'espaces de visualisation (feuilles) et d'interaction (tablettes), permet en outre une association claire entre les outils et leur fonction, réduisant ainsi à notre avis les erreurs qui pourraient être induites par la saisie d'annotations directement sur la tablette écran, avec un autre stylet ou un modificateur (bouton) par exemple.

4.3.2.2 Saisie de propriétés géométriques

Un autre outil est actif lorsque la feuille augmentée est visible: un outil de saisie de contraintes et propriétés. En effet, l'élévation 3D de dessins à main levée nécessite la connaissance de propriétés géométriques des objets à reconstruire (parallélisme, orthogonalités, incidences). Bien que détectant déjà des propriétés importantes de la structure du dessin (voir la section 4.4), SVALABARD devra proposer à terme une détection et le traitement automatique de propriétés de plus haut niveau. Nous proposons actuellement un outil original de spécification des contraintes. Celui-ci permet de saisir des contraintes de parallélisme ou d'orthogonalité entre segments et des contraintes de coplanarité entre points par reconnaissance de gestes. Notons toutefois que, même en présence d'une détection automatique, un tel outil justifie sa présence pour modifier et corriger d'éventuelles erreurs du système.

Spécifier des propriétés entre des objets géométriques, comme par exemple le parallélisme de plusieurs droites, revient à sélectionner ces objets et à annoncer la propriété qui les lie (de la même manière qu'un énoncé géométrique dirait les droites AB et CD sont parallèles). La réalisation d'un tel outil dans notre système pourrait reprendre ce principe d'énoncé en proposant un outil de sélection, pour désigner les segments, et un outil de commande pour spécifier le parallélisme. Une telle manipulation directe aurait déjà l'avantage d'être plus cohérente avec notre approche qu'une méthode de saisie des contraintes par boîtes de dialogue ou un langage de script (que l'on trouve fréquemment dans des systèmes de modélisation 3D ou de dessin géométrique). Nous proposons une méthode plus efficace en regroupant ces deux phases de sélection et d'énoncé dans une interaction de saisie de contraintes par reconnaissance de gestes: les gestes de commande, proposés par Stéphane CHATTY dans [Chatty et Lecoanet1996]. Cette saisie s'opère par manipulation directe des segments et points issus de l'interprétation des traits du dessin, sur la feuille augmentée.

Chaque propriété géométrique est représentée par un groupe cohérent de gestes (voir figure 4.15). Un groupe contient plusieurs gestes, qui ne différent que par leur orientation. Ainsi, le parallélisme est représenté par un trait, avec huit orientations possibles (voir figure 4.15(a)), l'orthogonalité par un angle droit (voir figure 4.15(b)) et la coplanarité par un cercle (voir figure 4.15(c)). Ces gestes spécifient la contrainte, mais permettent aussi la sélection des objets, combinant alors les fonctions épistémique et ergotique [Cadoz1994]. Il suffit de tracer le geste correspondant sur chaque segment ou point auquel on veut appliquer la propriété désirée. Cela permet la sélection successive d'un nombre illimité d'objets, un par geste identique, pour leur appliquer une propriété commune. L'interaction, et donc la saisie, est validée automatiquement au bout de quelques secondes si aucune nouvelle sélection n'intervient, ou si un objet est sélectionné avec un geste différent.

Figure 4.15: Gestes associés aux contraintes. Les points de départ des gestes ne sont pas représentés, ceux-ci pouvant être initiés d'une extrémité ou de l'autre.
\begin{figure}\setcounter{subfigure}{0}
\subfigure[Parallélisme.]{
\includegra...
...planarité.]{
\includegraphics[width=.3\textwidth]{coplgesture}}
\end{figure}

Suivons l'exemple de la spécification d'une contrainte de parallélisme sur trois segments à l'aide de la figure 4.16. La première figure présente la feuille augmentée. Le dessinateur a tracé plusieurs traits à l'aide de l'outil de dessin de la tablette écran et peut voir leurs interprétations et les segments qui en découlent sur la feuille augmentée. En utilisant le côté gomme du stylet sur la seconde tablette, il sélectionne avec le geste approprié les segments qu'il veut spécifier parallèles (voir figure 4.16(a)). Dans la figure 4.16(b), plusieurs segments sont sélectionnés. Cette sélection est représentée par le surlignage des segments. Le geste utilisé persiste pour rappeler la propriété en cours de spécification. Enfin, la troisième figure présente le résultat de l'action, validée après un temps sans sélection. Les segments ne sont plus surlignés, mais sont affichés de la même couleur pour pouvoir rapidement identifier les faisceaux.

Figure 4.16: Étapes de la notation de droites parallèles. Les segments sont sélectionnés avec le geste approprié. Ils sont alors surlignés et les gestes de sélection restent visibles (figure (a) et (b)). Au bout d'un temps sans sélection, la saisie est validée. Les segments sont affichés de la même couleur pour notifier leur parallélisme.
\begin{figure}\begin{center}
\setcounter{subfigure}{0}
\subfigure[]{
\include...
...degraphics[width=.8\textwidth]{augmentedsheetpara3}}
\end{center}
\end{figure}

La spécification de contraintes d'orthogonalité sur des segments ou de coplanarité sur des points se déroule de la même manière, avec le geste approprié (voir figure 4.17 pour les points coplanaires). Nous avons, dans notre prototype, réalisé un module très simple et basique de maintient de la cohérence des propriétés géométriques (transitivité, propagation, etc.) dans le but de prouver la faisabilité de l'interaction. Il est évident qu'une fois le système connecté au noyau mathématique de reconstruction 3D, les propagations et vérifications sur ces contraintes lui seront entièrement déléguées.

Figure 4.17: Étapes de la notation de points coplanaires.
\begin{figure}\begin{center}
\setcounter{subfigure}{0}
\subfigure[Sélection de...
...]{
\includegraphics[width=.8\textwidth]{coplanar3}}
\end{center}
\end{figure}

De la même manière que pour les annotations, cette saisie des propriétés géométriques se déroule sur la seconde tablette et non sur la tablette écran. Cela reprend le principe de l'association feuille de dessin/tablette écran, feuille augmentée/tablette. Nous avions envisagé, dans un premier temps, de réaliser cette interaction sur la tablette écran. Mais bien que cela aurait rendu plus précise la sélection des objets de la feuille augmentée, cela aurait aussi brisé l'association périphériques/vues qui nous semble plus importante. Dans ce choix, l'utilisation du côté gomme du stylet permet de distinguer cet outil de celui des annotations à main levée.


4.3.3 Manipulations sur la feuille 3D

Figure 4.18: Interaction 3D avec le Magellan (ou Space-Mouse).
\includegraphics[width=.5\textwidth]{MagellanAxes}

L'interaction sur la feuille 3D se résume à la manipulation de la vue du modèle reconstruit par le système. Pour cette interaction, nous utilisons un dispositif isométrique à six degrés de liberté, le Magellan (ou «Space Mouse»). La figure 4.18 représente ce dispositif, ainsi que ses axes: trois axes de translation et trois axes de rotation. L'emploi de ce périphérique permet la manipulation directe et précise4.3 de la vue dans toutes les dimensions avec la main non dominante et donc sans poser le stylet de dessin ni changer d'outil.

Figure 4.19: Manipulation du modèle 3D. Après son apparition, la feuille 3D reste semi-transparente si aucune autre action n'est effectuée (cadre a). Lorsque la vue est manipulée, elle devient opaque (cadres b à e) pour redevenir semi-transparente avant de redisparaître si aucune action n'est effectuée ou si le dessin reprend (cadre f).
\includegraphics[width=1.4\textwidth]{3dmove}

Une action sur ce périphérique va faire apparaître la feuille 3D si le modèle est disponible. Dès lors, elle va rester un instant semi-transparente avant de redisparaître si l'utilisateur interrompt l'action. Il est ainsi possible de voir à la fois le modèle 3D et le dessin original par superposition. Lorsque l'utilisateur continue à agir sur le périphérique pour déplacer la vue, la feuille 3D devient opaque avant de redisparaître un instant après la manipulation ou lorsque l'utilisateur reprend son dessin (voir figure 4.19).

Comme nous l'avons déjà exposé lors de la description de la feuille 3D, l'intérêt de cette manipulation de la vue est aussi de permettre au concepteur de compléter son modèle dans d'autres points de vue, de créer en dessinant dans toutes les dimensions. Encore une fois, notre approche par l'instrumentation directe des fonctionnalités du système rend de telles techniques plus naturelles: elle permet dans ce cas précis de changer de point de vue avec la main non dominante, la main dominante étant alors prête à dessiner dans le nouveau point de vue.


4.3.4 Interaction globale

En complément des outils contextuels liés aux différentes feuilles, il est aussi nécessaire d'inclure dans SVALABARD  un outil global. Cet outil permet de contrôler les fonctionnalités globales de l'application (quitter, configuration, etc.) et c'est pourquoi il doit être accessible dans tous les modes. Toutefois, il est important qu'il ne brise pas non plus la cohérence de la métaphore de table à dessin avec des modes d'interaction radicalement différents de ceux utilisés pour les outils contextuel. C'est tout naturellement que ce principe nous à conduit à adopter des techniques de reconnaissance de gestes. Nous proposons deux alternatives dans SVALABARD: une zone de reconnaissance de gestes et des marking menus.

4.3.4.1 Zone et outil de commande gestuelle

Afin de rester dans un paradigme d'interface de dessin, il est essentiel d'utiliser un style d'interaction tel que la reconnaissance de gestes pour interagir avec le système. Toutefois, cela soulève des problèmes d'interférence entre les interactions dans le cadre d'une interface de dessin comme la notre. Admettons en effet qu'un système d'interprétation de gestes soit intégré directement à notre système de saisie de dessins. Comment différencier alors un trait du dessin en cours de réalisation, d'un geste de commande? Cette question est un des problèmes récurant des « sketching-interfaces». Dans un cadre précis comme celui choisi dans TAPAGE [Faure et Julia1993,Julia1995], où les commandes peuvent être clairement différenciées des formes dessinées imposées ou associées à des commandes parlées, cette ambiguïté est levée par les interpréteurs appropriés. Il serait envisageable, dans notre approche instrumentée, d'utiliser un autre périphérique d'entrée pour saisir les gestes (autres stylets ou boutons de stylet, tablettes), mais nous pensons que des changements d'outils trop fréquents deviendraient trop contraignants pour l'utilisateur, quitte même à entraîner des erreurs.

C'est pourquoi nous proposons de conserver le même outil (physique et logique) que l'outil de dessin ou d'annotations, mais de spécialiser sa fonction à la reconnaissance de gestes dans les limites graphiques d'une zone spéciale, présente sur toutes les feuilles sous la forme d'un rectangle semi-transparent (voir figure 4.20). À l'intérieur de cette zone, l'outil manipulé par le stylet sur la tablette écran ou sur la seconde tablette est entièrement dédié à la reconnaissance de gestes, selon le principe déjà connu de la zone de saisie des assistants personnels. Ainsi, pour effectuer une commande lors de n'importe quelle tâche, nul besoin de changer d'outil ou de mode, que l'utilisateur travaille sur la feuille de dessin (tablette écran) ou sur la feuille augmentée (tablette standard). Il suffit de tracer le geste dans la zone de commande (qui peut aussi être déplacée pour ne pas gêner).

Figure 4.20: Zone de reconnaissance de gestes et gestes associés aux commandes.
\begin{figure}\begin{center}
\setcounter{subfigure}{0}
\subfigure[Zone graphiq...
...{
\includegraphics[width=.45\textwidth]{gestures2}}
\end{center}
\end{figure}

Cette solution permet d'utiliser des gestes sémiotiques pour accéder aux fonctionnalités de l'application, sans toutefois interférer avec le dessin et sans changer explicitement de périphérique d'entrée, ni de mode (ou activer un modificateur tel un bouton ou une touche du clavier). Toutefois, cette méthode peut imposer des déplacements fréquents sur l'espace de travail. Nous proposons alors une autre alternative: les «marking menus», fusion de menus circulaires et de reconnaissance de gestes.


4.3.4.2 Alternative aux gestes: les marking menus

En 1991, Gordon KURTENBACH et William BUXTON [Kurtenbach et Buxton1991] ont introduit les « marking menus», combinaison de menus circulaires («pie menus») [Wiseman et al.1969,Hopkins1991] et de gestes rectilignes simples. Les gestes permettent de sélectionner l'entrée désirée du menu circulaire et peuvent être enchaînés dans des sous-menus hiérarchiques. Ces menus ont été conçus pour être utilisés par des utilisateurs de plusieurs niveaux d'expertise. Ainsi, si l'on trace directement le geste correspondant à un item du menu, celui-ci n'apparaît pas (mode expert). Par conte, un appui plus long sur le périphérique d'entrée (stylet ou souris) permet de faire apparaître le menu afin de «rafraîchir» la mémoire de l'utilisateur. Dans une étude plus poussée sur leurs travaux [Kurtenbach et Buxton1994], les auteurs on montré les avantages des «marking menus» par rapport aux menus linéaires, ainsi que leurs apports dans les interfaces, en particulier celles basée sur les périphériques de type «stylet» (cohérence, rapidité et apprentissage).
Au vu de ces avantages et des possibilités offertes par notre plate-forme de développement, nous avons rapidement introduit un tel menu dans l'interface de SVALABARD, afin de proposer à l'utilisateur une alternative à la zone de gestes exposée précédemment.

Les «marking menus» de SVALABARD sont contrôlés par le stylet, en pressant son bouton latéral comme modificateur à l'outil actif (dessin ou annotations). De la même manière que pour la zone de geste, le menu est accessible depuis les deux tablettes. Il comporte deux niveaux, comme le présente la figure 4.21. Le menu principal contient les fonctions «quitter, effacer, options, sauvegarder et 3D» (voir figure 4.21(a)). Notons que les deux dernières fonctions de ce menu ne sont pas encore implémentées dans le système. Le choix « options» présente un menu de second niveau offrant l'accès aux fonctions «plein écran et configuration» (voir figure 4.21(b)). Ces menus se comportent comme ceux décrits par Gordon KURTENBACH, à savoir qu'ils n'apparaissent pas lorsque la «marque» (le geste) est tracé rapidement (le délai d'apparition et la visibilité du geste sont paramétrables). Les gestes associés aux items de ces menus sont représentés dans la figure 4.20(b).

Figure 4.21: Marking menus de SVALABARD.
\begin{figure}\begin{center}
\setcounter{subfigure}{0}
\subfigure[Menu de prem...
...eau.]{
\includegraphics[width=.45\textwidth]{pie2}}
\end{center}
\end{figure}

Bien que similaires, ces deux méthodes de contrôle des fonctionnalités de l'application ne sont pas conçues pour cohabiter (les gestes de la zone de dessin sont différents de ceux induits par la disposition des items des Marking menus). L'utilisateur doit faire un choix entre ces deux méthodes, et nous pensons qu'une fois familiarisé avec l'une d'elle, il lui serait difficile d'utiliser l'autre à moins d'une période d'apprentissage (bien que l'ensemble des gestes de commande puisse être redéfini et que les items des menus puissent être replacés).

4.3.4.3 Vue d'ensemble

La figure 4.22 présente la disposition de tous les périphériques qui font de SVALABARD une table à dessin virtuelle. Les deux tablettes forment deux espaces d'interaction: la feuille de dessin pour la tablette écran (dessin à main levée), la feuille augmentée pour la tablette standard (saisie de propriétés géométriques). Ensuite, chaque périphérique est affecté à une action précise: la boîte à glissières pour contrôler les paramètres de l'outil de dessin, le shuttle pour la manipulation des calques de dessin et le Magellan pour la vue de la feuille 3D (éventuellement une souris pour déplacer des composants). Avec cette disposition, alors que la main dominante peut dessiner et «piloter» le système sur les espaces d'interaction, la main non dominante peut agir sur le contexte et les outils, sans interrompre la tâche [Guiard1987].

Figure 4.22: SVALABARD, la Table à dessin virtuelle dans son environnement concret.
\includegraphics[width=.85\textwidth]{full}

Considérons alors l'adéquation des dispositifs utilisés par rapport aux activités à réaliser. Le tableau 4.1 récapitule les associations que nous avons proposées entre les périphériques d'entrée et les modes de l'application (feuilles d'interaction), selon qu'ils sont utilisés pour réaliser une activité ou manipuler le contexte.


Tableau 4.1: Récapitulatif des associations périphériques d'entrée/outils de l'application.
 
Activité
Contexte
Feuille de dessin Tablette écran (dessin) Shuttle (calques), Sliders (couleurs)
Feuille augmentée Tablette standard (annotations et contraintes)  
Feuille 3D   Magellan (vue 3D)
Global Tablettes (gestes et Marking menus)  


Tout d'abord, les activités sont réalisées avec les périphériques isotoniques4.4 que sont les tablettes graphiques. Ces dispositifs étaient évidemment les plus appropriés, les outils de l'application étant tous basés sur des interactions de position inspirées du dessin (dessin, gestes et Marking menus). Au delà de l'adéquation de ces dispositifs avec les différentes activtés de dessin, l'intérêt est aussi d'utiliser une tablette par espace d'interaction pour faciliter la perception des modes de l'application et le passage de l'un à l'autre.

Ensuite, les actions sur le contexte sont réalisées à l'aide de dispositifs fixes sur lesquels sont montées des commandes mobiles (boîte à glissières, molettes, etc.). Ces commandes nécessitent peu de précision dans leur manipulation et en font des dispositifs adaptés à la main non dominante. Ils s'utilisent comme des périphériques isométriques limitant au maximum le déplacement de la main et se manipulant du bout des doigts.

Le Magellan présente toutes les caractéristiques nécessaires à la manipulation d'une vue 3D, c'est même pour cela qu'il a été conçu. Une alternative possible serait d'employer d'autres dispositifs possédant des groupes de trois degrés de liberté homogènes tels qu'une SpaceBall.

Les glissières permettent une manipulation continue de chaque composante de couleur, offrant en plus une indication visuelle des réglages (même si elle est imprécise, elle est toutefois renforcée par le retour graphique de l'outil). Une autre approche serait de baser la sélection des couleurs sur le cercle chromatique en utilisant alors une seule glissière plutôt que trois, ou bien un dispositif tel qu'une TrackBall pour se positionner sur un disque de couleurs. Il serait alors indispensable de fournir un retour graphique complexe dans l'interface, ce que la décomposition évite en permettant de n'afficher qu'un retour minimal sur la couleur choisie.

Le Shuttle est le dispositif dont l'emploi est le plus éloigné de son utilisation habituelle. Les molettes sont généralement utilisées pour des opérations de sélection ou de défilement d'objets dans une liste (ce que l'une des molettes permet d'ailleurs avec la pile de calques). Par contre, plier une feuille est normalement une tâche de déplacement, ce que n'évoque pas ce dispositif. Nous aurions alors pu proposer une interaction employant un périphérique isotonique, reproduisant la manipulation du monde réel. Mais une telle action est moins adaptée à la main non dominante qu'une simple variation de taux de pliage comme nous l'avons proposée avec la molette élastique. Cette même interaction pourrait être aussi effectuée avec une glissière ou avec un TouchPad. Par contre, nous briserions alors le principe de notre interface d'associer un dispositif à un ensemble d'actions sur un objet d'intérêt.

Pour conclure, nous nous référerons aux travaux de William BUXTON portant sur l'interaction en entrée. Il suggère que les périphériques d'entrée ont une part importante dans l'appréciation que se font les utilisateurs d'un système et des activités possibles, insistant aussi sur l'importance de l'adéquation du dispositif avec la tâche à réaliser [Buxton1986]. Cela soulève le problème de la compatibilité entre un dispositif et une tâche, par la similitude des actions physiques et de leur résultats (compatibilité stimulus/réponse), mais aussi par l'accord entre les propriétés intrinsèques du dispositif et les caractéristiques de la tâche [Buxton1986,Dragicevic2004b].
Par nos hypothèses de conception et nos choix de dispositifs, nous avons tenté d'offrir à la fois une bonne visibilité du système et un haut niveau de compatibilité entre les dispositifs et les activités. Bien sur, seule une évaluation de l'utilisabilité de SVALABARD dans un contexte réel d'utilisation confirmera ces propositions (nous reviendrons sur ce point dans le prochain chapitre). Mais cette disposition pose d'ores et déjà le problème de son utilisation et de son adaptation à d'autres contextes de travail, ou d'autres configurations matérielles (tout le monde ne dispose pas des périphériques que nous avons employés). Un autre aspect important est aussi la possibilité d'adapter le système aux goûts et habitudes de l'utilisateur.


4.3.5 Configurabilité et adaptabilité du système

Avant même son évaluation, un des aspects importants de notre approche permet d'anticiper sur les futurs besoins qu'elle entraînera: la configurabilité et l'adaptabilité. Ces deux notions que nous allons aborder maintenant assurent que notre système pourra être rapidement adapté et raffiné dans l'optique d'une meilleure interaction avec l'utilisateur. Nous ne rentrerons pas dans les détails techniques de la réalisation, ceux-ci feront l'objet de la partie II de ce mémoire, et tout particulièrement du chapitre 7 et de la section 8.4.3. Nous ne détaillerons ici que les impacts de ces apports pour l'utilisateur de SVALABARD.

Les boîtes à outils que nous avons utilisées (ICON) ou développées (MAGGLITE) pour concevoir ce système permettent un contrôle total sur la configuration en entrée de l'interface (utilisation et affectation de périphériques d'entrées aux outils et fonctions de l'application) et sur ses comportements (apparition des feuilles d'interaction, par exemple). Cette configuration est interactive, en utilisant le langage graphique proposé dans ICON [Dragicevic2004b].

Nous pouvons, par exemple, proposer en quelques minutes une configuration permettant d'utiliser SVALABARD avec uniquement des périphériques standard: une souris et un clavier. Le bouton gauche de la souris contrôle l'outil de dessin, le bouton du milieu le marking menu et le bouton droit la saisie des contraintes. La molette de la souris peut permettre de changer de calque de dessin actif. Ensuite, l'utilisation conjointe d'une touche du clavier («control», par exemple) et du bouton gauche de la souris permet de tracer des annotations. Enfin, toutes les autres actions (couleur de dessin, gestion des calques, vue 3D) peuvent être affectées à des touches du clavier. Certes, une telle utilisation du système briserait la cohérence et les métaphores que nous avons introduites. Par contre, elle prouve l'adaptabilité du système à des entrées appauvries, permettant son utilisation dans des contextes différents: sur un ordinateur portable, ou un TabletPC dans le cadre de l'informatique mobile, par exemple.

Mais, de la même manière le système peut être reconfiguré pour utiliser des entrées enrichies (autres périphériques ou modalités d'entrée). Un exemple serait d'introduire de la reconnaissance de la parole pour les fonctions de commande du système. Par exemple, les fonctionnalités du marking menus pourrait être données sous forme d'ordre. Mais nous avons aussi expérimenté avec succès la saisie multimodale des propriétés géométriques, en combinant gestes et parole. Nous avons gardé le principe du geste pour sélectionner les objets d'intérêt (segments à spécifier parallèles, par exemple) et transféré le choix de la propriété à appliquer sur un ordre parlé. Cette interaction, reprenant le principe éprouvé du «Put That There» de Richard A. BOLT [Bolt1980], présente l'avantage de ne plus nécessiter qu'un seul geste, pour la sélection. Bien qu'utilisée dans un cadre favorable (association du pointage et de l'ordre, peu de commandes), elle demande toutefois plus de contrôle au niveau de la saisie afin de lever des ambiguïtés et d'éviter des erreurs plus fréquentes: commande inapliquable à un objet, séquence de commandes incohérentes, etc.

Cette configurabilité est aussi importante dans le cadre de l'adaptation du système à l'utilisateur. En effet, nous avons proposé des associations de périphériques proposant souvent une interaction bimanuelle, ou des affectations de fonctions sur un périphérique dans un ordre logique. Il est possible pour l'utilisateur de changer l'affectation de ces fonctions des périphériques aux outils du système selon ses préférences ou capacités (changer l'ordre des boutons sur le shuttle, ou sur la boîte à glissières, par exemple).
De la même manière, il peut lui même régler le comportement des différents composant graphiques de l'interface comme il l'entend. Nous avons automatisé l'apparition de la feuille augmentée lorsque l'utilisateur ne dessine plus. Il est possible de redéfinir ce comportement pour la faire apparaître sur pression d'un bouton, par exemple. Et d'autres comportements pourront même être imaginés par les utilisateurs: par exemple, le filtre de détection de la phase de dessin que nous proposons dans la section 4.4.4 peut être utilisé pour changer automatiquement la couleur du trait de dessin ou le calque de dessin actif lors d'un changement de phase.

Nous avons donc présenté la partie «visible» de SVALABARD: son interface, ses interactions et son utilisation. Cette approche revêt dans son ensemble un aspect unique de par l'intégration que nous avons voulue cohérente de beaucoup de principes inspirés des habitudes des concepteurs (du contrôle de l'outil de dessin par le stylet à l'interaction bimanuelle, en passant par le pliage des calques). Mais bien plus que cela, la notion de feuilles d'interaction permet une séparation claire, et pourtant non abrupte, des différentes fonctionnalités, tout en unifiant dans un même outil, par un paradigme d'interaction commun, les trois fonctionnalités du dessin: le spéculatif, le prescriptif et le descriptif.

stuf
2005-09-06