• Aucun résultat trouvé

Exemple d’assemblage graphique dans Squidy. Illustration extraite de

[Königet al., 2010].

ID Outil de conception d’interfaces multimodales

Multimodalité Plusieurs modalités en entrée : pointeur laser, table

tactile Microsoft Surface, iPhone, Phidgets,

wii-mote et reconnaissance vocale

Programmation visuelle à flot de données,

para-digme des dispositifs en cascade

Notation Forte expressivité du rôle, forte visibilité

Outil Seuil bas, Plafond haut

T

ABLE

6.21 – Fiche-résumé de Squidy.

6.5 Conclusion

Dans ce chapitre nous avons analysé les principaux outils de conception de

pro-totypes multimodaux simulés ou interactifs. Nous avons analysé les outils selon

un ensemble de critères à différents niveaux d’abstraction. À haut-niveau, nous

avons analysé les aspects propres à la multimodalité et au modèle conceptuel

sous-jacent. Au niveau intermédiaire, nous avons analysé la notation de spécification

sur laquelle repose l’outil en utilisant les dimensions cognitives de Green :

visco-sité, engagement forcé et expressivité du rôle. À bas-niveau, nous avons considéré

des critères généraux liés à l’outil et à ce qu’il est possible de faire avec l’outil, en

utilisant les critères de Myers : seuil (la difficulté de prise en main) et plafond (les

possibilités de l’outil). Le Tableau 6.22 regroupe les fiches-résumé des outils

Ma-gicien d’Oz étudiés selon notre grille d’analyse. Les tableaux suivants regroupent

les fiches-résumé des outils pour la création de prototypes interactifs étudiés selon

158CHAPITRE 6. ÉTAT DE L’ART DES OUTILS POUR LE PROTOTYPAGE D’INTERFACESMULTIMODALES

notre grille d’analyse : outils à programmation non-visuelle (Tableau 6.23), outils à

programmation visuelle à automates et par démonstration (Tableau 6.24) et outils

à programmation visuelle à flot de données (Tableau 6.25).

Parmi les outils de développement de prototypes simulés, aucun outil ne permet

de généraliser la simulation à un ensemble de modalités : tous les outils ont un

plafond bas en terme de multimodalité.

Parmi les outils de développement de prototypes interactifs, seuls quelques

outils s’appuient sur des modèles conceptuels, ce qui a comme principale

consé-quence de diminuer les possibilités de génération de l’outil pour l’interaction

mul-timodale (plafond bas). Parmis les outils basés sur un modèle conceptuel, trois sont

basés sur le paradigme des dispositifs en cascade (iStuff, Icon et Squidy) et un sur

le modèle Icare (Icare). Au chapitre 4, nous avons déjà analysé les avantages et

limi-tations des deux modèles conceptuels, qui nous ont conduits à définir un nouveau

modèle mixte.

Enfin, aucun outil ne permet de réaliser à la fois des prototypes simulés et des

prototypes interactifs.

À partir de cette analyse des outils existants, nous visons une solution qui

per-mette en même temps de réaliser des prototypes simulés et interactifs. De plus un

outil basé sur notre modèle mixte pour spécifier l’interaction permettrait d’obtenir

un seuil bas et un plafond haut, afin d’augmenter le pouvoir génératif et descriptif

de l’outil. Nous présentons au chapitre suivant cet outil de développement de

pro-totypes simulés et interactifs, basé sur notre modèle conceptuel mixte présenté au

chapitre 4.

ID SketchWizard Simulation des gestes réalisés avec un stylet

Multimodalité Une seule modalité : Geste avec un stylet

Notation Visibilité ++, expressivité du rôle ++

Outil Seuil , plafond

-ID Suede Simulation d’interfaces vocales

Multimodalité Une seule modalité : parole

Notation Visibilité ++, expressivité du rôle ++

Outil Seuil , plafond

-ID Topiary Simulation de la géolocalisation

Multimodalité Géolocalisation de l’utilisateur et stylet sur PDA

Notation Visibilité ++

Outil Seuil , plafond

6.5. CONCLUSION 159

ID Processing Création d’interfaces graphiques interactives

Multimodalité Caméra, capteurs physiques, etc.

