journée intech device independence – page 1 conception et architecture d ihm : introduction...
TRANSCRIPT
Journée Intech Device Independence – Page 1
Conception et Architecture d’ IHM :
Introduction
Anne-Marie Déry [email protected]
Merci tout particulièrement à Laurence Nigay, Gaelle
Calvary de l’IMAG et au GT Mobilité et Ubiquité
Journée Intech Device Independence – Page 2
Quelques définitions
CHM Communication Homme MachineEtude de la conception des systèmes informatiques
contrôle aérien, centrale nucléaire : sécuritébureautique : productivitéjeux : engagement
Des utilisateurs
IHM Interface Homme Machine (1970)contact utilisateur système =
langage d'entrée +de sortie + gestion de l'interaction
Interaction Homme Machine (1980)Discipline englobant la conception, l'évaluation et le
développement de systèmes interactifs
Journée Intech Device Independence – Page 3
Problématique actuelle
Prendre en compte les avancées technologiquesnouveaux supports matérielsarrivée du net (masse de données + réseaux)nouveaux moyens d'interactionsmultimédia : son, images
de plus en plus d'utilisateurs des novices aux experts
Succès des interfaces ?facilité d'utilisation même si le service offert est complexevoiture vs électroménagertéléphone : nouvelle gamme
Journée Intech Device Independence – Page 4
Utilisabilité des interfaces
Facile à apprendre et à utiliserRetour d'information rassurant, informatif et immédiat
La conception doit répondre aux besoins, connaissances etCaractéristiques des utilisateurs
Objectif avoué : fiabilité, efficacité, productivité
3 aspects étudiés à travers le moduleconception, évaluation, prototypage
Journée Intech Device Independence – Page 5
Objectifs du module
Etude de marché et/ou réalisation de logiciels à la demande (constructeurs d’applications)
Fournir un prototype adapté aux besoins clients
Evaluer le coût de réalisation du produit final– Mettre l’accent sur l’IHM pour le dialogue
ETAPE 2 (février)
Architecture logicielle pour la mise en œuvre réelle de l’application
ETAPE 1 (décembre)
Journée Intech Device Independence – Page 6
Cycle de vie des IHMs
Journée Intech Device Independence – Page 7
Plan à suivre (étape 1)
Définir le modèle conceptuel de l’utilisateur
Dégager le modèle de conception
Charte graphique et contraintes ergonomiques
Réaliser un prototype
Evaluer le prototype
Journée Intech Device Independence – Page 8
Plan à suivre (étape 2)
Prendre en compte les retours de l’évaluation
Préparer l’architecture logicielle : choix
d’implémentation
Réaliser un prototype plus finalisé
Journée Intech Device Independence – Page 9
Motivations et exemples d’applications
visées
Journée Intech Device Independence – Page 10
IHM sur supports mobiles
Complexification de la conception ergonomique et logicielle
Journée Intech Device Independence – Page 11
IHM sur supports mobiles
Complexification de la conception ergonomique et
logicielle
Journée Intech Device Independence – Page 12
IHM sur supports mobiles
Complexification de la conception ergonomique et logicielle
Journée Intech Device Independence – Page 13
Les enjeux de la mutation
– Ingénierie au cas par cas insuffisante
• Coûts de développement et de maintenance
• Cohérence ergonomique entre versions
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– assurer la sécurité et la confidentialité
Journée Intech Device Independence – Page 14
Analyse des besoins
Conception
Conception logicielle
Codage
Tests Unitaires
Tests d’intégration
Tests UtilisateursEvaluation ergonomique
Boîtes à outils
Mécanismes généraux
Modèle d’architecture logicielle
Espace de conception
Propriétés ergonomiques
Dimensions de l ’espace problème
Journée Intech Device Independence – Page 15
Espace de conception :
Plasticité
Propriétés ergonomiques :
Autonomie
Poids
Dimensions de l ’espace problème
Conception ergonomique
Conception logicielle Outil de développement :
Context Toolkit
Journée Intech Device Independence – Page 16
Dimensions de l ’espace problème
Selon trois axes
Techniques d’interaction
Collaboration
Contexte
Journée Intech Device Independence – Page 17
Dimensions de l ’espace problème
Selon trois axes
Techniques d’interaction
Collaboration
Contexte
Journée Intech Device Independence – Page 18
Système interactif sensible au 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
Journée Intech Device Independence – Page 19
Système interactif sensible au contexte
Journée Intech Device Independence – Page 20
Système interactif sensible au contexte
Exemple : Plate-forme MAGIC
Journée Intech Device Independence – Page 21
Applicatifs envisagés
Localisation de l’utilisateur
Identification et localisation de dispositifs d’interaction
Journée Intech Device Independence – Page 22
Applications de proximité
Applications de proximité centraux légers
CEP Vendeurs Clients potentiels
Centre hospitalierServeurs BD, PC
des secrétariats …
Médecins : PDAs, PC portables
Patients : carte vitale
…
Hospitalisation à domicile
« HAN fixe » du patient
Médecins : PDAs, PC portables …
Journée Intech Device Independence – Page 23
Dimensions de l ’espace problème
Selon trois axes
Techniques d’interaction
Collaboration
Contexte
Journée Intech Device Independence – Page 24
Mobilité : nouveau découpage spatio-temporel
Déplacement dans l’espace
Variation dans le temps : synchronisme/ asynchronisme
local distant
asyn
chro
ne
syn
chro
ne
Journée Intech Device Independence – Page 25
Mobilité : nouveau découpage spatial
Etude selon les lieux d’interaction et non la distance
CONFINElieu de l’interaction
délimité
VAGABONDlieu de l’interaction
n’importe oùENSEMBLE DISPERSE
IDENTIQUE(local)
DIFFERENT(distant)
Journée Intech Device Independence – Page 26
Plate-forme Magic
Camera + Micro
Casque + Ecouteurs
Capteur d’orientation
Stylos
Tablette + Extenseur de port
Réseau sans fils
Journée Intech Device Independence – Page 27
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)
Journée Intech Device Independence – Page 28
MAGIC : vue d’ensemble
• Sur la tablette :– Communication
(forum, mail, etc.)
– Coordination (carte)
– Production (outils d’édition)
• A travers le casque:– Combinaison du
physique avec l’informatique grâce à la passerelle
Journée Intech Device Independence – Page 29
• 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
Terrain augmenté
Journée Intech Device Independence – Page 30
Menu
Formules
Liste
Gestion du piège
Gestion des cubes
HistoriqueCarte
TROC : Interface de la tablette tactile
Journée Intech Device Independence – Page 31
Temps de jeu
Objet ciblé
Description de l’objet ciblé
Formules actives
Autre objet visible
Niveau d’énergie magique
Œil magiqueMessages
Interface dans le casque
Journée Intech Device Independence – Page 32
Dimensions de l ’espace problème
Selon trois axes
Techniques d’interaction
Collaboration
Contexte
Journée Intech Device Independence – Page 33
Mobilité : Interface « Baby face » De très nombreuses techniques d ’interaction
Technique d ’interaction : plusieurs perspectives• psychologie cognitive : système sensoriel• informatique : technique d’interaction
Technique d’interaction : plusieurs niveaux d’abstraction–dispositif physique
clavier, souris, écran, haut-parleur, ...
–Système représentationnellangue pseudo-naturelle, manipulation directe, ...
Système sensoriel
Système cognitif
Journée Intech Device Independence – Page 34
Interface « Baby face »
Technique d ’interaction en sortie
Son spatialisé : T = <haut-parleur, LN>
SoundbeamNeckset
RDV à 15h
Journée Intech Device Independence – Page 35
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.)
Journée Intech Device Independence – Page 36
Interface « Baby face » : multimodalité Technique = <d, s> Go to the middle
of the message
T = <caméra-doigt, gestes> T = <micro, pseudo LN>
T = <ordinateur, gestes> T = <stylet, manipulation directe>
Journée Intech Device Independence – Page 37
Interface « Baby face » : multimodalité
Magicien d ’oz
Compère Sujet observé
Journée Intech Device Independence – Page 38
Interface « Baby face » : multimodalité
Usage des modalités par les sujets
Toutes commandes / Toutes sessions
Vocale
Tactile
Gestuelle
Embodied
Journée Intech Device Independence – Page 39
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é
Journée Intech Device Independence – Page 40
Dimensions de l ’espace problème
Interaction homme-machine
Techniques d’interaction
Collaboration
Contexte
Journée Intech Device Independence – Page 41
Les enjeux de la mutation
– Ingénierie au cas par cas insuffisante
• Coûts de développement et de maintenance
• Cohérence ergonomique entre versions
Des problèmes classiques prennent une importance particulière– concevoir pour plusieurs plates-formes– assurer la sécurité et la confidentialité
Journée Intech Device Independence – Page 42
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)
Journée Intech Device Independence – Page 43
Traducteurs
XML
XSLHTML
VoiceML
WML
XML et XSL pour la présentation, UIML, SUNML, Xforms ….
Journée Intech Device Independence – Page 44
Langage de description d’interfaces
Journée Intech Device Independence – Page 45
UIML
« User Interface Markup Language »
Langage multi-interface (graphique, voix, ...)
Une norme : UIML (uiml.org)
Des implémentations ou « renderers » Harmonia : Awt/Swing, HTML, WML, VXML, ... Rubico : Visual Basic, GUI builder TV Server, AG : C++ for embedded systems
Jeremy Fierstone / Equipe Rainbow / 45
Journée Intech Device Independence – Page 46
Document UIML
Les 4 parties d'un document UIML:
<Head> : metadata (author, date, version, ...) <Template> : réutilisation de fragments <Interface> : interface proprement dite
<Structure> : arbre des « widgets » <Style> : styles (propriétés) des widgets <Content> : contenu (texte, image, son) <Behavior> : objet / événement / action
<Peers> : mappings et liens vers l'extérieur
Jeremy Fierstone / Equipe Rainbow / 46
Journée Intech Device Independence – Page 47
De l’IHM abstraite vers l’IHM concrète
JFrame1
JPanel1
JLabel1 JField1 ...
IHM concrète (Exécution)
Projection
FicheClient
MainDialog
LabelFieldNom FieldNom ...
IHM abstraite (Exécution)
HMI
Dialog
Field Field
JFrame
JPanel
JTextFieldJLabelLégende
Instance
<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>
Fichier SUNML (Spécification)
Réification
Journée Intech Device Independence – Page 48
Exemple de Liste de Clients
<sunml> <interface id="ListeClients"> <structure> <dialog id="MainDialog" sequence="true"> <list id="ListeClients" reference="FicheClient" select="Field[FieldNom]"/> </list> </structure> </interface></sunml>
Fichier SUNML (spécification)
Exemple en Swing
Composition Représentant – Client (1-n) : Liste de clients
Journée Intech Device Independence – Page 49
Les enjeux de la mutation
Traductions automatiques insufisantes
Ergonomie des versions
Multiplicité des traducteurs
Journée Intech Device Independence – Page 50
Espace problème
Domaine de plasticité
Environnement
Plate-forme
Utilisateur
Seuil de plasticité
Domaine de plasticité
C2 Contexte non couvert
C1 Contexte couvert par l’IHM
Journée Intech Device Independence – Page 51
Cadre de référence : principes “Spécifier 1 fois -> N Interfaces” approche par modèles
Trois groupes de modèles
Domaine
Contexte
Adaptation
Trois instanciations
Ontologiques: Métadescriptifs, théorie
Archetypes: spécifiques au contexte ciblé, phase “conception”
Observés: exécutables, phase “exécution”
Journée Intech Device Independence – Page 52
Cadre de référence : phase “conception”
Config 1 ModèleTâches etConcepts
IHM concrète
IHM finale
IHM abstraite
ModèleTâches etConcepts
Modèles archétypes
Config 2Concepts
Tâches
User
Plate-forme
Environment
Evolution
Transition
IHM concrète
IHM finale
IHM abstraite
Concepts
Tâches
User
Plate-forme
Environment
Evolution
Transition
Domaine
Concepts
Tâches
Contexte
User
Plate-forme
Environment
Adaptation
Evolution
Transition
Modèles ontologiques
ARTStudio
D. Thevenin
Réification, Factorisation, Traduction, Abstraction / Reconception, Crossing, Intervention Humaine
Journée Intech Device Independence – Page 53
Tâches &Concepts
IHM abstraite
IHM concrète
IHM finale
Config 1
Cadre de référence : phase “conception”
Journée Intech Device Independence – Page 54
Consensus et RIML (SAP)
Même principe que ArtStudio : un moteur d'adaptation basé sur une catégorisation des devices (analyse d'utilisabilité donne un nombre de classes de devices limité qui représente des devices se comportant de façon similaire pour les utilisateurs)
–Avantages pour les programmeurs d'application
–Abstraction des devices
–Inutile d'apprendre de nouveaux langages, de connaître de nouveaux devices
–Facilité d'intégration
–Meilleure usabilité que les traducteurs
–libre choix de devices
– Rapidité de développement sur de nouveaux devices
•Ajout d'un render
Journée Intech Device Independence – Page 55
Adaptation syntaxique
En fonction du device
Règles d'encodage
Adaptation
Editeur
RIML
Adaptation sémantique
Filtrage des données
Journée Intech Device Independence – Page 56
Les enjeux de la mutation
De nouveaux problèmes à résoudre– prendre en compte le contexte dans l'interaction
Journée Intech Device Independence – Page 57
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
Journée Intech Device Independence – Page 58
Espace problème
Initiateur duchangement
Action
Cible
Utilisateur
Autre
Utilisateur
EnvironnementPlate-forme
Effecteur
Réaction
Nature
Utilisateur
Système
Intervention sur la cible
RedistributionRemodelage Migration
Reprise
Partielle
Totale
Espace de travailConceptPixel
SessionTâche composéeTâche élémentaireAction physique
(a) Aucun systèmede navigation
(b1) Navigation par onglet
(b2) Navigation par menu déroulant
Journée Intech Device Independence – Page 59
Reconnaissance de situation
Exécution de la réaction
Capture du
contexte
IdentificationDes solutions
candidates
Selection d’unesolutioncandidate
Détection de
changement decontexte
Identification du
changement decontexte
Exécution du
prologue
Execution de la
reaction
Execution de
L’épilogue
Calcul d’une réaction
Cadre de référence : phase “exécution”
Journée Intech Device Independence – Page 60
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
Journée Intech Device Independence – Page 61
Leçon 1: Le contexte peut seulement être défini pour une finalité
Leçon 2: Le contexte est un espace d'informations qui sert l'interprétation
Leçon 3: Le contexte est un espace d'informations partagé
Leçon 4: Le contexte est un espace d’informations infini et évolutif
Contexte : Absence de consensus mais des leçons
Journée Intech Device Independence – Page 62
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
Ontologie …
Les tâches mettent en jeu des entités (ex.: une table, un crayon, une couleur)Entité = un regroupement d’observablesEntité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 observablesBut = état souhaitéTâche = <état courant, but>, c.-à-d. absence de planActivité = <tâche courante, {tâches de fond}>
Journée Intech Device Independence – Page 63
Les enjeux de la mutation
Des solutions à des problèmes anciens à revoir– les techniques d'interaction : windows, icons, menus, pointing
Journée Intech Device Independence – Page 64
Ordinateur, ubiquité et mobilité
Ubiquité(environnementéquipé)
Mobilité(utilisateuréquipé)
Journée Intech Device Independence – Page 65
Ordinateur Vestimentaire
L ’ordinateur vestimentaire apparaît donc 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
Journée Intech Device Independence – Page 66
Mini Projets d'IHM
Par groupe de 4 au plus
Sujets accessibles à l'adresse :http://www.essi.fr/~pinna/MODULEIHM/
Choix par mail avant mercredi prochain A priori 1 groupe pour un sujet
Journée Intech Device Independence – Page 67
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 MOBILEEXPLOITANT 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/