Collecticiel : système interactif à plusieurs utilisateurs Laurence Nigay Frédéric Jourde
Plan du cours Introduction et motivations Définitions Collecticiel, travail coopératif, CSCW, groupware, workflow Domaine pluridisciplinaire Historique et Difficultés Classifications Espace-temps Trèfle du collecticiel Domaines d application Dimensions sociales Conception et évaluation Démarches de conception : Approche multidisciplinaire / Conception participative Critères ergonomiques Modèle Denver Métaphores d interaction et objets d interaction Evaluation : approche expérimentale et approche heuristique Notation de spécification : arbre de tâches COMM (éditeur e-comm) Mais
Planning Lundi 5 mai Lundi 12 mai 8h-13h Projet F104 13h30-18h30 Projet F104 8h-13h Cours F321 13h30-18h30 Cours F321 F. Jourde Non encadré L. Nigay Lundi 19 mai 8h-13h Cours F321 15h15-16h45 Projet F321 L. Nigay F. Jourde Lundi 26 mai 8h-13h Projet F214 13h30-18h30 Projet F214 F. Jourde Non encadré Lundi 2 juin 13h30-18h30 F321 Soutenance de projets 35 minutes par groupe L. Nigay et F. Jourde
Plan du cours Introduction et motivations Définitions Collecticiel, travail coopératif, CSCW, groupware, workflow Domaine pluridisciplinaire Historique et Difficultés Classifications Espace-temps Trèfle du collecticiel Domaines d application Dimensions sociales Conception et évaluation Démarches de conception : Approche multidisciplinaire / Conception participative Critères ergonomiques Modèle Denver Métaphores d interaction et objets d interaction Evaluation : approche expérimentale et approche heuristique Notation de spécification : arbre de tâches COMM (éditeur e-comm) Laurence Nigay Frédéric Jourde
Supports http://iihm.imag.fr/nigay/enseig/m2progi/collecticiel/ Transparents principaux du cours (pdf) Exemples de collecticiels, copies d'écran des vidéos (pdf) Description du modèle DENVER (html) Chapitre II Introduction au domaine des collecticiels de Y. Laurillau Description des taxonomies Description des outils pour la conception ergonomique et logicielle Description des propriétés ergonomiques
PROJET Concevoir et spécifier un collecticiel
Projet de spécification Objectif : concevoir Un système multiutilisateur Qui implique plusieurs façons différentes d interagir Sans développement, mais avec maquette afin d obtenir des retours d utilisateur Vous choisissez le domaine d application. Ce choix doit être motivé au regard des possibilités d interaction à mettre en œuvre.
Projet de spécification Le système conçut doit être spécifié avec la notation COMM et si possible en utilisant l éditeur e-comm. Éventuellement : autres représentations Diagramme de classe (modèle du domaine) Maquette graphique (illustration) Plan (Contexte d utilisation) Tous autres diagrammes/graphiques que vous jugerez nécessaire à la compréhension.
Exemple Jeu mobile en groupe avec des joueurs fixe, et des joueurs qui courent dehors Mise en œuvre de la méthode Scrum avec système collaboratif, coopératif et multimodal Visite virtuelle de biens immobilier. Editeur collaboratif de diagrammes UML.
Outils e-comm e-comm.liglab.fr/ >>Créer vous un compte
Projet de spécification Lorsque vous spécifiez, adoptez plusieurs points de vue. Car vos spécifications doivent compréhensibles par d autres personnes y compris sans votre présence.
Soutenances Evaluation : le 2 juin. Par binome: 30 minutes de présentation et 5 minutes de question Plan de la présentation : Justification du domaine d application choisie Description du système conçu Présentation globale du système Positionnement du système dans les taxonomies du cours Spécification e-comm (en détail les tâches collaboratives et coopératives) Analyse du système conçu Etapes de conception Application du modèle DENVER Critères ergonomiques vérifiés ou transgressés Evaluation du système conçu Evaluation heuristique du cours Retour des utilisateurs Conclusion
Des questions?
Spécifier un Collecticiel
Plan Introduction : Spécifier un collecticiel Application multiutilisateur et multimodale Modèle de tâche Notation COMM Exemples
Spécifier Spécifier «Désigner par son trait spécifique, exprimer, déterminer en particulier, en détail» En opposition avec : «on va décrire en gros» Quelques questions préalables : Pourquoi spécifier un collecticiel? Que spécifier dans un collecticiel? Comment spécifier un collecticiel?
Pourquoi spécifier un collecticiel? Support de référence, support de communication
Pourquoi spécifier un collecticiel? La «malédiction» du collecticiel Si 1 utilisateur = N interaction Alors naïvement 2 utilisateurs = 2 x N interaction Mais cela est-il raisonnable?
Pourquoi spécifier un collecticiel? La «malédiction» du collecticiel Si 1 utilisateur = N interactions Alors naïvement 2 utilisateurs = 2 x N interactions 2 utilisateurs = 2 x N interactions + M interactions Coordination Communication Production
Que spécifier? En plus d un système monoutilisateur? Contrôleur de dialogue Adaptateur NF Interaction abstraite Noyau fonctionnel Interaction concrète Modèle ARCH [Bass 1992]
Que spécifier? Supporter de nouvelles actions Contrôleur de dialogue Adaptateur NF Interaction abstraite Noyau fonctionnel Interaction concrète Modèle ARCH [Bass 1992]
Que spécifier? Supporter de nouvelles interactions Contrôleur de dialogue Adaptateur NF Interaction abstraite Noyau fonctionnel Interaction concrète Modèle ARCH [Bass 1992]
Que spécifier? Et de nouvelles données Contrôleur de dialogue Adaptateur NF Interaction abstraite Noyau fonctionnel Interaction concrète Modèle ARCH [Bass 1992]
Que spécifier? Notre focus : l interaction Contrôleur de dialogue Adaptateur NF Interaction abstraite Noyau fonctionnel Interaction concrète Modèle ARCH [Bass 1992]
Comment spécifier l interaction? Un/des Langages communs (support de référence/communication) Idées En langage naturel Avec des formalismes tels qu UML (Uses cases, diagramme d interaction, ) Avec des notations spécifiques. Modèle de tâches
Application multiutilisateur et multimodale
Application multiutilisateur et multimodale Application multiutilisateur Coopération vs Collaboration Application multimodale Modalité d interaction et Multimodalité Forme de multimodalité Application multiutilisateur et multimodale exemples
Coopération vs Collaboration Collaboration" is distinguished from "cooperation" in that cooperative work "... is accomplished by the division of labor among participants, as an activity where each person is responsible for a portion of the problem solving...", whereas collaboration involves the "... mutual engagement of participants in a coordinated effort to solve the problem together. [Dillenbourg 2006] Coopération Implique une répartition du travail à priori entre les participants Collaboration Met en jeu une répartition dynamique du travail (non décidée à priori)
Coopération : camion de pompier Deux utilisateurs Deux rôles Conducteur du camion Pilote de la lance à incendie Association utilisateur rôle Définit les interactions possibles Définit les objectifs à atteindre
Collaboration : les 4 magiciens Deux utilisateurs Un rôle : magicien Chaque joueur dispose Des mêmes possibilités d interactions Du même objectif
Multimodalité Modalité d interaction Une modalité d interaction est l usage d un dispositif physique dans une manière donnée. Dispositif physique + Langage d interaction Système multimodal Un système qui utilise plusieurs modalités
Modalité Modalité en Entrée/Sortie Entrée : de l utilisateur vers le systèmes Sortie : du système vers l utilisateur Modalité Active/Passive Active : requiert une action explicite de l utilisateur Passive : informations collectées sans action explicite
Forme de multimodalité Propriété CARE Complémentarité Assignation Redondance Equivalence Espace TYCOON Transfert Concurrence
Complémentarité Les modalités fournissent des informations complémentaires pour réaliser la tâche. Pointage (coordonnées) Pression (validation) [Juras 2008]
Assignation Une modalité unique est assignée à une tâche donnée. Elle et elle seule permet de la réaliser. Recharger ses points de magie (les 4 magiciens)
Redondance Plusieurs modalités doivent fournir la même informations pour réaliser une tâche. Présenter la vitesse Son (haut parleur) Compteur (écran) Défilement (écran) [Sezgin 2009]
Equivalence Plusieurs modalités différentes peuvent être utilisées pour réaliser une tâche donnée. Déplacer la carte Stylet Souris Clavier [Myers 2002]
Transfert Une modalité fournit des informations qui sont utilisées en entrée d une autre modalité d interaction. Modalité 1 : couple (langage, dispositif) Langage «Effacer un CD» Dispositif? Censuré : trop compliqué Modalité 2 : couple (langage, dispositif) Manipulation (déplacement, clic) Souris Modalité 1 : couple (langage, modalité) Langage «Effacer un CD» Modalité 2 Graver un CD Effacer un CD Quitter
Concurrence Usage simultané de plusieurs modalités pour réaliser des tâches distinctes. Messagerie instantanée (skype, msn, ) Communication orale (microphone) => Parler à quelqu un Communication écrite (clavier souris) => Ecrire un message (éventuellement avec des personnes différentes)
Application multiutilisateur et multimodale Exemples : Warcraft 3 collaboratif et multimodal Les Sim s collaboratif et multimodal Edition collaborative de document Edition musicale Poste de commandement
Warcraft 3 collaboratif et multimodal Sélection d un groupe d unité Geste + parole Déplacement d unité Geste + parole Collaboration Utilisation conjointe [Tse 2007]
Les Sim s collaboratif et multimodal Création collaborative d un arbre. Geste + parole [Tse 2007]
Edition collaborative de plan Utilisateur distant Modalité en entrée Stylet Clavier Renforcer la conscience de groupe Caméra (entrée, passive) Ombre rose (sortie) [Tuddenham 2009]
Edition musicale collaborative Modalité : reconnaissance geste, boitier de commande Collaboration : un rôle unique [Fiebrink 2009]
Poste de commande collaboratif Complémentaire : geste + parole navigation (zoom) obtenir information Un rôle unique => collaboration [Rauschert 2002]
Modèle de tâche
Spécifier l interaction de ces systèmes Rappel ou introduction au modèle de tâche Principes généraux Utilité et limite Quelques notations de modèle de tâche La notation COMM Concepts de la notation Exemples d utilisation COMM Les 4 magiciens Warcraft 3 Collaborative, Coopératif et Multimodal
Modèle de tâches, Principe Principe Décomposition d une activité (complexe) en tâches élémentaires (simple) Une tâche Un but (état souhaité du système) Une procédure pour atteindre ce but Procédure : un ensemble de sous-tâches liées par : Des relations de composition Des relations temporelles
Modèle de tâches, principe Tâche répétable Décoration Relation de composition Ou Tâche 1 Tâche 2 Puis Tâche 1 1 Tâche 1-2 Relation temporelle
Modèle de tâches, exemple Système de gestion de congé Demander un congé Définir la période puis Envoyer la demande Définir un date de début répétable et Définir une date de retour répétable
Modèle de tâches Ou arrêter la décomposition? Tâche élémentaire (définir une date de début) Tâche élémentaire? tâche décomposable en actions physiques Action physique : opération sur un dispositif d entrée/sortie qui provoque un changement d état du dispositif Exemple entrée : clic souris, énoncé vocal, geste Exemple sortie : émission d un bip, affichage d un cercle => Choix des modalités
Décoration de tâche Décorations d une tâche Concept du domaine = objet utilisé Pré condition Post condition Fréquence Acteur responsable Rôle Les concepts liés à une tâche dépendent beaucoup de l objectif de la modélisation.
Modèle de tâche, utilité Plusieurs usages Analyse des besoins Analyse de tâche métier Description de système existant (rétro conception) Spécification Modélisation
Modèle de tâche, limite Gestion des erreurs Taille des modèles, redondance des descriptions N assure en rien la qualité des spécifications Interaction concrète Lien entre modèle abstrait et interaction concrète Impact des modalités sur l interaction
Impact du choix des modalités Définir une date de début? Choix des modalités? Champs de texte (souris + clavier) Mini-calendrier (souris) Reconnaissance vocale Le choix des modalité a t-il un impact sur le modèle de tâche?
Impact du choix des modalités Se connecter Ordi :«Bonjour, veuillez m indiquer votre pseudo» Bob:«bob» Pseudo Ordi :«merci, veuillez maintenant m indiquer votre mot de passe» Mot de passe Bob:«12345» Connexion «votre identification est terminée» Se connecter répétable répétable Spécifier pseudo et Spécifier mdp puis Confirmer Se connecter Spécifier pseudo puis Spécifier mdp
Notations de modèle de tâches CTT [Paterno 1997] CUA [Pinelle 2003] MABTA [Lim 2004] GTA [Veer 2000] TaskMODL [Treatteberg 2002] COMM
NOTATION COMM
Notation COMM La notation CoMM est une notation d'arbre de tâche permettant la description de l'interaction Multiutilisateur et Multimodale. Le concept de base est la tâche. Ce concept est relié aux concepts de rôle, d utilisateur, et de modalité d interaction.
Notation COMM
Notation COMM
Nom de la tâche NOM Une tâche COMM possède un nom qui correspond à la tâche à effectuer. Ce nom doit commencer par un verbe. Il décrit l'action à réaliser par le(s) utilisateur(s) ou le système qui réalise(nt) la tâche. Par exemple, une tâche qui consiste à créer un document, pourra s'appeler "Créer un document".
Type de tâche TYPE Une tâche COMM possède un type parmi les huit proposés par la notation. Ces types de tâches décrivent si la direction de la tâche (système vers utilisateur, utilisateurs vers système) ainsi que le nombre d'utilisateur. Pour la notation COMM, le système forme un tout, quelque soit les plateformes sur lesquelles il s'exécute.
Les 8 types de tâches COMM Utilisateur(s) Système(s) Mentale Action Présentation Calcul Interaction Coordination Action de groupe Interaction de groupe
Convention de typage Calcul Utilisateur Présentation Action Interaction Groupe Action de groupe Interaction de groupe Calcul (C) C U I I I IG IG IG Utilisateur (U) U I I I IG IG IG Présentation(P) P I I IG IG IG Action (A) A I IG IG IG Interaction (I) I IG IG IG Groupe (G) G IG IG Action de Groupe (AG) Interaction de Groupe (IG) AG IG IG T1 Interaction (I) T1.1 T1.2 Action (A) Présentation (P)
Le 9 ème type de tâche : tâche modale En entrée du système En sortie du système dispositif dispositif primitive primitive A l'exception des tâches mentales, de calcul et de coordination, les autres tâches peuvent devenir des tâches modales. Décrire le dispositif d interaction. La primitive d utilisation du dispositif.
Multiplicité La multiplicité est décrite en fonction de sa nature Séquentielle ou Parallèle Et du nombre de fois où elle peut être réalisée pour une instance donnée de sa tâche mère : exactement 1 fois (1 ou rien) au plus 1 fois (1*) au moins 1 fois (1+) exactement N fois (N) au plus N fois (N*) au moins N fois (N+) entre N et M fois (N..M) un nombre quelconque de fois (*) M et N doivent être précisé lorsque c'est nécessaire.
Niveau d abstraction Une tâche peut être abstraite et symbolisée par un nuage concrète et symbolisée par un rectangle. Slinky : c est le concepteur qui décide Limite : une tache concrète ne peut avoir de fils asbrait Tache abstraite Taches concrètes
Utilisateurs et Rôles Une tâche peut requérir, La présence d un certain nombre d utilisateur jouant des rôles métiers Nombre d utilisateur Rôle métier
Rôle métier Les rôles métiers sont là pour décrire la division du travail entre des catégories d'utilisateurs définies lors de la conception. => Décrit la coopération
Rôle Interactif Lorsque l'on souhaite décrire des interactions collaboratives, il n'est pas toujours possible d'associer des rôles métiers aux utilisateurs. Néanmoins, il peut être utile de relier la réalisation de plusieurs tâches à un seul utilisateur même si elles sont éloignées dans l'arbre de tâches. On utilise alors un rôle interactif. Le rôle interactif est associé à un utilisateur, lorsqu'il réalise une tâche qui est associée ce rôle. L'utilisateur est considéré comme jouant ce rôle jusqu à ce que la tâche collaborative soit terminée.
Contextes La notation COMM permet de définir textuellement des contextes et de les associer aux tâches. Principe : décrire un contexte d utilisation particulier exemple : (1) Contexte mobile : dans la rue, en marchant. Associer le contexte à une tâche Association d un Contexte
Operateur entre tâches (CTT) La notation COMM reprend l'ensemble des opérateurs de la notation CTT pour décrire les relations logiques et temporelles entre tâches. Activation (>>) Choix ([ ]) Ordre quelconque ( = ) Concurrence ( ) Désactivation ([>) Suspendre Reprendre ( >) Activation avec passage d information ([ ]>>) Concurrence avec échange d information ( [ ] ) Inconnu (?) Remarque : une relation dont l'opérateur n'est pas encore défini est dite inconnue, et est marquée d'un point d'interrogation.
Operateur entre tâche (Allen) La notation COMM propose d'utiliser également les opérateurs basés sur les relations temporelles de Allen, afin de compléter les opérateurs CTT. Opérateur très précis => bas niveau d abstraction. Il permet en effet de décrire la continuité d'interaction entre plusieurs tâches combinaison de modalité d interaction
Notation COMM Operateur entre Tâche (Allen) A avant B A pendant B A égal à B A terminant B A rencontre B A recouvrant B A commençant B B avant A B pendant A B terminant A B rencontre A B recouvrant A B commençant A
Exemples
Exemples de spécification COMM Les 4 magiciens Interaction mono-utilisateur Interaction collaborative Warcraft 3 +++ - Interaction multimodale - Interaction coopérative et multimodale - Interaction collaborative et multimodale
Les 4 Magiciens Interactions mono-utilisateur Utilise sa magie Viser l écran Appuie sur gâchette. Recharger Secouer la Wiimote de bas en haut Et appuyer sur A.
Utiliser sa magie Les 4 magiciens
Les 4 magiciens Utiliser sa magie Plus de précisions : opérateur de Allen A égal à B B recouvrant A
Recharger sa magie Les 4 magiciens
Les 4 magiciens Arbre presque complet
Les 4 Magiciens Interactions multiutilisateurs Rechargement collectif Secouer ensemble les wiimotes de bas en haut Et appuyer sur A.
Les 4 Magiciens Rechargement collectifs
Warcraft 3
WCCM Warcraft coopératif, collaboratif et multimodal Trois unités Paysan Fantassin Cavalier Trois bâtiments Hôtel de ville (former les paysans) Baraquement (forme les fantassins/cavaliers) Ferme (nourrit les unités) Deux joueurs : deux rôles métiers Sergent (gère le village) Chef (gérer les armées)
Gestion d un paysan Tâches individuel et multimodale Pour donner un ordre à un paysan, un joueur : doit d abord sélectionner un paysan en le désignant avec le doigt sur la table. Le paysan est alors sélectionné (retour d information visuelle). Dans son casque, le joueur entend la phrase «oui, maître» (retour d information sonore). Le même joueur peut ensuite : Déplacer le paysan en énonçant «va ici» pendant qu il désigne un lieu du doigt (complémentarité des modalités vocale et gestuelle). Lui faire récolter de l or, en énonçant la commande «récolte de l or» pendant qu il désigne une mine d or du doigt (complémentarité des modalités vocale et gestuelle). Lui faire couper du bois, en énonçant la commande «coupe du bois» pendant qu il désigne une forêt du doigt (complémentarité des modalités vocale et gestuelle). Lui faire construire un bâtiment en énonçant la commande «construis une ferme ici» ou «construis un baraquement ici» pendant qu il désigne un emplacement du doigt (complémentarité des modalités vocale et gestuelle). La gestion des paysans est collaborative puisque chaque joueur peut y participer en gérant un paysan. En revanche, la gestion d un paysan donné est une tâche individuelle.
Création d unité tâches collaboratives et multimodale La création d une nouvelle unité combattante suit trois étapes : Pour commencer, un des deux joueurs sélectionne un baraquement en le désignant du doigt. Le bâtiment apparaît alors comme sélectionné, et un son spécifique est joué dans les casques des deux joueurs (retour d information visuelle et sonore). Le même joueur peut alors choisir un type d unité à créer. Pour cela, il énonce la commande «crée un fantassin» pour créer un fantassin, ou «crée un cavalier» pour créer un cavalier. Enfin, le deuxième joueur doit confirmer la création de l unité en énonçant la commande «ok». N importe quel joueur peut être à l origine de la création d une unité. En revanche, seul le joueur qui sélectionne le «baraquement» peut décider de l unité à construire, et il est impératif qu un autre joueur confirme la création de l unité. Il s agit donc d une interaction collaborative puisque les utilisateurs ne sont pas identifiés en fonction de leur rôle. De plus pour réaliser la tâche, l interaction est multimodale (parole et geste) et fait intervenir plusieurs utilisateurs.
Gestion des troupes tâches coopérative et multimodale Le jeu permet de gérer chaque soldat individuellement ou de gérer plusieurs soldats regroupés au sein d un groupe. Nous adoptons une vision coopérative de cette gestion des troupes (soldats isolés et groupes) en répartissant les responsabilités entre le sergent et le chef : Le sergent a la responsabilité de gérer les soldats isolés (qui ne font pas partie d un groupe) et a la possibilité de constituer de nouveaux groupes. Le chef a la responsabilité de gérer les groupes de soldats. Un joueur jouant le rôle de sergent peut sélectionner un soldat en le désignant du doigt. De la même manière, un joueur jouant le rôle de chef peut sélectionner un groupe en sélectionnant l un des soldats qui le constitue. Le chef peut également sélectionner un groupe en énonçant le nom d un groupe. Après sélection, un soldat isolé ou un groupe peut être déplacé de la même manière qu un paysan, c'est-à-dire en énonçant la commande «aller ici» tout en désignant un lieu du doigt sur la table. Le joueur jouant le rôle de sergent a la possibilité de constituer de nouveaux groupes. Pour cela, nous reprenons l interaction proposée dans [Tse 2007], qui consiste à délimiter une zone avec les mains puis à énoncer un nom de groupe. Tous les soldats présents dans la zone délimitée par les deux mains sont alors rassemblés au sein d un groupe portant le nom indiqué. Les groupes ainsi créés peuvent alors être gérés par le joueur jouant le rôle de chef.
Spécification de WCCM Racine de l arbre
Spécification de WCCM Tâches coopératives gérer les troupes
Spécification de WCCM Déplacer un soldat
Spécification de WCCM Gérer les troupes
Spécification de WCCM Gérer les troupes > Former un groupe (Sergent)
Spécification de WCCM Gérer les troupes > Déplacer un groupe (Chef)
Spécification de WCCM Gérer les bâtiments
Spécification de WCCM Gérer un baraquement
Questions? Retrouvez ces slides sur www.e-comm.fr.nf
PROJET Constituer vos binômes (Aujourd hui) Choisir un projet (12 mai maximum) Lire les documents de cours de Laurence. Etudier la notation Créer votre compte e-comm et entrainez vous a utiliser l outils Modéliser des exemples interaction de vos propres projets ou idées