Notation Visibilité

-Outil Seuil ++, plafond ++

ID OF Applications graphiques interactives

Multimodalité Caméra, capteurs physiques, etc.

Notation Visibilité

-Outil Seuil ++, plafond++

ID JavaSwingMM Boîte à outils Java

Multimodalité Phidgets, manettes et reconnaissance vocale

Notation Inter-opérabilité avec JavaSwing

Outil Seuil ++, Plafond ++

ID HephaisTK Prototypage multimodal

Multimodalité Reconnaissance vocale, table multi-utilisateurs et

périphériques matériels.

Notation Viscosité ++

Outil Seuil ++

T

ABLE

6.23 – Synthèse : Fiches-résumé des outils de prototypage à programmation

160CHAPITRE 6. ÉTAT DE L’ART DES OUTILS POUR LE PROTOTYPAGE D’INTERFACESMULTIMODALES

ID IMBuilder Conception d’interfaces multimodales en entrée

Multimodalité Gestes avec la souris et parole

Modèle à automates

Notation Visibilité ++

Outil Seuil , plafond

-ID SCS Conception d’interfaces multimodales en entrée

Multimodalité Gestes avec la souris, parole et capteurs physiques

Modèle à automates, Equivalence (CARE)

Notation Visibilité ++

Outil Seuil , plafond

-ID PetShop Développement d’interfaces multimodales

Multimodalité Souris, clavier et gant - capteur

Réseaux de Pétri

Notation Visibilité ++, expressivité du rôle ++

Outil Seuil ++, plafond ++

ID CrossWeaver Conception de prototypes basse-fidélité

Multimodalité Clique souris, clavier, geste et parole

Modèle à automates

Notation Forte visibilité, forte expressivité du rôle

Outil Seuil , plafond

-ID d.tools Prototypage de systèmes utilisant des capteurs

Multimodalité Accéléromètre, capteurs de pression et sliders

Modèle à automates

Notation Expressivité du rôle ++

Outil Seuil , Plafond

-ID Exemplar Prototypage de systèmes utilisant des capteurs

Multimodalité Accéléromètre, capteurs de pression, temp., etc.

Programmation par démonstration

Notation Faible visibilité

Outil Seuil bas, plafond bas

T

ABLE

6.24 – Synthèse : Fiches-résumé des outils de prototypage à programmation visuelle

6.5. CONCLUSION 161

ID vvvv Traitement temps-réel d’images vidéo

Multimodalité Capteurs physiques, tablette tactile.

Notation Visibilité ++, expressivité du rôle

-Outil Seuil , plafond

-ID Max/Msp Créations musicales et multimédia temps réel

Multimodalité Caméra, capteurs physiques, etc.

Notation Viscosité ++, visibilité , engagement forcé

-Outil Seuil ++, plafond ++

ID EyesWeb Création d’applications multi-média, musicales et

de danse temps-réel

Multimodalité Analyse de gestes en temps-réel

Paradigme des dispositifs en cascade

Notation Expressivité du rôle ++, visibilité ++

Outil Seuil , plafond

-ID iStuff Conception de prototypes interactifs sur

télé-phones mobiles

Multimodalité Clavier, gestes avec accéléromètre, caméra.

Paradigme des dispositifs en cascade.

Notation Expressivité du rôle ++

Outil Seuil , plafond

-ID Icon Développement d’interfaces multimodales

Multimodalité Plusieurs modalités en entrée

Modèle des configurations d’entrée

Notation Viscosité ++

Outil Seuil - -, plafond ++

ID Icare Conception d’interfaces multimodales en entrée

Multimodalité Plusieurs modalités en entrée

Modèle ICARE

Notation Visibilité ++

Outil Seuil - -, plafond ++

ID Squidy Conception d’interfaces multimodales

Multimodalité Pointeur laser, table tactile, iPhone, Phidgets,

wii-mote et reconnaissance vocale

Paradigme des dispositifs en cascade

Notation Expressivité du rôle ++, visibilité ++

Outil Seuil - -, Plafond ++

T

ABLE

6.25 – Synthèse : Fiches-résumé des outils de prototypage à programmation visuelle

Chapitre 7

