IHM et multiplicité des supports : aperçu de la recherche actuelle et future Anne-Marie Déry pinna@essi.fr Projet Rainbow - Laboratoire I3S Merci tout particulièrement à Laurence Nigay, Gaelle Calvary de l’IMAG et au GT Mobilité et Ubiquité, GDR I3
Motivations et exemples d’applications visées
IHM sur supports mobiles Complexification de la conception ergonomique et logicielle
IHM sur supports mobiles Complexification de la conception ergonomique et logicielle
IHM sur supports mobiles Complexification de la conception ergonomique et logicielle
Les enjeux de la mutation De nouveaux problèmes à résoudre prendre en compte le contexte dans l'interaction Perception/modélisation/adaptation Des solutions à des problèmes anciens à revoir les techniques d'interaction : windows, icons, menus, pointing Des problèmes classiques prennent une importance particulière concevoir pour plusieurs plates-formes Ingénierie au cas par cas insuffisante Coûts de développement et de maintenance Cohérence ergonomique entre versions
Plasticité des interfaces Un peu d’histoire … Introduction du terme à Interact’99 Capacité d’une interface à s’adapter à son contexte d’usage dans le respect de son utilisabilité Contexte d’usage Plate-forme Environnement Utilisateur (2001)
Dimensions de l ’espace problème y s e d e s b e s o i n s Evaluation ergonomique T e s t s U t i l i s a t e u r s Espace de conception Propriétés ergonomiques C o n c e p t i o n T e s t s d ’ i n t é g r a t i o n C o n c e p t i o n l o g i c i e l l e Modèle d’architecture logicielle T e s t s U n i t a i r e s Boîtes à outils Mécanismes généraux C o d a g e
Dimensions de l ’espace problème Espace de conception : Plasticité Propriétés ergonomiques : Autonomie Poids Conception ergonomique Conception logicielle Outil de développement : Context Toolkit
Dimensions de l ’espace problème Selon trois axes Techniques d’interaction Collaboration Contexte
Dimensions de l ’espace problème Selon trois axes Techniques d’interaction Collaboration Contexte
Système interactif sensible au contexte capable d’identifier les circonstances qui entourent l’action utilisateur en vue d’offrir des services contextualisés offre sélective d’information décoration contextuelle pour recherche ultérieure Contexte : ensemble de propriétés de phénomènes physiques qui peuvent être captées
Système interactif sensible au contexte
Système interactif sensible au contexte Exemple : Plate-forme MAGIC
Applicatifs envisagés Localisation de l’utilisateur Identification et localisation de dispositifs d’interaction
Applications de proximité centraux légers CEP Vendeurs Clients potentiels Centre hospitalier Serveurs BD, PC des secrétariats … Médecins : PDAs, PC portables Patients : carte vitale … Hospitalisation à domicile « HAN fixe » du patient Médecins : PDAs, PC portables …
Dimensions de l ’espace problème Selon trois axes Techniques d’interaction Collaboration Contexte
Mobilité : nouveau découpage spatio-temporel Déplacement dans l’espace Variation dans le temps : synchronisme/ asynchronisme asynchrone synchrone local distant
Vagabond / Ensemble : Hummingbird Viktoria Research Institute de Gothenburg (Suède) Conscience de groupe Indication visuelle et orale Confiné / Dispersé : Système collaboratif[Kraut 96] Système mixte mobile Magic, Troc (IMAG)
Plate-forme Magic Casque + Ecouteurs Réseau sans fils Stylos Tablette + Extenseur de port Réseau sans fils Capteur d’orientation Camera + Micro
MAGIC : Travail sur le terrain de fouille Explorer le site (Mobilité) Travailler en groupe sur le site (Collecticiel) S’informer auprès d’experts distants (Collecticiel) Comparer des objets physiques avec des objets d’une base de données (Augmentation) Accéder aux objets enlevés du site (Augmentation)
MAGIC : vue d’ensemble Sur la tablette : A travers le casque: Communication (forum, mail, etc.) Coordination (carte) Production (outils d’édition) A travers le casque: Combinaison du physique avec l’informatique grâce à la passerelle
Terrain augmenté Un archéologue travaille Il trouve un objet La découverte est retirée du site L’objet est sauvegardé dans une base de données Un archéologue approche de où était l’objet La découverte est virtuellement disponible
Dimensions de l ’espace problème Selon trois axes Techniques d’interaction Collaboration Contexte
Mobilité : Interface « Baby face » De très nombreuses techniques d ’interaction Technique d’interaction : plusieurs niveaux d’abstraction dispositif physique clavier, souris, écran, haut-parleur, ... Système représentationnel langue pseudo-naturelle, manipulation directe, ... Système sensoriel Système cognitif
Interface « Baby face » Technique d ’interaction en sortie Son spatialisé : T = <haut-parleur, LN> RDV à 15h Soundbeam Neckset
Dimensions de l ’espace problème Interaction homme-machine Techniques d’interaction Collaboration Contexte
Conclusion Grande variété des études Vaste espace de possibilités Travaux pluridisciplinaires Groupe de Travail 4.3 "Mobilité et Ubiquité” du GDR I3 Grande variété des domaines d’application
Des solutions : des traducteurs, la Des solutions : des traducteurs, la plasticité, la prise en compte du contexte, des architectures, l’ergonomie
Traducteurs XSL HTML XML VoiceML WML XML et XSL pour la présentation, UIML, SUNML, Xforms …. XSL HTML XML VoiceML WML
Langage de description d’interfaces
De l’IHM abstraite vers l’IHM concrète Fichier SUNML (Spécification) IHM abstraite (Exécution) <sunml> <interface id="FicheClient"> <structure> <dialog id="MainDialog" sequence="true"> ... <field id="LabelFieldNom" mode="read"> <element type="String">Nom :</element> </field> <field id="FieldNom" mode="read-write"> <element type="String">Toto</element> </field> ... </dialog> </structure> </interface> </sunml> FicheClient HMI Réification MainDialog Dialog ... LabelFieldNom FieldNom Field Field Projection IHM concrète (Exécution) JFrame1 JFrame JPanel1 JPanel ... JLabel1 JField1 Légende JLabel JTextField Instance
Plasticité des interfaces : une nécessité Problème ? Exemple SI la batterie du PC faiblit ALORS passer sur PDA SI condition ALORS action Action Réaction
Espace problème
Espace problème Domaine de plasticité Seuil de plasticité Contexte couvert par l’IHM C2 Contexte non couvert
Cadre de référence : phase “conception” “Spécifier 1 fois -> N Interfaces” approche par modèles ARTStudio D. Thevenin Modèles archétypes Domaine Concepts Tâches Contexte User Plate-forme Environment Adaptation Evolution Transition Modèles ontologiques Config 1 Modèle Tâches et Concepts Modèle Tâches et Concepts Config 2 Concepts Concepts Tâches Tâches IHM abstraite IHM abstraite User User Plate-forme Plate-forme IHM concrète IHM concrète Environment Environment Evolution Evolution IHM finale IHM finale Transition Transition Réification, Factorisation, Traduction, Abstraction / Reconception, Crossing, Intervention Humaine
Cadre de référence : phase “conception” Config 1 Tâches & Concepts IHM abstraite IHM concrète IHM finale
Cadre de référence : phase “exécution” Exécution de la réaction Identification du Identification Reconnaissance de situation changement de Des solutions Calcul d’une réaction contexte candidates Détection de Selection d’une solution candidate changement de contexte Capture du Exécution du contexte prologue Execution de Execution de la Exécution de la réaction L’épilogue reaction
Ingénierie : Capture de contexte Donnée captée et méta-donnée Précision Fréquence Stabilité Zone de couverture Complétude Ambiguïté Complémentarité Redondance Architecture logicielle
Ontologie … Contexte (U,T) = ensemble de rôles et de relations entre entités pour la réalisation de T par U Changement de Contexte = l’ensemble des rôles change,et/ou l’ensemble des relations change Tâches et activités ont lieu dans un réseau de contextes Contexte (U,T) = un réseau de situations qui partagent le même ensemble de rôles et de relations Les tâches mettent en jeu des entités (ex.: une table, un crayon, une couleur) Entité = un regroupement d’observables Entités peuvent jouer un rôle = une fonction relative à une tâche, qui est satisfaite par une entité, (par exemple, une table satisfait la fonction « surface de dépôt ») Entités peuvent entretenir des relations Domaine (monde) = un réseau d’états reliés par des actions État = un prédicat sur des observables But = état souhaité Tâche = <état courant, but>, c.-à-d. absence de plan Activité = <tâche courante, {tâches de fond}>
Approches par composants
Applications visées Problématique Applications évolutives et adaptables accessibles via un PDA, un portable ou une station variabilité des fonctionnalités selon le contexte d'utilisation (mode dégradé, connecté ou déconnecté, dépendance des ressources…) Applications construites à base de composants (composants métiers, composants d’IHM, composants services…) S’appuyer sur les infrastructures systèmes (RMI, EJB, …) Fournir une plate-forme à composants Exemples : Agenda collaboratif Gestion commerciale (facturations, commandes, client, fournisseur)
Spécificités des applications et contraintes IHMs Changement du contexte d'exécution du composant (d’utilisation de fonctionnalités) d'une station à un PDA, un téléphone portable … "Reconfiguration" du composant Retrait / ajout de composants (demande de fonctionnalités, de services) Composition de composants Comment réutiliser une IHM existante sur un support différent ? Comment composer les IHMs des composants métiers ? Déporter le composant prise de commande sur un PDA pour le consultant sur site Ajouter dynamiquement le service de gestion de stock pour informer du délai…
Proposition : modèle de composants et abstraction Composer les IHMs des composants métiers Réutiliser des composants métiers Spécification d ’ IHM indépendantes du support Un modèle de composant + ISL + SUNML Un modèle de composants qui découple composant métier et composants d ’IHM. Composition de composants métiers par interactions Règles de composition adaptées aux IHMs Fusion de règles vérifiant la cohérence de la composition Atelier de composition La communication entre composants IHM et métier est exprimée par des interactions Un langage abstrait de description structurelle des IHMs : SUNML dans la lignée de XForms, RIML,... (inspiré de UIML)
De l’IHM abstraite vers l’IHM concrète Fichier SUNML (Spécification) IHM abstraite (Exécution) <sunml> <interface id="FicheClient"> <structure> <dialog id="MainDialog" sequence="true"> ... <field id="LabelFieldNom" mode="read"> <element type="String">Nom :</element> </field> <field id="FieldNom" mode="read-write"> <element type="String">Toto</element> </field> ... </dialog> </structure> </interface> </sunml> FicheClient HMI Réification MainDialog Dialog ... LabelFieldNom FieldNom Field Field ? ? Projection IHM concrète (Exécution) JFrame1 JFrame ? JPanel1 JPanel durand ... JLabel1 JField1 Composant métier (Exécution) Légende JLabel JTextField Instance
De l’IHM abstraite vers l’IHM concrète Séparation du composant d’IHM du composant métier Expression des communications possibles entre ces composants avec ISL Adaptation des composants suivant le contexte d’exécution FicheClient Controleur IHM abstraite durand JFrame1 Composant métier IHM concrète Instance Légende interaction
Exemple de Liste de Clients Composition Représentant – Client (1-n) : Liste de clients Fichier SUNML (spécification) <sunml> <interface id="ListeClients"> <structure> <dialog id="MainDialog" sequence="true"> <list id="ListeClients" reference="FicheClient" select="Field[FieldNom]"/> </list> </structure> </interface> </sunml> Exemple en Swing
Ordinateur, ubiquité et mobilité (utilisateur équipé) Ubiquité (environnement équipé)
Ordinateur Vestimentaire L ’ordinateur vestimentaire apparaît comme l’ordinateur de l’utilisateur mobile Encore souvent son téléphone, son ordinateur de bureau... Or la mobilité appelle d’autres applications pour l ’ordinateur : ordinateur de plongée, ... Il s ’agit souvent de systèmes Ad-Hoc, non ouverts, non flexibles
Plate-forme matérielle/logicielle ouverte et flexible : Un catalogue de composants matériels/logiciels «sur étagère» Mutualisation des développements Prototypage d ’applications de l ’Ordinateur Vestimentaire facilité
Méthodologie Générale ... Assemblage de composants matériels Conception de composants logiciels applicatifs Assemblage et configuration des composants logiciels Réalisation de code minimal de mise en œuvre de l'application
Capteurs sur I2C : Humidité, Température, divers boutons poussoirs ... Quelques composants ... Déjà à notre catalogue... D’autres en préparation en collaboration avec des entreprises Sophipolitaines : Clipcard, Europe Technologies, IBM... : GSM/SMS, capteurs divers biométriques... Capteurs sur I2C : Humidité, Température, divers boutons poussoirs ... Compas numérique Serveur Web (HTTPD)
Etude Ergonomique
Interface « Baby face » : multimodalité Plusieurs techniques ou modalités d ’interaction Apports de la multimodalité Flexibilité/adaptabilité (contexte d ’usage) Robustesse (complémentarité, redondance) Expressivité (complémentarité) Problèmes posés Validation empirique de ces apports Etude de l’usage des modalités (choix, appropriation, etc.)
Interface « Baby face » : multimodalité Go to the middle of the message Technique = <d, s> T = <caméra-doigt, gestes> T = <micro, pseudo LN> T = <ordinateur, gestes> T = <stylet, manipulation directe>
Interface « Baby face » : multimodalité Magicien d ’oz Compère Sujet observé
Interface « Baby face » : multimodalité Usage des modalités par les sujets Toutes commandes / Toutes sessions Vocale Tactile Gestuelle Embodied
Interface « Baby face » : multimodalité Usage des techniques d ’interaction par les sujets Variabilité inter-individuelle importante dans l ’usage (fréquence, préférences variées) Spécialisation Peu de redondance et de complémentarité
Merci à … Laurence Nigay (IMAG) : Exposé de synthèse aux Asisses I3 Marie THILLIEZ (Université de Valenciennes) : LES APPLICATIONS DE PROXIMITE Gaëtan Rey, Joëlle Coutaz (IMAG) : LE CONTEXTEUR: UN MODELE COMPUTATIONEL POUR LE CONTEXTE Joelle Coutaz et Gaelle Calvary (IMAG) : Plasticité des interfaces Philippe Renevier, Laurence Nigay, Pascal Salembier, Jullien Bouchet, Laurence Pasqualetti (IMAG) SYSTEMES MIXTES MOBILES ET COLLABORATIFS TROC : UN JEU COLLABORATIF SUR SUPPORT MOBILE EXPLOITANT DES TECHNIQUES DE REALITE AUGMENTEE Jean-Yves Tigli (I3S) WCOMP : UNE PLATE-FORME EXPERIMENTALE OUVERTE D'ORDINATEUR VESTIMENTAIRE Anne-Marie Dery-Pinna et Jérémy Fierstone (I3S) : COMPOSANTS ADAPTABLES ET MOBILES Et tout le groupe : http://iihm.imag.fr/nigay/GTMOB/Dec2002/
IHM et multiplicité des supports : Enseignements à l’ESSI JY Tigli