Notre outil pour le prototypage

multimodal : OpenInterface Interaction

Development Environment

«Un outil humain est [...] un objet façonné, transformé, de manière à pouvoir

être utilisé commodément et efficacement pour accomplir un certain genre

d’ac-tion»

Gaston Viaud, Naturaliste et psychologue français (1899-1961)

Contenu du chapitre

7.1 Plate-forme logicielle sous-jacente . . . . 164

7.1.1 Contexte : le projet OpenInterface . . . 164

7.1.2 Plate-forme à composants OpenInterface . . . 165

7.2 OIDE, notre environnement de prototypage . . . . 167

7.2.1 Architecture et modèle logiciel . . . 167

7.2.2 Composants logiciels, éléments de base du OIDE . . . 168

7.2.3 Editeur graphique (Vue) . . . 170

7.2.4 Utilisation du OIDE et dynamicité du prototype développé . . . 172

7.3 Concrétisation de notre modèle conceptuel . . . . 173

7.3.1 Caractérisation des composants : Multimodal Component

Des-cription Language (MCDL) . . . 174

7.3.2 Structure des assemblages et types des composants . . . 178

7.4 Composants disponibles pour le développement de prototypes interactifs 179

7.4.1 Composants Dispositif . . . 179

7.4.2 Composants de transformation . . . 182

7.4.3 Composants de composition . . . 184

7.4.4 Composants tâche . . . 185

7.4.5 Composants utilitaires . . . 185

7.5 Composants disponibles pour le développement de prototypes simulés . 187

7.5.1 Approche OpenWizard : un continuum du prototype simulé au

prototype interactif . . . 187

7.5.2 Composants OpenWizard . . . 188

7.5.3 Degrés de simulation du prototype . . . 193

7.6 Conclusion . . . . 197

164 CHAPITRE 7. NOTRE OUTIL POUR LE PROTOTYPAGE MULTIMODAL :OPENINTERFACE INTERACTION DEVELOPMENT ENVIRONMENT

Dans ce chapitre, nous présentons l’outil logiciel de prototypage multimodal

que nous avons développé. Vis-à-vis de l’état de l’art des outils existants du

cha-pitre précédent, notre outil vise à :

• permettre le développement de prototypes simulés et de prototypes

interac-tifs : nous avons souligné l’absence d’outil qui permette le développement de

ces deux types de prototypes qui s’inscrivent pourtant de façon continue dans

une démarche itérative de conception centrée utilisateur

• offrir un fort pouvoir descriptif et génératif en alliant les atouts des deux outils

Icon et Icare. Pour atteindre cet objectif, notre outil repose explicitement sur

notre modèle de conception présenté au chapitre 4 et évalué au chapitre 5.

Adopter cette notation au sein de notre outil permet un fort pouvoir descriptif

et génératif.

L’outil développé, appelé OIDE (OpenInterface Interaction Development

Envi-ronment), est un éditeur graphique construit au dessus d’une plate-forme à

compo-sants appelée OpenInterface. Le développement de cet outil s’inscrit dans le projet

de recherche européen OpenInterface [OpenInterface, 2006]. Aussi, nous

commen-çons par introduire le contexte du développement de cet outil, en présentant le

pro-jet européen, puis nous montrons les principales caractéristiques de la plate-forme

à composants sous-jacente. Nous détaillons l’architecture de notre outil graphique

de conception par rapport à la plate-forme sous-jacente.

Ensuite, nous présentons la concrétisation de notre modèle conceptuel au sein

du OIDE à travers la caractérisation des composants et les différents types de

com-posants logiciels implémentés : dispositif, transformation, composition et tâche.

En-fin nous présentons les composants implémentés pour le développement de

proto-types interactifs et simulés.

7.1 Plate-forme logicielle sous-jacente

7.1.1 Contexte : le projet OpenInterface

Le développement de notre outil s’inscrit dans le cadre d’un projet, OpenInterface

[OpenInterface, 2006]. OpenInterface (OI) est un projet européen STREP du

frame-work 6 IST. Le projet OpenInterface est une continuation du réseau d’excellence

européen SIMILAR du framework 6 IST. Dans ce réseau, a été développé la

plate-forme à composants OpenInterface, que nous utilisons comme noyau de notre outil

graphique. Partant de ce noyau à composants issu du réseau SIMILAR, nous avons

développé notre outil de prototypage dans le cadre du projet OpenInterface.

Le projet OpenInterface avait pour objectif la définition d’un outil logiciel pour

le prototypage d’interfaces multimodales, qui s’inscrit dans une démarche de

conception itérative centrée utilisateur. Le projet OI implique neuf partenaires

aca-démiques et industriels : Université Joseph Fourier Grenoble (France), Université

de Glasgow (RU), Fraunhofer Institute for Applied Information technology

(Alle-magne) et Université Catholique de Louvain (Belgique) comme partenaires

acadé-miques ; France Télécom (France), Immersion (France), PhonoClick (Turquie),

Arca-7.1. PLATE-FORME LOGICIELLE SOUS-JACENTE 165

diaDesign (Italie), Multitel ASBL (Belgique) et TXT e-Solutions Spa (Italie) comme

partenaires industriels.

Dans ce projet, notre travail a consisté à concevoir et développer l’outil

logi-ciel ainsi qu’à développer et intégrer des composants logilogi-ciels pour permettre le

prototypage d’interfaces multimodales. Adoptant une démarche opensource,

l’ou-til et les composants présentés dans ce chapitre sont disponibles sur le forge

ope-ninterface (https ://forge.opeope-ninterface.org/). Son utilisation va donc au-delà des

membres du laboratoire et en particulier notre outil a été installé et largement

uti-lisé par les neufs autres partenaires du projet.

L’outil repose explicitement sur notre modèle de conception présenté au

cha-pitre 4. Comme nous l’avons souligné, notre modèle est conceptuel et est

indépen-dant de la technologie à composants utilisée (chapitre 4). Dans le projet OI, nous

avons concrétisé notre modèle conceptuel par le développement d’un outil logiciel

au dessus de la plate-forme à composants notée OpenInterface. Celle-ci a été

déve-loppée par l’Université Catholique de Louvain, coordinateur du réseau SIMILAR

et partenaire du projet OpenInterface.

7.1.2 Plate-forme à composants OpenInterface

La plate-forme OpenInterface [Lawsonet al., 2009] est un intergiciel à composants

qui gère l’instanciation et l’exécution de composants logiciels hétérogènes. Par

dé-faut, la forme accepte des composants écrits en Java, c++ et Matlab. La

plate-forme est extensible : les utilisateurs peuvent rajouter des nouveaux langages en

créant des plugins. Ainsi, des extensions pour Python et pour .Net ont été

inté-grées.

Par rapport aux technologies à composants existantes (section 3.3.3 chapitre 3),

la plate-forme OpenInterface a été conçue pour être une plate-forme facile à

ins-taller, peu consommatrice de ressources et pour être flexible. La plate-forme

per-met l’intégration de composants déjà existants sans imposer un modèle de

com-posants contraignant. Cette approche favorise donc l’intégration de comcom-posants

hétérogènes implémentant différentes modalités d’interaction et l’exploration de

l’espace de conception de la multimodalité.

Description des composants OpenInterface

Les composants dans OpenInterface sont considérés comme desunités logicielles

in-dépendantes et réutilisables avec des interfaces en entrée/sortie

1

. Concrètement, les

com-posants sont définis par une API qui explicite les fonctionalités du composant, ainsi

que le constructeur du composant. Les fonctionalités d’un composant sont décrites

par des facettes (Facets), qui contiennent des Pins, les ports en entrée (Sink) et en

sortie (Source et Callback) du composant (Figure 7.1). Cette description est

conte-nue dans un fichier xml selon un langage spécifique, le Component Interface

Des-cription Language (CIDL).

L’intégration d’un composant passe par la création de la description CIDL du

composant (donnée en Annexe D). Le CIDL informe entre autres du langage du

1«a reusable and independent software unit with exported and imported Input/Output interfaces» [Lawsonet al., 2009]

166 CHAPITRE 7. NOTRE OUTIL POUR LE PROTOTYPAGE MULTIMODAL :OPENINTERFACE INTERACTION DEVELOPMENT ENVIRONMENT