thèse sur les collecticiels
Transcription
thèse sur les collecticiels
AnnŽe 2000 THéSE pour obtenir le grade de DOCTEUR DE LÕUNIVERSITƒ TOULOUSE 1 Discipline: INFORMATIQUE par StŽphane SIRE Soutenue le 1er fŽvrier 2000 _______ La Collaboration Directe un paradigme dÕinteraction pour le travail collaboratif assistŽ par ordinateur _______ Directeur de th•se: Mme. M. F. BARTHET _______ JURY Mme. M. Mme. M. M. M. M.F. S. J. A. P. L. BARTHET CHATTY COUTAZ Rapporteur DERYCKE Rapporteur GIRARD KARSENTY Professeur ˆ lÕUniversitŽ Toulouse 1 Centre dÕƒtudes de la Navigation AŽrienne, Toulouse Professeur ˆ lÕUniversitŽ Joseph Fourier de Grenoble Professeur ˆ lÕUniversitŽ des Sciences et Technologies de Lille Ma”tre de confŽrences ˆ lÕUniversitŽ de Poitiers Institut de Recherche en Informatique de Toulouse THéSE PRƒPARƒE AU SEIN DU CENTRE DÕƒTUDES DE LA NAVIGATION AƒRIENNE Ð CENA EN COLLABORATION AVEC LE LABORATOIRE INTERACTION HOMME SYSTéMES Ð LIHS DE LÕUNIVERSITƒ TOULOUSE 1 Remerciements Une th•se est lÕaboutissement dÕun long chemin traversŽ de rencontres, de conseils et de collaborations. Mes pensŽes vont donc bien naturellement ˆ toutes les personnes qui ˆ un moment ou lÕautre mÕont incitŽ ˆ poursuivre dans cette voie, que ce soit des membres de ma famille, des amis, des enseignants, et depuis ces derni•res annŽes mes coll•gues de travail. Au moment de rendre la version Þnale du prŽsent mŽmoire, je tiens ˆ remercier avant tout mon directeur de th•se, le professeur Marie-France Barthet, mes rapporteurs, le professeur Jo‘lle Coutaz et le professeur Alain Derycke ainsi que tous les autres membres du jury. Tous ont contribuŽ ˆ orienter mon travail, que ce soit ˆ travers leurs publications scientiÞques ou bien au cours de nos rencontres dans les colloques. Je voudrais dans ces remerciements rendre un hommage spŽcial ˆ StŽphane Chatty qui mÕa permis de venir ˆ Toulouse et a dirigŽ en pratique cette recherche. Je lui dois en particulier dÕavoir su mÕouvrir de nombreux champs ˆ chacune de nos discussions et de mÕavoir donnŽ lÕautonomie sufÞsante pour les exploiter. Je tiens bien sžr ˆ remercier le CENA qui a soutenu matŽriellement mes travaux. De par la problŽmatique ˆ la fois technique et humaine du contr™le aŽrien ˆ laquelle il est confrontŽ, le CENA a su depuis de nombreuses annŽes entretenir des rapports fŽconds avec la recherche, en particulier dans le domaine de lÕinteraction homme-machine et de lÕŽtude du travail de groupe. Merci aussi ˆ tous les membres de lÕŽquipe PII du CENA, Eric, HŽl•ne, Johnny, Michelle, Philippe, Sylvie et tous les autres, ainsi quÕaux membres du LIHS qui ont toujours ŽtŽ disponibles pour mÕaider, ˆ lÕimage de Philippe Palanque. Je nÕoublie pas non plus SŽbastien et Yannick qui mÕont supportŽ jusquÕau bout, m•me sÕils mÕont fait subir de sŽv•res dŽfaites au cours de nos expŽrimentations de certains types de collecticielsÉ Fait ˆ Toulouse, le 22 fŽvrier 2000 Table des Mati•res Introduction ________________________________________________________ 1 Chapitre 1 Des collecticiels pour quoi faire ? _______________________________________ 5 1.1 AmŽlioration de lÕefficacitŽ du travail en groupe ...................................................5 1.1.1 IdŽal de la production totale ........................................................................6 1.1.2 IdŽal de la communication totale .................................................................8 1.2 Les collecticiels .......................................................................................................11 1.2.1 Mod•le du tr•fle fonctionnel .......................................................................11 1.2.2 Syst•mes pour la communication ................................................................13 1.2.3 Syst•mes pour la production .......................................................................16 1.2.4 Syst•mes pour la coordination ....................................................................17 1.2.5 Syst•mes intŽgrŽs ........................................................................................19 1.3 Dynamique des groupes restreints ...........................................................................25 1.4 Position Žthique: les Òanti-collecticielsÓ ..................................................................26 1.5 Conclusion ...............................................................................................................28 Chapitre 2 MŽcanismes de coordination ___________________________________________ 29 2.1 Analyse des mŽcanismes de coordination ...............................................................29 2.1.1 Objets de coordination .................................................................................30 2.1.2 Protocoles de coordination ..........................................................................32 2.1.3 Information libre ..........................................................................................34 2.1.4 Synth•se .......................................................................................................35 2.2 Analyse des mŽcanismes de coordination dans les collecticiels .............................37 2.2.1 Gestion de session .......................................................................................37 2.2.2 Gestion des conflits dÕacc•s ........................................................................41 ii 2.2.3 Gestion des Žchanges ...................................................................................43 2.3 Notion de souplesse sociale des collecticiels ..........................................................46 2.4 Conclusion ...............................................................................................................49 Chapitre 3 Communication _____________________________________________________ 51 3.1 Approche centrŽe sur les contextes de la communication .......................................52 3.1.1 ThŽorie des processus de la communication ...............................................52 3.1.2 Contextes objectifs, contextes subjectifs .....................................................53 3.1.3 Reproduction des contextes objectifs par les collecticiels ..........................55 3.1.4 Reproduction des contextes subjectifs par les collecticiels .........................57 3.2 Approche de la communication centrŽe sur lÕindividu ...........................................59 3.2.1 Style de comportement ................................................................................60 3.2.2 Reproduction du style de comportement par les collecticiels .....................62 3.3 Communication et information libre .......................................................................65 3.3.1 Production dÕinformation libre ....................................................................65 3.3.2 CrŽation dÕinformation libre dans les collecticiels ......................................66 3.3.3 Nature de lÕinformation libre: le cas du tŽlŽpointeur ..................................67 3.4 Conclusion ...............................................................................................................70 Chapitre 4 La Collaboration Directe ______________________________________________ 73 4.1 Grille dÕanalyse de la collaboration .........................................................................73 4.2 La collaboration directe ...........................................................................................76 4.3 Collaboration directe et manipulation directe .........................................................79 4.4 Conclusion ...............................................................................................................83 Chapitre 5 Obstacles ˆ la collaboration directe dans les interfaces _____________________ 85 5.1 De lÕaction individuelle ˆ lÕaction de groupe ..........................................................85 5.1.1 ThŽorie de lÕaction .......................................................................................86 5.1.2 Mod•le dÕanalyse des actions de groupe .....................................................87 5.2 Causes des distances de participation et de rŽaction ...............................................90 5.3 Principes de fusion ..................................................................................................94 5.4 RŽsumŽ des principes de la collaboration directe ...................................................96 5.5 Conclusion ...............................................................................................................96 iii Chapitre 6 Vers des interfaces ˆ collaboration directe________________________________ 97 6.1 Application au contr™le aŽrien ................................................................................ 97 6.1.1 NŽgociation tŽlŽphonique ...........................................................................98 6.1.2 Griphone ......................................................................................................98 6.1.3 Autres moyens de communication ..............................................................102 6.1.4 NŽgociation par Žchange dÕobjets ................................................................103 6.2 RŽalisation: le courrier direct ..................................................................................108 6.2.1 Description du courrier direct ......................................................................108 6.2.2 Echange de demi-communication par courrier direct ..................................111 6.2.3 Glisser-dŽposer de groupe ...........................................................................114 6.3 Conclusion ...............................................................................................................116 Chapitre 7 Enrichir les Žchanges de donnŽes _______________________________________ 117 7.1 PrŽsentation du mod•le PROSE ............................................................................. 117 7.1.1 ObservabilitŽ publiŽe et filtrŽe ....................................................................118 7.1.2 Filtres de style ..............................................................................................119 7.1.3 Application ˆ lÕanalyse de syst•mes existants .............................................121 7.2 RŽalisations ..............................................................................................................123 7.2.1 Nouveaux filtres pour le dialogue textuel ....................................................123 7.2.2 Filtres attachŽs pour dŽplacer des documents ..............................................128 7.2.3 Filtres trajectoire ..........................................................................................132 7.3 Perspectives du mod•le PROSE ..............................................................................134 7.4 Conclusion ...............................................................................................................136 Chapitre 8 Mise en Ïuvre des interfaces ˆ Collaboration Directe ______________________ 137 8.1 Concepts de base .................................................................................................... 137 8.2 Description du comportement et rŽplication ...........................................................141 8.3 Transmission des objets mobiles .............................................................................150 8.4 Discussion ................................................................................................................156 8.5 Conclusion ...............................................................................................................159 iv Conclusion __________________________________________________________ 161 Glossaire ___________________________________________________________ 167 Annexe Personnalisation de lÕenvironnement sur Macintosh _______________________ 173 Bibliographie________________________________________________________ 177 Introduction La derni•re vague des techniques visant ˆ favoriser les activitŽs collaboratives au sein dÕun groupe a pris le nom de collecticiels au milieu des annŽes 80. Les collecticiels prŽsentent un changement dÕŽchelle par rapport aux autres techniques comme lÕŽcriture, lÕimprimerie ou le tŽlŽphone. En effet, avec la mise en rŽseau des ordinateurs personnels, ils augmentent considŽrablement les capacitŽs de diffusion et de traitement de lÕinformation des individus. Ils Žtendent le cercle dÕinßuence des individus et sont susceptibles de modiÞer les mŽcanismes de diffusion de lÕinformation dans la sociŽtŽ. Pour certains, leur gŽnŽralisation annonce lÕŽmergence dÕune techno-dŽmocratie [LŽvy 90]. En pratique, les applications les plus rŽpandues aujourdÕhui reposent sur des techniques antŽrieures ˆ la naissance du domaine, comme le courrier Žlectronique ou les forums de discussion Žlectronique. LÕargument de la rŽsistance au changement des individus est parfois ŽvoquŽ pour expliquer la diffusion relativement lente des collecticiels dans les organisations. Douglas Engelbart a rŽalisŽ d•s les annŽes 60 des syst•mes incluant des outils de vidŽoconfŽrence et dÕŽdition partagŽe de document. Il conseillait pourtant encore en 1988 de former des utilisateurs relais dans les entreprises pour convaincre les autres des bŽnŽÞces de la technologie [Engelbart & Lehtman 88]. On peut se demander si la rŽsistance au changement est le seul facteur qui freine la diffusion des collecticiels et sÕil ne faudrait pas aussi amŽliorer leur conception. ProblŽmatique Le domaine du Travail Collaboratif AssistŽ par Ordinateur (TCAO) est difÞcile ˆ aborder car il comprend de multiples facettes. En amont, le concept m•me de collaboration nÕa pas de dŽÞnition rigoureuse. Pris dans toute son extension, le concept de collaboration sÕapplique ˆ la description dÕactivitŽs aussi diverses que le contr™le aŽrien, le commerce, la conception ou lÕenseignement. Dans tous ces exemples on peut Žtudier plusieurs phŽnom•nes qui con- 2 cernent tous la collaboration comme la coordination, la nŽgociation, lÕinßuence, la communication ou lÕempathie pour nÕen citer que quelques uns. LÕapproche pluridisciplinaire est reconnue ˆ prŽsent comme une nŽcessitŽ pour concevoir des collecticiels. Elle inclue les sciences humaines, la conception des interfaces et dÕautres disciplines informatiques. Cependant la mise en commun de concepts venant de disciplines diffŽrentes nÕest pas facile. Elle demande un effort de transposition des concepts dÕune discipline ˆ lÕautre et de rigueur dans la terminologie. Au niveau de la conception des outils, plusieurs familles dÕapplication sont apparues apr•s plus dÕune dŽcennie. Ces familles sont des points de rep•re pour la discipline comme les Žditeurs partagŽs, les outils de communication mŽdiatisŽe par ordinateur, les applications workßow ou les espaces de travail partagŽs. Cette stabilisation du domaine peut sÕinterprŽter comme un signe de maturitŽ ou au contraire comme le besoin dÕun renouveau dans la recherche en amont pour inventer de nouveaux services. EnÞn, en aval, lÕŽvaluation des collecticiels pose des questions dŽlicates. Elle a ŽtŽ reconnue comme pratiquement impossible dans le laboratoire, ˆ moins que lÕon ne cherche ˆ Žvaluer lÕinßuence dÕune variable prŽcise sur une caractŽristique de la collaboration. On peut comparer par exemple plusieurs moyens de communication pour lÕaccomplissement dÕune t‰che. Sur le terrain, les Žtudes et les comptes rendus dÕobservation ˆ caract•re ethnographique abondent. Ils fournissent au concepteur une masse tr•s importante de donnŽes quÕil nÕest pas facile dÕinterprŽter sous forme de principes de conception. Finalement, entre les deux termes, cÕest-ˆ-dire entre le laboratoire et le terrain, lÕapproche basŽe sur la participation des utilisateurs ˆ la conception est un moyen efÞcace de mettre au point les outils de TCAO. Cette prŽsentation rapide du domaine du TCAO ouvre des perspectives de recherche. En particulier, la difÞcultŽ ˆ trouver un fondement thŽorique ˆ lÕŽtude de la collaboration et le succ•s des mŽthodes de conception basŽes sur la participation des utilisateurs rŽv•lent une certaine difÞcultŽ ˆ identiÞer des besoins gŽnŽriques. Pourtant, dans de nombreux domaines, les individus sont capables de collaborer avec ou sans lÕaide de la technologie. Nous faisons lÕhypoth•se que ce phŽnom•ne sÕexplique par un ensemble dÕaptitudes ˆ agir en groupe et par des mŽcanismes divers. Nous les appelons des compŽtences sociales de collaboration. En suivant cette hypoth•se, notre objectif est de contribuer ˆ identiÞer quelques unes de ces compŽtences pour les prŽserver avec les collecticiels, voire les ampliÞer. LÕobjectif de cette th•se porte Žgalement sur la conception des interfaces homme-machine. En effet, les relations entre les individus avec les collecticiels se dŽveloppent ˆ travers la manipulation dÕinterfaces. Il est donc nŽcessaire que les interfaces nÕemp•chent pas les individus dÕappliquer leurs compŽtences sociales. Pour cela, nous rechercherons des principes de conception des interfaces. Ce mŽmoire reß•te notre double approche basŽe sur les sciences humaines et sur lÕinformatique. Pour identiÞer les compŽtences sociales de collaboration, nous Žtudions la collabora- Organisation 3 tion par rapport ˆ des Žtudes de terrain ou ˆ des thŽories des sciences de la communication et de la psychologie sociale. Pour inventer des principes de conception, nous nous inspirons du mod•le de la manipulation directe et de la thŽorie de lÕaction de Norman. EnÞn, pour rŽaliser des prototypes, nous abordons Žgalement le th•me de la programmation des interfaces. Le titre de ce mŽmoire fait Žcho ˆ la notion de manipulation directe. La manipulation directe dŽcrit des principes pour concevoir des interfaces intuitives pour les syst•mes mono-utilisateurs. De m•me, avec la collaboration directe, notre objectif est de crŽer des interfaces intuitives pour collaborer en manipulant des collecticiels. Organisation Les chapitres de ce mŽmoire sont organisŽs suivant un raisonnement en trois points. Le premier point, composŽ des chapitres 1 ˆ 3, dŽcrit lÕexistant, puis analyse les diffŽrences dans la mani•re de collaborer avec et sans les collecticiels: ¥ Le chapitre 1 est consacrŽ ˆ une prŽsentation gŽnŽrale des collecticiels. Nous prŽsentons les collecticiels en fonction de plusieurs requis identiÞŽs pour collaborer efÞcacement et dÕune classiÞcation basŽe sur le tr•ße fonctionnel. ¥ Le chapitre 2 Žtudie les mŽcanismes de coordination. Ce chapitre introduit les notions dÕobjet de coordination, de protocole et dÕinformation libre pour expliquer les compŽtences sociales de collaboration. ¥ Le chapitre 3 Žtudie la communication entre humains, en particulier les formes de communication non verbales. Ce chapitre introduit la notion de style de comportement pour expliquer les compŽtences sociales de collaboration. Le second point, composŽ des chapitres 4 et 5, dŽcrit la collaboration directe, notre proposition pour concevoir des collecticiels tirant partie des compŽtences sociales de collaboration: ¥ Le chapitre 4 dŽÞnit une grille dÕanalyse de la collaboration ˆ partir des chapitres 2 et 3. Cette grille sert pour caractŽriser la collaboration directe. A partir dÕune analogie avec la manipulation directe, nous obtenons plusieurs principes de conception des interfaces. ¥ Le chapitre 5 propose un mod•le dÕanalyse des actions effectuŽes au sein dÕun groupe inspirŽ de la thŽorie de lÕaction de Norman. Nous en dŽduisons lÕexistence dÕobstacles ˆ la comprŽhension entre les individus liŽs aux interfaces ainsi que deux nouveaux principes de conception. 4 EnÞn le troisi•me point applique les principes obtenus au point prŽcŽdent: ¥ Le chapitre 6 illustre lÕapplication de la collaboration directe ˆ une situation de collaboration dans le contr™le aŽrien. Il prŽsente plusieurs prototypes rŽalisŽs au CENA. Il dŽcrit aussi une autre rŽalisation originale: le courrier direct, un moyen pour Žchanger des objets de coordination. ¥ Le chapitre 7 prŽsente un mod•le pour enrichir les Žchanges de donnŽes. Il est appliquŽ pour dŽcrire des syst•mes existants et pour inventer des prototypes qui ajoutent de lÕinformation dans la fa•on dÕŽchanger les donnŽes. ¥ Le chapitre 8 traite de lÕintŽgration des services nŽcessaires ˆ la collaboration directe dans une bo”te ˆ outils de construction dÕinterface. Le travail prŽsentŽ dans cette th•se nÕest pas liŽ ˆ un type de collecticiel particulier mais porte sur la recherche de principes gŽnŽriques. Pour cette raison notre analyse est basŽe sur de nombreux exemples dÕapplications, en particulier dans les premiers chapitres. Le choix dÕune catŽgorie de services ˆ mettre en Ïuvre dans les collecticiels nÕappara”t que dans la seconde moitiŽ de la th•se. Ce choix porte sur les services liŽs ˆ lÕŽchange de donnŽes, comme lÕŽchange de messages dans les outils de dialogue textuel. NŽanmoins, les principes de la collaboration directe sont applicables ˆ tous les types de collecticiels pour imaginer de nouvelles mŽtaphores et de nouvelles formes dÕinteraction. Chapitre 1 Des collecticiels pour quoi faire ? La dŽÞnition des collecticiels est un sujet de dŽbats. Suivant une dŽÞnition souvent citŽe due ˆ Ellis, Òles collecticiels sont des syst•mes informatiques qui assistent un groupe de personnes engagŽes dans une t‰che commune (ou but commun) et qui fournissent une interface ˆ un environnement partagŽÓ (citŽe dans [Karsenty 94a]). Cette dŽÞnition est indŽpendante des moyens mis en Ïuvre pour assister les individus, en particulier elle nÕindique pas les fonctionnalitŽs ˆ couvrir avec un collecticiel. Dans le but dÕidentiÞer au moins quelques unes de ces fonctionnalitŽs, nous considŽrons que les collecticiels doivent non seulement assister un groupe de personnes, mais quÕils doivent Žgalement en amŽliorer lÕefÞcacitŽ. La premi•re partie de ce chapitre est consacrŽe ˆ identiÞer plusieurs requis pour amŽliorer lÕefÞcacitŽ du travail de groupe. A partir de lÕŽtude de plusieurs exemples, nous allons mettre en Žvidence deux situations idŽales sous lesquelles un groupe est plus efÞcace. Dans la suite de ce chapitre, nous prŽsenterons les collecticiels existants. Pour cela nous utiliserons une taxonomie basŽe sur le mod•le du tr•ße fonctionnel. Cette taxonomie fait correspondre des fonctionnalitŽs logicielles aux requis identiÞŽs. La Þn du chapitre est consacrŽe ˆ une justiÞcation de la complŽmentaritŽ de nos requis et ˆ une prise de position Žthique concernant certaines fonctionnalitŽs des collecticiels. 1.1 AmŽlioration de lÕefficacitŽ du travail en groupe Le travail en groupe peut sÕorganiser selon diffŽrents modes. LÕobjectif dÕune bonne organisation est dÕamŽliorer lÕefÞcacitŽ du travail. Ainsi dans le cas de lÕactivitŽ de conception, lÕobjectif de lÕingŽnierie simultanŽe est dÕamŽliorer la qualitŽ du produit et de ma”triser le cožt global en rŽduisant la durŽe du cycle de conception / fabrication [Tarpin-Bernard 97]. Tarpin-Bernard consid•re deux modes dÕorganisation extr•mes du travail en groupe: la soustraitance et la co-traitance. La sous-traitance a pour but de faire travailler les individus de fa•on autonome en dŽÞnissant parfaitement les contraintes ˆ lÕavance. La co-traitance a 6 Chapitre 1: Des collecticiels pour quoi faire ? pour but de faire interagir les individus pour rŽsoudre les probl•mes au fur et ˆ mesure du processus. Nous allons montrer que ces deux modes dÕorganisation correspondent ˆ deux situations idŽales du travail en groupe, lÕidŽal de la production totale et lÕidŽal de la communication totale. 1.1.1 IdŽal de la production totale Lorsque la t‰che dÕun groupe est divisible, comme la fabrication dÕune automobile, on peut chercher ˆ sous-traiter des sous-ensembles de t‰ches ˆ des individus spŽcialisŽs pour amŽliorer lÕefÞcacitŽ. La recherche dÕune forme de division du travail optimale pour la fabrication dÕobjets standardisŽs a ŽtŽ au centre de nombreuses Žtudes dans lÕindustrie. Depuis le dŽbut du vingti•me si•cle, avec lÕorganisation scientiÞque du travail de Taylor, jusquÕaux annŽes 70, avec les cercles de qualitŽ, lÕindustrie sÕest beaucoup prŽoccupŽe de lÕamŽlioration de lÕefÞcacitŽ en terme de productivitŽ [LŽonard 1997]. Dans lÕindustrie, la productivitŽ est souvent dŽÞnie par rapport aux rendements individuels. La gŽnŽralisation des nouvelles technologies de lÕinformation au travail de groupe nÕest pas exempte des m•mes pensŽes productivistes. Dans le cas idŽal o• lÕŽcriture dÕun article en commun serait une t‰che divisible, nous allons voir que la division des t‰ches entra”ne des contraintes sur la coordination des rŽdacteurs qui sÕoppose ˆ une efÞcacitŽ maximale, mesurŽe par le temps total de rŽdaction de lÕarticle. Lorsque plusieurs auteurs dŽcident dÕŽcrire un article, ou un livre, en se servant du courrier Žlectronique pour Žchanger leurs copies, ils doivent au prŽalable planiÞer leur activitŽ. LÕobjectif de la planiÞcation est dÕŽtablir une division du travail en dŽcidant qui Žcrit quoi ˆ quel moment. Si la planiÞcation est parfaitement prŽvue, ou totale, les Žtapes de la rŽdaction sont ÞxŽes ˆ lÕavance. A lÕextr•me, les auteurs nÕont plus besoin de communiquer et chacun travaille ˆ sa t‰che avec un rendement maximal. Dans le cas o• les rŽdacteurs ont nommŽ un rŽdacteur en chef pour mettre ˆ jour le document Þnal, ils peuvent se contenter de lui envoyer leurs fragments ˆ des dates ÞxŽes dÕavance. Cette situation dŽÞnit une situation idŽale, lÕidŽal de la production totale. En pratique il est toutefois difÞcile de diviser les t‰ches en sous-t‰ches totalement indŽpendantes. Ainsi la rŽdaction dÕun article impose au moins un certain ordre. LÕauteur de la conclusion doit souvent attendre de disposer des autres parties de lÕarticle. Ce type de contrainte entra”ne des pertes de temps qui diminuent lÕefÞcacitŽ de la production. Pertes dÕefficacitŽ de la production LÕexŽcution collective des t‰ches planiÞŽes entra”ne des dŽpendances entre les activitŽs des individus. La gestion de ces dŽpendances nŽcessite des mŽcanismes de coordination. Sur le tableau 1.1 nous reprenons trois types de dŽpendances parmi les types gŽnŽriques de dŽpendances identiÞŽs dans [Malone & Crowston 94]. Pour chacun de ces mŽcanismes nous donnons un exemple appartenant au scŽnario de la rŽdaction collective dÕun article. IdŽal de la production totale 7 DŽpendance Description Exemple MŽcanis me SimultanŽitŽ Une phase de lÕactivitŽ du groupe nŽcessite la rŽunion des individus. Les rŽdacteurs souhaitent se rŽunir en face-ˆ-face ou au tŽlŽphone. RŽunir Partage de ressource critique Une phase de lÕactivitŽ du groupe nŽcessite lÕacc•s par plusieurs individus ˆ une ressource unique ou la crŽation dÕune ressource unique. Les rŽdacteurs ont chacun Žcrit une version diffŽrente de la m•me partie de lÕarticle. Ils doivent se coordonner pour les fusionner. Partager Relation de producteur ˆ consommateur Une phase de lÕactivitŽ du groupe nŽcessite le transfert dÕun bien produit ou dÕune information depuis un individu vers un autre. Les rŽdacteurs ont dŽcidŽ dÕŽcrire lÕarticle sŽquentiellement. Chacun doit recevoir les sections prŽcŽdant sa section avant de pouvoir commencer ˆ travailler. Structurer Tableau 1.1 MŽcanismes de gestion des dŽpendances dans une activitŽ de groupe Les mŽcanismes de coordination ne sont pas toujours prŽvus ˆ lÕavance. Ainsi au cours de la rŽdaction dÕun article en commun il peut arriver quÕun rŽdacteur dŽcide de contacter les autres au tŽlŽphone, pour discuter de modiÞcations ˆ apporter au plan initial. LÕergonomie francophone distingue depuis longtemps les notions de t‰che prescrite et dÕactivitŽ manifeste pour tenir compte des modiÞcations de derni•re minute de lÕactivitŽ [Karsenty & Pavard 98]. La t‰che prescrite est le but dŽÞni et les conditions sous lesquelles il doit •tre atteint. LÕactivitŽ manifeste correspond ˆ la description de ce qui est vraiment accompli pendant lÕexŽcution dÕune t‰che. La diffŽrence entre t‰che prescrite et activitŽ manifeste exprime la capacitŽ des individus ˆ innover et ˆ sÕadapter aux contraintes de lÕenvironnement. Cette marge dÕadaptation est parfois dŽsignŽe comme le travail dÕarticulation [Robinson 91]. La mise en Ïuvre des mŽcanismes de coordination est cožteuse en actions spŽciÞques et en temps pour les membres du groupe. Ainsi au cours de la rŽdaction dÕun article la planiÞcation puis la rŽalisation dÕun rendez-vous demande des efforts spŽciÞques pour contacter les membres du groupe et sÕaccorder sur lÕhoraire. De m•me, lÕŽchange des parties rŽdigŽes entre les rŽdacteurs demande un certain nombre dÕactions et sa durŽe dŽpend des dŽlais de transmission. LÕidŽal de la production totale est donc inaccessible. Par contre nous retenons les requis suivants pour rapprocher les individus de cette situation idŽale: Requis de la production totale SimpliÞer et rendre plus efÞcaces les mŽcanismes de coordination entre les activitŽs des individus LÕidŽal de la production totale correspond ˆ la sous-traitance du probl•me par des individus spŽcialisŽs. Nous avons dŽcrit dans lÕintroduction un deuxi•me mode dÕorganisation du tra- 8 Chapitre 1: Des collecticiels pour quoi faire ? vail consistant ˆ faire interagir les individus pour co-traiter les m•mes probl•mes. Dans la partie suivante nous Žtudions sous quelles conditions la co-traitance peut amŽliorer lÕefÞcacitŽ du travail en groupe. 1.1.2 IdŽal de la communication totale Les moyens informatiques mis en Ïuvre dans les syst•mes dÕaide ˆ la dŽcision de groupe1 permettent aux participants dÕagir en parall•le. Ce parallŽlisme permet dÕaugmenter la taille du groupe tout en maintenant la participation de chacun aux prises de dŽcision. Ainsi, m•me si le nombre dÕidŽes gŽnŽrŽes par personne nÕaugmente pas, en moyenne 11 par session, le recours ˆ des groupes de taille supŽrieure augmente le nombre total dÕidŽes gŽnŽrŽes pendant une session [Eberts 94]. Il serait intŽressant de pouvoir transposer les rŽsultats obtenus avec les syst•mes dÕaide ˆ la dŽcision de groupe ˆ dÕautres types dÕactivitŽs, comme la recherche dÕune information sur la Toile. Le navigateur web prŽsentŽ dans [Laurillau 99] supporte plusieurs styles de navigation de groupe associŽs ˆ une interface permettant aux utilisateurs de partager le rŽsultat des requ•tes sur les moteurs de recherche, de se regrouper et de communiquer. Ce type de navigateur devrait diminuer le temps de recherche dÕune information en augmentant le nombre de participants. LÕutilisation de lÕinformatique pour rendre un groupe plus efÞcace quÕun individu isolŽ se justiÞe intuitivement par lÕidŽe selon laquelle un groupe est plus efÞcace quÕun individu isolŽ. A partir dÕun mod•le mathŽmatique tr•s simple, nous allons montrer que cette idŽe se justiÞe effectivement mais quÕelle a des consŽquences sur la mani•re de travailler ensemble. Le mod•le suivant tirŽ de [Delay & Pichot 67] dŽmontre mathŽmatiquement lÕefÞcacitŽ supŽrieure dÕun groupe sur un individu isolŽ dans une activitŽ de recherche dÕun objet : ÒSoit deux sujets A et B cherchant un objet: soit pa A travaillant seul trouve l'objet et soit la probabilitŽ qu'il ne le trouve pas, soient p b et q b = 1 Ð p b , qa = 1 Ð pa , la probabilitŽ que l'individu les probabilitŽs correspondantes pour le sujet B. La probabilitŽ que les deux sujets Žchouent est Žgale ˆ qu'au moins l'un des deux rŽussisse est Žgale ˆ rieure ˆ pa et ˆ pb . qa ´ qb , 1 Ð qa ´ qb . donc la probabilitŽ Cette valeur est supŽ- Si en effet, par exemple le sujet A a une chance sur 4 de trou- ver, et le sujet B une chance sur 5, le groupe constituŽ par les sujets A et B aura p = 1 Ð ( 0, 75 ´ 0, 80 ) = 0, 40 soit 1 chance sur 2,5 de trouver l'objet. Plus le nom- bre de sujets coopŽrant augmente, plus la probabilitŽ de rŽussite du groupe dŽpasse celle de n'importe quel membre considŽrŽ individuellement. Si le groupe est composŽ de n individus, et si la probabilitŽ moyenne correspondant ˆ 1. GDSS (Group Decision Support Systems), ˆ lÕorigine il sÕagit de salles amŽnagŽes contenant plusieurs terminaux connectŽs en rŽseau sur lesquels fonctionnent des outils destinŽs ˆ favoriser la prise de dŽcision IdŽal de la communication totale chaque individu est pi , la probabilitŽ pour le groupe sera 9 pn = 1 Ð qi n . A mesure que n augmente, la probabilitŽ pour le groupe tend vers 1, c'est-ˆ-dire vers la certitude de la rŽussite.Ó Le mod•le prŽcŽdent suppose que les probabilitŽs soient indŽpendantes. La traduction de cette condition dans les termes de lÕactivitŽ de recherche signiÞe en particulier quÕil ne faut pas que deux individus effectuent leur recherche au m•me endroit, ni au m•me moment, ni ˆ des moments diffŽrents. Une premi•re solution pour remplir cette condition a dŽjˆ ŽtŽ ŽvoquŽe dans la section prŽcŽdente. En effet, suivant lÕidŽal de la production totale la planiÞcation prŽalable de lÕactivitŽ devrait permettre de rendre lÕefÞcacitŽ maximale. Dans le cas de lÕactivitŽ de recherche, cette planiÞcation consisterait ˆ attribuer des zones de recherche disjointes ˆ chaque individu, ce qui garantirait effectivement la condition dÕindŽpendance. Encore faudrait-il mettre au point un mŽcanisme de notiÞcation efÞcace pour Žviter que des individus ne continuent la recherche une fois lÕobjet retrouvŽ. Si lÕactivitŽ nÕest pas totalement planiÞŽe au prŽalable, par exemple sÕil sÕagit dÕune recherche Žlectronique et que lÕespace de recherche nÕest pas compl•tement connu ˆ lÕorigine, la condition dÕindŽpendance implique lÕexistence dÕun rŽseau de communication parfait entre les individus. Ce rŽseau de communication est nŽcessaire pour que les individus soient en mesure de dŽterminer ˆ tout moment o• les autres ont recherchŽ dans le passŽ et o• ils sont en train de rechercher. Eventuellement le rŽseau de communication peut •tre simpliÞŽ par lÕexistence dÕun syst•me de mŽmoire collective qui ajoute de lÕinformation dans lÕenvironnement sur les activitŽs passŽes. En pratique, lÕexistence dÕun rŽseau de communication parfait se heurte au moins ˆ deux types dÕobstacles: lÕinaccessibilitŽ des individus et les pertes dÕinformation dans la communication. Nous dŽcrivons ces obstacles puis nous dŽÞnissons lÕidŽal de la communication totale qui en dŽcoule. InacessibilitŽ des individus Dans la vie quotidienne, surtout lorsque les individus ne sont pas au m•me endroit, il est souvent difÞcile de contacter les personnes sans dŽlai et ˆ tout moment. En particulier les causes suivantes sont susceptibles de faire Žchouer la communication: - lÕinattention; - lÕabsence de lÕallocutŽ au moment de lÕarrivŽe du message; - des surcharges dÕinformation; - la fatigue. Toutes ces causes rendent les individus plus ou moins inaccessibles. Il est Žgalement rare de poursuivre une activitŽ dans le cadre dÕun groupe sans •tre pŽriodiquement interrompu par dÕautres activitŽs subalternes. AÞn dÕŽviter les probl•mes dÕinaccessibilitŽ, les moyens de communication devraient intŽgrer des moyens pour rŽclamer lÕattention des destinataires. 10 Chapitre 1: Des collecticiels pour quoi faire ? M•me dans les cas o• les individus restent accessibles, la communication subit des pertes qui nuisent aussi ˆ lÕefÞcacitŽ du groupe. Pertes dÕinformation La communication en face-ˆ-face ou par lÕintermŽdiaire de moyens techniques dŽpend de nombreux processus qui en alt•rent lÕefÞcacitŽ. Parmi ces processus nous distinguons le processus physique de transmission sur un canal, les processus sociaux et la prise en compte du contexte dans le cas de la communication ˆ distance. La thŽorie de lÕinformation de Shannon et Weaver dŽÞnit dans le domaine de lÕingŽnierie la quantitŽ dÕinformation maximale quÕil est possible de transmettre sur un canal donnŽ, comme une ligne tŽlŽphonique ou une liaison vidŽo [Shannon 48]. DÕapr•s cette thŽorie, le message ˆ transmettre est codŽ par un Žmetteur, puis il circule jusquÕˆ un rŽcepteur qui le dŽcode. Pendant son trajet, le signal est mŽlangŽ ˆ du bruit causŽ par diverses sources, certaines liŽes ˆ la nature physique du canal. A partir dÕune certaine quantitŽ de bruit il devient impossible de reconstituer le signal. La notion de capacitŽ de transmission dÕun canal impose donc une limite physique ˆ la communication. Mais cette limite est en fait en-de•ˆ des pertes rŽelles de la communication. Pour Žvaluer ces pertes, il faut aussi tenir compte des phŽnom•nes humains susceptibles de dŽformer davantage les informations transmises. Les sciences de la communication appliquent de nombreux mod•les pour dŽcrire la communication entre humains, inspirŽs ou non de la thŽorie de lÕinformation [Muchielli & Guivarch 98b]. Ces mod•les rendent compte de processus sociaux venant perturber les communications comme lÕinßuence, le mensonge ou les diffŽrences culturelles. Pour •tre compl•tement efÞcace, la transmission des communications avec les collecticiels devrait Žgalement tenir compte de lÕexistence du contexte, cÕest-ˆ-dire de tous les phŽnom•nes perceptibles par chaque individu. Ainsi lÕŽcoute ßottante est le phŽnom•ne qui permet ˆ des tiers dÕentendre quand m•me des messages qui ne leur sont pas adressŽs directement. Par exemple, lorsquÕun contr™leur aŽrien communique un ordre ˆ un pilote, sur une frŽquence radio, tous les autres pilotes per•oivent Žgalement ce message. Cette perception indirecte est considŽrŽe comme une source dÕinformation utile aux pilotes pour se faire une image mentale du traÞc aŽrien [Dusire & Falzon 98]. LÕŽcoute ßottante extrait de lÕinformation du contexte des locuteurs et des allocutŽs. La prise en compte du contexte augmente considŽrablement la bande passante nŽcessaire par rapport ˆ la transmission des seules communications directement adressŽes ˆ un individu. LÕinaccessibilitŽ des individus et les pertes dÕinformation diminuent lÕefÞcacitŽ de la communication. Pour cette raison lÕapplication du mod•le thŽorique est impossible. Il correspond ˆ une situation idŽale, lÕidŽal de la communication totale. Par contre nous retenons les requis suivants pour que les collecticiels aident les individus ˆ se rapprocher de cette situation idŽale: Les collecticiels 11 Requis de la communication totale Rendre accessibles les individus Diminuer les pertes dÕinformation dans la communication La situation la plus proche de lÕidŽal de la communication totale est la situation de face-ˆface, quand tous les individus sont rŽunis dans un m•me lieu pour accomplir la m•me t‰che. LÕidŽal de la communication totale est donc aussi un idŽal de la tŽlŽprŽsence. Gr‰ce ˆ cette prŽsentation de plusieurs situations collaboratives, nous avons pu mettre en Žvidence aussi bien dans lÕidŽal de la production totale que dans lÕidŽal de la communication totale plusieurs requis pour les collecticiels. Nous pouvons ˆ prŽsent examiner les collecticiels existants et vŽriÞer comment ils satisfont ces requis. 1.2 Les collecticiels LÕapproche traditionnelle pour prŽsenter les collecticiels consiste ˆ utiliser la classiÞcation espace-temps dÕEllis [Ellis et al. 91]. Suivant cette classiÞcation, les syst•mes se diffŽrencient par la distance temporelle entre les utilisateurs et par leur distance spatiale. Les utilisateurs interagissent de mani•re synchrone sÕils manipulent simultanŽment les donnŽes partagŽes, ou de mani•re asynchrone sÕils les manipulent ˆ des moments diffŽrents. De m•me ils peuvent interagir en Žtant dans la m•me pi•ce ou dans des lieux diffŽrents. Sans remettre en cause la pertinence de cette classiÞcation, nous proposons une autre classiÞcation prenant en compte les requis fonctionnels identiÞŽs dans la section prŽcŽdente et basŽe sur le tr•ße fonctionnel. 1.2.1 Mod•le du tr•fle fonctionnel La conception dÕun collecticiel repose sur plusieurs services ˆ implŽmenter au niveau logiciel. Le mod•le du tr•ße fonctionnel [Salber et al. 95b] dŽcrit les services dÕun syst•me multi-utilisateurs suivant trois espaces ou facettes: ¥ Communication La communication est lÕŽchange dÕinformation entre les utilisateurs dÕun collecticiel. Le contenu sŽmantique de lÕinformation ŽchangŽe est Žtranger au syst•me qui se contente de servir de messager. ¥ Production La production est la crŽation, la manipulation et le partage dÕartefacts (texte, livre, plan, etc.). 12 Chapitre 1: Des collecticiels pour quoi faire ? ¥ Coordination La coordination est la dŽÞnition des acteurs (individus, r™les, agents logiciels ÒintelligentsÓ), des activitŽs et des t‰ches (leurs relations temporelles), et enÞn lÕallocation des t‰ches et des activitŽs aux acteurs. Espace de Production Espace de Coordination Espace de Communication Figure 1.1. Le tr•ße fonctionnel La facette communication et la facette production correspondent aux services nŽcessaires pour recrŽer lÕespace des personnes et lÕespace de la t‰che [Buxton 92]. LÕespace des personnes est centrŽ sur les personnes. Il contient toutes les informations qui servent aux communications interpersonnelles comme lÕimage des participants ou lÕespace auditif. LÕespace de la t‰che est centrŽ sur les outils, les documents, et les artefacts produits en commun. Lorsque des personnes travaillent ensemble dans un m•me lieu, lÕespace des personnes et lÕespace de la t‰che sont intŽgrŽs. La Þgure 1.2 illustre la co-existence des deux espaces sur un Žquipement de vidŽoconfŽrence classique: Žcran et banc de numŽrisation vidŽo. Espace des personnes Espace de la t‰che Figure 1.2. DiffŽrents types dÕespaces partagŽs Sur la Þgure 1.2, lÕespace des personnes englobe les postures, les expressions faciales et les gestes des individus. Il est retransmis par la camŽra au-dessus de lÕŽcran. LÕespace de la t‰che contient lÕimage des documents dŽposŽs et annotŽs sur le banc. Il est retransmis par la camŽra au-dessus du banc de numŽrisation. Si la camŽra est utilisŽe pour Þlmer le tableau o• un participant Žcrit, le contenu du tableau entre ˆ son tour dans lÕespace de la t‰che. Les Žquipements de vidŽoconfŽrence proposent plusieurs alternatives pour jongler entre lÕespace des personnes et lÕespace de la t‰che. Souvent le m•me Žcran sert ˆ visualiser les deux espaces ˆ distance, en alternance, ou bien en incrustant une deuxi•me image dans la premi•re. Syst•mes pour la communication 13 La facette coordination a ŽtŽ ajoutŽe pour tenir compte des services logiciels liŽs ˆ la gestion des mŽcanismes de coordination. Ces mŽcanismes seront ŽtudiŽs au chapitre 2. Le mod•le du tr•ße est un mod•le fonctionnel du syst•me, cÕest-ˆ-dire quÕil dŽcrit les classes de fonctions quÕun collecticiel doit implŽmenter au niveau logiciel. Il peut servir ˆ dŽcrire les liens entre les fonctionnalitŽs dÕune application et lÕarchitecture logicielle sous-jacente [Calvary et al. 97]. M•me si le mod•le du tr•ße ne devrait sÕappliquer quÕˆ une description fonctionnelle du logiciel, et donc intervenir apr•s la description de lÕactivitŽ collaborative, en pratique il oriente lÕanalyse du travail coopŽratif. En effet, pour que les services logiciels soient adaptŽs aux besoins rŽels de la collaboration, ils doivent se reconna”tre dans une description des activitŽs collaboratives. Pour appliquer le mod•le du tr•ße fonctionnel aÞn de concevoir des applications, il faut •tre en mesure de transformer la description des activitŽs dÕun groupe donnŽ suivant les trois facettes communication, production et coordination. Le mod•le du tr•ße est un point dÕentrŽe pour dŽcrire les collecticiels. En effet, la plupart des syst•mes privilŽgient une facette du tr•ße. Cette spŽcialisation correspond ˆ une mise en Ïuvre sŽparŽe des requis de la communication totale et des requis de la production totale. Le requis de la communication totale se retrouve ainsi dans la classe des syst•mes qui privilŽgient la communication. Le requis de la production totale se retrouve dans deux autres classes de syst•mes: les syst•me qui privilŽgient la production sont spŽcialisŽs dans la gestion des dŽpendances de type partage de ressource, les syst•mes qui privilŽgient la coordination sont spŽcialisŽs dans la gestion des dŽpendances de type producteur ˆ consommateur. En ce qui concerne les dŽpendances de simultanŽitŽ, celles-ci se retrouvent dans toutes les classes de syst•mes d•s lors quÕils sont utilisŽs de mani•re synchrone par plusieurs utilisateurs. EnÞn une autre classe de syst•mes, les syst•mes intŽgrŽs, reprŽsente les diffŽrentes facettes du tr•ße de mani•re plus ŽquilibrŽe. 1.2.2 Syst•mes pour la communication Les outils con•us pour faciliter lÕŽchange de messages et la communication entre les personnes sont les outils de CMC (Computer Mediated Communication) [Turoff 91]. Ces outils rapprochent les groupes de lÕidŽal de la communication totale car pour Turoff leur objectif est de : Òfournir aux groupes la possibilitŽ de parvenir ˆ une forme dÕintelligence collective. CÕest-ˆ-dire que les rŽsultats des processus de communication dans le groupe sont supŽrieurs aux rŽsultats que chaque individu aurait pu obtenir individuellement.Ó1 1. ÒThe objective of a CMC system is to provide an opportunity for a group to exhibit Ôcollective intelligenceÕ. This means that the results of the group communication process are better then the result any member of the group could have obtained alone.Ó 14 Chapitre 1: Des collecticiels pour quoi faire ? Pour y parvenir, les outils de CMC doivent: Òrendre possible les communications dans le groupe 24 heures par jour et offrir la possibilitŽ dÕ•tre utilisŽs de mani•re synchrone ou asynchrone.Ó1 Cette deuxi•me caractŽristique est le potentiel de facilitation sociale, cÕest-ˆ-dire la capacitŽ des outils de CMC ˆ favoriser la mise en communication spontanŽe des individus, ˆ lÕimage des rencontres de couloir. Lorsque ces outils sont utilisŽs pour connecter les individus de mani•re permanente, ils crŽent des espaces virtuels qui acqui•rent une existence propre, au m•me titre que les espaces physiques. Ces outils se distinguent en fonction de la nature des canaux sur lesquels ils reposent. Les mŽdiaspaces utilisent des canaux audiovisuels, les messageries et les forums de discussion des canaux textuels, les MUD (Multi-User Dungeons) au dŽpart textuels reposent de plus en plus sur des environnements de rŽalitŽ virtuelle. MŽdiaspaces Les mŽdiaspaces sont des installations qui relient des rŽseaux audio et vidŽo ˆ des rŽseaux informatiques [Mantei et al. 91, Gaver 92, Dourish & Bly 93, Coutaz et al. 99]. Contrairement ˆ la vidŽoconfŽrence, les connexions vidŽo des mŽdiaspaces sont disponibles en permanence [Salber et al. 95b]. Dans un mŽdiaspace, chacun poss•de un acc•s ˆ un ensemble de camŽras avec lesquelles il peut Žtablir diffŽrents types de connexions: communication visiophonique, Òcoup dÕÏilÓ, ou encore mode continu. Le coup dÕÏil est une connexion vidŽo tr•s br•ve et unilatŽrale qui permet de vŽriÞer la disponibilitŽ dÕun correspondant. Il est parfois accompagnŽ dÕun signal sonore pour prŽvenir la personne observŽe. Le mode continu est une connexion unilatŽrale permanente gŽnŽralement employŽe en arri•re-plan pour percevoir lÕactivitŽ ou vŽriÞer la prŽsence dÕautrui. Les mŽdiaspaces sont encore peu utilisŽs en dehors des laboratoires de recherche. En revanche, les webcams sont bien plus rŽpandues. Il sÕagit de camŽras diffusant une image mise ˆ jour ˆ intervalles rŽguliers, ou ˆ chaque acc•s, sur un serveur Web. De nombreuses webcams sont accessibles sur la Toile. Elles nÕont pas pour ÞnalitŽ de recrŽer la continuitŽ entre des lieux sŽparŽs gŽographiquement comme les mŽdiaspaces. Elles sont disposŽes chez des particuliers ou bien utilisŽes ˆ des Þns promotionnelles, par exemple pour montrer la neige dans une station de ski. Les webcams nÕont pas toutes les fonctionnalitŽs des mŽdiaspaces car elles rŽalisent simplement une connexion du type coup dÕÏil unilatŽral. Messageries et forums de discussion Les outils de dialogue textuel sont anciens et nombreux. Les outils de dialogue en ligne servent ˆ dialoguer en mode synchrone, cÕest-ˆ-dire tous les utilisateurs interagissant de 1. ÒA CMC system needs to support group communications 24 hours a day and offer the ßexibility of being used synchronously or asynchronously.Ó Syst•mes pour la communication 15 mani•re simultanŽe, comme lÕIRC (Internet Relay Chat). Les messages sont adressŽs ˆ un canal et sont re•us par tous les utilisateurs qui Žcoutent le canal. LÕŽchange de messages textuels existe aussi sous la forme des commandes write ou msend sur UNIX pour envoyer des messages sur le terminal dÕun autre utilisateur. La commande talk partage une fen•tre en deux moitiŽs o• deux utilisateurs connectŽs peuvent sÕŽchanger des messages en mode synchrone. Le courrier Žlectronique sÕest imposŽ comme une rŽussite incontestable de lÕinformatique pour favoriser les activitŽs de groupe. Grudin analyse cette rŽussite par une bonne rŽpartition des bŽnŽÞces et des cožts du courrier Žlectronique dans une organisation [Grudin 90]. En effet, le courrier Žlectronique est avantageux pour le solliciteur ˆ qui il permet dÕenvoyer ˆ tout moment ses requ•tes de mani•re plus ou moins intrusive pour le destinataire. NŽanmoins, il respecte lÕŽquilibre entre les deux car lÕeffort de saisie demandŽ ˆ lÕexpŽditeur est supŽrieur ˆ lÕeffort de consultation demandŽ au destinataire. De plus le destinataire garde le contr™le du moment auquel consulter le message. Le courrier Žlectronique nÕimpose pas non plus de contenu aux messages ni de r•gles de diffusion, ce qui laisse une place aux pratiques sociales pour rŽguler leur diffusion et leur format. Le courrier Žlectronique sÕutilise aussi avec des listes de diffusion pour envoyer le m•me message ou le m•me document ˆ une liste de destinataires. Il est complŽtŽ par les syst•mes de messageries (Bulletin Boards Systems) pour archiver des messages et des documents et les faire circuler sur un ensemble de serveurs. Ces archives sont accessibles ˆ tout le monde ˆ tout moment et sont structurŽes par groupe dÕintŽr•t. Les news (ou USENET news) couvrent ainsi lÕensemble de la plan•te ˆ partir du rŽseau Internet. Ces syst•mes dÕŽchange de messages sont ˆ la base de vŽritables communautŽs virtuelles, comme ˆ Blacksburg o• les retraitŽs ont commencŽ ˆ sÕŽchanger leurs souvenirs des annŽes 50 par lÕintermŽdiaire de listes de diffusion [Carroll et al. 99]. MUDs et mondes virtuels Les MUD (Multi-Users-Dungeons) sont des jeux multi-utilisateurs accessibles en rŽseau ˆ lÕaide dÕun client spŽcialisŽ. Leur interface est souvent textuelle. Les joueurs se dŽplacent sur le terrain de jeu ˆ lÕaide dÕinstructions comme ÒNordÓ, ÒSudÓ, etc., ou bien ˆ lÕaide de commandes comme Òouvrir porteÓ. Ils acc•dent ˆ des descriptions textuelles de lÕespace de jeu. Lorsque plusieurs joueurs sont situŽs ˆ proximitŽ ils peuvent dialoguer. Dans certains MUD lÕespace de jeu est extensible ˆ lÕaide dÕun langage de programmation, comme LambdaMOO [19]. Les applications des MUD ne sont pas uniquement ludiques. Ils servent aussi ˆ construire des communautŽs virtuelles et ˆ partager des informations. Les mondes 3D sont la version tridimensionnelle graphique des MUD. Depuis la gŽnŽralisation du protocole VRML de modŽlisation de sc•nes tridimensionnelles, les joueurs partagent des mondes 3D quÕils peuvent eux-m•mes construire. The Palace [1] sert ˆ crŽer des mon- 16 Chapitre 1: Des collecticiels pour quoi faire ? des 3D accessibles depuis un navigateur web. Les occupants sont reprŽsentŽs par des avatars. Pour dialoguer avec les autres occupants dÕun espace virtuel, il faut approcher son avatar pr•s de lÕavatar de la personne ˆ qui lÕon souhaite sÕadresser [Benford & FahlŽn 93]. Les environnements de collaboration virtuelle ou CVE (Collaborative Virtual Environments) utilisent les mondes 3D comme interface ˆ des applications collaboratives situŽes dans lÕespace virtuel. 1.2.3 Syst•mes pour la production La facette production domine lorsque les collecticiels servent ˆ produire un artefact Žlectronique plut™t quÕˆ communiquer autour de cet artefact. Les applications correspondantes sont les Žditeurs partagŽs. Elles se distinguent entre elles par le type de donnŽes partagŽes, par la frŽquence des mises-ˆ-jour des donnŽes et par le couplage entre les vues des utilisateurs. Les Žditeurs partagŽs sont des applications qui permettent de produire en commun divers types de contenus: texte, comme SASSE [23], Duplex [Pacull et al. 94], ou Alliance [Decouchant et al. 97], dessin, comme GroupDesign [Karsenty 94b], etc. Les tableaux blancs partagŽs servent ˆ Žditer ˆ plusieurs des dessins et des textes non structurŽs dans une fen•tre. Les auteurs Žditent de mani•re synchrone ou asynchrone les m•mes documents. La notion de contenu sÕŽtend ˆ une multitude de types de donnŽes m•me en lÕabsence de produit Þnal. Par extension tout syst•me destinŽ ˆ partager et ˆ modiÞer un Žtat ˆ plusieurs peut sÕenvisager comme un Žditeur partagŽ. Dans un syst•me de contr™le aŽrien on peut considŽrer lÕespace aŽrien comme lÕartefact ŽditŽ en commun [Bentley et al. 92]. Les ordres donnŽs par les contr™leurs aux pilotes pour modiÞer leurs trajectoires et Žviter les collisions sont les nouvelles informations saisies dans le syst•me [Chatty et al. 98]. Dans un jeu multi-utilisateurs il sÕagit de lÕŽtat du jeu. Le Žditeurs partagŽs reposent sur des mŽcanisme de partage des donnŽes. Ces mŽcanismes sÕappliquent ˆ une quantitŽ minimale dÕinformation qui est mise ˆ jour simultanŽment sur toutes les rŽpliques : la granularitŽ. Les techniques mises en Ïuvre pour la rŽalisation des Žditeurs partagŽes sont les m•mes que pour les syst•mes distribuŽs: contr™le dÕacc•s concurrent [Shen & Dewan 92], gestion de la cohŽrence et rŽplication des donnŽes [Coulouris et al. 95]. Au niveau de lÕinterface homme-machine les Žditeurs partagŽs doivent assurer la cohŽrence entre les vues des utilisateurs. Une vue correspond ˆ une reprŽsentation des donnŽes partagŽes. Les vues de chaque participant sont plus ou moins semblables aux vues des autres participants. Cette ressemblance, ou ce couplage entre les vues peut-•tre ßexible et varier dÕune indŽpendance totale ˆ une compl•te similitude [Dewan & Choudhary 91]. Le couplage maximal est obtenu en appliquant strictement la notion de WYWIWIS (What You See Is What I See) [SteÞk et al. 87]. Tous les ŽlŽments de lÕinteraction sont alors partagŽs et chaque utilisateur voit exactement ce que les autres voient. Les tŽlŽpointeurs servent ˆ reproduire ˆ Syst•mes pour la coordination 17 distance les pointeurs des autres utilisateurs. SLICE est un mod•le logique pour dŽcrire les interfaces des Žditeurs partagŽs sous forme de couches superposŽes. Le choix de partager ou non chaque couche dŽÞnit diffŽrents degrŽs de couplage entre les utilisateurs [Karsenty & Beaudouin-Lafon 95]. Les jeux multi-utilisateurs sont sans doute les Žditeurs partagŽs les plus utilisŽs. Les recherches sur les Žditeurs de texte partagŽs synchrones ont suscitŽ peu de produits commerciaux, hormis Aspects [20]. Les tableaux blancs partagŽs sont plus rŽpandus car ils sont souvent intŽgrŽs avec dÕautres applications dans des salles de rŽunion amŽnagŽes ou dans des espaces de travail partagŽs (voir ÒSyst•mes intŽgrŽsÓ page 19). Dans le chapitre 2, nous proposerons dÕexpliquer la faible diffusion des Žditeurs partagŽs synchrones par la mise en Ïuvre de mŽcanismes de coordination spŽciÞques. 1.2.4 Syst•mes pour la coordination Les outils de CMC sont tournŽs vers la communication. Les Žditeurs partagŽs sont tournŽs vers la production. Ils correspondent dans le requis de la production totale ˆ la gestion des dŽpendances de partage de ressource. Une troisi•me classe dÕapplication correspond Žgalement au requis de la production totale. Cette classe est tournŽe vers la gestion des dŽpendances de producteur ˆ consommateur. Il sÕagit des syst•mes basŽs sur le traitement automatique des messages et des documents dÕun groupe. Ces syst•mes privilŽgient la facette coordination dŽÞnie par le tr•ße. Nous distinguons les coordinateurs et les applications workßow. Coordinateurs Les coordinateurs ont pour but de faciliter la coordination au sein dÕun groupe en aidant les utilisateurs ˆ organiser leurs t‰ches. Il sÕagit par exemple des agendas de groupe comme lÕapplication commerciale TeamAgenda [27]. DÕautres coordinateurs servent ˆ aider les individus ˆ traiter des affaires autrefois rŽglŽes par des conversations tŽlŽphoniques ou en face-ˆ-face en les rempla•ant par des Žchanges de messages Žlectroniques. D•s le milieu des annŽes 80, ce type de coordinateur est apparu pour aider les individus ˆ mŽmoriser les messages ˆ traiter en prioritŽ, en fonction de lÕŽtat des conversations, terminŽes ou en attente de rŽponse. Ils permettent aussi de reprŽsenter lÕhistorique des conversations. La rŽalisation de coordinateurs de messages est limitŽe par la difÞcultŽ ˆ faire comprendre des messages humains ˆ un ordinateur. Cette limitation est contournŽe si lÕutilisateur indique explicitement ˆ lÕordinateur la catŽgorie de message quÕil envoie. LÕordinateur est alors capable de traiter les messages. La Þgure 1.3 reprŽsente le menu de rŽponse ˆ un message du syst•me The Coordinator [Winograd & Flores 86]. Ce menu contient les catŽgories de rŽponses permises en fonction de lÕhistorique de la conversation. Sur lÕexemple donnŽ, lÕutilisateur peut rŽpondre par une 18 Chapitre 1: Des collecticiels pour quoi faire ? promesse, une contre-proposition ou refuser la demande de lÕexpŽditeur entre autres choix. Le syst•me fournit aussi des messages types ˆ complŽter en fonction de la catŽgorie choisie. Les contraintes de temps sur les rŽponses attendues sont prises en compte si elles sont indiquŽes explicitement par lÕexpŽditeur. Le syst•me tire parti de ces informations pour aider lÕutilisateur ˆ rŽpondre ˆ la question: Òque dois-je faire maintenant?Ó [Winograd 88]. The Coordinator a suscitŽ des critiques rŽsumŽes dans [Suchman 93]. LÕune de ces critiques reproche ˆ la catŽgorisation explicite des messages de ne pas tenir compte du caract•re contingent du sens donnŽ aux conversations. En effet, dans la vie rŽelle la construction du sens des conversations ne dŽpend pas que du locuteur, mais aussi des rŽactions des interlocuteurs. Un syst•me qui ne tient pas compte de cette interprŽtation collective est seulement adaptŽ aux conversations qui suivent un ordre Žtabli. Il nÕest pas adaptŽ ˆ lÕinnovation sociale. Figure 1.3. PrŽparation dÕune rŽponse avec The Coordinator (tirŽ de [Winograd 88]) DÕautres types de coordinateurs sont basŽs sur la reprŽsentation graphique des conversations conservŽes dans des bases de donnŽes. Ces syst•mes mŽmorisent les traces des processus de dŽcisions. Oval est un outil de recherche pour construire des interfaces ˆ des syst•mes dÕŽchange de messages structurŽs en rŽseaux dÕargumentation, cÕest-ˆ-dire qui se rapportent les uns aux autres en tant quÕargument ou contre-argument [Malone et al. 92]. Les rŽseaux dÕargumentation sont des rŽseaux hypertextes. Dans le cadre de la gestion dÕun projet, les rŽseaux dÕargumentation mŽmorisent les Žtapes importantes, justiÞent les choix effectuŽs ou servent ˆ dŽtecter les erreurs [Yakemovic & Conklin 90]. Dans le commerce les logiciels de mŽmoire organisationnelle servent ˆ construire des rŽseaux dÕargumentation, comme QuestMap [21]. Workflow La fronti•re est Žtroite entre les coordinateurs et les applications workßow qui servent ˆ coordonner des processus au sein dÕune entreprise. Tout en constatant quÕil nÕexiste pas de Syst•mes intŽgrŽs 19 dŽÞnition unique pour les applications workßow, [Nurcan 96] les dŽcrit de la mani•re suivante: ÒLes applications workflow automatisent la gestion des flux dÕinformation suivant les spŽcifications dÕun processus donnŽ. Les t‰ches de traitement de lÕinformation passent dÕune personne ˆ une autre suivant un circuit conditionnel bien dŽfini. (...) LÕapplication prŽsente ˆ lÕutilisateur les informations nŽcessaires pour effectuer sa t‰che, avant que le processus ne suive son cours vers lÕŽtape suivante.Ó La mise en Ïuvre des applications workßow passe parfois par un remodelage complet de lÕorganisation du travail autour de ses processus. Ce remodelage est un ÒBusiness Process ReengineeringÓ (BPR). Le BPR est une opportunitŽ pour rŽduire les cožts et amŽliorer lÕefÞcacitŽ du travail [Abbot 94]. La mise en Ïuvre des applications workßow nŽcessite une modŽlisation de processus qui doit expliciter le fonctionnement dÕun groupe. Cette modŽlisation est souvent basŽe sur la reprŽsentation des documents, de leur circulation et des modiÞcations apportŽes aux documents au cours des diffŽrentes Žtapes de leur diffusion. LÕautomatisation de la circulation des documents assure la coordination entre les t‰ches. [Prinz & Kolvenbach 96] dŽcrit la mise en place dÕun ensemble dÕapplications workßow pour aider ˆ la prŽparation de discours politiques. Le processus de coopŽration pour prŽparer les discours nŽcessite le partage et lÕŽdition de documents par diffŽrents acteurs exer•ant chacun des r™les diffŽrents de prŽparation des sources, de vŽriÞcation, ou de rŽdaction. On distingue deux types dÕapproches dans les applications workßow [Hoogstoel 95]. LÕapproche orientŽe procŽdure est basŽe sur des r•gles de routage des documents au sein dÕune organisation. Elle est illustrŽe sur le marchŽ par le syst•me Link Works [15]. LÕapproche orientŽe formulaire est basŽe sur lÕidentiÞcation de types de champs ˆ partir de la structure des documents et la dŽÞnition de r™les fonctionnels associŽs aux individus susceptibles de remplir ces champs. Des r•gles dŽÞnissent les conditions sous lesquelles les champs peuvent •tre saisis et consultŽs. Cette approche est illustrŽe sur le marchŽ par le syst•me Lotus Notes [16]. 1.2.5 Syst•mes intŽgrŽs Les syst•mes intŽgrŽs offrent aux individus des environnements complets pour communiquer, produire et se coordonner. Ils se divisent en deux familles: les salles de rŽunion amŽnagŽes et les espaces de travail partagŽs. Les salles de rŽunion amŽnagŽes utilisent la prŽsence dans une m•me salle dÕŽquipements dÕaide au travail collaboratif et dÕindividus pour intŽgrer les activitŽs collaboratives correspondant aux facettes du tr•ße. Les espaces de travail partagŽ fournissent lÕacc•s ˆ plusieurs applications juxtaposŽes dans la m•me fen•tre et/ou accessibles sur le m•me serveur. Dans un premier temps, nous prŽsentons des exemples type dÕapplications partagŽes ˆ lÕaide des syst•mes intŽgrŽs. Puis nous prŽsentons successivement 20 Chapitre 1: Des collecticiels pour quoi faire ? les salles de rŽunion amŽnagŽes et les espaces de travail partagŽs. EnÞn, nous dŽcrivons dÕautres moyens dÕintŽgrer les facettes du tr•ße allant au-delˆ de la simple juxtaposition des applications dans le m•me espace physique ou virtuel. Les syst•mes intŽgrŽs regroupent lÕacc•s ˆ plusieurs types dÕapplications parmi lesquelles : ¥ Liste dÕidŽes Application pour Žditer des listes de messages reprŽsentant des idŽes, avec Žventuellement moyen de classer ces idŽes par catŽgories, par mots-clŽs, etc. ¥ Graphe dÕidŽes Comme une liste dÕidŽes, mais prŽsentŽe sous forme de graphe. La structure du graphe sert ˆ associer les idŽes. Elle impose une forme de coordination entre les actions des utilisateurs pour quÕils ajoutent les nouvelles idŽes aux bons endroits. ¥ Tableau partagŽ Editeur partagŽ de dessins et de textes disposŽs librement sur une surface inÞnie. Les tableaux partagŽs sont souvent non structurŽs, pour servir au ÒbrainstormingÓ. Parfois le tableau est capable dÕinterprŽter et de traiter les donnŽes saisies [Moran et al. 98] ˆ lÕaide dÕalgorithmes de reconnaissance de gestes. Le tableau peut traduire directement les donnŽes dans un formalisme adaptŽ au type de la rŽunion (par exemple en rŽseau de PŽtri). ¥ Outil de vote Application pour soumettre des questions et des propositions ˆ un vote ou ˆ une Žvaluation puis traiter les rŽsultats. ¥ Partage dÕapplication mono-utilisateur Application pour rŽpliquer une application mono-utilisateur sur plusieurs sites. LÕinteraction sÕeffectue par la prise de contr™le de lÕinterface ˆ distance qui nÕest possible que par un seul utilisateur ˆ la fois. Le partage nŽcessite un mŽcanisme de coordination pour prendre le contr™le de lÕapplication. Certains syst•mes permettent Žgalement de superposer des annotations sur les fen•tres de lÕapplication rŽpliquŽe. Le partage dÕapplications non con•ues initialement pour •tre partagŽes est un sujet de recherche actif. Une approche possible consiste ˆ utiliser un gestionnaire de fen•tre qui intercepte et distribue sur plusieurs sites les ŽvŽnements destinŽs ˆ lÕapplication [Berlage & Genau 93]. ¥ Importation Application pour afÞcher une image, une prŽsentation Power Point, ou pour donner un Þchier, etc. ¥ VidŽoconfŽrence Transmission de lÕimage et du son. Syst•mes intŽgrŽs ¥ 21 Dialogue textuel et messagerie Outils dÕŽchange de messages semblables aux outils de CMC. Les applications partagŽes avec les syst•mes intŽgrŽs sont souvent des applications dŽrivŽes des applications o• une seule facette du tr•ße domine (voir les paragraphes prŽcŽdents). Dans le contexte des syst•mes intŽgrŽs nous les appelons des applications de rŽunion. La possibilitŽ de collaborer efÞcacement avec les syst•mes intŽgrŽs rŽsulte de lÕutilisation simultanŽe de plusieurs applications de rŽunion. Salles de rŽunion amŽnagŽes Les groupes face-ˆ-face bŽnŽÞcient des collecticiels sous la forme de salles de rŽunion amŽnagŽes, ou bien de salles spŽcialisŽes en fonction de la t‰che du groupe. Le regroupement physique des personnes dans une m•me salle permet de communiquer, de produire et de se coordonner avec les canaux traditionnels, comme la voix ou les gestes tout en tirant partie dÕŽquipements informatiques. Deux types dÕŽquipements sont employŽs: dÕune part un ou plusieurs Žcrans de grande taille visibles par tous les participants, dÕautre part des ordinateurs personnels ou dÕautres pŽriphŽriques connectŽs sur le rŽseau de la salle. Les tableaux Žlectroniques remplacent le tableau et la craie dans les salles de rŽunion amŽnagŽes, comme le prototype de recherche Tivoli de Xerox [Pedersen et al. 93], ou le syst•me commercial SMART Board [3]. Ils servent ˆ interagir avec les applications dÕun ordinateur de bureau, avec des applications de rŽunion, ou bien avec des applications spŽcialement programmŽes pour tenir compte de lÕinteraction sur grand Žcran. Certains syst•mes permettent ˆ plusieurs participants dÕinteragir simultanŽment avec le tableau Žlectronique, ou avec un seul Žcran dÕordinateur. Ce sont des ÒSingle Display GroupwareÓ (SDG) [Stewart et al. 99]. Avec Pebbles [Myers et al. 98] chaque participant poss•de son propre curseur et connecte son assistant numŽrique (PDA ou Personal Digital Assistant) ˆ lÕordinateur qui contr™le lÕŽcran partagŽ. Dans les salles de cours amŽnagŽes le tableau Žlectronique sert au professeur pour faire son cours. Dans le projet Classroom 2000, lÕapplication avec laquelle il Žcrit et prŽsente ses transparents lui permet Žgalement de sauvegarder tout le cours [Abowd et al. 98]. Les Žtudiants peuvent ensuite consulter le cours ˆ domicile depuis un navigateur web. Classroom 2000 devient vraiment un collecticiel avec une extension qui permet aux Žtudiants de connecter leur ordinateur personnel ˆ la salle de classe et dÕenregistrer leurs propres notes synchronisŽes avec celles du professeur [Truong & Abowd 99]. DÕautres syst•mes exploitent la connexion en rŽseau des participants pour Žchanger des commentaires textuels pendant un exposŽ avec le confŽrencier ou bien entre participants [Rekimoto et al. 98], ou pour dupliquer ˆ la demande lÕŽcran dÕune personne sur le tableau Žlectronique ou sur les Žcrans individuels. 22 Chapitre 1: Des collecticiels pour quoi faire ? De nombreuses Žtudes sur la collaboration se situent dans des salles de surveillance et dÕinformation de commandement. Parmi le type dÕenvironnements ŽtudiŽs, citons une salle de contr™le du traÞc des RER ˆ Paris [Filippi & Theureau 93], une salle de marchŽ boursier [Heath et al. 93] o• le langage gestuel des agents boursiers est un canal de communication tr•s utilisŽ, et des salles de contr™le aŽrien [Bentley et al. 92]. Espaces de travail partagŽs Les espaces de travail partagŽs int•grent les facettes du tr•ße car ils contiennent des informations ou des applications appartenant aux trois espaces du tr•ße. Ils existent soit de mani•re permanente, soit de mani•re temporaire le temps dÕune rŽunion. Les informations contenues dans les espaces de travail partagŽs sont accessibles avec des logiciels clients spŽcialisŽs lorsquÕils sont hŽbergŽs sur un serveur ou sinon par connexion directe entre les logiciels des participants. Le contenu de lÕespace partagŽ est modiÞable comme avec les Žditeurs partagŽs. Par rapport ˆ un syst•me de gestion de Þchiers multi-utilisateurs les espaces partagŽs transmettent plusieurs informations supplŽmentaires parmi lesquelles: ¥ ¥ ¥ ¥ ¥ la prŽsence des autres utilisateurs; les activitŽs en cours de chacun; lÕhistorique des activitŽs passŽes; lÕidentitŽ des utilisateurs; des communications entre utilisateurs. Les quatre premiers types dÕinformation constituent les informations de conscience mutuelle. Dans la suite de cette section nous distinguons trois classes dÕespaces partagŽs en fonction de la mŽtaphore dÕacc•s ˆ leur contenu: document dans le premier cas, pi•ce dans le deuxi•me cas, et rŽunion dans le troisi•me cas. La premi•re classe est basŽe sur une extension des serveurs web. Elle utilise le protocole de transmission HTTP (HyperText Transfer Protocol) et compl•te les documents HTML (HyperText Mark up Language) par des informations de conscience mutuelle. La seconde classe est basŽe sur des serveurs utilisant des protocoles de communication spŽcialisŽs. Ils regroupent lÕacc•s ˆ des applications de rŽunion ˆ travers une mŽtaphore de pi•ces. EnÞn la troisi•me classe correspond aux syst•mes de confŽrence Žlectronique dont lÕacc•s est basŽ sur lÕorganisation de rŽunions. Acc•s par le document: serveurs web Les serveurs web sont sans conteste les plus rŽpandus des espaces de travail partagŽs malgrŽ la faible interactivitŽ entre leurs utilisateurs. La mŽtaphore dÕacc•s ˆ ces espaces est basŽe sur lÕacc•s ˆ des documents. Chaque document est localisŽ par une adresse ou URL (Uniform Ressource Locator). Les serveurs web ne deviennent de vŽritables espaces de travail partagŽs que lorsquÕils sont enrichis de mŽcanismes pour modiÞer leur contenu1 ou pour 1. Avec la mŽthode PUT du protocole HTTP, qui permet de dŽposer un document sur le serveur. Syst•mes intŽgrŽs 23 ajouter automatiquement des informations de conscience mutuelle. BSCW est un espace de travail partagŽ construit sur un serveur web [Bentley et al. 97]. Il est basŽ sur lÕinterface de programmation CGI des serveurs Web pour associer le serveur avec une base de donnŽes contenant les documents crŽŽs, modiÞŽs ou dŽtruits par les utilisateurs. Les pages web sont gŽnŽrŽes ˆ la volŽe ce qui permet dÕajouter des informations sur lÕhistorique des documents. Les modiÞcations de lÕespace partagŽ sont parfois notiÞŽes aux membres du groupe sous forme de courrier Žlectronique ou tout autre mŽcanisme de notiÞcation. Par exemple il est possible dÕajouter un document ˆ lÕespace partagŽ depuis un navigateur web puis de demander au syst•me dÕenvoyer une notiÞcation chaque fois quÕun autre utilisateur rŽcup•re le document. Acc•s par une mŽtaphore de pi•ce La mŽtaphore des pi•ces est une mŽtaphore structurante pour crŽer des espaces reprŽsentant diffŽrents groupes et diffŽrents types dÕactivitŽs. Les pi•ces sont des espaces virtuels qui contiennent des documents ou des applications de rŽunion aussi appelŽes applet. Le tableau 1.2 Žnum•re les applets partagŽes avec TeamWave Workplace [2], la version commerciale du prototype de recherche TeamRooms [Roseman & Greenberg 96]. La mŽtaphore de la pi•ce simpliÞe lÕacc•s aux diffŽrentes applets puisque une seule connexion avec le serveur sufÞt pour accŽder ˆ toutes les applets prŽsentes dans une pi•ce. Avec TeamRooms, les pi•ces dŽÞnissent un syst•me de fen•trage supplŽmentaire o• les applets sont disposŽes librement, manipulŽes simultanŽment par plusieurs utilisateurs et conservŽes de mani•re persistente. Comme dans les Žditeurs partagŽs, les pointeurs des utilisateurs qui interagissent avec une pi•ce sont reprŽsentŽs ˆ distance par des tŽlŽpointeurs. Facette du tr•ße Coordination Communication Applet Description Carnet dÕadresses liste dÕadresse Gestionnaire de rendez-vous propositions de rendez-vous Liste de t‰ches liste avec Žtat pour mŽmoriser ce qui est fait ou reste ˆ faire Vote pour poser une question et recueillir les rŽponses Tableau de message messagerie contenant un seul groupe de discussion Outil de ÒbrainstormingÓ liste dÕidŽes non structurŽe Graphe de concepts graphe dÕidŽes Image partagŽe image pouvant •tre annotŽe Postit Ñ Tableau 1.2 Applets partagŽes avec TeamWave Workplace [2] 24 Chapitre 1: Des collecticiels pour quoi faire ? Facette du tr•ße Production Applet Description Navigateur web partage de pages web Base de donnŽes base de donnŽe simple configurable Stockage Fichier contient un lien vers un fichier qui peut •tre ouvert par son application Affichage Fichier fen•tre montrant le contenu dÕun fichier Tableau 1.2 Applets partagŽes avec TeamWave Workplace [2] Acc•s par une rŽunion: confŽrence Žlectronique Les syst•mes de confŽrence Žlectronique ont pour origine les syst•mes de vidŽoconfŽrence classiques et les syst•mes de rŽunion assistŽe issus des travaux sur les GDSS (Group Decision Support Systems). Les syst•mes de vidŽoconfŽrence sont complŽtŽs par des applications de rŽunion ou rŽciproquement les syst•mes de rŽunion assistŽe sont complŽtŽs par des outils pour transmettre la voix ou les images. Ainsi PictureTel commercialise ˆ la fois des syst•mes de vidŽoconfŽrence sur Žcrans et stations dŽdiŽes et des syst•mes de rŽunion assistŽe [5]. Ces outils sont compatibles avec le syst•me de confŽrence Žlectronique de Microsoft, NetMeeting [26]. Les syst•mes de confŽrence Žlectronique sÕutilisent soit ˆ distance, chaque participant situŽ dans un endroit diffŽrent, soit dans une salle amŽnagŽe, avec des ordinateurs mis en rŽseau. Les confŽrences Žlectroniques nÕexistent pas de mani•re persistante, comme les pi•ces, mais seulement le temps dÕune rŽunion. LÕŽtat de lÕespace de travail partagŽ nÕest pas conservŽ, mais seulement le rŽsultat de la rŽunion. Cependant, les rŽunions sont parfois groupŽes dans des projets. Ventana Groupsystems Workgroup est ainsi basŽ sur lÕutilisation dÕun serveur qui mŽmorise les projets sur le long terme [4]. La notion de rŽunion sert de mŽtaphore pour simpliÞer la gestion de lÕacc•s ˆ lÕespace de travail partagŽ, comme la notion de pi•ce. Une rŽunion est souvent organisŽe par un seul individu qui invite les autres participants. Le syst•me de la sociŽtŽ Placeware utilise un outil dÕadministration accessible depuis un serveur web. Il permet de crŽer une rŽunion depuis un navigateur web. Les invitations sont envoyŽes aux participants par courrier Žlectronique [6]. Le syst•me repose sur des serveurs et des clients spŽcialisŽs, mais en cas de probl•me de communication, par exemple si certains participants sont isolŽs du rŽseau par un coupe-feu1, il fonctionne aussi ˆ partir dÕun navigateur web. Des plugs-in servent ˆ faire fonctionner les applications de rŽunion. LÕarrivŽe des protocoles de streaming pour diffuser des informations en continu avec le protocole HTTP annonce lÕintŽgration des syst•mes de confŽrence et des navigateurs web. 1. ÒFirewallÓ Dynamique des groupes restreints 25 Autres syst•mes LÕintŽgration par les salles amŽnagŽes ou les espaces de travail partagŽs conserve ˆ chaque application de rŽunion sa spŽciÞcitŽ. Il existe pourtant une autre approche pour intŽgrer les applications moins frŽquente dans les collecticiels, car elle nŽcessite dÕautres mŽtaphores. CÕest lÕapproche illustrŽe par le syst•me Clearboard [Ishii & Kobayashi 92]. Clearboard combine un espace de contact visuel et de communication avec une zone de dessin partagŽ, en utilisant la mŽtaphore de la vitre. Gr‰ce ˆ la fusion dÕune image vidŽo visible en transparence sur lÕimage dÕune application de dessin partagŽe, les utilisateurs ont lÕillusion de se trouver de chaque c™tŽ dÕune vitre o• sont tracŽs les dessins. Contrairement aux syst•mes de confŽrence traditionnels qui nŽcessitent des allers-retours visuels entre lÕimage vidŽo des participants et lÕapplication partagŽe, Clearboard maintient le contact visuel et la sensation de prŽsence avec son partenaire. CÕest un exemple dÕintŽgration rŽussie entre communication et manipulation conjointe de donnŽes dans le cas dÕune t‰che dÕŽdition ˆ deux. Cependant la mŽtaphore employŽe nÕest pas exploitable au-delˆ de deux sites. Dans le chapitre 6 nous dŽcrirons un autre type dÕintŽgration qui concerne le tŽlŽphone et un espace de production manipulŽ en commun: lÕimage radar des contr™leurs aŽriens. LÕŽtat de lÕart prŽsentŽ distingue plusieurs familles de collecticiels adaptŽes plut™t ˆ la communication ou plut™t ˆ la production ou ˆ la coordination. Cette sŽparation repose sur la mise en Ïuvre de services logiciels diffŽrents. LÕanalyse des processus mis en Ïuvre par les individus pour collaborer au niveau social montre au contraire la complŽmentaritŽ entre ces activitŽs. CÕest le cas de la dynamique des groupes restreints. 1.3 Dynamique des groupes restreints Les groupes formŽs par des individus qui communiquent entre eux directement en face ˆ face, soit ponctuellement sur une longue pŽriode, soit temporairement, le temps dÕune rŽunion spontanŽe ou provoquŽe artiÞciellement pour une expŽrimentation sont qualiÞŽs de groupes restreints ou primaires. LÕŽtude de ces groupes par la dynamique des groupes restreints indique que les activitŽs de communication, de coordination ou de production sont liŽes entre elles. En effet, lÕexistence dÕun groupe implique un minimum dÕactivitŽs orientŽes vers les autres de la part des individus. La notion dÕŽnergie de groupe dŽcrit mŽtaphoriquement les liens entre activitŽs de communication et de production [Anziau & Martin 68]. LÕŽnergie de groupe reprŽsente lÕensemble de lÕactivitŽ dŽployŽe par le groupe. Cette activitŽ est nŽcessaire pour atteindre les buts du groupe, et pour rechercher les consensus indispensables ˆ la cohŽsion des membres du groupe dans le temps. Sans cette cohŽsion le groupe se dŽsagr•ge. LÕŽnergie de groupe se compose dÕune Žnergie utilisable directement et dÕune Žnergie latente. La libŽration de lÕŽnergie latente est le but dÕune bonne organisation, sinon elle reste ˆ lÕŽtat de potentiel. LÕŽnergie directement utilisable se compose dÕune Žnergie de production et dÕune Žnergie dÕentretien. LÕŽnergie de production est tournŽe vers la rŽalisa- 26 Chapitre 1: Des collecticiels pour quoi faire ? tion des buts. LÕŽnergie dÕentretien est dŽpensŽe pour faciliter les procŽdures et les communications et pour rŽguler les relations personnelles. Elle est consommŽe pour rechercher des consensus, ou pour assurer un niveau ŽlevŽ de participation pour chacun. Les groupes o• la dŽpense dÕŽnergie dÕentretien domine sont qualiÞŽs de groupes mondains, ou de commŽmoration. Les communications dans ces groupes sont plus nombreuses, la participation individuelle est supŽrieure, les rŽfŽrences au passŽ sont nombreuses dans les communications. Ces groupes consacrent une partie de leur temps ˆ discuter et ˆ modiÞer leur organisation. A lÕinverse, les groupes qui dŽpensent le maximum de leur Žnergie sous forme dÕŽnergie de production sont appelŽs des groupes dÕaction; ils parviennent ˆ se coordonner de mani•re implicite. Chacun conna”t sa place sans avoir ˆ la nŽgocier ˆ nouveau, au risque parfois dÕune certaine violence dans les relations et de participations individuelles non ŽquilibrŽes. La diffŽrence entre groupe mondain et groupe dÕaction est comparable ˆ la diffŽrence entre lÕidŽal de la communication totale et lÕidŽal de la production totale. LÕhypoth•se selon laquelle lÕŽnergie totale du groupe est constante implique que les dŽpenses dÕŽnergie dÕentretien et dÕŽnergie de production varient en sens inverse. Elle sugg•re donc que la communication et la production ne sont pas indŽpendantes dans les activitŽs de groupe. Nous pouvons interprŽter cette dŽpendance de la mani•re suivante: plus la communication est dŽveloppŽe dans un groupe, moins le groupe poss•de dÕŽnergie de production et plus sa cohŽsion est forte. Inversement, plus la communication est limitŽe, plus le groupe poss•de dÕŽnergie de production et plus sa cohŽsion est faible. Selon de cette contrainte, lÕidŽal de la communication totale et lÕidŽal de la production totale apparaissent comme deux objectifs complŽmentaires pour assurer ˆ la fois la cohŽsion du groupe et sa productivitŽ. DÕautres courants de recherche montrent la complŽmentaritŽ entre les activitŽs de production et de communication. Il sÕagit en particulier du courant social dÕŽtude de la collaboration qui prend en compte lÕaspect social du travail en groupe. Ce courant est reprŽsentŽ entre autre par la thŽorie de lÕaction inspirŽe de lÕŽcole psychologique russe auquel des travaux rŽcents font rŽfŽrence, comme [Bardram 98]. Dans les chapitres suivants nous proposerons Žgalement des analyses des processus mis en Ïuvre par les individus pour collaborer prenant en compte les aspects sociaux. 1.4 Position Žthique: les Òanti-collecticielsÓ LÕidŽal de la communication totale appelle ˆ des rŽserves de lÕordre de lÕŽthique sur la conception des collecticiels. En effet, les pertes dÕinformation sont parfois souhaitables voire dŽsirŽes sur le plan de la communication humaine. Les outils qui ont pour but dÕamŽliorer la communication entre les individus doivent prendre en compte ce besoin pour respecter la vie privŽe des utilisateurs. Par exemple le tŽlŽphone donne une plus grande accessibilitŽ aux individus, mais en m•me temps il est complŽtŽ par dÕautres dispositifs comme les rŽpon- Position Žthique: les Òanti-collecticielsÓ 27 deurs permettant de Þltrer les appels. Ce type de Þltrage va ˆ lÕencontre de lÕidŽal de la communication totale. DŽcider sÕil convient de supprimer ou non ce type de pertes intentionnelles dans la communication humaine dŽpasse le cadre technique et constitue un vŽritable dŽbat Žthique. La dimension sociale de la communication autorise de petits mensonges comme le Þltrage des appels avec un rŽpondeur tŽlŽphonique. Il nous semble important de conserver la possibilitŽ de provoquer ce type dÕaltŽration de la communication dans les nouvelles technologies, sous le contr™le des utilisateurs. LÕapproche traditionnelle du probl•me de la dŽfense de la vie privŽe consiste ˆ intŽgrer dans les outils des mŽcanismes de neutralisation de leurs fonctions. Ainsi les tŽlŽphones portables poss•dent tous une fonction permettant de supprimer leur sonnerie. La sonnerie est une nuisance sonore. De plus elle tient tout le monde informŽ dÕun appel, ce qui peut nuire ˆ son caract•re privŽ. Dans les mŽdiaspaces les interfaces donnent le contr™le de la diffusion ou non des images ˆ lÕaide de matrices dÕacc•s [Salber et al. 95b]. Des procŽdŽs de traitement de lÕimage donnent aussi la possibilitŽ de modiÞer le ßux vidŽo avant sa diffusion. LÕapplication de diffŽrents types de Þltres sur les images sert ˆ masquer des informations, comme lÕidentitŽ des individus ou des gestes dŽplacŽs [Coutaz et al. 99]. Le dŽveloppement de ces mŽcanismes de protection peut cependant perturber passablement la facilitŽ et le plaisir dÕutilisation dÕun outil. Il peut aussi emp•cher des comportements jugŽs indŽsirables mais parfois nŽcessaires, pour cette raison nous proposons une approche complŽmentaire. Une approche complŽmentaire ˆ la modiÞcation des outils existants consiste ˆ construire des dispositifs uniquement consacrŽs ˆ la dŽfense de la vie privŽe. Ces dispositifs sont en quelque sorte des anti-collecticiels. Le recours ˆ des anti-collecticiels plut™t que des fonctions dŽbrayables a lÕavantage de ne pas crŽer dÕambigu•tŽ. En effet, il est parfois ambigu de dŽterminer si un mŽcanisme a ŽtŽ dŽbrayŽ intentionnellement ou non. Cette ambigu•tŽ peut nuire ˆ la qualitŽ de la communication. Le rŽpondeur tŽlŽphonique est un exemple dÕanticollecticiel, m•me si son usage reste ambigu sur les intentions rŽelles de son propriŽtaire. Les salles de concerts ŽquipŽes de mani•re ˆ intercepter les communications sur les tŽlŽphones portables et ˆ les rendre inopŽrants sont un autre exemple. Les moyens mis en Ïuvre pour contrer les fonctions dŽrangeantes ne doivent pas leur substituer des informations susceptibles ˆ leur tour de devenir dŽrangeantes du point de vue de la vie privŽe, ou mensong•res. Une salle de concert qui remplace la sonnerie du tŽlŽphone par un signal occupŽ crŽe en quelque sorte un petit mensonge. Inversement si lÕŽquipement rŽpond par un message identiÞant la salle o• la personne se trouve, cette information trop prŽcise peut sembler indiscr•te. Une solution ŽlŽgante serait de convenir ˆ lÕŽchelle nationale dÕun signal dÕappel indiquant que la personne est actuellement dans un lieu protŽgŽ, sans identiÞer le lieu. La conception dÕanti-collecticiels est donc aussi une question de dŽÞnition des normes de ce qui est acceptable ou pas au sein dÕune sociŽtŽ. Cette question ne peut se rŽsoudre que collectivement. Dans lÕincertitude notre position Žthique est de dŽfen- 28 Chapitre 1: Des collecticiels pour quoi faire ? dre lÕinvention systŽmatique dÕanti-collecticiels comme le complŽment indispensable ˆ toutes les avancŽes vers la communication totale. 1.5 Conclusion LÕidŽal de la production totale et lÕidŽal de la communication totale se retrouvent dans diffŽrentes classes de collecticiels. M•me les applications partagŽes des syst•mes intŽgrŽs restent distinctes et appartiennent chacune ˆ des classes diffŽrentes. La situation actuelle est une sŽparation de fait entre les activitŽs de communication, de production et de coordination avec les collecticiels bien quÕelle ne soit pas imposŽe par le mod•le du tr•ße. A lÕissue de lÕŽtat de lÕart prŽsentŽ dans ce chapitre nous envisageons deux approches pour la conception des collecticiels : ¥ ¥ continuer ˆ inventer des applications qui reprŽsentent chaque facette du tr•ße, puis les intŽgrer entre elles ; au contraire inventer dÕautres types dÕapplications intŽgrant les facettes du tr•ße. La premi•re approche incite ˆ spŽcialiser davantage les collecticiels. Dans le chapitre 2, nous allons Žtudier les contraintes qui dŽcoulent de la prise en compte explicite de la coordination dans les collecticiels. Dans le chapitre 3, nous allons Žtudier des formes de communication qui nÕapparaissent pas nŽcessairement dans la facette communication du tr•ße. A partir des analyses des chapitres 2 et 3, nous allons proposer la collaboration directe comme un objectif ˆ atteindre dans la conception des collecticiels qui ne consid•re plus sŽparŽment les facettes du tr•ße. Cette proposition sera donc aussi une prise de position en faveur de la deuxi•me approche. Nous prŽsenterons ensuite les moyens dÕatteindre lÕobjectif de la collaboration directe, pour que les collecticiels aident les individus ˆ communiquer, ˆ produire et ˆ se coordonner simultanŽment. Chapitre 2 MŽcanismes de coordination Pour se rapprocher de lÕidŽal de la production totale les collecticiels devraient simpliÞer la coordination entre les individus. La coordination prend en pratique des formes multiples, que ce soit avec ou sans les collecticiels. Des mŽcanismes de coordination sont mis en Ïuvre de fa•on parfois inconsciente comme les savoirs-faire qui rŽgissent les relations entre les individus, par exemple la prise de parole en public ou la politesse. Ils peuvent aussi devenir explicites et nŽcessiter de suivre des r•gles imposŽes de lÕextŽrieur aux individus, comme les dŽbats organisŽs avec un animateur qui distribue les tours de parole. LÕobjectif de ce chapitre est de dŽÞnir un ensemble rŽduit de concepts pour analyser les mŽcanismes de coordination. DÕabord, nous dŽÞnissons ces concepts ˆ partir dÕune synth•se dÕarticles accessibles dans la littŽrature. Nous appliquons ensuite ces concepts pour caractŽriser certains mŽcanismes de coordination prŽsents dans les collecticiels. Cette description nous sert enÞn ˆ dŽÞnir plusieurs approches de la coordination. 2.1 Analyse des mŽcanismes de coordination La coordination est une notion souvent abordŽe dans les Žtudes de terrain ou dans les rŽßexions thŽoriques sur le travail collaboratif. Cependant tous les mŽcanismes mis en Ïuvre par les individus pour se coordonner nÕont pas encore ŽtŽ clairement identiÞŽs. Dans le chapitre prŽcŽdent, nous avons citŽ la thŽorie de la coordination proposŽe par Malone pour classer les mŽcanismes de coordination en fonction du type de dŽpendance quÕils permettent de rŽsoudre (voir le tableau 1.1 page 7). Nous avons ainsi dŽcrit les mŽcanismes nŽcessaires pour rŽunir les individus, pour partager des ressources ou bien pour structurer des Žchanges. Nous avons aussi montrŽ comment ces mŽcanismes sont pris en compte par le tr•ße fonctionnel des collecticiels. Dans cette section, notre objectif est de dŽÞnir une grille dÕanalyse des mŽcanismes de coordination avec ou sans les collecticiels. 30 Chapitre 2: MŽcanismes de coordination Plusieurs auteurs ont fait des synth•ses des Žtudes de terrain concernant la collaboration ([Robinson 91], [Robinson 93], [Schmidt & Simone 96], [Harris & Henderson 99]). Ainsi Robinson, en se rŽfŽrant aux travaux de Hutchins et de Suchman, dŽcrit lÕimportance des objets de lÕenvironnement pour la coordination. Il dŽcrit des propriŽtŽs qui font dÕun objet un Òartefact partagŽÓ1 : leur capacitŽ ˆ induire des comportements, ˆ rendre les actions des autres perceptibles, ˆ servir de rŽfŽrence dans les conversations, ˆ offrir des canaux de communication implicites et ˆ Žtendre la vision du champ de travail des individus. Schmidt et Simone dŽcrivent aussi une notion ÒdÕartefactÓ de coordination proche de celle de Robinson. Ils dŽcrivent ces objets comme Žtant la matŽrialisation dÕun protocole2. A partir de ces travaux, nous reprenons les notions dÕartefact, de protocole et de canal de communication implicite que nous dŽcrivons suivant notre propre point de vue pour proposer une grille dÕanalyse des mŽcanismes de coordination. 2.1.1 Objets de coordination Les activitŽs collaboratives entra”nent souvent la manipulation de nombreux objets. Certains de ces objets servent de mani•re Žvidente ˆ coordonner les activitŽs de plusieurs individus. Par exemple pendant le transport dÕune table, les caractŽristiques physiques de la table inßuencent la mani•re dont les individus coordonnent leurs mouvement pour se dŽplacer. [Robinson 93] dŽcrit de m•me lÕutilitŽ dÕun casier ˆ clŽ dans un h™tel. Le casier donne un mod•le rŽduit de lÕoccupation de lÕh™tel utile pour dŽcider de lÕattribution des chambres. LÕusage de la note Žcrite dans le casier sert aussi ˆ coordonner les Žchanges de messages avec lÕoccupant de la chambre lorsque celui-ci est absent. Pour tenir compte du r™le des objets dans la coordination, nous proposons la dŽÞnition suivante: Un objet de coordination est un objet qui sert ˆ un moment donnŽ ˆ coordonner les activitŽs des individus. Les objets de coordination traduisent sous forme matŽrielle des protocoles de coordination [Schmidt & Simone 96]. Par exemple les clŽs et les serrures donnent lÕacc•s aux immeubles, aux pi•ces ou aux tiroirs, aux seules personnes autorisŽes. Ils reprŽsentent la transformation en objet dÕun mŽcanisme de partage. Schmidt et Simone remarquent que les objets de coordination laissent aux individus la possibilitŽ de contr™ler lÕexŽcution du protocole pour Žventuellement lÕadapter aux situations particuli•res. Ils dŽcrivent ainsi le syst•me des kanbans. Le kanban est un artefact utilisŽ pour assurer une production en ßux tendu dans lÕindustrie, par exemple dans une usine de matŽriel optique. Il sert de base ˆ un mŽcanisme de coordination entre ateliers liŽs par des dŽpendances de type producteur ˆ consommateur. Kanban est un mot japonais qui signiÞe ÒcarteÓ. Le protocole kanban est constituŽ dÕun ensemble de 1. ÒCommon artefactÓ. 2. Òwe will use the term Ôartifactually imprinted protocolÕ to denote any protocol, coordinative or otherwise, which is objectiÞed in an artifactÓ. Objets de coordination 31 cartes reprŽsentant des ordres de production et dÕun ensemble de r•gles. Une des r•gles stipule que pour produire un certain nombre dÕunitŽs dÕun certain produit, il faut possŽder un kanban lÕautorisant. Les ateliers se coordonnent en faisant circuler des kanbans pour ajuster leur production. Un atelier produisant des biens pour un autre atelier produit une quantitŽ de biens Žquivalente aux kanbans en sa possession. LorsquÕil livre les biens produits ˆ un atelier consommateur, il lui remet aussi les kanbans correspondants. LÕatelier consommateur ne les retourne ˆ lÕatelier producteur quÕapr•s avoir utilisŽ les biens rŽcupŽrŽs. Le kanban donne une certaine libertŽ aux utilisateurs pour adapter les r•gles ˆ la situation. Si les commandes diminuent les producteurs peuvent retirer des kanbans de la circulation pour ralentir le rythme de la production. Inversement les consommateurs peuvent anticiper le retour des kanbans aux producteurs pour prŽparer une augmentation des commandes. La mobilitŽ est une propriŽtŽ caractŽristique de certains objets de coordination. Ainsi dans le contr™le aŽrien lÕespace est divisŽ en secteurs. Les avions traversent diffŽrents secteurs pendant leur vol, chaque secteur Žtant sous la responsabilitŽ dÕune paire de contr™leurs. A chaque instant il est important que lÕavion soit sous la responsabilitŽ dÕune seule paire de contr™leurs, pour Žviter quÕil re•oive des ordres contradictoires. Le mŽcanisme de partage qui simpliÞe cette coordination est basŽ sur lÕimpression dÕune bande de papier, ou strip, sur la position de contr™le, quelques minutes avant lÕarrivŽe de lÕavion. Le strip est une sorte dÕobjet mobile qui permet aux contr™leurs de gŽrer le moment de leur prise en charge dÕun avion. Il matŽrialise symboliquement lÕavion : Òla circulation du strip dans la salle et dans le rŽseau tout entier, cÕest la matŽrialisation de la circulation du flux du trafic aŽrien que les contr™leurs peuvent ainsi sÕapproprierÓ ([Poirot-Delpech 95] page 36). Les contr™leurs prennent en compte un avion seulement lorsque son strip a ŽtŽ imprimŽ et que le pilote sÕest manifestŽ sur une frŽquence radio donnŽe. LÕexistence du strip et la r•gle du contact radio garantit lÕattribution dÕun avion ˆ une seule position de contr™le ˆ la fois. Les exemples du kanban et du strip dŽcrivent des objets de coordination mobiles dont la manipulation nÕest que partiellement contrainte. Les individus peuvent conserver lÕobjet de coordination et dŽcider du moment opportun pour les transmettre ou pour transmettre la responsabilitŽ associŽe ˆ lÕobjet. Dans le cas des strips, imprimŽs par un syst•me informatique de gestion des plans de vol, cÕest le contr™leur qui dŽcide du moment o• il laisse passer lÕavion sous la responsabilitŽ du secteur suivant. Il transfert lÕavion au secteur suivant en indiquant par la radio au pilote de sÕannoncer sur la nouvelle frŽquence radio. Dans ces deux exemples nous avons Žgalement mentionnŽ lÕexistence de r•gles. Nous allons revenir sur la notion de protocole de coordination pour mieux caractŽriser le lien entre les r•gles et les objets de coordination. 32 Chapitre 2: MŽcanismes de coordination 2.1.2 Protocoles de coordination La dŽÞnition des termes liŽs ˆ la coordination pose de nombreux probl•mes terminologiques. En effet, en appliquant le point de vue de Schmidt et Simone, nous avons prŽsentŽ les objets de coordination comme la traduction des protocoles de coordination. Cependant cette dŽÞnition des protocoles par les objets nous parait insufÞsante. En particulier comme nous lÕavons vu elle nŽcessite dÕintroduire la notion de r•gle associŽe ˆ la manipulation des objets. Pour •tre exhaustif nous devrions Žgalement dŽÞnir les nombreux termes prŽsents dans la littŽrature qui se rapportent plus ou moins ˆ la notion de r•gle comme les mŽthodes, les plans, les routines, les habitudes, les prŽsupposŽs, les conventions, les normes, etc. Notre objectif Žtant de proposer une grille dÕanalyse pour les mŽcanismes de coordination, nous allons limiter notre vocabulaire. La section prŽcŽdente a mis en Žvidence une dimension des mŽcanismes de coordination liŽe ˆ la notion dÕobjet de coordination. Cette dimension correspond ˆ la description des objets et de leurs caractŽristiques (structure physique, mobilitŽ, manipulation conjointe, etc.). La notion de r•gle caractŽrise ˆ notre avis une autre dimension liŽe au contr™le et ˆ lÕinterprŽtation des actions effectuŽes par les individus pour se coordonner, y compris les actions sur les objets de coordination. Nous avons choisi de reprendre le terme protocole de coordination pour caractŽriser cette dimension. Un protocole de coordination est ce qui dŽfinit les actions ˆ effectuer et le sens donnŽ ˆ ces actions pour mener ˆ bien un mŽcanisme de coordination. A partir de cette dŽÞnition nous distinguons trois classes de protocoles de coordination, les procŽdures, les conventions et les normes sociales. Les procŽdures sont des sŽquences dÕactions obligatoires imposŽes par lÕenvironnement pour effectuer une t‰che donnŽe. Par exemple un vote ˆ bulletin secret nŽcessite impŽrativement de choisir un bulletin et de le dŽposer dans une urne. LÕurne rend obligatoire lÕaction de dŽposer le bulletin pour que le vote soit enregistrŽ. Les conventions sont des accords entre un groupe dÕindividus sur la mani•re dÕutiliser un syst•me ou sur une conduite ˆ tenir dans des circonstances donnŽes. Dans un groupe partageant des documents ˆ lÕaide de rŽpertoires partagŽs par exemple, une convention sur le nommage et sur la hiŽrarchie des documents permet dÕidentiÞer les auteurs et la prioritŽ des documents [Mark et al. 97]. Contrairement aux procŽdures, les conventions nÕimposent pas leur application par des mŽcanismes matŽriels. Leur application dŽpend seulement de la bonne volontŽ des individus. Le fait que les conventions ne soient pas imposŽes de lÕextŽrieur donne la possibilitŽ aux individus de les modiÞer ou de les inventer facilement. Dans le domaine du contr™le aŽrien le commutateur marche-arr•t de la radio provoque un grŽsillement audible sur la frŽquence radio au moment des coupures. Cette caractŽristique est ˆ lÕorigine dÕune convention Žmergente qui remplace la convention ofÞcielle de collationnement des ordres radios. Le collationnement consiste ˆ faire rŽpŽter aux pilotes systŽ- Protocoles de coordination 33 matiquement les ordres re•us par un contr™leur. LorsquÕil ne peut-y avoir dÕambigu•tŽ les pilotes prŽf•rent actionner plusieurs fois lÕinterrupteur pour faire entendre des grŽsillements et ainsi signiÞer quÕils ont re•u lÕordre. Cette convention Žmergente permet de gagner du temps et Žvite dÕencombrer la frŽquence. La manipulation de lÕinterrupteur traduit implicitement lÕŽnoncŽ Òbien re•u!Ó. Les normes sociales sont des Òtypes de conduite tr•s largement suivies dans un groupe donnŽ et dont la non-observance est assortie de sanctions explicites ou diffuses, auxquelles les membres de ce groupe donnent une acceptation (adhŽsion) plus ou moins lucide et compl•teÓ [Maisonneuve 96]. Nous distinguons les normes sociales des conventions par le fait que les premi•res ne nŽcessitent pas dÕaccord prŽalable. En pratique la fronti•re entre les deux dŽpend du point de vue de lÕobservateur. En effet, la dŽÞnition de ce qui nŽcessite un accord prŽalable ou non dŽpend des normes sociales de lÕobservateur. Dans le cas des normes sociales, le protocole est dŽÞni par des savoirs-faire implicitement admis et informulŽs. Certaines sont du domaine de la culture, comme les normes qui Þxent les distances interpersonnelles dans la communication en face-ˆ-face, ou les horaires privilŽgiŽs pour donner un rendez-vous dÕaffaire [Hall 66]. ProcŽdures, conventions et normes sociales dŽÞnissent trois classes de protocoles. Suivant les ressources ˆ la disposition dÕun groupe un m•me mŽcanisme de coordination peut reposer sur plusieurs classes de protocoles diffŽrents qui agissent simultanŽment ou non. Ainsi, la prise de parole nŽcessite un mŽcanisme de coordination pour partager lÕespace auditif. Si la conversation a lieu ˆ lÕaide de talkies-walkies, la prise de parole repose sur une procŽdure consistant ˆ appuyer sur un bouton. Si la conversation a lieu dans une salle de cours, la prise de parole repose souvent sur une convention consistant ˆ lever la main avant de parler, convention qui a ŽtŽ expliquŽe par le ma”tre ˆ ses Žl•ves lors de la premi•re le•on. EnÞn pour les conversations ˆ baton-rompu, la posturo-mimo-gestualitŽ et les silences des interlocuteurs fournissent des indices nŽcessaires pour que les normes sociales sufÞsent ˆ dŽterminer les moments o• prendre la parole [Cosnier & Brossard 84]. LÕexemple dÕune vidŽoconfŽrence entre Paris et MontrŽal illustre les conßits qui peuvent na”tre lorsque les individus ne partagent pas les m•mes conventions ou les m•mes normes sociales. Au cours de cette confŽrence, les canadiens utilisaient une convention consistant ˆ considŽrer un silence sufÞsamment long comme le signe que lÕinterlocuteur avait Þni de parler et que la parole Žtait ˆ nouveau disponible. Du c™tŽ fran•ais par contre, la convention en vigueur Žtait de rendre la parole par une phrase du type ÒA vous MontrŽalÓ. Cette diffŽrence entre les deux sites a eu pour consŽquence la monopolisation du temps de parole par les canadiens. En effet ceux-ci nÕhŽsitaient pas ˆ couper la parole aux parisiens d•s quÕils effectuaient une pause prolongŽe entre deux phrases [LŽonard 1997]. 34 Chapitre 2: MŽcanismes de coordination 2.1.3 Information libre Pour complŽter lÕanalyse des mŽcanismes de coordination ˆ partir des objets de coordination et des diffŽrentes classes de protocoles il nous reste ˆ dŽcrire ce qui permet aux individus dÕappliquer et dÕinventer les protocoles. Nous retenons de [Robinson 93] la notion de communication implicite. Pour Robinson, ÒlÕŽtat des objets de coordination est lisible par rapport ˆ une conventionÓ, ils fournissent Òun ensemble de symboles pour lesquels il existe des r•gles de transformation et de formation qui permettent une communication implicite basŽe sur des conventionsÓ1. En gŽnŽralisant cette idŽe nous dŽÞnissons lÕinformation libre: Une information libre est nÕimporte quel ŽlŽment de lÕenvironnement, ou nÕimporte quel ŽvŽnement survenant dans lÕenvironnement, dont le sens nÕest pas dŽfini de mani•re permanente mais seulement dans le cadre dÕune convention ou dÕune norme sociale. Nous faisons lÕhypoth•se que les individus utilisent de lÕinformation libre disponible dans lÕenvironnement pour appliquer les protocoles et pour inventer des conventions. La notion dÕinformation libre expliquerait lÕintŽr•t des objets de coordination de la mani•re suivante: la transmission dÕun objet est un ŽvŽnement qui peut servir de signal, par exemple dŽclencher une activitŽ, ou indiquer quÕune activitŽ est terminŽe. La signiÞcation de la transmission de lÕobjet nÕest pas ÞxŽe ˆ priori, cÕest une information libre dont le sens dŽpend des circonstances et de lÕobjet en lui-m•me. A ce titre, les propriŽtŽs visuelles de lÕobjet ou la fa•on dont il est transmis sont aussi de lÕinformation libre. De mani•re gŽnŽrale, tout environnement de travail est susceptible de donner plus ou moins de moyens aux individus pour crŽer de lÕinformation libre. Par exemple, dans le cas de lÕutilisation du grŽsillement dÕun interrupteur pour conÞrmer un ordre re•u dÕun contr™leur aŽrien, les pilotes exploitent une caractŽristique secondaire de la technologie. Le strip des contr™leurs aŽriens est aussi ˆ la base de nombreuses conventions qui peuvent sÕexpliquer en terme dÕinformation libre. Le strip Žtant en papier, les contr™leurs sont en mesure dÕinscrire dessus des annotations manuscrites. Ces notes sont assimilables ˆ de lÕinformation libre puisquÕelles nÕont de sens que pour les contr™leurs. Ils utilisent ainsi un langage conventionnel basŽ sur des symboles spŽciaux leur permettant de prŽparer et de suivre ˆ deux les ordres quÕils vont communiquer aux pilotes. Les strips sont rangŽs sur un tableau de strip. La disposition des strips en colonnes sert Žgalement aux contr™leurs ˆ mettre en Žvidence certains avions en dŽcalant la position des strips dans leur colonne. Ce dŽcalage spatial est de lÕinformation libre interprŽtŽe par les contr™leurs en fonction de leurs conventions [Preux 94]. 1. ÒThe state of a common artefact can be read according to convention [É] by providing a set of symbols for which there are formation and transformation rules, they support conventionalised implicit communicationÓ Synth•se 35 Le lien entre information libre et comportements associŽs fait lÕobjet dÕaccords prŽalables dans le cas des conventions. Les conventions dŽÞnissent un code pour traduire de lÕinformation libre en information servant ˆ se coordonner. Avec les normes sociales le lien entre information libre et comportement est inconscient. Dans le cas de certaines normes sociales la nature de lÕinformation libre est un sujet de recherche ouvert. La structure de lÕinteraction entre les individus pourrait •tre de lÕinformation libre. Une corrŽlation a ainsi ŽtŽ Žtablie entre certaines formes rhŽtoriques du discours dÕun orateur, indŽpendamment du contenu du discours, et les applaudissements de lÕauditoire [Bull 90]. La modŽlisation des comportements par des syst•mes dynamiques est une voie de recherche prometteuse pour comprendre lÕinßuence de la structure des interactions sur le comportement en groupe [Vallacher & Nowak 94]. Ce type de modŽlisation ne fait pas appel au contenu sŽmantique des messages ŽchangŽs, mais uniquement aux param•tres physiques (e.g. frŽquence ou dŽlais ŽcoulŽs). Suivant notre hypoth•se ces param•tres physiques sont une forme dÕinformation libre, au m•me titre que les manipulations des objets de coordination. 2.1.4 Synth•se La Þgure 2.1 rŽsume notre grille dÕanalyse des mŽcanismes de coordination. Cette grille reprŽsente deux niveaux dÕanalyse distincts. Le premier niveau correspond aux objets de coordination et ˆ la description de leurs caractŽristiques. Sans faire un inventaire de toutes les caractŽristiques des objets de coordination, nous avons insistŽ sur la mobilitŽ de certains dÕentre eux. Le second niveau correspond aux protocoles de coordination. Nous avons distinguŽ trois classes de protocoles : les procŽdures, les conventions et les normes sociales. Les plus contraignants sont les procŽdures qui imposent des actions. LÕapplication des conventions et des normes dŽpend de la volontŽ des individus. MŽcanisme de coordination Protocole Objet de coordination Norme sociale Convention ProcŽdure Information Libre Figure 2.1. Grille dÕanalyse des mŽcanismes de coordination 36 Chapitre 2: MŽcanismes de coordination LÕinformation libre sert ˆ expliquer le lien entre les objets de coordination et lÕinvention ou la mise en Ïuvre des conventions et des normes sociales. LÕinformation libre nÕest pas forcŽment liŽe aux objets de coordination, elle peut aussi provenir dÕautres sources dans lÕenvironnement comme la structure de lÕinteraction entre les individus. Pour terminer cette analyse des mŽcanismes de coordination, nous prŽsentons Žgalement deux points de vue appartenant ˆ dÕautres horizons thŽoriques que les Žtudes de terrain auxquelles nous avons fait rŽfŽrence: la sociologie de lÕinnovation et la philosophie. Sur le plan de la sociologie de lÕinnovation, il est intŽressant de comparer lÕinvention des mŽcanismes de coordination avec le mŽcanisme de charge dŽcrit dans [Latour 93]. Le mŽcanisme de charge est un processus par lequel des individus poussent dÕautres individus ˆ adopter des conduites particuli•res en agissant sur leur environnement ˆ plusieurs niveaux. Il donne lieu ˆ lÕinvention dÕobjets comme les clefs et les serrures, mais aussi ˆ la modiÞcation des objets existants pour contraindre davantage leur utilisation. Ainsi dans certains h™tels les porte-clefs sont exagŽrŽment encombrants pour rappeler au client de les laisser ˆ lÕaccueil en sortant. Le poids supplŽmentaire traduit en quelque sorte un ŽnoncŽ comme Òramenez vos clefs ˆ lÕaccueil!Ó. Les objets ne sont pas les seuls moyens de forcer certains comportements. Le mŽcanisme de charge qui transforme un ŽnoncŽ en prescription incontournable agit sur plusieurs niveaux simultanŽment: ¥ ¥ ¥ ¥ ¥ ¥ les corps et les mentalitŽs (culture, valeurs, Žthique); les lois et la morale (devoir); lÕenvironnement, sous la forme de signes et de symboles; les objets techniques; lÕintervention de la force (pouvoir et appareil judiciaire); lÕajout de mŽcanismes de contr™le incontournables (modiÞcation des objets). Les niveaux de charge des ŽnoncŽs reprennent les ŽlŽments de notre grille dÕanalyse des mŽcanismes de coordination. Nous retrouvons ainsi la notion dÕobjet servant ˆ favoriser des conduites. La diffŽrence entre norme sociale, convention ou procŽdure se retrouve dans la progression des mŽcanismes de charge depuis les niveaux les plus inconscients (culture, valeurs, Žthique) jusquÕaux niveaux les plus conscients (mŽcanismes incontournables). Sur le plan philosophique, nous avons Žgalement trouvŽ des rŽfŽrences ˆ la notion dÕobjet de coordination et de protocole de coordination, ou de contrat. Ces notions sont discutŽes en particulier par Pierre LŽvy, dans la tradition de Michel Serres. A ce titre lÕextrait suivant [LŽvy 90] rŽsume notre analyse des mŽcanismes de coordination : ÒlÕobjet marque ou trace les relations entretenues par les individus les uns visˆ-vis des autres. Il circule, physiquement ou mŽtaphoriquement, entre les membres du groupe. Il se trouve, simultanŽment ou alternativement, entre les mains de tous. De ce fait, chacun peut-y inscrire son action, sa contribution, son Analyse des mŽcanismes de coordination dans les collecticiels 37 impulsion ou son Žnergie. LÕobjet permet non seulement dÕamener le tout aupr•s de lÕindividu, mais encore dÕimpliquer lÕindividu dans le tout. (...) Le fonctionnement dÕun objet comme mŽdiateur dÕintelligence collective implique toujours un contrat, une r•gle du jeu, une convention. Mais il faut souligner que, dÕune part, la plupart des contrats ne concernent pas la circulation des objets et que, dÕautre part, un contrat (respectivement une r•gle, une loi, une conventionÉ) ne suffit jamais ˆ lui tout seul pour faire Žmerger lÕintelligence collective.Ó A lÕissue de cette partie, nous disposons donc dÕune grille dÕanalyse des mŽcanismes de coordination ˆ deux niveaux: les objets de coordination et les protocoles. Cette grille reprŽsente la synth•se de plusieurs articles sur la coordination et de comptes-rendus dÕobservation. Nous allons ˆ prŽsent lÕappliquer pour analyser les mŽcanismes de coordination dans les collecticiels. 2.2 Analyse des mŽcanismes de coordination dans les collecticiels Pour remplir le requis de la production totale en simpliÞant les mŽcanismes de coordination entre les individus, il faut aussi tenir compte des nouveaux besoins de coordination crŽŽs par les collecticiels. Ces besoins nouveaux sont rŽsumŽs sur le tableau 2.1. Pour chaque type de dŽpendance entre activitŽs (voir le tableau 1.1 page 7), nous donnons un nom pour les mŽcanismes propres aux collecticiels. Ces mŽcanismes remplacent ou sÕajoutent aux mŽcanismes Žquivalents du monde rŽel. La gestion de session correspond aux mŽcanismes de rŽunion. La gestion des conßits correspond aux mŽcanismes de partage. EnÞn la gestion des Žchanges correspond aux mŽcanismes de structuration. Nous allons prŽsenter plusieurs exemples de mise en Ïuvre de ces mŽcanismes avec les collecticiels pour les caractŽriser en fonction de la grille dÕanalyse prŽcŽdente. Nous avons volontairement choisi nos exemples parmi des syst•mes anciens ou qui ne sont pas tr•s rŽpandus dans le public pour essayer de comprendre leurs limitations. 2.2.1 Gestion de session La gestion de session dŽsigne les mŽcanismes mis en Ïuvre au niveau applicatif et au niveau de lÕinterface pour rŽunir simultanŽment des utilisateurs autour dÕune application de partage de donnŽes ou de communication. Au niveau applicatif, la gestion de session correspond ˆ la connexion des applications entre elles, ˆ la transmission de lÕŽtat de la session ˆ tout nouveau participant et ˆ la gestion des dŽconnexions. Au niveau de lÕinterface, elle correspond aux manipulations ˆ effectuer pour dŽclencher la rŽunion. Dans ce contexte, le terme session dŽsigne une sŽance dÕutilisation dÕune application partagŽe par plusieurs individus. La bo”te 38 Chapitre 2: MŽcanismes de coordination DŽpendance Nouveaux besoins Exemple MŽcanisme SimultanŽitŽ Les outils de CMC, les Žditeurs partagŽs et les espaces de travail partagŽs favorisent la rŽunion simultanŽe de plusieurs utilisateurs. Que ces rŽunions soient planiÞŽes ou spontanŽes, elles nŽcessitent lÕinterconnexion des applications ou des Žquipements. NumŽrotation sur le cadran tŽlŽphonique pour obtenir le correspondant. Gestion de session Partage de ressource critique Toutes les donnŽes informatiques partagŽes avec les collecticiels constituent des ressources partagŽes. Les utilisateurs doivent se coordonner pour Žviter dÕeffectuer des opŽrations incohŽrentes sur les donnŽes. Dans un Žditeur de texte partagŽ le texte est la ressource partagŽe susceptible de nŽcessiter des arbitrages, pour Žviter que deux utilisateurs ne modiÞent un mot en m•me temps. Gestion des conßits dÕacc•s Relation de producteur ˆ consommateur LÕaccroissement de la quantitŽ de messages qui circulent augmente la probabilitŽ des dŽpendances de type producteur ˆ consommateur entre les individus. LÕinformatisation dÕune activitŽ entra”ne aussi parfois la suppression des canaux de communication comme la voix ou le papier. Ils sont remplacŽs par des syst•mes de communication Žlectronique qui nŽcessitent des mŽcanismes de coordination pour faire circuler lÕinformation. Dans les applications workßow centrŽes sur les documents, le passage dÕune Žtape dÕun processus ˆ une autre est conditionnŽ par le transfert dÕun document dÕun rŽpertoire vers un autre. Gestion des Žchanges Tableau 2.1 Nouveaux mŽcanismes de coordination dans les collecticiels ˆ outils Groupkit [Roseman & Greenberg 92] va nous permettre de dŽcrire les deux niveaux de la gestion de session ˆ partir dÕun exemple. Description Groupkit fournit des applications telles que tableaux partagŽs, dialogue textuel ou listes dÕidŽes. La premi•re version de Groupkit a ŽtŽ Žcrite en C++, les version suivantes ont ŽtŽ traduites en Tcl/Tk. Au niveau applicatif, lÕenvironnement dÕexŽcution de Groupkit est basŽ sur une architecture centralisŽe par un serveur, le RŽceptionniste, qui mŽmorise lÕensemble des sessions crŽŽes et la liste des participants ˆ chaque session. Au niveau de lÕinterface, la gestion de session requi•re plusieurs opŽrations. Pour commencer les utilisateurs doivent se connecter au RŽceptionniste qui sÕexŽcute sur une adresse connue (port et nom de machine). Cette connexion sÕeffectue ˆ lÕaide dÕun logiciel particulier, le Client, qui afÞche au dŽmarrage la bo”te de dialogue de la Þgure 2.2. Gestion de session 39 Figure 2.2. Connexion au RŽceptionniste avec Groupkit Lorsque lÕutilisateur est connectŽ au RŽceptionniste, le Client afÞche la liste des sessions et des participants dans la bo”te de dialogue de la Þgure 2.3. Celle-ci illustre une conÞguration o• deux sessions ont ŽtŽ crŽŽes (ÒDessin partagŽÓ et ÒOutil de BrainstormingÓ). La session ÒDessin partagŽÓ est actuellement frŽquentŽe par Albert et Isabelle. Deux alternatives sont alors offertes ˆ lÕutilisateur. En premi•re alternative, il peut cliquer sur le nom dÕune session pour la rejoindre. Le Client lance alors lÕexŽcution de lÕapplication liŽe ˆ la session sur la machine de lÕutilisateur et dŽclenche les opŽrations logicielles nŽcessaires pour partager lÕapplication. La Þgure 2.4 reprŽsente un Žditeur de dessin partagŽ obtenu apr•s avoir cliquŽ sur la session ÒDessin partagŽÓ. En seconde alternative, il peut crŽer une nouvelle session en sŽlectionnant un type dÕapplication partagŽe dans un menu. Si lÕobjectif est de partager cette session avec un autre utilisateur, il doit alors attendre que celui-ci rejoigne la session en lan•ant son propre Client puis en sŽlectionnant la session. Figure 2.3. Interface pour manipuler les sessions avec Groupkit TŽlŽpointeur dÕun autre utilisateur prŽsent dans la session Figure 2.4. Session contenant une application de dessin partagŽ Au niveau applicatif, les manipulations de lÕinterface correspondent aux opŽrations logicielles prŽsentŽes sur la Þgure 2.5. En (1) Albert connecte son Client au RŽceptionniste, le Client re•oit la liste des sessions et les participants. En (2) Albert crŽe une nouvelle session ce qui a pour effet de lancer lÕexŽcution de lÕapplication Dessin PartagŽ sur sa machine. En (3) Isa- 40 Chapitre 2: MŽcanismes de coordination belle connecte son Client au RŽceptionniste, son Client re•oit la liste des sessions et les participants. En (4) Isabelle clique sur la session Dessin PartagŽ crŽŽe par Albert, son Client lance alors lÕapplication Dessin PartagŽ sur sa machine. En (5) son Client communique ˆ lÕapplication Dessin PartagŽ la liste des autres applications de dessin partagŽ avec lesquelles elle doit se connecter pour partager ses donnŽes. Serveur RŽceptionniste 1 3 Albert Isabelle Client Client 5 2 Dessin PartagŽ Process Dessin PartagŽ 4 CrŽation de lÕapplication Connexion par socket Figure 2.5. Gestion de session avec Groupkit (1) et (3) connexion au serveur, (2) et (4) lancement en local de lÕapplication partagŽe, (5) connexion des applications partagŽes Discussion La gestion de session avec les mŽcanismes prŽcŽdents fait appel ˆ des mŽcanismes de coordination qui diff•rent de ceux employŽs dans le monde physique. ConsidŽrons ainsi la situation o• lÕon souhaite montrer un document ˆ un coll•gue. Dans le monde physique un scŽnario classique, si le coll•gue est dans un bureau voisin, consiste ˆ le rejoindre et donc Žventuellement ˆ frapper ˆ sa porte avant dÕentrer, puis ˆ dŽposer le document sur son bureau. Un autre scŽnario, au cours dÕune rŽunion en face-ˆ-face, serait de brandir le document dans son champ visuel. Ces deux scŽnarios se caractŽrisent par un objet de coordination mobile (le document lui-m•me) et par lÕappel ˆ des normes sociales (frapper ˆ la porte, brandir le document). Avec Groupkit, lÕopŽration Žquivalente pour montrer un document consiste ˆ se connecter au RŽceptionniste, ˆ crŽer la session, ˆ ouvrir le document ˆ lÕaide de lÕapplication partagŽe, ˆ transmettre lÕadresse Žlectronique du serveur et le nom de la session au coll•gue, puis ˆ attendre quÕil se connecte et sŽlectionne lui aussi la session. La transmission de lÕadresse et du nom de session nŽcessite en elle-m•me le recours ˆ un autre canal de communication, Gestion des conflits dÕacc•s 41 comme un canal tŽlŽphonique ou un canal de discussion textuel. Par rapport ˆ notre grille dÕanalyse nous ne pouvons pas vraiment identiÞer dÕobjet de coordination, puisque les sessions restent abstraites et le document nÕest pas manipulŽ avant le partage. En terme de protocole les interactions avec les bo”tes de dialogue sont assimilables ˆ des procŽdures. Les mŽcanismes de gestion de session prŽcŽdents sont repris dans la bo”te ˆ outils Habanero [25]. Cependant, comme Groupkit et Habanero sont aussi des bo”tes ˆ outils, elles sont extensibles. Il est ainsi possible de proposer dÕautres mŽcanismes de coordination, par exemple pour envoyer une bo”te de dialogue invitant un coll•gue ˆ rejoindre directement une session. IndŽpendamment des procŽdures, les sessions ont un autre inconvŽnient. Il est en effet nŽcessaire de dŽÞnir une session avant de pouvoir partager un document. Dans les cas o• lÕon souhaite partager un document en cours dÕŽdition sur un traitement de texte individuel, la crŽation de la session introduit une discontinuitŽ dans le passage dÕune activitŽ individuelle ˆ une activitŽ de groupe. Nous proposerons une alternative aux sessions basŽe sur un nouveau type dÕobjet de coordination ˆ la page 112. 2.2.2 Gestion des conflits dÕacc•s La gestion des conßits dÕacc•s dŽsigne les mŽcanismes mis en Ïuvre pour Žviter que des ressources critiques ne soient manipulŽes simultanŽment par plusieurs individus. Pour illustrer ces mŽcanismes imaginons quÕIsabelle et Albert aient crŽŽ une session contenant un Žditeur de texte partagŽ. Ils poss•dent alors tous les deux une fen•tre partagŽe montrant le document. SÕils modiÞent tous les deux simultanŽment, ou presque, le m•me mot, ils crŽent un conßit dÕacc•s. Dans la situation de la Þgure 2.6 si Albert efface le mot ÒcommunicationÓ, en haut ˆ gauche, tandis quÕIsabelle le remplace par le mot ÒdiscussionÓ, le rŽsultat Þnal dŽpend de lÕordre dans lequel les opŽrations sont effectuŽes par le logiciel. En lÕabsence de mŽcanisme spŽciÞque cet ordre peut •tre diffŽrent sur les machines de chaque utilisateur. Dans notre exemple le rŽsultat pourrait •tre le remplacement ou bien la suppression du mot. Les mŽcanismes de gestion des conßits servent ˆ Žviter lÕapparition de plusieurs versions du document. CÕest un sujet de recherche classique sur lÕŽdition partagŽe [Shen & Dewan 92]. Les solutions les plus frŽquentes sont la sŽrialisation, lÕattribution de r™le et les verrous. Description La sŽrialisation repose sur un algorithme qui garantit que lÕordre dÕexŽcution des opŽrations sera le m•me sur chaque site, ou que le rŽsultat Þnal sera identique [Karsenty 94b], par exemple en dŽfaisant et en refaisant les opŽrations dans un ordre diffŽrent lorsquÕune incohŽrence est dŽtectŽe [Berlage & Genau 93]. Cette solution ne rŽclame aucune manipulation de la part dÕIsabelle ou Albert, mais elle a cependant pour prix une certaine forme dÕindŽterminisme. En effet, ˆ moins de conna”tre parfaitement lÕalgorithme et le moment prŽcis o• ils ont effectuŽ leurs modiÞcations, Isabelle et Albert seront incapables dÕanticiper le rŽsultat dÕun conßit. Ils doivent donc sÕattendre ˆ tout moment ˆ voir lÕaction quÕils viennent dÕeffec- 42 Chapitre 2: MŽcanismes de coordination tuer remplacŽe par lÕaction de lÕautre. En fait, les Žditeurs partagŽs utilisant la sŽrialisation demandent souvent aux utilisateurs dÕintervenir manuellement si la rŽsolution automatique des conßits entra”ne une forme dÕindŽterminisme. Les deux autres solutions nÕont pas cet inconvŽnient mais elles nŽcessitent des manipulations supplŽmentaires de lÕinterface. Figure 2.6. Contr™le dÕacc•s dans un Žditeur partagŽ LÕattribution de r™les consiste ˆ rŽserver le droit dÕeffectuer certaines modiÞcations uniquement ˆ des individus dont on est sžr quÕils ne lÕutiliseront pas simultanŽment. Pour identiÞer ce droit lÕindividu prend un r™le. Par exemple en crŽant la session Isabelle peut dŽcider dÕ•tre rŽdactrice et rŽserver ˆ Albert le r™le de lecteur. Un lecteur a simplement le droit de lire le texte, il nÕy a donc pas de conßit dÕacc•s entre rŽdacteur et lecteur. Le syst•me Alliance dŽÞnit aussi deux autres r™les supplŽmentaires, le r™le nul et gestionnaire [Decouchant et al. 97]. Les algorithmes ˆ jeton Žvitent les conßits dÕacc•s moyennant lÕajout dans lÕinterface dÕun objet spŽcial baptisŽ verrou. La manipulation des verrous permet dÕassurer ˆ Isabelle ou ˆ Albert lÕexclusivitŽ des modiÞcations du texte ˆ un moment donnŽ. Le verrou correspond ˆ la reprŽsentation graphique du jeton de lÕalgorithme, sous forme dÕun bouton ou dÕune poignŽe de sŽlection pour prendre le contr™le de lÕinteraction [Brinck & Hill 93]. LÕŽditeur Calliope, reprŽsentŽ sur la Þgure 2.6, utilise des verrous [Mitchell 96]. Dans la situation reprŽsentŽe Isabelle a pris le contr™le du mot ÒtakeÓ entourŽ par un rectangle gris reprŽsentant un verrou tandis que Albert a pris le contr™le de tout le second paragraphe (entourŽ Žgalement dÕun cadre gris). Ces opŽrations sont accessibles par un menu dŽroulant. Les zones de texte entourŽes de rectangles gris ne sont modiÞables que par la personne qui poss•de le verrou. Discussion Les Žditeurs partagŽs fonctionnant en mode synchrone reproduisent la situation de rŽdaction en c™te-ˆ-c™te dÕun m•me document. En pratique cette situation est assez rare dans le monde physique, et lorsquÕelle se produit, les individus Žcrivent rarement simultanŽment mais Žcrivent ˆ tour de r™le en se passant le stylo ou bien se coordonnent spontanŽment par lÕintermŽdiaire de leurs gestes pour Žviter de se g•ner. Par rapport ˆ notre grille dÕanalyse, lÕobjet de Gestion des Žchanges 43 coordination est donc le stylo, ou bien la craie dans le cas de lÕŽcriture sur un tableau, et les protocoles sont les normes sociales de politesse pour contr™ler ses gestes ainsi que les conventions consistant ˆ donner le stylo ou ˆ orienter la feuille vers lÕautre pour lui indiquer son tour. Avec Calliope, les objets de coordination correspondent aux verrous. De m•me, les r™les peuvent •tre considŽrŽs comme des objets abstraits. Les protocoles qui sÕappliquent ˆ ces objets sont des procŽdures liŽes aux opŽrations de manipulation des menus. Les Žditeurs partagŽs fonctionnant en mode asynchrone conservent parfois les mŽcanismes ˆ base de r™les ou de verrous pour Žviter les conßits au moment de la mise en commun du document. Dans le monde physique, si plusieurs auteurs dŽcident dÕintervenir sur un m•me document, ils peuvent se partager les feuilles du document avant de se sŽparer pour Žviter de modiÞer les m•mes parties. Le document devient ainsi un objet de coordination mobile. SÕils prŽf•rent conserver chacun une copie du document, ils peuvent aussi laisser des marques dans les marges du document pour indiquer les endroits quÕils doivent modiÞer. Ces marques sont une forme dÕinformation libre. Contrairement aux verrous, les marques nÕemp•chent pas les individus dÕintervenir sur le document, elles les aident ˆ se coordonner dans le cadre dÕune convention. 2.2.3 Gestion des Žchanges La gestion des Žchanges dŽsigne les mŽcanismes ˆ mettre en Ïuvre pour coordonner les Žchanges dÕinformation entre les individus. Par exemple, si lÕon consid•re la gestion des tours de parole en face-ˆ-face comme une mŽcanisme de gestion des Žchanges, alors son remplacement par des canaux de communication textuels nŽcessite la mise en Ïuvre de mŽcanismes pour coordonner les Žchanges de messages. Description Le remplacement des conversations vocales ou des notes manuscrites par des Žchanges de messages Žlectroniques sÕeffectue souvent sous la forme de syst•mes ˆ base de formulaires. Les conversations sont analysŽes au prŽalable et diffŽrents types de messages sont dŽÞnis. LÕanalyse des conversations proposŽe par [Winograd & Flores 86] sÕinspire de la thŽorie des actes de langage [Austin 62]. Pour Winograd et Flores, les messages ŽchangŽs au cours dÕune conversation poss•dent en plus de leur contenu une valeur dÕaction. Ils reprŽsentent un engagement1 rŽciproque entre les individus. Suivant le type dÕengagement reprŽsentŽ par une intervention, les r•gles conversationnelles limitent les mani•res possibles de poursuivre la conversation. Par exemple une demande crŽe un engagement entre le demandeur et son interlocuteur. Cet engagement oblige lÕinterlocuteur ˆ donner une rŽponse qui crŽe un nouvel engagement. Les Žchanges continuent ainsi jusquÕˆ ce que les deux interlocuteurs dŽcident 1. ÒCommitmentÓ. 44 Chapitre 2: MŽcanismes de coordination de la Þn de la conversation. Dans le m•me temps ils effectuent les actions correspondant ˆ leurs engagements. 1 A: requ•te B: promesse 2 c tra rŽ ac A: B: assertion 4 A: dŽclaration 5 A: A: rŽtractation tat io 6 n B: reniement A re nt co tre on :c co rd B: B: rejet A: rŽtractation A: dŽclaration 3 A: rejet B: rŽtractation 8 7 9 Figure 2.7. RŽseau de conversation pour lÕaction A partir de cette thŽorie, Winograd et Flores dŽcrivent les conversations par un graphe dÕŽtat. Chaque message ŽchangŽ par les individus dŽclenche un changement dÕŽtat de la conversation qui est fonction de lÕengagement pris. Le ÒrŽseau de conversation pour lÕactionÓ reprŽsentŽ sur la Þgure 2.7 reprŽsente toute une classe de conversations. Suivant le but des conversations il est possible de construire des rŽseaux diffŽrents. Les conversations analysŽes peuvent •tre reproduites avec des formulaires. Par exemple le rŽseau de conversation pour lÕaction a servi a dŽÞnir les catŽgories de messages du syst•me The Coordinator (voir notre description page 17). Discussion Les champs des formulaires contiennent les m•mes informations que les conversations prŽalablement analysŽes. Les rŽponses donnŽes ˆ une bo”te de dialogue provoquent diverses actions basŽes sur les informations saisies. La Þgure 2.8 montre un exemple imaginaire de bo”te de dialogue pour remplacer les nŽgociations tŽlŽphoniques entre contr™leurs aŽriens. Les syst•mes de gestion des Žchanges ˆ base de formulaires crŽent des procŽdures de coordination correspondant aux opŽrations de saisie formatŽe des champs ou de sŽlection des catŽgories de messages. Ce sont des procŽdures au sens ou lÕenvironnement impose des opŽrations aux individus. Les syst•mes ˆ base de formulaire ont aussi pour dŽfaut de Þltrer lÕinformation libre disponible. Par exemple les Þches papiers accompagnant certains processus de coordination contiennent souvent des annotations dans la marge comprŽhensibles par leurs utilisateurs seuls et qui Žchappent aux syst•mes workßow. Une Žtude de terrain citŽe dans [Harris & Henderson 99] a mis en Žvidence cette lacune dans une imprimerie o• le nouveau syst•me workßow a ŽtŽ doublŽ pendant plusieurs mois par la manipulation en parall•le des Þches papiers. Gestion des Žchanges 45 Figure 2.8. Peut-on nŽgocier avec une bo”te de dialogue? Lorsque lÕancien syst•me ne peut pas •tre conservŽ parall•lement au nouveau, le remplacement des canaux traditionnels par les syst•mes workßow modiÞe le comportement des individus. CÕest ce qui sÕest produit lors de la connexion entre lÕactivitŽ du service apr•s vente et les service de facturation centraux dÕune entreprise de matŽriel Žlectrique [May•re & Garibbo-Peyrelong 98]. La connexion a ŽtŽ rŽalisŽe par lÕattribution dÕun numŽro ˆ chaque affaire traitŽe. Ce numŽro commande les opŽrations successives jusquÕˆ la sŽlection des pi•ces de rechange en magasin avant toute intervention. Le choix des pi•ces de rechange est remontŽ ˆ un chargŽ dÕaffaire autorisant les interventions lorsque tous les champs requis sont complŽtŽs. En pratique les pi•ces sŽlectionnŽes ˆ partir de la liste informatique ne correspondent pas toujours aux besoins rŽels de lÕintervenant, provoquant de fausses interventions. LÕentreprise a tentŽ dÕy remŽdier en standardisant les procŽdures dÕintervention et les pi•ces produites, ce qui a eu pour consŽquence de dŽresponsabiliser les intervenants devenus incapables de rŽagir aux alŽas. En rŽsumŽ, le tableau 2.2 reprend les caractŽristiques des trois types de mŽcanismes de coordination que nous avons identiÞŽs dans les collecticiels. Les exemples retenus ne sont pas reprŽsentatifs de tous les collecticiels, mais ils caractŽrisent une approche rŽpandue. Pour discuter de cette approche et pour lui opposer dÕautres alternatives, nous allons dŽÞnir la souplesse sociale dÕun syst•me. MŽcanisme Objets de coordination Protocole Gestion de session Session (abstrait, invisible, non mobile, non manipulable) ProcŽdures: - saisie de lÕadresse du serveur - sŽlection de la session Bo”te de dialogue (non mobile, non partagŽe) Gestion des conßits Verrou (visible mais non mobile, pas toujours manipulable directement) R™le (non mobile, non manipulable, abstrait) ProcŽdures: - prise ou libŽration de verrous - attribution des r™les Gestion des Žchanges Formulaire avec champs prŽdŽÞnis (visible, non mobile, pas manipulŽ en commun) ProcŽdure: - remplir les champs du formulaire - sŽlectionner le type de contenu dÕun message Tableau 2.2 RŽsumŽ de plusieurs mŽcanismes de coordination dans les collecticiels 46 Chapitre 2: MŽcanismes de coordination 2.3 Notion de souplesse sociale des collecticiels Les mŽcanismes de gestion de session, de gestion des conßits, ou de gestion des Žchanges prŽsentŽs dans la partie prŽcŽdente illustrent le contr™le technique de la coordination, cÕestˆ-dire la traduction des protocoles sous la forme de procŽdures [Bentley & Dourish 95]. Au contraire le contr™le social de la coordination se caractŽrise par la possibilitŽ donnŽe aux utilisateurs de dŽÞnir eux-m•mes leurs propres conventions pour se coordonner, ou dÕappliquer leurs normes sociales. Pour rŽßŽchir aux moyens de passer dÕun contr™le technique ˆ un contr™le social, nous allons dŽÞnir la notion de souplesse sociale. Nous prŽsenterons ensuite lÕapproche frŽquente pour introduire de la souplesse sociale dans les collecticiels par la personnalisation des mŽcanismes de coordination. La Þgure 2.9 rŽsume de mani•re symbolique les diffŽrences entre contr™le technique et contr™le social. Avec le contr™le technique il nÕy a pas ou peu dÕobjets de coordination et les protocoles sont principalement des procŽdures. M•me si les procŽdures sont visibles sous forme dÕobjets dans lÕinterface, comme les verrous ou les formulaires, leur manipulation est fortement contrainte et ils ne peuvent pas servir ˆ faire autre chose que se coordonner. Le syst•me Þltre lÕinformation libre disponible. Avec le contr™le social les objets de coordination et lÕinformation libre servent aux utilisateurs pour inventer des conventions et appliquer des normes sociales. MŽcanismes de coordination Normes Conventions ProcŽdures Contr™le social Objets de coordination Contr™le technique Normes Conventions Objets de coordination ProcŽdures Figure 2.9. Contr™le technique ou contr™le social DŽfinition La souplesse sociale dÕun syst•me est son potentiel ˆ faire Žmerger et appliquer des conventions et des normes sociales plut™t quÕˆ imposer des procŽdures. Notion de souplesse sociale des collecticiels 47 La souplesse sociale est la propriŽtŽ associŽe au contr™le social. Pour tenir compte de tous les mŽcanismes de coordination, il nous semble que le concepteur devrait rŽpondre aux questions suivantes: ¥ ¥ ¥ la souplesse sociale est-elle une propriŽtŽ souhaitable, dans quelles conditions? comment introduire (resp. limiter) la souplesse sociale dans un syst•me? la souplesse sociale est-t-elle quantiÞable, existe-t-il une mesure objective? La premi•re question se rŽf•re explicitement au contr™le social opposŽ au contr™le technique. Si la souplesse sociale est souhaitable, la diffŽrence entre un syst•me bien con•u et un syst•me mal con•u mais utilisŽ avec succ•s rŽside dans les efforts supplŽmentaires dÕinventivitŽ demandŽs aux utilisateurs pour adapter le syst•me mal con•u. LÕobjectif dÕune bonne conception devrait •tre de limiter ces efforts. La deuxi•me question poss•de au moins deux rŽponses. La premi•re est de laisser aux utilisateurs la possibilitŽ de modiÞer les procŽdures de coordination dans leurs outils. CÕest le but de la personnalisation. La seconde rŽponse se base sur lÕobservation de la capacitŽ des individus ˆ faire Žmerger des conventions ˆ partir de lÕinformation libre. Elle est de concevoir des syst•mes qui engendrent davantage dÕinformation libre. Cette solution nÕexclut pas la personnalisation qui peut Žgalement servir ˆ ajouter de lÕinformation libre. La troisi•me question nÕa pas de rŽponse Žvidente. Nous proposerons une mesure ˆ la Þn du chapitre suivant en associant souplesse sociale et information libre. Nous revenons ˆ prŽsent sur la rŽponse traditionnelle ˆ la deuxi•me question. Personnalisation de la coordination La personnalisation est lÕapproche la plus frŽquente pour donner aux utilisateurs les moyens dÕadapter les mŽcanismes de coordination ˆ leurs besoins, ou dÕen inventer de nouveaux. La personnalisation peut servir ˆ modiÞer le comportement du logiciel, mais Žgalement ˆ ajouter de lÕinformation libre, par exemple en envoyant des signaux de notiÞcation divers. Un exemple tr•s rŽpandu de personnalisation consiste ˆ ajouter une fonction de notiÞcation au logiciel de courrier Žlectronique pour •tre prŽvenu de lÕarrivŽe des nouveaux messages. La personnalisation peut sÕeffectuer sur le plan individuel, chaque utilisateur modiÞant uniquement son propre poste de travail, sur le plan collectif, par lÕŽchange des conÞgurations, ou bien par la dŽcision collective dÕune personnalisation particuli•re. CÕest une fonctionnalitŽ cožteuse ˆ implŽmenter pour les concepteurs car elle nŽcessite une architecture logicielle et un style de programmation adaptŽs. La personnalisation des collecticiels sÕapplique ˆ diffŽrents niveaux et sur plusieurs types de langages [Bentley & Dourish 95]. Bentley et Dourish distinguent trois niveaux de personnalisation: ¥ Le niveau des prŽfŽrences Les prŽfŽrences indiquent des choix de valeurs pour les caractŽristiques de surface de lÕinterface comme les couleurs, la langue, ou bien la disposition des ŽlŽments de lÕinterface. 48 Chapitre 2: MŽcanismes de coordination ¥ Le niveau de la paramŽtrisation La paramŽtrisation consiste ˆ choisir le comportement du logiciel ˆ travers plusieurs alternatives pour rŽaliser une m•me fonction, ou bien ˆ Þxer des param•tres de contr™le des algorithmes. [Bentley & Dourish 95] donne des exemples de param•tres tels que la granularitŽ ou bien la frŽquence des mises ˆ jours agissant sur la distribution de donnŽes dans les Žditeurs partagŽs. ¥ Le niveau de la programmation Ce niveau donne acc•s au mod•le interne de fonctionnement du syst•me et autorise la redŽÞnition de celui-ci ˆ lÕaide dÕun vŽritable langage, Žventuellement le m•me que celui servant ˆ Žcrire le syst•me. [Edwards 95] prŽsente un syst•me de contr™le dÕacc•s basŽ sur lÕŽvaluation dynamique de prŽdicats plut™t que sur des listes de contr™le dÕacc•s. Les utilisateurs peuvent Žcrire leurs propres prŽdicats, en Python, et les ÒtŽlŽchargerÓ dans le serveur qui g•re le partage des donnŽes. Un prŽdicat dynamique par exemple peut prŽvenir le propriŽtaire dÕun Þchier d•s quÕun autre utilisateur cherche ˆ lÕouvrir. Parmi les langages de personnalisation Bentley et Dourish distinguent trois catŽgories que nous complŽtons par une quatri•me, la programmation visuelle: ¥ Les listes attributs-valeurs Ce sont des listes dÕattributs et de valeurs associŽes. Les attributs dŽsignent des ŽlŽments de lÕinterface. Les attributs sont souvent dŽsignŽs ˆ partir dÕun syst•me de nommage hiŽrarchique calquŽ sur la hiŽrarchie de composition des ŽlŽments de lÕinterface. La personnalisation des ressources dans le syst•me X-window repose sur ce type de listes. ¥ Les macros Les macros fournissent des langages spŽcialisŽs pour composer les opŽrations accessibles sur lÕinterface en de nouvelles opŽrations plus complexes. Le niveau dÕexpressivitŽ des macros dŽpend des fonctionnalitŽs accessibles depuis lÕinterface. Les langages de macro sont parfois Žtendus avec des instructions conditionnelles et des structures itŽratives. ¥ Les API (Application Programmer Interface) Les interfaces de programmation exposent une partie des fonctionnalitŽs dÕun syst•me et dŽÞnissent un ensemble de points dÕentrŽe1. LÕAPI autorise la redŽÞnition des fonctions du syst•me ou lÕextension du syst•me en associant de nouvelles fonctions aux points dÕentrŽe. Une fa•on dÕouvrir lÕAPI dÕune application pour la personnaliser consiste ˆ plonger un interprŽteur de langage dans lÕapplication et ˆ exposer le mod•le des donnŽes de lÕapplication ˆ travers une extension du langage interprŽtŽ. Cette exposition rend accessible 1. Fonctions appelŽes par le syst•me sous certaines conditions. Conclusion 49 les donnŽes sous la forme de nouveaux types dans le langage interprŽtŽ. Parmi les interprŽteurs frŽquemment utilisŽs citons Tcl, Perl, ou bien Scheme. ¥ La programmation visuelle La programmation visuelle permet Žgalement de manipuler une API de lÕapplication, mais sans nŽcessiter lÕapprentissage dÕun langage de programmation. OVAL sert ˆ construire des syst•mes dÕŽchange de messages, ˆ partir de la modiÞcation dÕune application initiale [Malone et al. 92]. Les modiÞcations sont saisies ˆ lÕaide de graphes et de bo”tes de dialogue. OVAL expose son mod•le fonctionnel sous la forme de quatre types dÕobjets de premier ordre: objet, vue, agent et lien. En rŽsumŽ, la personnalisation transforme les utilisateurs en concepteurs. Elle leur permet de dŽÞnir leurs propres mŽcanismes de charge ˆ travers des niveaux et des langages de personnalisation variŽs. La personnalisation ˆ lÕaide de mŽthodes de programmation et dÕAPI est de loin la plus puissante, mais elle nŽcessite Žgalement un apprentissage de la part des utilisateurs. Pour cette raison, nous allons rechercher dÕautres moyens dÕintroduire de la souplesse sociale dans les collecticiels dans les chapitres suivants. 2.4 Conclusion Les mŽcanismes de coordination avec et sans les collecticiels sont inscrits ˆ plusieurs niveaux. Au niveau le plus implicite les normes sociales indiquent des comportements ˆ suivre dans une situation donnŽe. Les conventions indiquent Žgalement des r•gles de conduite mais elles reposent sur un accord prŽalable entre les individus. Elles sont susceptibles dÕ•tre aisŽment et rapidement modiÞŽes. EnÞn, au niveau le plus explicite les procŽdures sont inscrites dans la technologie ou dans les objets de lÕenvironnement sous forme de mŽcanismes incontournables. Normes sociales, conventions et procŽdures dŽÞnissent les protocoles de coordination. Les protocoles sÕappuient aussi sur des objets de coordination et sur de lÕinformation libre. La manipulation et la circulation des objets de coordination sont souvent peu contraintes dans le monde physique. Les collecticiels qui m•lent ordinateurs et groupes dÕindividus se situent ˆ un carrefour de protocoles de coordination. DÕun c™tŽ les algorithmes qui assurent leur fonctionnement se traduisent parfois sous forme de procŽdures de coordination pour les utilisateurs. De lÕautre ils ne doivent pas emp•cher les individus de reconna”tre et dÕappliquer leurs propres protocoles pour obtenir un contr™le social de la coordination. Nous avons dŽcrit les diffŽrences entre les protocoles techniques et les protocoles sociaux. A lÕissue de ce chapitre il nous semble que lÕadoption relativement lente des collecticiels, comme les Žditeurs partagŽs, est due ˆ lÕapproche du contr™le technique. Cette approche pose la question de lÕapport des collecticiels sur la coordination en ces termes: quelles procŽdures techniques peuvent aider les humains ˆ collaborer? Pour la suite de cette th•se nous aimerions renverser cette interroga- 50 Chapitre 2: MŽcanismes de coordination tion et poser la question suivante: comment tirer partie des protocoles sociaux pour simpliÞer la conception des collecticiels? Chapitre 3 Communication Pour se rapprocher de lÕidŽal de la communication totale les collecticiels devraient donner les moyens de compenser les pertes dÕinformation dans la communication. Dans le premier chapitre, nous avons dŽcrit plusieurs syst•mes con•us pour amŽliorer la communication entre les individus. Ces syst•mes sont basŽs sur des communications verbales utilisant la voix ou bien lÕŽchange de messages textuels. La vidŽo est un moyen pour ajouter des formes de communication non verbale (ou CNV) comme la posturo-mimo-gestualitŽ. Mais la communication non verbale ne se limite pas ˆ lÕapparence que chacun renvoie de lui-m•me par ses postures, ses gestes ou ses expressions faciales. Les sciences de la communication enseignent que le sens des communications Žmerge de lÕinteraction de multiples ŽlŽments comme les distances maintenues par les individus entre eux ou lÕarchitecture. Les collecticiels enrichissent Žgalement lÕenvironnement des individus avec des donnŽes Žlectroniques qui nÕont pas dÕexistence physique. Ces donnŽes sont autant de nouveaux ŽlŽments dont les individus peuvent tirer partie pour inventer de nouvelles formes de communication non verbale. LÕobjectif de ce chapitre est de sÕinterroger sur la capacitŽ et sur la pertinence pour les collecticiels ˆ reproduire ou ˆ inventer des formes de communication non verbale entre les individus. Notre analyse est guidŽe par deux approches. Dans la premi•re partie, nous dŽcrivons une approche issue des sciences de la communication. Cette approche analyse la communication par rapport ˆ un ensemble de contextes en interaction les uns avec les autres. Nous Žtudierons la reproduction de ces contextes avec les collecticiels. Dans la seconde partie, nous dŽcrivons une approche complŽmentaire centrŽe sur le comportement individuel comme canal de communication. Cette approche, inspirŽe de la psychologie sociale, nous servira ensuite ˆ prŽsenter et ˆ analyser les limites de la conscience mutuelle et de la rŽtroaction de groupe dans les collecticiels. EnÞn dans la troisi•me partie nous revenons sur la notion dÕinformation libre prŽsentŽe au chapitre prŽcŽdent pour la mettre en rapport avec les formes de communication non verbale. 52 Chapitre 3: Communication 3.1 Approche centrŽe sur les contextes de la communication Les sciences de la communication dŽÞnissent une communication comme Žtant toute production humaine ˆ propos de laquelle un observateur est capable de trouver un sens dans la situation de production [Muchielli et al. 98a]. Par exemple lorsquÕune entreprise crŽe un nouvel atelier, lÕagencement de lÕatelier et les r•glements rŽgissant le travail sont des communications organisationnelles qui prennent un sens dans le contexte de lÕentreprise et de ce que lÕon y produit. LÕŽcole de Palo-Alto a insistŽ sur lÕidŽe selon laquelle le sens dŽpend du contexte dans lequel on consid•re la communication [Winkin 81]. Par exemple le rangement des strips effectuŽs par les contr™leurs sur le tableau de strips prend son sens par rapport ˆ la situation du traÞc aŽrien dans le secteur de contr™le concernŽ. SÕil est nŽcessaire dÕinterprŽter le sens des communications par rapport ˆ un ou plusieurs contextes, la question se pose de savoir sÕil est pertinent de transmettre ces contextes et sous quelle forme. CÕest pour proposer des ŽlŽments de rŽponse ˆ cette question que nous prŽsentons la thŽorie des processus de la communication. 3.1.1 ThŽorie des processus de la communication La thŽorie des processus de la communication fait une synth•se de nombreux travaux dans le domaine des sciences de la communication [Muchielli et al. 98a]. Elle consid•re tous les phŽnom•nes de communication verbaux ou non. DÕapr•s cette thŽorie, le sens de ce qui est exprimŽ par les individus se dŽÞnit par rapport aux contextes suivants: ¥ Contexte spatial: disposition et proportion des lieux (position des chaises dans une salle de rŽunion, etc.), distances maintenues par les individus entre eux, distances et formes dans lÕarchitecture et lÕurbanisme. Il est lÕobjet de la proxŽmique [Hall 66]. ¥ Contexte physique et sensoriel: ŽlŽments sensoriels qui arrivent aux diffŽrents sens (vue, ou•e, proprioception, odorat, toucher). Les gestes et les postures corporelles sont lÕobjet de la kinŽsique ([Winkin 81], page 160). ¥ Contexte temporel: rŽfŽrences temporelles du discours (rŽfŽrence au passŽ, au futur, ˆ lÕhistoire, etc.) et durŽes des ŽvŽnements. Dans une rŽunion, le temps consacrŽ ˆ chaque sujet dŽÞnit un contexte temporel. ¥ Contexte de positionnement: positionnement hiŽrarchique et social des interlocuteurs entre eux. Ce contexte est manipulŽ par des marqueurs linguistiques comme le tutoiement, mais aussi par des jeux relationnels de domination et de subordination. Les jeux relationnels sont ŽtudiŽs par lÕanalyse transactionnelle [Bern 64]. Contextes objectifs, contextes subjectifs ¥ Contexte des normes (ou normatif): r•gles supposŽes partagŽes et respectŽes par les individus. La rŽfŽrence ˆ ces r•gles est implicite dans la communication et permet dÕinterprŽter le sens des comportements. LÕŽthnomŽthodologie Žtudie lÕensemble des r•gles et des mŽthodes qui facilitent les interactions entre les individus [Coulon 96]. ¥ Contexte relationnel: sentiments de sympathie et dÕantipathie entre les individus. Le contexte qualitatif conditionne la poursuite ou non de la communication et la nŽgociation de sa forme. Dans le langage oral il est manipulŽ par la fonction phatique du langage, cÕest-ˆ-dire les expressions permettant de donner des indices dÕune Žcoute attentive ˆ son interlocuteur. La sociomŽtrie Žtudie les groupes en fonction des afÞnitŽs entre les individus [Moreno 54]. ¥ Contexte identitaire: afÞrmation de la personnalitŽ des individus les uns par rapport aux autres. La manipulation du contexte de lÕexpression identitaire a pour objectif de ne pas Òperdre la faceÓ dans les situations publiques. Le concept de ÒfaceÓ est au centre de lÕinteractionnisme Goffmanien [Goffman 67]. 53 Les contextes prŽcŽdents servent ˆ dŽÞnir le sens des communications. RŽciproquement, leur manipulation par les individus leurs permet de communiquer. Ainsi durant une conversation en face-ˆ-face les individus ont tout loisir de se rapprocher ou de sÕŽcarter, de hausser le ton ou de prendre un ton de conÞdence, dÕabrŽger ou dÕallonger le temps passŽ ˆ Žvoquer un sujet, de se tutoyer ou de se vouvoyer, de sourire ou de froncer les sourcils, etc. Toutes ces expressions sont des manipulations des contextes qui servent ˆ modiÞer le sens des communications. 3.1.2 Contextes objectifs, contextes subjectifs Les contextes de la communication ne sont pas tous observables directement. Nous distinguons les contextes directement basŽs sur des signaux de lÕenvironnement, ou contextes objectifs, et les contextes basŽs sur des connaissances partagŽes par les individus, ou contextes subjectifs. Cette distinction est un ajout nŽcessaire ˆ la thŽorie des processus de la communication pour comprendre les moyens de transmission des contextes disponibles avec les collecticiels. Les contextes objectifs sont extŽrieurs aux individus. Ils sont observables sous forme de signaux qui existent tels quels dans lÕenvironnement. Ils sont reproductibles par la capture et la transmission de ces signaux. Ce sont les contextes spatial, physique, sensoriel, ainsi que temporel. Les collecticiels introduisent en outre des reprŽsentations nouvelles dans lÕenvironnement. Ces reprŽsentations correspondent, par exemple, aux vues des donnŽes Žlectroniques partagŽes qui nÕont pas dÕexistence physique. Pour tenir compte de ces nouvelles reprŽsentations, nous dŽÞnissons un nouveau contexte: le contexte visuel. Le contexte visuel est le contexte associŽ ˆ la reprŽsentation visuelle de lÕenvironnement de travail des utilisa- 54 Chapitre 3: Communication teurs, quÕil sÕagisse de lÕenvironnement physique ou des donnŽes Žlectroniques partagŽes. Le contexte visuel reprend donc en partie le contexte physique et sensoriel. Les contextes subjectifs nÕexistent pas ˆ proprement parler dans lÕenvironnement, mais dans une reprŽsentation de la situation de communication intŽriorisŽe par les individus. Ils reposent sur lÕinterprŽtation des signaux de lÕenvironnement, en particulier ceux fournis pas les contextes objectifs. Ce sont les contextes de positionnement, normatif, relationnel et identitaire. Par exemple, la reconnaissance de la fonction hiŽrarchique dÕun individu fait partie du contexte de positionnement. Elle est dirigŽe en partie par sa fa•on de sÕexprimer et par son habillement, et en partie par lÕidŽe que chacun se fait de la fa•on de sÕexprimer et de la tenue associŽe ˆ une fonction donnŽe. Contextes objectifs ¥ spatial ¥ physique et sensoriel ¥ temporel ¥ visuel InterprŽtation Contextes subjectifs ¥ de positionnement ¥ normatif ¥ relationnel ¥ identitaire Figure 3.1. Lien entre les contextes de la communication La Þgure 3.1 rŽsume le lien entre les contextes objectifs et les contextes subjectifs. La construction des contextes subjectifs dŽpend dÕun processus dÕinterprŽtation des contextes objectifs et Žgalement des contextes subjectifs eux-m•mes. Ce bouclage rend compte du caract•re dynamique de la construction du sens des communications qui Žmerge en cours de lÕinteraction et nÕest pas donnŽ ˆ priori. LÕun des buts de la communication consiste pour les individus ˆ faire partager leurs contextes subjectifs pour construire collectivement le sens des communications. En particulier, parmi les contextes subjectifs qui Þxent le sens, les sciences de la communication dŽcrivent un contexte normatif. Ce contexte est ˆ rapprocher des conventions et des normes sociales que nous avons dŽcrites au chapitre 2 ˆ propos des mŽcanismes de coordination. Pour la suite, nous considŽrons que ces deux contextes sont identiques et quÕils servent aussi bien ˆ dŽÞnir des protocoles de coordination quÕˆ dŽÞnir des r•gles pour interprŽter le sens des communications. En considŽrant ainsi un seul contexte normatif pour la coordination et pour la communication, nous rejoignons lÕanalyse de Robinson sui- Reproduction des contextes objectifs par les collecticiels 55 vant laquelle tout syst•me informatique doit prŽserver un niveau de communication permettant aux individus de nŽgocier leur contexte normatif [Robinson 93]. Pour concevoir des collecticiels il faut rŽpondre aux deux questions suivantes : ¥ ¥ quels contextes objectifs reproduire? comment favoriser lÕinterprŽtation des contextes objectifs en contextes subjectifs? La premi•re question oriente le choix des canaux de communication et des mŽtaphores ˆ employer pour que les utilisateurs reconnaissent les contextes objectifs dans les collecticiels. La reproduction des contextes objectifs ˆ distance rejoint lÕidŽal de la tŽlŽprŽsence. La seconde question dŽpend des mŽcanismes par lesquels les individus sÕattribuent des fonctions hiŽrarchiques, Þxent ensemble les normes de leur interaction, Žvaluent la qualitŽ de leur relation et afÞrment leur identitŽ. Cette seconde question se rŽf•re aux moyens ˆ mettre en Ïuvre pour conserver la dimension sociale de la collaboration. Gr‰ce ˆ la thŽorie des processus de la communication, nous avons pu prŽsenter un large espace dÕanalyse de la communication qui tient compte des formes de communication non verbale. Examinons ˆ prŽsent la reproduction de ces diffŽrentes formes avec les collecticiels. 3.1.3 Reproduction des contextes objectifs par les collecticiels La reproduction des contextes objectifs a donnŽ lieu ˆ la rŽalisation de nombreux prototypes, en particulier pour reproduire le contexte spatial et le contexte physique et sensoriel. Cependant, en dehors de lÕŽvaluation de la transmission dÕimages vidŽo des individus ou de leur espace de travail, il existe peu de travaux ˆ notre connaissance comparant la reproduction de plusieurs contextes simultanŽment pour dŽterminer lesquels sont les plus utiles. Cette remarque sÕapplique aussi en tenant compte du contexte visuel qui inclut les donnŽes Žlectroniques partagŽes. Nous avons cependant trouvŽ dans la littŽrature une expŽrimentation montrant que la reproduction du contexte visuel le plus complet ne donne pas forcŽment de meilleures performances pour lÕaccomplissement dÕune activitŽ de groupe. Contexte spatial La vidŽo est le moyen le plus frŽquent pour reproduire un contexte spatial ˆ distance. La recherche du rŽalisme se traduit par des tentatives pour restituer la taille rŽelle des participants ou leur orientation autour dÕune table. Ainsi le syst•me de tŽlŽ-rŽunion HYDRA est constituŽ de bornes disposŽes en cercle et surmontŽes dÕun moniteur o• sÕafÞche lÕimage des interlocuteurs distants. Les bornes reproduisent physiquement la disposition des personnes autour dÕune table [Buxton 92]. MAJIC reproduit le m•me effet en Þlmant ˆ travers des toi- 56 Chapitre 3: Communication les semi-transparentes. Les toiles servent aussi dÕŽcran pour projeter lÕimage des participants distants en respectant la disposition spatiale [Okada et al. 94]. LÕobjectif nÕest pas toujours de reproduire un contexte existant, mais parfois dÕinventer des mŽtaphores pour crŽer un contexte spatial crŽdible. Ainsi Hyper Mirror recrŽe un espace vidŽo commun [Morikawa & Maesako 98]. Ce dispositif fusionne les images de deux sites et projette la m•me image, en grandeur nature sur une toile, dans chaque site. LÕimpression obtenue est de se retrouver dans un m•me miroir avec les personnes du site distant. DÕautres dispositifs recrŽent un espace commun en projetant les images vidŽos dans des environnements en 3D. Les images vidŽos sont Žventuellement projetŽes directement sur la t•te dÕavatars reprŽsentant les participants, ou sur des vignettes qui sÕorientent dans lÕespace en fonction des mouvements de t•te rŽels des participants. Contexte sensoriel La reproduction du contexte sensoriel consiste ˆ reproduire les sons, les gestes, la direction des regards et le sens tactile. En ce qui concerne le geste, les tŽlŽpointeurs reproduisent ˆ distance les gestes de dŽsignation des objets sur une vue partagŽe. Certains dispositifs utilisent directement la main comme tŽlŽpointeur en projetant ˆ distance lÕimage des mains sur lÕespace de travail physique, ou une incrustation de la main dans une fen•tre reprŽsentant des donnŽes Žlectroniques partagŽes [Roussel & Nouvel 99]. Pour conserver la direction du regard avec la vidŽo, le tunnel vidŽo permet de Þlmer de face de mani•re ˆ conserver lÕimpression dÕ•tre de chaque c™tŽ dÕune fen•tre, il supprime lÕangle de prise de vue de la camŽra [Buxton 92]. Une variante de cette technique superpose lÕimage vidŽo de lÕinterlocuteur avec la fen•tre dÕune application partagŽe [Ishii & Kobayashi 92] (page 25). Ce dispositif permet de suivre la direction du regard de lÕinterlocuteur. Le principe de la fusion dÕune interface avec une image vidŽo est gŽnŽralisŽ dans [Vernier et al. 99]. EnÞn, des dispositifs apparaissent pour transmettre les forces ou le sens tactile. [Brave et al. 98] dŽcrit un pŽriphŽrique reproduisant une sensation tactile ˆ distance ˆ partir de la friction de trois rouleaux. Adaptation des individus aux contextes disponibles Les exemples prŽcŽdents montrent quÕavec lÕaide de la technologie, il devient possible de reproduire ˆ distance des contextes objectifs plus riches. Il est possible ainsi dÕaugmenter le contexte visuel partagŽ en reproduisant ˆ la fois lÕenvironnement de travail physique, les individus ou leurs mains et les donnŽes Žlectroniques partagŽes. AÞn de dŽterminer sÕil est nŽcessaire de reproduire tous les contextes objectifs, il faut conna”tre les capacitŽs dÕadaptation des individus aux dŽgradations des contextes partagŽs. Nous prŽsentons les rŽsultats dÕune expŽrimentation visant ˆ Žvaluer la facultŽ des individus ˆ sÕadapter au contexte visuel disponible. Reproduction des contextes subjectifs par les collecticiels 57 LÕexpŽrimentation prŽsentŽe dans [Karsenty 99] repose sur une t‰che dÕassistance. Un sujet novice doit mettre en page un texte avec un traitement de texte et lÕaide dÕun expert auquel il peut poser des questions. Les hypoth•ses testŽes concernent ˆ la fois lÕinßuence du contexte visuel partagŽ sur la comprŽhension des questions posŽes par le sujet novice ˆ lÕexpert et lÕadaptation des questions posŽes par le sujet ˆ la perte du contexte visuel partagŽ. Trois conditions expŽrimentales ont ŽtŽ rŽalisŽes: novice et expert c™te ˆ c™te (contexte visuel partagŽ maximal), novice et expert reliŽs par une liaison audio et un Žcran partagŽ sur lequel lÕexpert voit lÕŽcran du sujet (contexte visuel intermŽdiaire), et enÞn novice et expert seulement reliŽs par une liaison audio (pas de contexte visuel partagŽ). Les rŽsultats de lÕexpŽrimentation montrent une similitude en terme de nombre de tours de paroles entre la situation c™te ˆ c™te et la situation avec Žcran partagŽ. LÕefÞcacitŽ nÕest donc pas liŽe ˆ lÕimportance du contexte visuel partagŽ. Cette similitude des performances sÕexplique par une adaptation de la formulation des questions et des rŽponses pour compenser la perte de contexte visuel. Dans la situation sans contexte visuel, le nombre de tours de paroles augmente. Le sujet rŽussit nŽanmoins la t‰che demandŽe. La gŽnŽralisation des rŽsultats de cette expŽrimentation, si elle se vŽriÞe avec les autres contextes, tendrait ˆ indiquer quÕavant de chercher ˆ reproduire tous les contextes objectifs, il vaut mieux rechercher quels sont les contextes minimum nŽcessaires pour une t‰che donnŽe. Une autre approche, non traitŽe par cette expŽrimentation, pourrait consister ˆ reproduire certains contextes (objectifs ou subjectifs), de mani•re symbolique en tirant partie des capacitŽ de reprŽsentation des ordinateurs. Nous illustrons cette approche pour les contextes subjectifs dans la partie suivante. 3.1.4 Reproduction des contextes subjectifs par les collecticiels Les contextes subjectifs ne sont pas directement visibles. Ils correspondent ˆ des reprŽsentations de la situation de communication intŽriorisŽes par les individus. Puisque ces reprŽsentations sont basŽes sur un processus dÕinterprŽtation des signaux per•us, comme un sourire, on peut se demander si ces m•mes reprŽsentations peuvent •tre associŽes ˆ lÕinterprŽtation de signaux symboliques dont le sens nÕest pas dŽÞni ˆ lÕavance. LÕintŽr•t de ce type de signaux arbitraires serait dÕoffrir les moyens pour inventer de nouvelles formes de communication ˆ lÕaide des collecticiels. Nous avons trouvŽ plusieurs exemples de ce type dans la reproduction dÕun contexte qualitatif ˆ lÕaide des outils de dialogue textuel. La reproduction dÕun contexte qualitatif dans les outils de dialogue textuel ne peut pas reposer sur lÕinterprŽtation des expressions faciales ou du comportement des interlocuteurs comme un sourire en face-ˆ-face, puisque ces signaux ne sont plus visibles. Pour vŽhiculer malgrŽ tout certaines Žmotions, les utilisateurs ou les concepteurs ont inventŽ des signaux sans Žquivalent dans le monde physique. Une premi•re approche, universellement partagŽe ˆ 58 Chapitre 3: Communication prŽsent, consiste ˆ glisser des caract•res spŽciaux dans les messages. Ces caract•res Žvoquent mŽtaphoriquement des sentiments: les Žmoticons. Une seconde approche consiste ˆ recrŽer un contexte visuel en insŽrant les messages textuels dans une bande dessinŽe pour leur donner un contenu Žmotionnel. Les Žmoticons, ou trombines, sont de petites Þgures formŽes de signes cabalistiques qui apparaissent dans les messages textuels, comme ;-). Ils se regardent en penchant la t•te sur la gauche. Avec un peu dÕimagination, les trombines ressemblent ˆ des visages exprimant des expressions et des sentiments variŽs: clin dÕÏil, sourire, ironie, col•re, etc. Les Žmoticons expriment une intention de l'auteur qui semblerait Žvidente ˆ l'oral, mais qui risquerait d'•tre mal interprŽtŽe ˆ l'Žcrit. Ils maintiennent ainsi un rapport de sympathie. Certains Žmoticons ont connu un grand succ•s et leur signiÞcation sÕest normalisŽe. Cependant, par rapport au nombre dÕŽmoticons inventŽs pour traduire les Žmotions, tr•s peu sont employŽs en pratique. La Þgure 3.2 montre plusieurs exemples dÕŽmoticons servant ˆ exprimer des Žmotions, mais Žgalement les caractŽristiques physiques dÕun individu [13]. Emoticon L'interlocuteurÉ Emoticon L'interlocuteurÉ :Ð) :Ð> :ÐD ;Ð) =<:Ð) :ÐÐÐÐ) :'Ð( (:Ð) {:Ð) #:Ð) est content, rigole, a la p•che a un tr•s grand sourire fait un clin d'oeil vous trouve insensŽ est incrŽdule, vous traite de menteur pleure est chauve a une raie au milieu est mal coiffŽ :Ð( :Ð[ :ÐC d:Ð) :ÐP :'Ð) &:Ð) =:Ð) (Ð) est triste, est fachŽ boude, est vexŽ est vraiment, vraiment, vraiment fachŽ vous fŽlicite, vous tire son chapeau tire la langue pleure de joie a les cheveux bouclŽs est un punk a besoin d'une coupe de cheveux :Ð))) Figure 3.2. Exemples dÕŽmoticons LÕoutil Microsoft chat illustre une autre approche pour recrŽer un contexte qualitatif autour des messages textuels. Les messages sont afÞchŽs dans les bulles dÕune bande dessinŽe dont les personnages reprŽsentent les interlocuteurs. La Þgure 3.3 reprŽsente un extrait de conversation o• deux individus parlent des collecticiels. Figure 3.3. CrŽation dÕun contexte qualitatif pour le dialogue Approche de la communication centrŽe sur lÕindividu 59 Cette mŽthode peut para”tre plus riche que les trombines pourtant elle est dÕune portŽe limitŽe pour au moins deux raisons. Premi•rement, hormis le choix de leur personnage, et Žventuellement de leur expression faciale, les utilisateurs ne contr™lent pas la bande dessinŽe gŽnŽrŽe. Ainsi la Þgure 3.4 reprŽsente les huit expressions faciales qui dŽterminent lÕapparence dÕun personnage. Le syst•me est donc plus ou moins Žquivalent ˆ lÕutilisation de huit Žmoticons diffŽrents. Deuxi•mement, le contexte crŽŽ est sans rapport avec la conversation, il crŽe simplement un niveau de langage supplŽmentaire pour interprŽter le dŽcors de la bande dessinŽe. Figure 3.4. Choix des expressions faciales pour le dialogue La reproduction dÕun contexte qualitatif dans les collecticiels fait partie des objectifs ˆ atteindre pour ajouter de lÕempathie ˆ la technologie, cÕest-ˆ-dire pour lui donner la capacitŽ de transmettre des Žmotions. De mani•re gŽnŽrale la reproduction des contextes subjectifs ˆ lÕaide de moyens symboliques a ŽtŽ moins ŽtudiŽe que la reproduction des contextes objectifs. 3.2 Approche de la communication centrŽe sur lÕindividu La thŽorie des processus de la communication ne limite pas les contextes ˆ prendre en compte pour interprŽter le sens des communications. Cette ouverture de la thŽorie la rend applicable ˆ des situations de communication variŽes depuis la communication dÕune entreprise jusquÕˆ lÕŽtude dÕune conversation entre deux individus. DÕautres disciplines comme la psychologie ou la psychologie-sociale sÕintŽressent ˆ la communication. Ces disciplines ont une approche centrŽe sur lÕindividu. Cette approche est intŽressante pour concevoir les collecticiels, car elle permet de dŽcrire directement des formes de communication qui ont leur source dans les individus et que lÕon peut espŽrer transmettre ˆ distance. Nous allons proposer une synth•se de ces formes de communication ˆ travers la notion de style de comportement. Nous Žtudierons ensuite sa transmission avec les collecticiels. 60 Chapitre 3: Communication 3.2.1 Style de comportement Le moindre de nos comportements produit une quantitŽ considŽrable de signaux dont une partie est prise en compte par les autres pour interprŽter notre comportement. Ces signaux contribuent ˆ la communication [Cosnier & Brossard 84]: Òla multicanalitŽ de la communication humaine signifie, en effet, que lors dÕune interaction en face-ˆ-face par exemple, chaque interactant Žmet (et re•oit) un ŽnoncŽ total, hŽtŽrog•ne, rŽsultant de la combinaison gŽnŽralement synergique de plusieurs ŽlŽments: Évoco-acoustiquesÉvisuelsÉolfactifs, tactiles et thermiques.Ó Les individus poss•dent une capacitŽ naturelle ˆ exploiter la multicanalitŽ de la communication pour crŽer du sens ou pour modiÞer le sens de leurs Žchanges verbalisŽs. Les signaux les plus ŽtudiŽs sont sans doute ceux liŽs ˆ la posturo-mimo-gestualitŽ ou bien la prosodie. La prosodie est un ŽlŽment qui accompagne la parole. Bien que la parole reß•te a priori directement le contenu dÕun message ˆ travers le sens des mots, relativement stable, la prosodie permet de modiÞer le sens dÕun m•me contenu propositionnel. La prosodie sÕapplique ˆ certaines caractŽristiques de la langue parlŽe [ArnÞeld 94]. Elle dŽsigne souvent lÕintonation, les accents, la puissance, le rythme, le tempo ou la qualitŽ de la voix. Il sÕagit en fait des caractŽristiques qui se distinguent des aspects segmentaux de la voix comme les mots, les syllabes ou les phon•mes. La prosodie distingue le m•me mot prononcŽ par deux personnes ou prononcŽ ˆ des emplacements diffŽrents dans une phrase. La capacitŽ des individus ˆ contr™ler la prosodie est un canal de communication supplŽmentaire, ou de mŽtacommunication, qui leur permet de varier le sens de leurs ŽnoncŽs. En effet, les variations du signal acoustique liŽes ˆ la prosodie expriment des sentiments comme la tristesse, lÕironie, la col•re, le stress, etc. DŽfinition Par analogie avec la prosodie nous dŽÞnissons le style du comportement ainsi: Le style de comportement dÕun individu est lÕensemble des variations de sa mani•re dÕagir qui ne modifient pas le rŽsultat de ses actions mais lÕinterprŽtation du sens de ses actions donnŽe par autrui. Le style de comportement gŽnŽralise la notion de multicanalitŽ de la communication humaine. Parmi les composants du style nous avons dŽjˆ ŽvoquŽ la prosodie. Nous pouvons Žgalement ajouter le comportement gestuel et la mani•re de combiner entre elles les modalitŽs des actions. Le geste instrumental est un geste sÕappliquant ˆ un objet. Il varie suivant trois composantes: lÕexcitation qui fournit lÕŽnergie initiale, la modulation qui en modiÞe les param•tres et la Style de comportement 61 sŽlection, qui dŽtermine la partie de lÕinstrument ˆ exciter [Cadoz 94]. Ces param•tres engendrent de multiples variations pour un m•me geste. Ainsi lÕaction de fermer une porte nÕa pas le m•me effet sur la poursuite des relations entre lÕoccupant dÕun bureau et son visiteur si elle est fermŽe dŽlicatement ou bien si elle est claquŽe. Les mani•res de combiner les modalitŽs des actions qui contribuent ˆ un comportement sont aussi un moyen de varier le style. Ces combinaisons sont aussi nombreuses que les diffŽrentes formes de combinaisons entre modalitŽs dans les interfaces multi-modales [Nigay & Coutaz 96]. Les combinaisons m•lent parfois les gestes et la parole, comme dans la mani•re de combiner lÕaction de distribuer des feuilles de la main ˆ la main en disant Òprenez ce document, je vous en prieÓ. R™le du style dans la communication La psychologie sociale Žtudie la nature et les causes des comportements humains dans le contexte social. Le style de comportement est donc une manifestation de lÕindividu qui appartient ˆ son champ dÕŽtude. Nous allons dŽÞnir le r™le du style de comportement dans la communication dans le cadre de la psychologie sociale. La psychologie sociale reconna”t implicitement quÕun groupe est plus que la somme de ses parties: il existe des effets de lÕappartenance dÕun individu ˆ un groupe qui ne peuvent sÕexpliquer sans tenir compte de param•tres propres au groupe. Elle Žtudie lÕinßuence sur un groupe ou sur un individu dÕun groupe ou dÕun individu. LÕexplication du phŽnom•ne de lÕinßuence fait appel ˆ la notion dÕattitude, dont une dŽÞnition possible est la suivante [Vaske & Grantham 90]: Une attitude est un ensemble de croyances concernant un objet ou bien une situation et qui prŽdispose lÕindividu ˆ agir dÕune mani•re prŽfŽrentielle. LÕinßuence a pour effet de modiÞer les attitudes dÕun individu, ou son comportement [Fogg 98]. En effet, la thŽorie de la dissonance cognitive explique le lien, vŽriÞŽ expŽrimentalement, entre les attitudes et les comportements. Si les attitudes dÕun individu sont incompatibles avec ses comportements, il entre en dissonance cognitive. Pour rŽduire la dissonance, il est alors pr•t ˆ modiÞer ses attitudes ou bien ses comportements [Joule & Beauvois 87]. A partir de ces rŽsultats, nous considŽrons que le comportement rend en partie manifeste les attitudes dÕun individu. En fonction de ses attitudes, un individu va donc adopter un comportement, et ˆ fortiori un style de comportement, visant ˆ communiquer ses attitudes. LÕinterprŽtation du style de comportement dÕun individu nÕest pas univoque. Elle dŽpend des contextes de la communication dŽcrits dans la section prŽcŽdente, en particulier du contexte normatif. Par exemple, un automobiliste arr•tŽ devant un feu tricolore au rouge manifeste 62 Chapitre 3: Communication parfois son impatience et son intention de dŽmarrer rapidement en faisant ronßer son moteur. Pour comprendre le sens de ce comportement il faut conna”tre lÕexistence du feu rouge et la convention du code de la route consistant ˆ respecter la couleur des feux. En rŽsumŽ, le style de comportement est une forme de communication ˆ part enti•re qui sert ˆ rŽvŽler les attitudes dÕun individu et ˆ exercer de lÕinßuence. Pour cette raison il semble nŽcessaire de le reproduire avec les collecticiels. 3.2.2 Reproduction du style de comportement par les collecticiels Les collecticiels offrent plusieurs moyens pour reproduire le style de comportement. LÕintŽgration de canaux de communication audio ou vidŽo transmet la prosodie de la voix et la posturo-mimo-gestualitŽ. Cependant, en lÕabsence de ces moyens de communication, les effets du comportement des individus ˆ distance sont reproduits en partie par les informations de conscience mutuelle1 et de rŽtroaction de groupe2 [Dourish & Belloti 92]. La diffŽrence entre ces deux notions nÕŽtant pas tr•s claire dans la littŽrature nous donnons dans un premier temps nos propres dŽÞnitions. Dans un deuxi•me temps nous discutons plusieurs insufÞsances dans la transmission du style de comportement par la rŽtroaction de groupe et la conscience mutuelle. DŽfinitions La conscience mutuelle est lÕensemble des informations et des reprŽsentations qui amŽliorent la connaissance de la situation dÕun groupe, de son Žtat. LÕexemple type est la connaissance de la prŽsence dÕune personne ˆ son bureau. La rŽtroaction de groupe est lÕensemble des notiÞcations qui rendent perceptibles les actions des membres du groupe. La diffŽrence entre ces deux dŽÞnitions est illustrŽe par la Þgure 3.5. Etat du groupe Action Nouvel Žtat Conscience mutuelle RŽtroaction de groupe (notification) Conscience mutuelle Figure 3.5. DiffŽrence entre conscience mutuelle et rŽtroaction de groupe 1. ÒawarenessÓ. 2. ÒfeedthroughÓ. Reproduction du style de comportement par les collecticiels 63 La Þgure 3.6 reprŽsente un dispositif classique de conscience mutuelle et de rŽtroaction de groupe: les barres de dŽÞlement multiples. Ces barres ont ŽtŽ introduites avec lÕŽditeur de texte partagŽ SASSE [23]. Elles sont dessinŽes dans un ascenseur supplŽmentaire associŽ ˆ la fen•tre dÕafÞchage dÕun document ŽditŽ par plusieurs personnes simultanŽment. Les barres multiples donnent une information de conscience mutuelle sur la position des vues de chaque utilisateur par rapport au document. LorsquÕun utilisateur fait dŽÞler sa vue, la rŽtroaction de groupe fait Žgalement dŽÞler sa barre de dŽÞlement multiple associŽe dans toutes les fen•tres du groupe. TŽlŽpointeurs indiquant la position du curseur de deux autres utilisateurs Barres indiquant la position de la vue afÞchŽe par les autres utilisateurs dans le document Figure 3.6. Barres de dŽÞlement multiples, image tirŽe de [24] La rŽtroaction de groupe est souvent rŽduite ˆ lÕobservation des changements dÕŽtat de lÕinterface liŽs aux changements dÕŽtat des donnŽes partagŽes. Ainsi dans un Žditeur de dessin partagŽ, le fait de dessiner un cercle est per•u ˆ distance par lÕapparition du cercle. Cependant, il existe parfois des procŽdŽs de notiÞcation, comme lÕanimation, pour rendre plus saillants les changements dÕŽtat des donnŽes partagŽes. LÕŽditeur de dessin partagŽ dŽcrit dans [Beaudouin-Lafon & Karsenty 92] utilise des techniques dÕanimation et de sonorisation pour attirer lÕattention sur le dŽplacement et les modiÞcations des objets effectuŽs par les utilisateurs distants. Cet Žditeur reproduit une partie seulement de lÕaction effectuŽe ˆ distance, tout en insistant sur ses caractŽristiques essentielles. Si un carrŽ est agrandi, le changement de taille du carrŽ nÕest pas reproduit brutalement, mais une animation reproduit les tailles intermŽdiaires. [Gutwin & Greenberg 98] dŽcrivent une variante de ce principe basŽe sur lÕexagŽration des actions: lorsquÕun objet est effacŽ ˆ distance, une animation le fait grossir puis diminuer avant quÕil ne disparaisse. Les procŽdŽs dÕanimation sont une premi•re Žtape vers la crŽation de moyens de contr™le permettant aux utilisateurs dÕadopter diffŽrents styles de comportement dans leur fa•on dÕinteragir avec les collecticiels. Insuffisance de la transmission du style dans les collecticiels La conscience mutuelle et la rŽtroaction de groupe rendent perceptibles seulement les effets du comportement des individus. Elles ne rendent pas vraiment compte du style de comportement. Nous proposons deux explications ˆ cette situation. 64 Chapitre 3: Communication La premi•re explication de lÕinsufÞsance de la transmission du style tient au manque de contr™le des utilisateurs sur la conscience mutuelle et la rŽtroaction de groupe donnŽes suite ˆ une action sur lÕinterface. En effet, la conscience mutuelle est diffusŽe automatiquement, sauf lorsquÕun mŽcanisme de dŽfense de la vie privŽe est prŽvu pour emp•cher sa diffusion. De m•me, la rŽtroaction de groupe est dŽclenchŽe automatiquement par lÕexŽcution des actions sous-jacentes. Elle est liŽe de fa•on univoque aux actions qui la provoquent comme le bruit dÕune machine dans un atelier est liŽ ˆ lÕactivitŽ de son opŽrateur. Le cas des mŽdiaspaces est cependant un peu diffŽrent. En effet, la conscience mutuelle que donne lÕobservation de lÕimage vidŽo dÕune personne peut effectivement •tre lŽg•rement contr™lŽe par cette personne. Elle peut ainsi, se sachant observŽe, modiÞer sa posture ou ses expressions faciales tout en continuant son activitŽ. A lÕimage du mŽdiaspace on pourrait envisager des formes de conscience mutuelle ou de rŽtroaction de groupe variables pour donner le moyen aux utilisateurs de communiquer leurs attitudes. La notiÞcation de lÕarrivŽe dÕun message pourrait donner des indices pour interprŽter lÕurgence du message. CÕest le cas lorsque lÕexpŽditeur choisit dÕindiquer explicitement lÕurgence du message ˆ partir dÕun menu, mais cette action est en fait une action distincte de lÕaction dÕenvoyer le message. Au contraire on pourrait imaginer un moyen implicite dÕindiquer le degrŽ dÕurgence du message, par exemple en traduisant la durŽe dÕappui sur le bouton ÒenvoyerÓ par un degrŽ dÕurgence. La deuxi•me explication de lÕinsufÞsance de la transmission du style tient au dŽcouplage entre la conscience mutuelle et la rŽtroaction de groupe. La conscience mutuelle montre bien lÕŽtat atteint mais elle ne montre pas la mani•re dont celui-ci est atteint. Cette critique sÕapplique au dispositif dŽcrit dans [Salber et al. 99] pour localiser des membres dÕun groupe dans un b‰timent. La localisation des individus est afÞchŽe dans un tableau accessible par le web. Le syst•me fonctionne presque automatiquement: en entrant dans une pi•ce, si un individu souhaite •tre enregistrŽ, il passe un badge actif ˆ quelques dizaines de centim•tres dÕun rŽcepteur. Ce dispositif donne une information de conscience mutuelle, la localisation, mais il ne donne pas autant dÕinformation que dans le monde physique. Quand une personne entre dans un pi•ce il est souvent possible de percevoir d•s les premiers instants, ˆ sa mani•re dÕentrer, si elle souhaite rester longtemps ou non. Cette information pourrait Žventuellement •tre capturŽe par le dispositif pour complŽter la conscience mutuelle. En rŽsumŽ, la Þgure 3.7 illustre les modiÞcations quÕil faudrait apporter ˆ la conscience mutuelle et ˆ la rŽtroaction de groupe pour quÕelles transmettent une forme de style de comportement. Pour un m•me Žtat ou une m•me action, elles devraient pouvoir prendre des formes variŽes sous le contr™le des utilisateurs. Communication et information libre 65 Etat du groupe Styles de comportement Perception du style de comportement RŽtroaction de groupe Nouvel Žtat Conscience mutuelle Figure 3.7. Transmission du style par la conscience mutuelle et rŽtroaction de groupe LÕintŽr•t de tenir compte du style de comportement dans les collecticiels est conÞrmŽ par une Žtude sur lÕutilisabilitŽ de plusieurs techniques pour ajouter de la conscience mutuelle et de la rŽtroaction de groupe ˆ un espace de travail partagŽ [Gutwin et al. 96]. Dans cette expŽrimentation, les auteurs ont observŽ que les utilisateurs nÕhŽsitaient pas ˆ se servir de la liaison audio pour verbaliser eux-m•mes leurs actions et leurs intentions dÕaction. Ils en dŽduisent que les utilisateurs sont pr•ts ˆ accomplir des efforts supplŽmentaires au cours de lÕinteraction pour indiquer leurs intentions. Un des participants ˆ lÕŽtude a m•me proposŽ dÕajouter ˆ lÕespace de travail partagŽ la possibilitŽ de laisser une marque sur les objets pour indiquer ˆ lÕavance son intention de les manipuler. 3.3 Communication et information libre LÕapproche de la communication centrŽe sur les contextes ou bien lÕapproche centrŽe sur les individus ont mis en Žvidence un processus dÕinterprŽtation. Dans le premier cas, les contextes objectifs sont interprŽtŽs en contextes subjectifs. Dans le deuxi•me cas le style de comportement est interprŽtŽ en attitudes et en intentions. Cette Žtape dÕinterprŽtation laisse une place ˆ de lÕambigu•tŽ dans le sens donnŽ ˆ la communication. Pour tenir compte de cette ambigu•tŽ, nous revenons sur la notion dÕinformation libre du chapitre prŽcŽdent. 3.3.1 Production dÕinformation libre Nous proposons dÕassimiler les formes de communication non verbale, comme le style de comportement, ˆ de la crŽation dÕinformation libre. Cette information ne prend son sens que par rapport ˆ des connaissances partagŽes par un groupe dÕindividus dans une situation de communication donnŽe. Ces connaissances partagŽes incluent les conventions, les normes sociales, et les autres contextes subjectifs. LÕinformation libre crŽŽe par le style de comportement des individus est une forme de communication implicite. CÕest-ˆ-dire que le sens donnŽ ˆ lÕinformation libre nÕest pas enti•re- 66 Chapitre 3: Communication ment dŽÞni par les signaux transmis, comme lÕŽnoncŽ verbal Òle chat est sur la natteÓ, mais quÕil nŽcessite des infŽrences supplŽmentaires qui ne sont pas forcŽment ˆ la portŽe dÕun observateur extŽrieur. LÕassimilation des phŽnom•nes de communication non verbale ˆ de lÕinformation libre ouvre la voie ˆ une approche originale de la communication avec les collecticiels. Au lieu de reproduire Þd•lement les contextes objectifs, il sÕagit dÕinventer des moyens symboliques de communication faisant appel ˆ la capacitŽ dÕinvention des individus, pour donner du sens ˆ lÕinformation libre. Cette approche permet dÕenvisager une amŽlioration de la capacitŽ ˆ communiquer sans nŽcessiter une augmentation de la bande passante ou des performances des machines. Pour cela il faut identiÞer les sources dÕinformation libre potentielles dans les collecticiels. 3.3.2 CrŽation dÕinformation libre dans les collecticiels La plupart des actions effectuŽes par un individu sur un collecticiel se traduit par des Žchanges de donnŽes sur le rŽseau. Une partie des donnŽes ŽchangŽes provoque des modiÞcations visibles dans lÕenvironnement des autres membres du groupe. Ces modiÞcations sont la version visible ˆ distance des actions des individus en train de se faire ou bien du rŽsultat de leurs actions. Pour cette raison une fa•on possible de crŽer un style de comportement transmis par les collecticiels, en dehors des canaux de communication audio et vidŽo, est dÕexploiter les Žchanges de donnŽes, et leurs effets ˆ distance, pour crŽer de lÕinformation libre. Nous appelons cette approche le contr™le de la forme des Žchanges donnŽes. Les donnŽes ŽchangŽes avec les collecticiels appartiennent ˆ lÕune des catŽgories suivantes: ¥ ¥ ¥ ¥ ¥ Žchange de messages (sur diffŽrents supports: texte, dessins, etc); Žchange de documents; Žchange dÕapplication ou dÕoutils; Žchange dÕinformation de rŽtroaction de groupe et de conscience mutuelle; Žchange de donnŽes non visibles dans lÕinterface (fonctionnement interne). Les quatre premiers types dÕŽchange sont dŽjˆ visibles dans lÕinterface, la crŽation dÕinformation libre consiste alors ˆ reprendre les interfaces existantes et ˆ donner plus de contr™le aux utilisateurs sur la forme visible des Žchanges. Le dernier type dÕŽchange ne donne pas, a priori, dÕinformation libre puisquÕil ne fait pas remonter dÕinformation visible ˆ partir des donnŽes circulant sur le rŽseau. Des exemples vont pourtant dans ce sens, par exemple pour ÒvisualiserÓ chaque acc•s sur une page web par le bruit dÕune goutte de pluie, par une remontŽe de bulle dans un colonne dÕeau, ou des cercles lumineux projetŽs au plafond. Ces prototypes illustrent la crŽation dÕinformation libre lˆ o• il nÕy avait auparavant pas dÕeffet de bord visible dÕune action, et son utilisation pour communiquer ou se coordonner. Par exemple si deux amis sont au tŽlŽphone, lÕun dÕentre eux peut demander ˆ lÕautre de charger Nature de lÕinformation libre: le cas du tŽlŽpointeur 67 sa page web personnelle. La modiÞcation de lÕenvironnement consŽcutive (bruit, bulle, lumi•re, etc.) lui permettra de vŽriÞer lÕacc•s. Nous illustrerons la crŽation dÕinformation libre ˆ partir du contr™le de la forme des Žchanges de messages dans les chapitres 6 et 7 de cette th•se. Pour mieux comprendre les possibilitŽs de cette approche, nous allons considŽrer plusieurs exemples de tŽlŽpointeurs. 3.3.3 Nature de lÕinformation libre: le cas du tŽlŽpointeur Le tŽlŽpointeur est un canal de communication simple et rŽpandu. Il correspond ˆ une forme dÕŽchange dÕinformation de rŽtroaction de groupe, puisquÕil transmet ˆ distance les gestes de dŽsignation dÕun utilisateur sur une vue partagŽe. Nous allons examiner plusieurs exemples de tŽlŽpointeurs montrant le lien entre la mani•re de prŽsenter des donnŽes et la crŽation dÕinformation libre. LÕŽchange de donnŽes consŽcutif au dŽplacement dÕun tŽlŽpointeur se traduit par la modiÞcation de lÕapparence du contenu de la fen•tre partagŽe. Cette modiÞcation consiste dans lÕafÞchage du tŽlŽpointeur au-dessus du contenu de la fen•tre, sans modiÞer pour autant ce contenu. La Þgure 3.8 montre quatre types de tŽlŽpointeurs. Le plus classique est une ß•che manipulŽe ˆ distance par lÕutilisateur. La main est un tŽlŽpointeur basŽ sur la reproduction ˆ distance de lÕimage de la main rŽelle du participant [Roussel & Nouvel 99]. Le rectangle et le brouillard sont deux variantes imaginaires. Le rectangle sÕutilise en dŽpla•ant chaque sommet comme un tŽlŽpointeur ordinaire; manipulŽ ˆ deux mains il devient possible de dŽplacer deux sommets simultanŽment. Le brouillard est composŽ de deux outils de dessin: un pinceau et une gomme. Le pinceau noircit lÕimage tout en la laissant lŽg•rement visible, la gomme dŽcouvre lÕimage. Le pinceau et la gomme sont en forme de brosse pour masquer ou dŽvoiler de nombreux pixels ˆ la fois. La Þgure 3.8 illustre les modiÞcations de lÕapparence de lÕimage liŽes ˆ chaque type de tŽlŽpointeur. Chacune de ces modiÞcations est assimilable ˆ de lÕinformation ajoutŽe sur lÕimage par le tŽlŽpointeur. Cette information qui ne modiÞe pas lÕŽtat des donnŽes partagŽes reprŽsentŽes dans la fen•tre mais simplement leur aspect est de lÕinformation libre. Nous pouvons ainsi mesurer la quantitŽ dÕinformation libre crŽŽe par les tŽlŽpointeurs au sens de la thŽorie de lÕinformation. Pour cela, il faut dŽÞnir lÕalphabet de la source, cÕest-ˆ-dire les diffŽrents symboles quÕelle Žmet. Puisque nous avons dŽÞni lÕinformation libre ˆ partir de lÕapparence de la fen•tre, nous associons chaque apparence que peut engendrer un tŽlŽpointeur ˆ un symbole. Les paragraphes suivants dŽcrivent les alphabets pour les diffŽrents types de tŽlŽpointeurs. Nous calculerons la quantitŽ dÕinformation associŽe ensuite. Nous avons distinguŽ deux formes dÕinformation libre: LÕinformation libre de sŽlection est lÕinformation libre crŽŽe par le rŽsultat dÕune action. 68 Chapitre 3: Communication Fl•che Rectangle Main Brouillard Figure 3.8. Plusieurs styles de tŽlŽpointeurs LÕinformation libre de modulation est lÕinformation libre crŽŽe par le contr™le de lÕaction. Bien que le calcul de lÕinformation libre ne soit pas indispensable pour concevoir des collecticiels, nous le prŽsentons car il nous para”t utile pour mieux comprendre la nature de lÕinformation libre. Information libre de sŽlection LÕinformation libre de sŽlection correspond au nombre total dÕŽtats dÕapparence pouvant •tre associŽs ˆ un m•me Žtat des donnŽes partagŽes. LÕimage afÞchŽe restant la m•me au cours dÕune sŽance, la modiÞcation de lÕapparence de lÕimage par le tŽlŽpointeur est semblable ˆ lÕapplication dÕun masque superposŽ ˆ lÕimage. Chaque masque dŽÞnit un symbole dans lÕalphabet correspondant ˆ lÕinformation libre de sŽlection. Pour chaque tŽlŽpointeur, il est possible ainsi de mesurer le nombre de masques diffŽrents quÕil permet dÕengendrer. Ce nombre mesure le Òpouvoir dÕexpression statiqueÓ de lÕutilisateur. Chaque version du masque correspond ˆ un style diffŽrent pour montrer la m•me image. La quantitŽ dÕinformation libre de sŽlection est fonction du nombre de symboles engendrŽs par le tŽlŽpointeur, soit q ce nombre. La Þgure 3.9 reprŽsente le calcul de q pour chacun des tŽlŽpointeurs. Pour la main, nous considŽrons que pour chaque position ˆ lÕŽcran (soit H x L positions en tout) la forme de la Nature de lÕinformation libre: le cas du tŽlŽpointeur 69 main dŽÞnit un masque. Si la surface maximale de la main en pixels est S, nous dŽÞnissons un masque associŽ ˆ la main comme un ensemble de S pixels ˆ 0 ou 1, indiquant si le pixel de lÕimage correspondant est cachŽ par la main ou non. En premi•re approximation la forme de la main peut engendrer 2^S masques. Pour le brouillard chaque pixel de lÕimage est masquŽ par un autre pixel dont la transparence varie en intensitŽ de 0 ˆ 255. q = H´L Fl•che q = (H ´ L) Rectangle 2 q = H´L´2 Mains S q = 256 (H ´ L) Brouillard Figure 3.9. Calcul de lÕinformation libre de sŽlection pour les tŽlŽpointeurs H est la hauteur de lÕŽcran, L est la largeur, S est la surface maximale de la main en pixels. Information libre de modulation LÕinformation libre de modulation correspond au nombre de fa•ons de continuer le cours dÕune action sans modiÞer son rŽsultat Þnal. Ce nombre mesure le Òpouvoir dÕexpression dynamiqueÓ de lÕutilisateur. Chaque mani•re de poursuivre lÕaction correspond ˆ un style diffŽrent pour attirer lÕattention sur lÕimage et peut •tre associŽe ˆ un symbole dans lÕalphabet correspondant ˆ lÕinformation libre de modulation. La quantitŽ dÕinformation libre de modulation est fonction du nombre de symboles engendrŽs par le contr™le du tŽlŽpointeur, soit m ce nombre. 2 m = 8 m = 8 Fl•che Rectangle m = 8 Mains Lg m = 2´8 Brouillard Figure 3.10. Calcul de lÕinformation libre de modulation pour les tŽlŽpointeurs Lg est la longueur du contour de la main, en pixels. La Þgure 3.10 reprŽsente le calcul de m pour le contr™le du dŽplacement de chacun des tŽlŽpointeurs. Pour la ß•che, m correspond au nombre de dŽplacements permis ˆ partir dÕun 70 Chapitre 3: Communication point. Dans lÕidŽal, il est possible de contr™ler le dŽplacement du tŽlŽpointeur pour lÕamener sur chacun des pixels voisins. Dans le cas du rectangle, le calcul suppose que la manipulation sÕeffectue ˆ deux mains pour dŽplacer deux sommets opposŽs simultanŽment. Pour la main nous avons fait lÕapproximation suivante: au cours des mouvements de la main chaque pixel de son contour peut se dŽplacer sur lÕun des 8 pixels voisins. Pour le brouillard m est multipliŽ par 2 car lÕutilisateur peut ˆ tout moment basculer entre la gomme ou le pinceau. A partir de q et de m nous pouvons ˆ prŽsent calculer la quantitŽ dÕinformation libre de sŽlection ou de modulation correspondant ˆ chaque type de tŽlŽpointeur. DÕapr•s la thŽorie de lÕinformation, la mesure de la quantitŽ dÕinformation que peut transporter une source dÕinformation est Žquivalente ˆ lÕentropie de cette source. La quantitŽ dÕinformation contenue dans la source S a pour expression: h(S) = Ð å p i × log p i i La somme portant sur le nombre de symboles de lÕalphabet, si lÕapparition de chaque symbole est Žquiprobable, nous pouvons calculer la quantitŽ dÕinformation de sŽlection ˆ partir de q, et la quantitŽ dÕinformation de modulation ˆ partir de m, ce qui donne: h q(S) = log q h m(S) = log m En pratique, si lÕobjectif est de comparer la quantitŽ dÕinformation libre produite par plusieurs formes dÕinteraction, lorsque les diffŽrents Žtats de prŽsentation sont Žquiprobables, ou lorsque les diffŽrentes fa•ons de poursuivre un action sont Žquiprobables, nous pouvons nous contenter de comparer q et m. En rŽsumŽ, lÕinformation libre de sŽlection caractŽrise lÕŽtat de prŽsentation atteint apr•s une action, lÕinformation libre de modulation caractŽrise les fa•ons dÕatteindre cet Žtat. Dans les collecticiels, nous pouvons identiÞer la conscience mutuelle ˆ la premi•re et la rŽtroaction de groupe ˆ la seconde. Mais comme nous lÕavons indiquŽ dans cette section, toutes les actions qui provoquent des Žchanges de donnŽes visibles dans lÕinterface sont susceptibles de crŽer de lÕinformation libre. Nous avons illustrŽ la crŽation dÕinformation libre avec un tŽlŽpointeur en inventant des procŽdŽs qui augmentent le nombre de choix dÕŽtat de prŽsentation pour une m•me image, ou le nombre de fa•ons pour passer dÕun Žtat de prŽsentation ˆ un autre. 3.4 Conclusion Dans ce chapitre, nous avons prŽsentŽ une synth•se sur les processus de communication entre les individus. Nous avons prŽsentŽ une approche centrŽe sur les contextes de la communication et une approche centrŽe sur les individus. Ces deux approches prennent en compte les phŽnom•nes de communication non verbale. En distinguant les contextes objec- Conclusion 71 tifs des contextes subjectifs, nous avons constatŽ que la technologie offre des moyens sophistiquŽs pour reproduire les contextes objectifs, mais quÕil existe peu de tentatives pour reproduire des contextes subjectifs, en-dehors des moyens de communication audio-vidŽo. LÕapproche centrŽe sur les individus nous a Žgalement permis, ˆ travers la notion de style de comportement, dÕidentiÞer une forme de communication non verbale qui pourrait •tre reproduite, voire ampliÞŽe, avec les collecticiels. Il faudrait pour cela inventer des formes de communication symbolique, ˆ lÕimage des Žmoticons, en donnant un plus grand contr™le aux utilisateurs sur la production des signaux que dans le cas de la conscience mutuelle et de la rŽtroaction de groupe. EnÞn, nous avons terminŽ le chapitre en proposant une approche originale pour introduire de nouvelles formes de communication dans les collecticiels. Celle-ci est basŽe sur la crŽation dÕinformation libre par le contr™le de la forme des Žchanges de donnŽes. 72 Chapitre 3: Communication Chapitre 4 La Collaboration Directe Pour se rapprocher de lÕidŽal de la production totale et de lÕidŽal de la communication totale il faut concevoir les collecticiels ˆ la fois comme des assistants qui aident les individus ˆ se coordonner et comme des canaux de communication efÞcaces. Dans le chapitre 2, nous avons constatŽ que les mŽcanismes de coordination dans les collecticiels favorisent les procŽdures au dŽtriment des conventions ou des normes sociales. Dans le chapitre 3, nous avons constatŽ que les collecticiels ne transmettent pas toutes les formes de communication non verbale. Dans ce chapitre, nous proposons de concevoir des collecticiels prenant en compte les formes de coordination et de communication identiÞŽes dans les chapitres prŽcŽdents. Dans la premi•re partie, nous prŽsentons une grille dÕanalyse de la collaboration qui ne se base pas sur les trois facettes du tr•ße. Cette grille ne remet pas en cause le besoin en services de communication, production et coordination au niveau logiciel mais elle donne dÕautres moyens pour analyser la collaboration. Dans la seconde partie, nous proposons le paradigme de la collaboration directe ˆ partir des caractŽristiques quÕun collecticiel devrait offrir pour rendre la collaboration plus intuitive. Dans la troisi•me partie, ˆ partir dÕune analogie entre manipulation directe et collaboration directe, nous proposons des principes de conception pour les interfaces des collecticiels. 4.1 Grille dÕanalyse de la collaboration Le mod•le du tr•ße fonctionnel permet dÕanalyser la collaboration du point de vue des services ˆ fournir au niveau logiciel. Ces services correspondent plus ou moins ˆ des activitŽs diffŽrentes pour les utilisateurs: communiquer avec dÕautres individus, produire des donnŽes en commun et se coordonner. Ces activitŽs ont souvent lieu simultanŽment. La manipulation dÕobjets en commun sert ˆ produire mais aussi ˆ se coordonner et ˆ communiquer. De m•me, la communication sert ˆ se coordonner et ˆ produire. Pour cette raison, nous proposons de ne pas analyser la collaboration ˆ partir des facettes du tr•ße, mais dÕappliquer une autre grille. 74 Chapitre 4: La Collaboration Directe Cette grille a pour but de caractŽriser la forme de la collaboration, et dÕanticiper les modiÞcations que lui apportera un collecticiel. Nous dŽÞnissons cette grille ˆ partir de trois scŽnarios mettant en Žvidence des formes de collaboration diffŽrentes: une vente aux ench•res, la rŽparation dÕun moteur et une nŽgociation commerciale. Ces exemples illustrent concr•tement les concepts de protocole, dÕobjet de coordination et de style de comportement des chapitres prŽcŽdents. Dans une vente aux ench•res, les individus Žchangent des signaux extr•mement conventionnels. La vente suit en gŽnŽral le schŽma suivant: un commissaire priseur Žnum•re une sŽrie dÕench•res, des individus Žmettent un signal, enÞn un coup de marteau conclut la vente. Ces comportements se rŽf•rent ˆ des protocoles de coordination (procŽdures1 ou conventions dans lÕexemple). La vente aux ench•res reprŽsente une forme de collaboration protocolaire. Dans lÕactivitŽ de rŽparation dÕun moteur, les mŽcaniciens exŽcutent un ballet mystŽrieux pour le profane, au cours duquel sÕŽchangent des outils, des pi•ces mŽcaniques, et o• plusieurs mains manipulent parfois ensemble les m•mes pi•ces. La rŽparation dÕun moteur, centrŽe autour des objets, est une forme de collaboration instrumentale. EnÞn, une nŽgociation commerciale donne lieu ˆ des dialogues tr•s riches. Le vendeur met en Ïuvre tout son art pour inßuencer son client, en contr™lant adroitement son style de comportement. En particulier il cherche ˆ transmettre des Žmotions. Le nŽgociation commerciale appara”t donc comme une forme de collaboration empathique. Les formes de collaboration protocolaire, instrumentale et empathique privilŽgient respectivement les protocoles, les objets de coordination ou bien le style de comportement. Nous en dŽduisons que la combinaison des protocoles, des objets et des styles est susceptible dÕengendrer des formes de collaboration intermŽdiaires. LÕespace de choix qui en rŽsulte est reprŽsentŽ par le diamant de la Þgure 4.1. Le diamant reprŽsente la collaboration comme un phŽnom•ne dÕinteraction entre lÕindividu et le groupe, et rŽciproquement, suivant trois facettes: les protocoles, les objets et les styles. Les trois facettes de la Þgure 4.1 ne sont pas indŽpendantes. Comme nous lÕavons indiquŽ au chapitre 2, les protocoles sÕutilisent parfois conjointement avec des objets de coordination. Dans ce cas, les opŽrations sur les objets et leurs changements dÕŽtat rendent visibles les Žtapes successives de lÕapplication dÕun protocole [Schmidt & Simone 96]. Les objets de coordination r•glent le moment de la participation et le r™le dÕun individu dans une activitŽ de groupe. Les objets et le style ne sont pas non plus indŽpendants, puisque la fa•on dont les objets sont manipulŽs est lÕune des composantes qui dŽÞnit le style de comportement. 1. La ßamme dans la vente ˆ la bougie Þxe la durŽe des ench•res de mani•re incontournable (ou ÒprocŽduraleÓ). Grille dÕanalyse de la collaboration 75 Groupe Forme de la collaboration Collaboration protocolaire Collaboration instrumentale Collaboration empathique Protocoles Objets Style Individu Figure 4.1. Le diamant: analyse des formes de la collaboration La grille dÕanalyse peut sÕappliquer en prenant le point de vue subjectif dÕun individu. La description de lÕactivitŽ coopŽrative consiste alors ˆ imaginer les rŽponses ˆ la question Òque dois-je faire pour collaborer?Ó. Pour rŽpondre ˆ cette question, le diamant se lit de la mani•re suivante: 1) Je dois choisir un protocole (procŽdure, convention ou norme sociale) pour donner un cadre interprŽtatif ˆ mes actions. D•s lors que ce choix est reconnu par tous, il permet de simpliÞer la comprŽhension et la prŽvision du comportement des autres. Si je suis dans la norme dÕune confŽrence il est vraisemblable que les confŽrenciers vont tous •tre amenŽs ˆ monopoliser la parole pendant un temps dŽterminŽ, puis ils rŽpondront aux questions des personnes leur faisant face. 2) Je dois sŽlectionner les objets manipulŽs en fonction des actions ˆ effectuer, mais Žgalement en fonction de mon r™le dans lÕactivitŽ du groupe. Ainsi au cours dÕune rŽunion, le choix dÕannoter une feuille pour le voisin ou dÕŽcrire au tableau dŽpend de mon r™le ˆ un instant donnŽ. Le r™le nÕa pas besoin dÕ•tre explicitement dŽsignŽ, la manipulation des objets qui lui sont associŽs sufÞt. 3) Je dois choisir un style de comportement adaptŽ aux effets que je souhaite produire sur les autres et aux rŽactions que jÕaimerais susciter. Avec les collecticiels, les individus interagissent entre eux par lÕintermŽdiaire des services du tr•ße. Cette mŽdiation est susceptible de modiÞer les choix proposŽs ˆ chaque Žtape. A la premi•re Žtape elle est susceptible de privilŽgier les procŽdures au dŽtriment des conventions ou des normes sociales. A la deuxi•me Žtape elle est susceptible de restreindre le nombre dÕobjets manipulables. EnÞn, ˆ la troisi•me Žtape elle est susceptible de Þltrer les styles de comportement perceptibles par les autres. 76 Chapitre 4: La Collaboration Directe Les diffŽrents types de protocoles sÕappliquent aussi simultanŽment. Dans un Žditeur de texte basŽ sur des verrous, lÕajout dÕun canal vocal est susceptible de dŽplacer la gestion des conßits dÕacc•s de la facette coordination (avec les verrous) ˆ la facette communication (avec la parole pour nŽgocier les modiÞcations du document). De m•me, lÕajout dÕun tŽlŽpointeur est susceptible de dŽplacer la gestion des conßits dÕacc•s, vers la facette production. En effet, le tŽlŽpointeur est assimilable ˆ un objet de coordination manipulŽ dans lÕespace de production pour crŽer de lÕinformation libre. Il peut servir ˆ attirer lÕattention sur un paragraphe pour indiquer une intention de le modiÞer. LÕadditivitŽ des protocoles justiÞe la fusion des facettes du tr•ße dans une m•me application, pour laisser un plus grand choix de protocoles aux utilisateurs. Les rŽponses donnŽes aux questions du choix des objets et du choix des styles de comportement dŽpendent en partie de la classe ˆ laquelle appartient lÕapplication utilisŽe. Ainsi, les applications de production contiennent plus de donnŽes partagŽes, certaines devenant des objets manipulŽs en commun dans lÕinterface. Les applications de communication sur support vidŽo ou sonore transmettent une partie du style de comportement ˆ dŽfaut de crŽer de lÕinformation libre par dÕautres moyens symboliques. 4.2 La collaboration directe Par rapport aux chapitres prŽcŽdents, nous dŽÞnissons la collaboration directe comme une qualitŽ de la collaboration: La collaboration est directe avec un collecticiel lorsque la coordination entre les utilisateurs sÕobtient par la communication et/ou la manipulation dÕobjets, suivant des conventions ou des normes sociales. La dŽÞnition ne privilŽgie pas de service logiciel. Elle ne remet pas en cause lÕapplication du tr•ße fonctionnel pour dŽcrire les services ˆ implŽmenter. Par contre la possibilitŽ dÕinventer des conventions et dÕappliquer des normes sociales impose des contraintes sur la coordination. La dŽÞnition ne privilŽgie pas non plus une forme de collaboration (protocolaire, instrumentale ou empathique). Cependant, pour que les utilisateurs puissent choisir leurs conventions et appliquer des normes sociales, ils doivent •tre en mesure de tirer partie de toutes les facettes du diamant. Nous allons donc Žtudier de quelle fa•on lÕordinateur peut faciliter lÕinteraction entre les individus suivant les protocoles, les objets ou les styles. R™le de lÕordinateur dans lÕinteraction entre les utilisateurs Suivant [Fogg 98], lÕordinateur joue trois r™les dans lÕinteraction homme-machine: outil, acteur social, mŽdia. Nous avons trouvŽ un prolongement possible de chacun de ces r™les La collaboration directe 77 dans le cas de lÕinteraction entre utilisateurs. Ces prolongements correspondent aux facettes du diamant comme illustrŽ sur la Þgure 4.2. Outil Outil Acteur Social MŽdia Acteur Social MŽdia Figure 4.2. Trois conceptions du r™le de lÕordinateur dans lÕinteraction LÕordinateur outil Žtend la capacitŽ dÕaction des utilisateurs sur lÕenvironnement. LÕordinateur acteur social adopte des comportements humains, par exemple il sait proposer son aide ˆ lÕutilisateur au bon moment. EnÞn, lÕordinateur mŽdia permet de vivre une expŽrience ˆ travers la reproduction de contenus symboliques ou sensoriels. Avec la collaboration directe, lÕordinateur en tant quÕoutil augmente la capacitŽ dÕaction des utilisateurs sur les autres, ˆ travers lÕŽchange et la manipulation dÕobjets. En tant quÕacteur social, il nÕemp•che pas lÕapplication des conventions et des normes sociales. EnÞn, en tant que mŽdia il est un canal de communication qui rend perceptible le style de comportement. Une interface ˆ collaboration directe doit jouer tous les r™les simultanŽment. LÕexemple suivant, bien que stŽrŽotypŽ, dŽÞnit une forme dÕinteraction o• tous les r™les sont reprŽsentŽs. Exemple dÕordinateur ˆ la fois outil, mŽdia et acteur social LÕordinateur joue tous les r™les ˆ la fois dans le cas de la manipulation dÕobjets contr™lŽs coopŽrativement, cÕest-ˆ-dire manipulŽs par plusieurs utilisateurs simultanŽment [Bricker et al. 97]. Ce type dÕobjet, encore assez rare dans les collecticiels, donne un exemple de collaboration directe. Nous le prŽsentons m•me si les applications dŽcrites dans lÕarticle semblent dÕune portŽe limitŽe: dŽplacer les pi•ces dÕun puzzle, contr™ler une trajectoire ou dŽplacer coopŽrativement un point. La Þgure 4.3 montre le dŽplacement coopŽratif dÕun point. Les quatre ß•ches reprŽsentent les tŽlŽpointeurs des utilisateurs qui dŽplacent conjointement un point ˆ lÕaide de points de contr™le reliŽs par un segment. La position du point central dŽpend de la position de lÕensemble des points de contr™le. Aussi, le dŽplacement du point central sÕobtient en tirant sur les points de contr™le. Cette forme dÕinteraction met en Ïuvre toutes les facettes du diamant. Premi•rement, le point ˆ dŽplacer et ses points de contr™le forment un objet de coordination qui fait la synth•se des actions de tous les utilisateurs. Deuxi•mement, les 78 Chapitre 4: La Collaboration Directe tŽlŽpointeurs reprŽsentent la facette style, car ils permettent ˆ chacun de communiquer ses intentions, en indiquant dans quelle direction il souhaite dŽplacer le point. EnÞn, lÕordinateur nÕimpose pas de protocole aux utilisateurs. Ils sont libres dÕinventer leurs conventions, comme de choisir un leader qui indique la direction ˆ suivre, ou bien de choisir implicitement ˆ chaque instant la direction du dŽplacement en tenant compte de la difÞcultŽ ˆ sÕopposer au mouvement gŽnŽral. Figure 4.3. Point contr™lŽ coopŽrativement par quatre utilisateurs Les objets contr™lŽs coopŽrativement sont ˆ la fois des objets de coordination et des canaux de communication non verbale. Dans lÕexemple prŽcŽdent, la mani•re de dŽplacer les points de contr™le crŽe de lÕinformation libre ˆ partir de laquelle il est possible dÕinventer des conventions ou dÕexercer de lÕinßuence. M•me si lÕefÞcacitŽ de la manipulation de groupe dÕun m•me objet Žlectronique nÕest pas supŽrieure ˆ la manipulation individuelle, Bricket et al. ont employŽ cette forme dÕinteraction pour sa capacitŽ ˆ souder les individus propice aux activitŽs dÕenseignement. LÕordinateur mŽdia La transformation de lÕordinateur en mŽdia devrait donner la capacitŽ aux utilisateurs dÕinventer leurs propres protocoles de coordination, tout comme ils ont inventŽ progressivement les conventions et les normes sociales liŽes ˆ la communication en face-ˆ-face. Cette transformation ne dŽpend pas uniquement de lÕŽvolution technologique, mais Žgalement de lÕŽvolution des attitudes individuelles face ˆ la technologie. Comme nous lÕavons ŽvoquŽ avec les Žmoticons, il est possible d•s ˆ prŽsent dÕutiliser lÕordinateur pour recrŽer un contexte qualitatif et communiquer des Žmotions. Si lÕon applique la thŽorie de Mac Luhan [MacLuhan 77], la transformation des collecticiels en vŽritables canaux de communication devrait suivre ˆ peu pr•s les m•mes Žtapes que les autres technologies qui, dans lÕhistoire, sont devenues des moyens de communication. LÕapparition dÕun nouveau mŽdia (lÕŽcriture, lÕimprimerie, la radio, la tŽlŽvision) sÕeffectue progressivement. Dans un premier temps, les individus cherchent ˆ rŽutiliser ce quÕils connaissent des anciens mŽdias dans la forme imposŽe au contenu par les nouveaux. Les premi•res Žmissions tŽlŽvisŽes, par exemple, ressemblaient ˆ sÕy mŽprendre ˆ des Žmissions radiophoniques, la camŽra restant Þxe. Progressivement, le mŽdia prend son autonomie et sa forme propre qui lui conf•re un pouvoir dÕexpression particulier. Ainsi le langage visuel des Collaboration directe et manipulation directe 79 Žmissions tŽlŽvisŽes a profondŽment ŽvoluŽ, au point que lÕart du montage est devenu un langage ˆ part enti•re [Miller 90]. Si lÕon consid•re les collecticiels comme un mŽdia, les applications existantes sont au stade de la rŽŽcriture des canaux de communication traditionnels, comme la vidŽo, la voix, lÕŽcriture ou le geste. Leur Žvolution est tournŽe vers lÕintŽgration de ces canaux de communication, pour transformer progressivement lÕordinateur en un canal de communication ˆ part enti•re, possŽdant sa propre forme de contenu et dÕexpression. Ce point de vue est le Þl conducteur de lÕŽtat de lÕart que nous avons prŽsentŽ dans [Chatty et al. 96a]. 4.3 Collaboration directe et manipulation directe La collaboration directe dŽÞnit un objectif ˆ atteindre avec les collecticiels. Cet objectif est fondŽ sur une critique des caractŽristiques des syst•mes existants et sur des observations de la collaboration dans le monde physique. Dans cette section, nous proposons une analogie entre la collaboration directe et la manipulation directe. Notre but est dÕutiliser cette analogie pour traduire les principes de la manipulation directe en principes de la collaboration directe et de les appliquer ˆ la conception dÕinterfaces. Analogie LÕinteraction entre les utilisateurs dÕun collecticiel est comparable ˆ lÕinteraction entre un utilisateur et une application mono-utilisateur avant lÕapparition des interfaces ˆ manipulation directe. En effet, au dŽbut des annŽes 80 lÕinteraction avec les ordinateurs suit un mod•le dÕinteraction langagi•re. LÕutilisateur dŽcrit au syst•me ce quÕil doit faire ˆ lÕaide de langages de commandes. Le langage de commande, qui poss•de de fortes contraintes syntaxiques, est un intermŽdiaire entre lÕindividu et les concepts de lÕapplication quÕil manipule. Il nŽcessite des efforts de traduction de la part de lÕutilisateur, pour transformer la description des t‰ches quÕil souhaite faire exŽcuter ˆ lÕordinateur du niveau sŽmantique auquel il les apprŽhende au niveau syntaxique du langage de commande. Ces langages de commande sont semblables aux procŽdures de coordination qui sÕinterposent entre les utilisateurs des collecticiels. Avec lÕapparition des syst•mes graphiques, un nouveau mod•le dÕinteraction sÕest dŽveloppŽ autour de la notion de manipulation directe [Shneiderman 83]. Gr‰ce aux capacitŽs de reprŽsentation des ordinateurs et ˆ lÕusage de mŽtaphores, les utilisateurs interagissent directement sur les concepts de lÕapplication reprŽsentŽs graphiquement. Ils ne font plus faire les t‰ches ˆ lÕordinateur mais les font eux-m•me ˆ lÕaide dÕactions physiques exercŽes par des pŽriphŽriques dÕentrŽe du type souris. Dans lÕesprit de la manipulation directe les intermŽdiaires entre lÕhomme et lÕordinateur, du type langage de commande et bo”te de dialogue, sont rŽservŽs ˆ certaines phases de lÕinteraction, comme la gestion des erreurs. De m•me, 80 Chapitre 4: La Collaboration Directe dans lÕesprit de la collaboration directe, lÕapplication de procŽdures de coordination doit •tre limitŽe ˆ certaines situations seulement. Principes de la manipulation directe Dans lÕarticle fondateur de la manipulation directe, Shneiderman a gŽnŽralisŽ les caractŽristiques essentielles des syst•mes qui plaisaient ˆ leurs utilisateurs, tels que le tableur Visicalc, les jeux vidŽo, ou les Žditeurs de texte pleine page en mode graphique [Shneiderman 83]. Ces caractŽristiques1 sont aisŽment transposables dans les principes de conception suivants2 : ¥ ¥ ¥ reprŽsenter des objets dÕintŽr•t directement issus du domaine de lÕapplication; utiliser des actions physiques plut™t que des langages de commandes (par exemple presser sur un bouton); les actions doivent •tre rŽversibles, progressives, et leur effet immŽdiatement perceptible de mani•re continue. Les principes de la manipulation directe exploitent des mŽtaphores et les reprŽsentations graphiques de lÕinterface pour reprŽsenter les objets dÕintŽr•t et Žviter ainsi les langages de commande. Les actions physiques et le contr™le continu de ces actions crŽent un couplage plus fort entre les utilisateurs et les concepts de lÕapplication. Pour chacun de ces principes, nous allons proposer une transposition basŽe sur lÕanalogie entre langage de commande et procŽdure de coordination. ÒObjets dÕintŽr•tÉÓ Le principe de crŽation associŽ ˆ la manipulation directe consiste ˆ concevoir des Òobjets dÕintŽr•t issus du domaine de lÕapplicationÓ. Pour appliquer ce principe ˆ la collaboration, il faut dŽterminer sÕil existe des objets dÕintŽr•t propres ˆ la collaboration en tant que domaine dÕapplication, ou bien propre ˆ chaque activitŽ collaborative. Dans le chapitre 2 nous avons dŽÞni la notion dÕobjet de coordination (voir ÒObjets de coordinationÓ page 30). Nous reprenons cette notion pour traduire le principe de crŽation de la manipulation directe par le principe des objets suivant : P1: Identifier ou inventer des objets de coordination et les rendre manipulables dans lÕinterface. 1. ÒFeaturesÓ. 2. En fait il existe un autre principe que nous omettons: lÕapprentissage de la manipulation de lÕinterface doit •tre incrŽmental. Collaboration directe et manipulation directe 81 Dans le chapitre 2 nous avons dŽcrit plusieurs exemples dÕobjets de coordination. Nous avons aussi dŽcrit prŽcŽdemment un exemple dÕobjet contr™lŽ coopŽrativement pour illustrer la collaboration directe. Parmi tous ces exemples nous retenons les caractŽristiques suivantes: ¥ ¥ ¥ ¥ ¥ mobilitŽ; pas de contrainte sur la manipulation (sauf sÕils sont liŽs ˆ des procŽdures); manipulation par plusieurs individus simultanŽment; manipulation visible par plusieurs personnes simultanŽment; pouvoir dÕabstraction. La mobilitŽ est une caractŽristique forte de plusieurs exemples (clŽs, strip, kanban). LÕimportance de la mobilitŽ sÕexplique par la responsabilitŽ reprŽsentŽe par lÕobjet pour la personne qui le poss•de. Dans ce cas, la circulation de lÕobjet est un moyen de transfŽrer la responsabilitŽ. La manipulation en commun des objets de coordination est une occasion pour les individus de varier leur style de comportement et de crŽer ainsi de lÕinformation libre pour se coordonner ou pour communiquer. La visibilitŽ des objets de coordination contribue ˆ la conscience mutuelle ou bien ˆ la rŽtroaction de groupe. EnÞn, le pouvoir dÕabstraction se rŽf•re ˆ la fonction sŽmiotique des objets de coordination, cÕest-ˆ-dire ˆ leur capacitŽ ˆ reprŽsenter quelque chose de signiÞcatif pour lÕactivitŽ des individus. Fonction sŽmiotique des objets de coordination Les objets de coordination agissent en tant que signe. Un objet-signe est lÕassociation dÕun objet physique, ou dÕun objet reprŽsentŽ dans une interface, traitŽ en tant que signiÞant, avec un rŽfŽrent, cÕest-ˆ-dire la signiÞcation ˆ laquelle il renvoie. Dans ce cadre, le pouvoir dÕabstraction dŽsigne la capacitŽ des objets-signes ˆ renvoyer ˆ un rŽfŽrent de plus en plus abstrait. Plusieurs exemples dÕobjets de coordination, les portes, les capacitŽs, les ic™nes de Þchier dans le monde Žlectronique, et le kanban et le strip dans le monde physique illustrent diffŽrents degrŽs dans le pouvoir dÕabstraction. Dans lÕespace partagŽ TeamRooms [Roseman & Greenberg 96] une porte est une ic™ne spŽciale qui peut •tre laissŽe dans une pi•ce. Cette porte sert ˆ se rendre dans une autre pi•ce. La porte est un objet de coordination dont le rŽfŽrent est lÕaction dÕentrer dans une pi•ce. La porte est un objet de coordination qui traduit un mŽcanisme de gestion de session, puisque lÕentrŽe dans une pi•ce permet de partager plusieurs applications. Dans lÕespace de travail partagŽ Kansas, les droits dÕacc•s ˆ certaines fonctions, comme le droit de cliquer avec le bouton du milieu de la souris, sont reprŽsentŽs par des ÒcapacitŽsÓ. Dans un Žditeur partagŽ le bouton du milieu peut servir ˆ activer les fonctions de modiÞcation des documents. Les capacitŽs sont transportŽes mŽtaphoriquement dans le curseur de lÕutilisateur. Elles poss•dent une reprŽsentation graphique pour •tre ŽchangŽes entre utilisateurs [Smith et al. 98]. Les capacitŽs servent ˆ limiter les actions effectuŽes sur des docu- 82 Chapitre 4: La Collaboration Directe ments partagŽs. Ce sont des objets de coordination qui traduisent un mŽcanisme de gestion des conßits dÕacc•s. Le kanban et le strip sont Žgalement des objets de coordination dont la circulation est ˆ la base de la coordination des activitŽs dÕun groupe (voir page 30). Le kanban a pour rŽfŽrent une certaine quantitŽ dÕun bien matŽriel ˆ produire. Il renvoie en quelque sorte ˆ une valeur numŽrique dÕŽchange, comme un billet de banque. Le strip a pour rŽfŽrent lÕavion ˆ propos duquel il contient des informations. Il renvoie donc ˆ un autre objet inaccessible car trop ŽloignŽ. EnÞn, lÕic™ne dÕun Þchier renvoie au Þchier. Puisque les manipulations de lÕic™ne sont directement traduites en manipulation du Þchier, nous considŽrons que dans ce cas il y a identitŽ du signiÞant et du rŽfŽrent. La Þgure 4.4 reprend les cinq types de rŽfŽrents que nous avons mentionnŽs en les classant suivant leur pouvoir dÕabstraction. Porte CapacitŽ Kanban Strip Ic™ne de fichier Signifiant Fichier Õabst oir d Valeur numŽrique dÕŽchange on racti RŽification Pouv Objet distant nt Žre RŽf Action sur lÕenvironnement Action de rentrer Figure 4.4. Rapports entre signiÞant et rŽfŽrent pour quelques objets-signes ÒActions physiquesÉÓ La traduction du principe de la manipulation directe Òutiliser des actions physiques plut™t que des langages de commandeÓ nŽcessite de trouver un Žquivalent aux actions physiques capable de diminuer le recours aux procŽdures de coordination. DÕapr•s les chapitres 2 et 3, le style de comportement permet de se coordonner et de communiquer en donnant du sens ˆ de lÕinformation libre quÕils produisent. Le style de comportement rŽsulte de la mani•re dÕeffectuer les actions physiques. Il concerne par exemple la fa•on de manipuler des objets en commun ou de les faire circuler. A la Þn du chapitre 3, nous avons dŽsignŽ le contr™le de la forme des Žchanges de donnŽes comme un moyen de transmettre le style de comportement. Nous pouvons donc Žtendre le principe des actions physiques de la manipulation Conclusion 83 directe en un principe consistant ˆ transmettre Žgalement la mani•re dÕeffectuer ces actions. Nous en dŽduisons le principe suivant: P2: Enrichir la forme des Žchanges de donnŽes Le principe P2 vise ˆ crŽer de lÕinformation libre ˆ partir de toutes les actions qui provoquent des Žchanges de donnŽes, ˆ lÕimage des tŽlŽpointeurs que nous avons prŽsentŽs page 65. ÒActions rŽversibles, ÉÓ Le principe prŽcŽdent repose sur une analogie entre les actions physiques de la manipulation directe et le style de comportement produit par le contr™le de la forme des Žchanges de donnŽes. Cette analogie permet aussi de traduire le principe des Òactions rŽversibles, progressives et perceptibles de mani•re continueÓ sous la forme suivante : P3: Fournir des formes dÕŽchange de donnŽes rŽversibles, progressives et perceptibles de mani•re continue Ce nouveau principe donne des moyens pour enrichir la forme des Žchanges de donnŽes. Les principes P2 et P3 concernent la crŽation dÕinformation libre, comme avec le style de comportement dans le monde physique. Nous les appelons indiffŽremment principe du style. 4.4 Conclusion Dans ce chapitre nous avons dŽcrit le diamant, une grille dÕanalyse de la collaboration qui tient compte de plusieurs formes de collaboration. Cette grille est utile pour analyser les effets des collecticiels sur la collaboration. Nous avons aussi dŽÞni le paradigme de la collaboration directe. Celui-ci indique les propriŽtŽs de la coordination ˆ conserver dans les collecticiels pour Žviter de faire de lÕordinateur un intermŽdiaire entre les individus. Pour •tre en mesure de rŽaliser des interfaces favorisant une collaboration directe entre les utilisateurs, nous avons Žtabli une analogie avec la manipulation directe qui nous a permis dÕobtenir plusieurs principes de conception. Dans la suite de cette th•se nous allons appliquer ces principes pour vŽriÞer sÕil est possible dÕinventer des formes dÕinteraction se rapprochant de la collaboration directe. Mais tout dÕabord, nous allons Žtudier les obstacles ˆ une collaboration intuitive entre les individus liŽs au caract•re distribuŽ des interfaces manipulŽes dans un groupe. 84 Chapitre 4: La Collaboration Directe Chapitre 5 Obstacles ˆ la collaboration directe dans les interfaces Les collecticiels augmentent la quantitŽ dÕinformation accessible dans lÕenvironnement de travail. Pour travailler ensemble, les individus doivent se construire une image mentale dÕun groupe dont les membres sont situŽs dans plusieurs endroits et manipulent chacun des interfaces parfois diffŽrentes. Dans ce contexte, il est naturel de sÕinterroger sur les obstacles qui pourraient nuire ˆ la reprŽsentation mentale du groupe. En effet, on peut supposer quÕune mauvaise reprŽsentation diminuera la comprŽhension entre les individus. Ils auront alors plus de difÞcultŽ ˆ se coordonner et ˆ communiquer. Ce chapitre prŽsente notre mod•le dÕanalyse des actions effectuŽes par les individus au sein dÕun groupe, ou actions de groupe. Il est inspirŽ de la thŽorie de lÕaction de Norman. De m•me que la thŽorie de lÕaction prŽdit plusieurs sources dÕerreur dans la manipulation des interfaces, notre mod•le prŽdit plusieurs sources dÕincomprŽhension entre les utilisateurs. Nous vŽriÞerons lÕexistence de ces sources dÕincomprŽhension ˆ lÕaide de plusieurs exemples, puis nous complŽterons les principes de la collaboration directe. 5.1 De lÕaction individuelle ˆ lÕaction de groupe Les actions que nous accomplissons au sein dÕun groupe ont souvent des effets sur les autres membres du groupe. Une action ne se termine parfois que lorsque nous avons pu vŽriÞer sa prise en compte par les autres. Ceci est vrai dans le domaine du contr™le aŽrien o• les contr™leurs travaillant c™te-ˆ-c™te consacrent une part de leur activitŽ ˆ vŽriÞer leurs actions mutuelles [Bressole et al. 98]. LÕanalyse des actions de groupe implique donc la prise en compte de cette vŽriÞcation mutuelle. Nous proposons un mod•le dÕanalyse des actions de groupe basŽ sur la transposition de la notion de boucle exŽcution-Žvaluation ˆ la base de la thŽorie de lÕaction. 86 Chapitre 5: Obstacles ˆ la collaboration directe dans les interfaces 5.1.1 ThŽorie de lÕaction La thŽorie de lÕaction analyse lÕinteraction entre les individus et les objets de leur environnement, y compris les ordinateurs, pour accomplir une t‰che [Norman 88]. Elle sert ˆ comprendre les erreurs commises pendant la manipulation dÕune interface, mais aussi ˆ concevoir des interfaces minimisant les risques dÕerreur de manipulation. La thŽorie de lÕaction de Norman tient compte des avancŽes rŽcentes des sciences cognitives. Elle dŽcrit lÕexŽcution dÕune t‰che individuelle comme la combinaison dÕopŽrations mentales et dÕopŽrations physiques qui suivent deux courants: ¥ Le courant dÕexŽcution Le courant dÕexŽcution dŽsigne le passage dÕun but formulŽ par lÕutilisateur ˆ lÕexŽcution des actions le rapprochant du but. Ces activitŽs reposent sur la comprŽhension de lÕindividu a) du fonctionnement du syst•me, b) de lÕŽtat du syst•me et c) des actions permises sur lÕinterface. Si la t‰che consiste ˆ effacer un mot dans un document, le courant dÕexŽcution dŽsigne toutes les activitŽs mentales et les opŽrations effectuŽes entre la prise de dŽcision et lÕappui sur la touche dÕeffacement apr•s avoir sŽlectionnŽ le mot avec la souris. ¥ Le courant de lÕŽvaluation Le courant de lÕŽvaluation dŽsigne les opŽrations nŽcessaires ˆ la vŽriÞcation de la conformitŽ entre les effets des actions effectuŽes et le but recherchŽ. Dans le cas de la destruction dÕun mot, le courant dÕŽvaluation dŽsigne toutes les opŽrations qui m•nent de la perception de la disparition de la zone de sŽlection active ˆ son interprŽtation en terme dÕeffacement du mot choisi. Žvaluation exŽcution Buts de lÕutilisateur Syst•me (interface) Figure 5.1. ExŽcution dÕune t‰che dÕapr•s Norman Le courant dÕexŽcution et le courant dÕŽvaluation sont la source de deux types dÕŽchec dans lÕinteraction: lÕŽchec de lÕexŽcution et lÕŽchec de lÕŽvaluation. Norman modŽlise ces deux sources dÕŽchec par les notions de distance dÕexŽcution et de distance dÕŽvaluation. Chacune de ces distances traduit les efforts mentaux et les efforts physiques nŽcessaires pour rŽussir respectivement lÕexŽcution et lÕŽvaluation dÕune action. Mod•le dÕanalyse des actions de groupe 87 Au niveau mental, la distance dÕexŽcution correspond ˆ lÕeffort nŽcessaire pour comprendre lÕeffet des actions permises sur le syst•me. La distance dÕŽvaluation correspond ˆ lÕeffort nŽcessaire pour interprŽter correctement les changements dÕŽtat du syst•me. Au niveau physique, ces deux distances correspondent aux efforts liŽs aux opŽrations physiques nŽcessaires respectivement pour lÕexŽcution et pour lÕŽvaluation du rŽsultat. LÕexplication cognitive des facteurs qui contribuent ˆ augmenter la distance dÕexŽcution et la distance dÕŽvaluation est liŽe ˆ la divergence entre le mod•le mental que lÕutilisateur se fait du syst•me et le mod•le conceptuel vŽritable du syst•me. Un syst•me bien con•u au sens de la thŽorie de lÕaction est un syst•me qui rŽduit la divergence entre le mod•le mental et le mod•le conceptuel tout en simpliÞant les opŽrations physiques. Un terme issu de la psychologie de la perception traduit cette propriŽtŽ des syst•mes, il sÕagit du concept dÕaffordance, parfois traduit par lÕexpression ÒcapacitŽ suggestive dÕactionÓ1. 5.1.2 Mod•le dÕanalyse des actions de groupe Les actions de groupe sur les interfaces sont des actions qui provoquent des effets, au-delˆ de la machine de lÕutilisateur, sur les autres utilisateurs ou sur les donnŽes partagŽes. Par exemple, lÕenvoi dÕun courrier Žlectronique affecte lÕenvironnement du destinataire. De m•me, lÕajout dÕun cercle dans un Žditeur partagŽ modiÞe lÕŽtat dÕun document visible par tous. Les actions individuelles deviennent des actions de groupe lorsquÕelles ont des effets sur lÕenvironnement ˆ travers la conscience mutuelle ou la rŽtroaction de groupe. Notre mod•le dÕanalyse des actions de groupe est basŽ sur la transposition des concepts de la thŽorie lÕaction de Norman rŽsumŽe dans le tableau 5.1. niveau classique niveau collectif action action de groupe exŽcution participation Žvaluation rŽaction distance dÕexŽcution distance de participation distance dÕŽvaluation distance de rŽaction Þl de dialogue Þl de collaboration Tableau 5.1 Extension des concepts de la thŽorie de lÕaction de Norman Les deux courants dÕune action au sens de Norman sont orientŽs respectivement depuis lÕutilisateur vers la machine, et depuis la machine vers lÕutilisateur. Ils sont en gŽnŽral superposŽs ou tr•s rapprochŽs dans le temps. LÕutilisateur per•oit immŽdiatement les effets de ses actions. Au niveau collectif, ces deux courants sont difÞcilement superposables. Le courant 1. Traduction suggŽrŽe par Guy Boy. Thomas Baudel propose dÕemployer les mots ÒintuitÓ ou ÒinviteÓ pour dŽnoter les caractŽristiques de certains objets induisant leur mode dÕemploi. 88 Chapitre 5: Obstacles ˆ la collaboration directe dans les interfaces de lÕexŽcution ÒcollectiveÓ sÕach•ve seulement lorsque les autres utilisateurs per•oivent les effets des actions de lÕutilisateur initial. Le courant de lÕŽvaluation ÒcollectiveÓ sÕach•ve seulement lorsque lÕutilisateur initial interpr•te les rŽactions des autres utilisateurs ˆ son action initiale. LÕŽvaluation dÕune action de groupe, que nous appelons une participation, nŽcessite donc la production dÕautres actions de groupe, ou rŽactions, par les autres utilisateurs. Les rŽactions sont nŽcessaires pour que les utilisateurs puissent vŽriÞer la comprŽhension mutuelle quÕils ont de leurs actions. A ce titre, m•me lÕabsence de rŽaction est une forme de comprŽhension mutuelle. Suivant les cas, elle est interprŽtŽe comme une Òacceptation implicite silencieuse1Ó, comme un oubli ou comme de lÕinattention. Le scŽnario ˆ la base de lÕexŽcution dÕune t‰che de groupe se compose donc dÕune premi•re action de groupe, ou participation, suivie par une ou plusieurs rŽactions de la part des autres utilisateurs. Pour dŽcrire cet encha”nement de base, nous dŽÞnissons le courant de participation et le courant de rŽaction. Chacun de ces courants contient une action au sens de Norman. La Þgure 5.2 reprŽsente le courant de participation dans la moitiŽ supŽrieure et le courant de rŽaction dans la moitiŽ infŽrieure. Temps Participation 2 1 exŽcution 3 action Utilisateur initial 1 exŽcution 3Õ rŽtroaction de groupe rŽtroaction de groupe action au sens de Norman Utilisateur n Žvaluation action Žvaluation RŽaction 2 Changement dÕŽtat de lÕinterface: utilisateur initial utilisateur n Figure 5.2. Une action de groupe Le courant de participation et le courant de rŽaction comportent chacun trois Žtapes. Ils se distinguent par leur direction par rapport ˆ lÕutilisateur initial. Le courant de participation est dirigŽ de lÕutilisateur initial vers les autres, et rŽciproquement pour le courant de participa- 1. DÕapr•s la cŽl•bre phrase de Bateson Òon ne peut pas ne pas communiquer!Ó Mod•le dÕanalyse des actions de groupe 89 tion. La premi•re et la deuxi•me Žtape de ces courants sont identiques, la troisi•me sÕexprime diffŽremment suivant quÕil sÕagit dÕune participation ou dÕune rŽaction: ¥ Premi•re Žtape (rep•re 1) LÕutilisateur qui poss•de un but de groupe, par exemple envoyer un message, transforme ce but en une intention dÕaction de groupe, par exemple utiliser un courrier Žlectronique. ¥ Deuxi•me Žtape (rep•re 2) LÕutilisateur exŽcute son intention dÕaction de groupe sur son interface. Pour cela, il effectue une action compl•te au sens de Norman. Cette action au sens de Norman est reprŽsentŽe par une bo”te grisŽe sur la Þgure 5.2. ¥ Troisi•me Žtape pour une participation (rep•re 3) LÕaction, au sens de Norman est transmise, puis prŽsentŽe aux autres utilisateurs, sous forme de rŽtroaction de groupe. Chaque destinataire interpr•te les buts de lÕutilisateur initial, puis il rŽagit en prŽparant une rŽaction (retour ˆ lÕŽtape 1). ¥ Troisi•me Žtape pour une rŽaction (rep•re 3Õ) LÕaction, au sens de Norman est transmise, puis prŽsentŽe ˆ lÕutilisateur initial qui avait dŽclenchŽ la participation. Celui-ci, qui attendait la rŽaction, Žvalue la comprŽhension que le destinataire a eu de son but. Il dŽcide alors que son action est terminŽe, ou bien il la poursuit par une nouvelle action de groupe. Les actions de groupe peuvent avoir des rŽpercussion sur plusieurs individus. Par analogie avec la notion de Þl de dialogue dans les interfaces mono-utilisateurs, constituŽ par une succession dÕactions en rapport les unes avec les autres, une participation peut dŽclencher une succession dÕactions de groupe (Þgure 5.3). Cet encha”nement dÕactions de groupe Žquivalent ˆ un ÒÞl de dialogueÓ est un Þl de collaboration. LÕhistorique des actions de groupe qui forment un Þl de collaboration est parfois visible dans lÕinterface, comme les tranches de discussion dans les forums Žlectroniques. Par analogie avec le courant dÕexŽcution et le courant dÕŽvaluation, le courant de participation et le courant de rŽaction sont la source de deux types dÕŽchec dans lÕinteraction entre deux utilisateurs. La premi•re correspond ˆ tout ce qui nuit au bon dŽroulement dÕune participation. La seconde correspond ˆ tout ce qui nuit au bon dŽroulement dÕune rŽaction. En poursuivant lÕanalogie, nous dŽÞnissons ces deux sources sous la forme de distances entre les utilisateurs: La distance de participation correspond aux efforts mentaux nŽcessaires pour prŽvoir correctement lÕeffet de ses actions sur les autres membres du groupe et aux efforts physiques ˆ accomplir sans rapport direct avec les effets souhaitŽs. 90 Chapitre 5: Obstacles ˆ la collaboration directe dans les interfaces Participation exŽcution rŽtroaction Žvaluation RŽactions Individu Groupe rŽtroaction Figure 5.3. Fil de collaboration La distance de rŽaction correspond aux efforts mentaux nŽcessaires pour interprŽter correctement lÕintention de lÕauteur dÕune rŽaction et aux efforts physiques ˆ accomplir pour accŽder ˆ cette rŽaction. Un syst•me bien con•u pour les actions de groupe diminue les distances de participation et de rŽaction en minimisant les Žcarts de prŽvision ou dÕinterprŽtation. Par analogie avec les syst•mes mono-utilisateurs, nous dŽsignons lÕaptitude dÕun syst•me ˆ diminuer la distance de participation, cÕest-ˆ-dire ˆ favoriser lÕanticipation des effets dÕune action sur le reste du groupe, par le terme dÕaffordance sociale ou de capacitŽ suggestive dÕaction de groupe. 5.2 Causes des distances de participation et de rŽaction Les individus qui interagissent avec des collecticiels ne partagent pas les m•mes contextes (au sens des contextes de la communication dŽcrits page 52). En particulier, lÕexistence de multiples vues sur les donnŽes partagŽes crŽe des contextes visuels variŽs. Nous allons dŽcrire plusieurs exemples dans lesquels la disparitŽ de ces contextes a des consŽquences en terme dÕefforts de comprŽhension ou dÕefforts physiques. La notion de syst•me de reprŽsentation va nous servir ˆ expliquer lÕorigine de ces efforts qui contribuent aux distances de participation et de rŽaction. Causes des distances de participation et de rŽaction 91 Syst•mes de reprŽsentation Dans les interfaces graphiques, le choix des reprŽsentations graphiques manipulŽes par les utilisateurs est souvent guidŽ par des mŽtaphores. Les reprŽsentations graphiques issues dÕune m•me mŽtaphore forment ce que nous appelons un syst•me de reprŽsentation. Les reprŽsentations dŽduites dÕune seule mŽtaphore ne sont pas toujours sufÞsantes pour structurer lÕinterface et rendre compte de toutes les opŽrations permises. Ainsi, le choix des surfaces o• les objets sont manipulŽs, les fen•tres, est indŽpendant des applications: il est imposŽ par le gestionnaire de fen•tre. Nous distinguons trois sous-classes de mŽtaphores pour dŽcrire les syst•mes de reprŽsentation dÕune interface: les mŽtaphores dÕobjet, dÕinstrument et de surface. La mŽtaphore dÕobjet est ˆ lÕorigine du choix des objets graphiques qui reprŽsentent les entitŽs manipulŽes par lÕapplication. Ces objets sont passifs, ils correspondent souvent aux donnŽes dÕune application. CÕest le cas des reprŽsentations des avions sur une image radar. Inversement il existe aussi des objets actifs, qui servent ˆ appliquer des opŽrations ˆ dÕautres objets, ce sont les instruments issus dÕune mŽtaphore des instruments. Les instruments sont dŽcrits dans le mod•le de lÕinteraction instrumentale [Beaudouin-Lafon 97]. Ce mod•le est basŽ sur la constatation que les actions physiques nÕont pas toujours lieu directement sur les objets dÕintŽr•t avec les pŽriphŽriques dÕentrŽe, mais quÕelles sÕeffectuent aussi par lÕintermŽdiaire dÕobjets particuliers de lÕinterface, les instruments, qui exŽcutent les actions. Par exemple les barres de dŽÞlement sont des instruments intermŽdiaires entre la souris et les vues, qui modiÞent la position des vues. La mŽtaphore de surface est ˆ lÕorigine du choix des surfaces dÕafÞchage. Le domaine auquel appartient lÕapplication contient parfois des ŽlŽments qui se traduisent directement en surfaces. DÕautres fois, cÕest au concepteur de trouver une mŽtaphore de surface. Par exemple, la mŽtaphore de surface employŽe dans le prototype Digistrip conserve la notion de tableau de strip [Mertz 99]. Les contr™leurs peuvent ainsi continuer ˆ effectuer sur le tableau les opŽrations de dŽcalages des strips auxquelles ils sont habituŽs. ReprŽsentation des facettes du tr•fle LÕapplication au sens strict du mod•le du tr•ße engendre parfois des syst•mes de reprŽsentation diffŽrents pour les facettes production, communication ou coordination. Pour effectuer des actions de groupe, les utilisateurs doivent alors ÒjonglerÓ entre ces syst•mes de reprŽsentation. CÕest le cas pour passer de la facette coordination ˆ la facette production dans les Žditeurs partagŽs, ou pour passer de la facette communication ˆ la facette production. Le passage de la facette coordination ˆ la facette production est souvent nŽcessaire pour appliquer un mŽcanisme de gestion des conßits dÕacc•s avant de modiÞer une donnŽe partagŽe. Dans les Žditeurs partagŽs ce passage se traduit par le passage du syst•me de reprŽsentation des verrous ˆ celui de lÕŽdition du texte. Les verrous crŽent une distance de participation 92 Chapitre 5: Obstacles ˆ la collaboration directe dans les interfaces parce quÕils ajoutent un nouveau syst•me de reprŽsentation dans lÕinterface, pas toujours facile ˆ comprendre par lÕutilisateur, et parce quÕils induisent des manipulations nouvelles par rapport ˆ une t‰che dÕŽdition. Le passage de la facette communication ˆ la facette production contribue ˆ la distance de rŽaction dans le scŽnario suivant. Arnaud a envoyŽ plusieurs documents ˆ commenter ˆ Eva par courrier Žlectronique, au moment de rŽpondre par tŽlŽphone, Eva doit demander ˆ Arnaud dÕouvrir le bon document au bon endroit, avant de lui donner ses commentaires. Les Žchanges verbaux et les actions physiques nŽcessaires contribuent ˆ augmenter la distance de rŽaction dÕEva. Un moyen de lÕŽviter serait de laisser Eva commander lÕouverture de son document dans lÕŽditeur dÕArnaud. HŽtŽrogŽnŽitŽ de lÕenvironnement Les postes de travail des individus sont souvent hŽtŽrog•nes. Chacun poss•de ses propres syst•mes de reprŽsentation. Au cours dÕun dŽpannage ˆ distance par exemple, il faut parfois tenir compte de la variation de position dÕun interrupteur sur plusieurs mod•les dÕun m•me ordinateur. De m•me, si un texte est visualisŽ par plusieurs individus, certains peuvent le consulter en mode pleine page tandis que dÕautres lÕobservent en mode plan. Nous qualiÞons ce type dÕhŽtŽrogŽnŽitŽ de syntaxique. Deux autres facteurs contribuent ˆ lÕhŽtŽrogŽnŽitŽ de lÕenvironnement. Premi•rement la distance physique qui sŽpare les individus. Deuxi•mement les diffŽrences de focus entre leurs vues sur les donnŽes partagŽes. Le focus dÕun individu se dŽÞnit par des coordonnŽes virtuelles qui indiquent la position de ses vues par rapport ˆ lÕensemble des donnŽes partagŽes. Dans un espace de travail partagŽ, si un individu souhaite montrer une image ˆ dÕautres utilisateurs, il doit la placer ˆ un endroit Žgalement visible pour ses interlocuteurs. Les widgets de conscience mutuelle testŽs dans [Gutwin et al. 96] ont pour but de donner cette information de conscience mutuelle sur la position des autres utilisateurs et de combler ainsi la distance de participation. La distance physique et les diffŽrences de focus crŽent une hŽtŽrogŽnŽitŽ gŽographique et une hŽtŽrogŽnŽitŽ des focus. ReprŽsentation du temps Le temps intervient parfois comme une variable susceptible de perturber la comprŽhension entre les utilisateurs. Nous donnons plusieurs exemples concrets, le premier avec les forums de discussion Žlectronique, le deuxi•me avec le courrier Žlectronique et enÞn le dernier avec les listes de diffusion Žlectronique. Les dŽlais de transmission džs aux protocoles de communication et ˆ lÕŽtat du rŽseau crŽent une distance de rŽaction dans les forums de discussion Žlectronique. En effet, les dŽlais introduits par le rŽseau et par le protocole NNTP (Network News Transfer Protocol) dans la Causes des distances de participation et de rŽaction 93 synchronisation des sites ne rendent pas les rŽponses visibles simultanŽment sur tous les sites. Plusieurs utilisateurs peuvent donc choisir dÕenvoyer la m•me rŽponse en sÕignorant, ce qui provoque une multiplication dŽsagrŽable des messages. Le temps mis par un individu pour rŽpondre ˆ un courrier Žlectronique dŽpend de plusieurs variables cachŽes pour lÕexpŽditeur. DÕune part, le temps de rŽaction dŽpend de la notiÞcation de lÕarrivŽe du message, qui dŽpend donc du syst•me de reprŽsentation de lÕinterface. DÕautre part, il dŽpend de la volontŽ de rŽagir ou non de la part du destinataire. Ces deux contraintes ne sont pas toujours indŽpendantes. Ainsi, le temps de rŽaction ˆ un courrier Žlectronique dŽpend en partie de la frŽquence de rel•ve de la bo”te aux lettres et de lÕempressement du destinataire. De m•me la sonnerie du tŽlŽphone dŽclenche une rŽponse assez rapide du destinataire, surtout si elle est forte et dŽsagrŽable. Au contraire si elle est faible et si lÕappelant est identiÞŽ, le destinataire peut choisir de ne pas rŽpondre. La frŽquence de rel•ve dÕune bo”te aux lettres ou le niveau de la sonnerie tŽlŽphonique sont des variables cachŽes de lÕenvironnement. Le phŽnom•ne de ÒßoodingÓ sur les listes ou les forums de discussion Žlectronique rŽsulte lui-aussi partiellement de la distance de participation liŽe ˆ une variable cachŽe. Ce phŽnom•ne survient lorsquÕun utilisateur poste des messages sans lien vŽritable avec le th•me de la liste. Ce type de message entra”ne gŽnŽralement une abondance de rŽponses critiques. Celles-ci engendrent parfois une cascade de nouveaux messages. Le nombre de lecteurs potentiels dÕun message, ou lÕestimation du cožt en temps consacrŽ ˆ la lecture dÕun message par tous les membres de la liste, est une variable cachŽe dont la connaissance par lÕexpŽditeur pourrait dŽcourager les conduites menant au ÒßoodingÓ. Par exemple les actions pour envoyer un message ˆ une seule personne ou bien ˆ des milliers devraient •tre diffŽrentes pour rendre observable cette variable cachŽe. Indirections Tr•fle HŽtŽrogŽnŽitŽ Temporelles communication syntaxique dŽlais de transmission production gŽographique variables cachŽes coordination focus Figure 5.4. Indirections dans les collecticiels Les exemples prŽcŽdents illustrent plusieurs causes aux distances de participation et de rŽaction prŽdites par notre mod•le dÕanalyse des actions de groupe. Nous les appelons des indi- 94 Chapitre 5: Obstacles ˆ la collaboration directe dans les interfaces rections. Les diffŽrents types dÕindirections sont rŽsumŽs sur la Þgure 5.4. Les indirections liŽes aux facettes du tr•ße rŽsultent des efforts de comprŽhension et des efforts physiques demandŽs pour passer dÕune facette du tr•ße ˆ lÕautre. Les indirections liŽes ˆ lÕhŽtŽrogŽnŽitŽ de lÕenvironnement partagŽ rŽsultent des efforts nŽcessaires pour comprendre les diffŽrences dÕapparence entre les interfaces des utilisateurs. EnÞn les indirections temporelles rŽsultent de la mŽconnaissance des variables qui conditionnent les temps de rŽaction des individus. 5.3 Principes de fusion Le mod•le dÕanalyse des actions de groupe nous a permis de prŽdire lÕexistence de deux nouvelles distances qui agissent pour diminuer la comprŽhension entre les utilisateurs. Ces distances ont ŽtŽ associŽes ˆ des indirections dans les interfaces. Pour concevoir les interfaces des collecticiels de mani•re ˆ diminuer ces indirections, nous proposons deux nouveaux principes de conception, les principes de fusion. Le principe suivant a pour but de diminuer les indirections entre les facettes du tr•ße et les indirections liŽes ˆ lÕhŽtŽrogŽnŽitŽ de lÕenvironnement: P4: Fusionner les syst•mes de reprŽsentation Le principe P4 est gŽnŽrique et peut donner lieu ˆ de multiples interprŽtations. Pour montrer son utilitŽ nous dŽcrivons deux types de fusion ainsi que leurs effets sur la rŽduction des indirections : la fusion spatiale et la crŽation de complŽmentaritŽ et de redondance entre canaux de communication. Pour expliciter le deuxi•me type de fusion, nous lui donnerons la forme dÕun nouveau principe. Fusion spatiale et intŽgration des facettes du tr•fle Au niveau dÕun seul poste de travail le principe de fusion encourage la mise en commun des syst•mes de reprŽsentation entre des applications diffŽrentes. CÕest-ˆ-dire quÕil faut partager les m•mes surfaces, les m•mes objets et les m•mes instruments. Le partage des surfaces permet de grouper des applications appartenant aux trois facettes du tr•ße. Nous avons dŽjˆ dŽcrit cette approche ˆ propos des syst•mes intŽgrŽs comme TeamRooms [Roseman & Greenberg 96] qui regroupent les applications dans des pi•ces. Dans le prototype Clearboard, une application de vidŽoconfŽrence est fusionnŽe avec la surface dÕafÞchage quÕune application de dessin partagŽ [Ishii & Kobayashi 92]. De m•me, les applications clients-serveurs m•lant plusieurs fonctionnalitŽs telles que Žchange de Þchier, dialogue en ligne et forums de discussion regroupent dans les m•mes menus et les m•mes fen•tres lÕacc•s ˆ plusieurs outils collaboratifs, comme ICQ [10]. Principes de fusion 95 Au niveau de la mise en commun de plusieurs postes de travail, la fusion spatiale correspond au partage des vues avec synchronisation du contenu (voir la notion de WYSIWIS prŽsentŽe page 16). Lorsque les syst•mes de reprŽsentation des donnŽes partagŽes sont hŽtŽrog•nes, par exemple un texte afÞchŽ en mode pleine page dans une vue et sous forme de plan dans une autre, il existe des moyens pour maintenir des correspondances entre les vues. Ces moyens nŽcessitent des conversions spŽciÞques au niveau logiciel, comme pour assurer un service de tŽlŽpointeurs [Gutwin & Greenberg 98]. CrŽation de complŽmentaritŽ et de redondance La communication verbale se caractŽrise par lÕusage dÕexpressions indexicales pour faire rŽfŽrence au contexte dÕŽnonciation dÕun individu, comme Òici et maintenantÓ. Les dŽictiques dŽsignent spŽciÞquement dans le langage verbal (Òce chapitreÓ) ou dans le langage verbal accompagnŽ dÕun geste (Òcelui-lˆÓ) un rŽfŽrent extŽrieur pour le discours. Ces expressions crŽent de la complŽmentaritŽ entre le canal vocal et les autres canaux de communication ˆ disposition, comme le contexte visuel. Le canal vocal peut aussi servir ˆ dŽcrire intŽgralement de lÕinformation accessible sur dÕautres canaux, en dehors de ceux-ci, il crŽe alors de la redondance. ComplŽmentaritŽ et redondance entre canaux de communication diminuent les indirections, car elles servent ˆ reconstituer un syst•me de reprŽsentation commun dans lÕespace verbal des interlocuteurs. Cette propriŽtŽ du canal vocal sÕapplique ˆ dÕautres canaux comme les tŽlŽpointeurs qui peuvent aussi crŽer de la complŽmentaritŽ ou de la redondance. Nous en dŽduisons le principe suivant: P5: Ajouter des canaux de communication dans les interfaces qui crŽent de la complŽmentaritŽ et de la redondance avec les vues partagŽes. Le principe P5 rend compte de lÕimportance du canal tŽlŽphonique pour les contr™leurs aŽriens. En effet, lÕespace partagŽ par les contr™leurs aŽriens est lÕespace aŽrien visualisŽ ˆ travers les Žcrans radars. Au cours dÕune conversation tŽlŽphonique les contr™leurs construisent une image commune dÕune partie de leur image radar. Le principe de fusion P4 et le principe des objets P1 (voir page 80) sont utilisables simultanŽment. La double contrainte de ne pas multiplier les syst•mes de reprŽsentation dans lÕinterface et dÕinventer des objets de coordination se traduit par la fabrication dÕobjets de coordination ˆ partir des objets dŽjˆ prŽsents dans lÕinterface. Dans un outil de dessin partagŽ, par exemple, la palette qui contient les outils de dessin est un objet de coordination potentiel. Plut™t que de rŽpliquer la palette dans un Žditeur partagŽ, on peut la transformer en objet mobile qui donne la capacitŽ de dessiner ˆ lÕutilisateur qui la poss•de. LÕŽchange de la palette deviendrait ainsi le mŽcanisme de gestion des conßits dÕacc•s. 96 Chapitre 5: Obstacles ˆ la collaboration directe dans les interfaces 5.4 RŽsumŽ des principes de la collaboration directe Les principes dont nous disposons ˆ lÕissue des chapitres 4 et 5, ou principes de la collaboration directe, sont rŽsumŽs sur le tableau 5.2. Principe des objets P1: Identifier ou inventer des objets de coordination et les rendre manipulables dans lÕinterface P2: Enrichir la forme des Žchanges de donnŽes Principes du style P3: Fournir des formes dÕŽchange de donnŽes rŽversibles, progressives et perceptibles de mani•re continue P4: Fusionner les syst•mes de reprŽsentation Principes de fusion P5: Ajouter des canaux de communication dans les interfaces qui crŽent de la complŽmentaritŽ et de la redondance avec les vues partagŽes Tableau 5.2 Principes de la collaboration directe 5.5 Conclusion Dans ce chapitre nous avons proposŽ un mod•le dÕanalyse des actions de groupe. Ce mod•le prŽdit deux sources dÕincomprŽhension entre les utilisateurs: la distance de participation et la distance de rŽaction. Ces distances traduisent le caract•re collectif de la boucle participation-rŽaction ˆ la base des actions de groupe. A partir dÕexemples dÕincomprŽhension, nous avons identiÞŽ des indirections dans les interfaces qui augmentent les distances de participation et de rŽaction. Nous avons proposŽ deux principes de conception pour diminuer ces indirections. Nous allons ˆ prŽsent appliquer les principes de la collaboration directe dans les chapitres suivants. Chapitre 6 Vers des interfaces ˆ collaboration directe Ce chapitre dŽcrit plusieurs prototypes dÕinterfaces montrant des applications possibles des principes de la collaboration directe. Dans la premi•re partie, nous prŽsentons leur application ˆ lÕactivitŽ de nŽgociation tŽlŽphonique entre contr™leurs aŽriens. Nous prŽsentons plusieurs prototypes basŽs sur lÕintŽgration du tŽlŽphone avec lÕimage radar, et sur lÕinvention de deux mŽtaphores dÕŽchange de messages: le Casier et la Tablette. Dans la deuxi•me partie, nous dŽcrivons les indirections du courrier Žlectronique puis nous prŽsentons un moyen dÕŽchange dÕobjets qui nÕa pas les limites du courrier Žlectronique: le courrier direct. Nous donnons enÞn deux exemples dÕutilisation du courrier direct: pour la gestion de session et pour effectuer une opŽration de glisser-dŽposer1 ˆ plusieurs utilisateurs. 6.1 Application au contr™le aŽrien La capacitŽ des contr™leurs aŽriens ˆ absorber la croissance du traÞc dŽpend de lÕamŽlioration des outils de communication. En effet, lorsquÕun contr™leur veut modiÞer les param•tres de vol dÕun aŽronef de telle mani•re que cela affecte un autre contr™leur, il doit tŽlŽphoner ˆ ce contr™leur pour nŽgocier la modiÞcation. LÕaugmentation du traÞc suscite davantage de communications tŽlŽphoniques, et lÕon peut se demander si le tŽlŽphone comme outil de communication ne limitera pas la capacitŽ des contr™leurs. De plus, bien quÕil offre une forme de nŽgociation tr•s souple liŽe aux normes sociales associŽes ˆ la parole, le tŽlŽphone poss•de aussi des inconvŽnients. Nous prŽsentons dÕabord ces inconvŽnients, avant de prŽsenter plusieurs prototypes pour amŽliorer lÕefÞcacitŽ des nŽgociations entre contr™leurs. 1. Un glisser-dŽposer est une opŽration durant laquelle lÕutilisateur dŽplace un objet graphique en cliquant sur lÕobjet et en maintenant le bouton de la souris enfoncŽ pendant le dŽplacement du pointeur. 98 Chapitre 6: Vers des interfaces ˆ collaboration directe 6.1.1 NŽgociation tŽlŽphonique Certaines situations de traÞc aŽrien imposent aux contr™leurs, responsables dÕun secteur dÕespace aŽrien, dÕordonner aux pilotes de modiÞer leur trajectoire par rapport ˆ leur plan de vol. Ces modiÞcations entra”nent parfois une nŽgociation prŽalable entre les contr™leurs des secteurs traversŽs par lÕaŽronef. Ces nŽgociations sont actuellement des nŽgociations tŽlŽphoniques1. Les avions liŽs aux nŽgociations tŽlŽphoniques sont gŽnŽralement proches de la fronti•re entre les secteurs. Ils sont ainsi visibles sur les images radar des deux contr™leurs, ˆ quelques ajustements pr•s. Les inconvŽnients suivants ont ŽtŽ identiÞŽs concernant les nŽgociations tŽlŽphoniques [Uninski 98]: ¥ ¥ ¥ les malentendus pour identiÞer lÕavion objet de la conversation liŽs ˆ un manque de clartŽ des interlocuteurs et ceci malgrŽ le langage opŽratif des contr™leurs; lÕarrivŽe simultanŽe de plusieurs appels tŽlŽphoniques qui peut perturber lÕappel en cours; lÕimpossibilitŽ dÕanticiper lÕurgence dÕun appel. Le premier inconvŽnient est liŽ ˆ la difÞcultŽ dÕŽtablir un contexte commun avec le canal vocal. Le suivant est inhŽrent au caract•re intrusif dÕune communication tŽlŽphonique, qui mobilise toute lÕattention. Le troisi•me est liŽ ˆ la similaritŽ dans la forme de tous les appels tŽlŽphoniques. Pour pallier ces difÞcultŽs, nous pouvons imaginer deux voies diffŽrentes. La premi•re est de mieux intŽgrer la conversation tŽlŽphonique avec lÕimage radar pour favoriser lÕŽtablissement du contexte commun, en suivant les principes de fusion P4 et P5. CÕest la solution adoptŽe dans le prototype Griphone. Cette solution ne compense pas le caract•re intrusif du tŽlŽphone. Pour cette raison, la seconde voie est de proposer dÕautres canaux de communication moins intrusifs, comme un syst•me dÕŽchange de messages, ou dÕobjets, asynchrone. Nous prŽsenterons une solution imaginŽe ˆ partir du principe des objets de coordination P1 et des principes du style P2 et P3, pour inventer des canaux de communication moins intrusifs que le tŽlŽphone. 6.1.2 Griphone Le prototype Griphone a ŽtŽ rŽalisŽ au CENA en 1996 [Chatty & Lecoanet 96b]. Son but est de faciliter lÕidentiÞcation de lÕavion objet de lÕappel aÞn de diminuer les risques dÕambigu•tŽ et, par voie de consŽquence, de diminuer la durŽe des communications. Pour cela, Griphone tire partie dÕun Žcran tactile et dÕune liaison tŽlŽphonique RNIS. Nous dŽcrivons ce 1. Dans le vocabulaire du contr™le aŽrien ces nŽgociations sont appelŽes Òcoordinations tŽlŽphoniquesÓ. Nous conservons le terme nŽgociation pour Žviter lÕambigu•tŽ de sens avec la coordination telle que nous lÕavons dŽÞnie page 6. Pour rŽconcilier les deux points de vue, nous pouvons cependant considŽrer les nŽgociations des contr™leurs comme la gestion dÕune dŽpendance de type partage de ressource critique, en lÕoccurrence lÕavion dont il sÕagit de modiÞer les param•tres de vol. Griphone 99 prototype ˆ partir des Žtapes dÕun appel tŽlŽphonique: la numŽrotation par lÕappelant, la prŽsentation de lÕappel c™tŽ destinataire, puis la conversation. La numŽrotation sÕeffectue dans le poste de contr™le traditionnel sur un clavier spŽcial, le sigphone, dont chaque touche commande une ligne directe avec un secteur adjacent. Par rapport ˆ un tŽlŽphone ordinaire, le dŽclenchement dÕun appel nŽcessite lÕappui sur une seule touche. Les touches du sigphone sont lumineuses, elles servent aussi ˆ signaler les appels entrants ou en cours. Avec Griphone, lÕimage radar est afÞchŽe sur un Žcran tactile. Le contr™leur dŽÞnit des gestes de commande pour gŽrer les appels tŽlŽphoniques. Les gestes correspondent ˆ des tracŽs simples comme le contour dÕune lettre, pour faciliter la mŽmorisation de la commande. Ils sont reconnus avec lÕalgorithme de Rubine [Rubine 91]. Un geste spŽcial sert ˆ dŽclencher un appel directement sur la reprŽsentation dÕun avion. Le contr™leur ˆ appeler est dŽterminŽ automatiquement ˆ partir du plan de vol de lÕavion. Le protocole tŽlŽphonique RNIS permet dÕenvoyer quelques octets dÕinformation en m•me temps quÕun appel. Ces donnŽes peuvent •tre afÞchŽes sur un Žcran associŽ au tŽlŽphone ou bien rŽcupŽrŽes par une station de travail contr™lant la ligne. Griphone utilise ces donnŽes pour coder lÕindicatif de lÕavion sujet de lÕappel et pour afÞcher une ic™ne tŽlŽphonique pr•s de sa reprŽsentation sur lÕimage radar du contr™leur appelŽ. Cette ic™ne lui permettre dÕidentiÞer lÕavion dans un premier temps, puis de prendre la communication ˆ lÕaide dÕun geste de commande spŽcial. LÕic™ne est Žgalement visible c™tŽ appelant, elle indique lÕŽtat de la communication tŽlŽphonique. TŽlŽpointeur Avion liŽ ˆ lÕappel Rectangle de Conscience Mutuelle Figure 6.1. Griphone, intŽgration du tŽlŽphone avec une image radar. La zone sur fond noir de lÕimage reprŽsente une partie du secteur du contr™leur, la zone sur fond gris correspond ˆ tous les autres secteurs frontaliers. Une fois la communication tŽlŽphonique engagŽe, le contr™leur dispose dÕun micro sur pied ainsi que dÕun casque ou dÕun haut-parleur pour garder les mains libres. Le canal tŽlŽphonique est complŽtŽ par des tŽlŽpointeurs afÞchŽs sur lÕimage radar. Les tŽlŽpointeurs sont reprŽsentŽs par des pastilles colorŽes visibles sur la Þgure 6.1. Ils servent ˆ dŽsigner les avi- 100 Chapitre 6: Vers des interfaces ˆ collaboration directe ons et les balises reprŽsentŽs sur lÕimage radar. Les tŽlŽpointeurs sont complŽtŽs par un Òrectangle de conscience mutuelleÓ indiquant quelle partie de lÕimage radar est actuellement afÞchŽe sur lÕŽcran du contr™leur distant. Les tŽlŽpointeurs sont afÞchŽs automatiquement lorsque le destinataire prend lÕappel. Ils restent disponibles pendant toute la communication. Un geste spŽcial appris au syst•me met Þn ˆ la conversation. Griphone illustre le principe de fusion P4. En effet, toutes les manipulations de gestion de la communication correspondant ˆ la facette coordination du tr•ße ont lieu sur lÕimage radar, cÕest-ˆ-dire directement sur les reprŽsentations du poste de contr™le associŽes ˆ la facette production. Les syst•mes de reprŽsentation intermŽdiaires liŽs au sigphone sont ŽliminŽs au proÞt du syst•me de reprŽsentation de lÕimage radar. LÕajout du tŽlŽpointeur crŽe aussi de la redondance entre le canal verbal et lÕimage radar suivant le principe de fusion P5. Evaluation Griphone ŽtŽ prŽsentŽ informellement ˆ une vingtaine de contr™leurs aŽriens qui se sont montrŽs enthousiastes. Une expŽrimentation a ŽtŽ menŽe pour mesurer plus prŽcisŽment le gain apportŽ aux nŽgociations, en particulier le gain de temps. Cependant, pour limiter le nombre de modiÞcations du poste de contr™le ˆ Žvaluer, lÕexpŽrimentation a ŽtŽ rŽalisŽe sur une version simpliÞŽe du prototype baptisŽe Duophone. Duophone ne reprend de Griphone que lÕafÞchage des ic™nes tŽlŽphoniques signalant les appels. Duophone dispose aussi dÕune fonctionnalitŽ complŽmentaire pour recentrer ˆ la demande lÕimage radar de fa•on ˆ rendre visible lÕavion concernŽ par lÕappel sÕil est situŽ hors image. LÕavion hors radar est signalŽ par une pastille blanche afÞchŽe sur la bordure de lÕimage. Le recentrage de lÕimage est dŽclenchŽ par lÕappui sur cette pastille. LÕexpŽrimentation menŽe avec Duophone se justiÞe par la difÞcultŽ de faire une Žvaluation prŽdictive du gain de performance avec un mod•le du type GOMS ou sa version KeystrokeLevel [Card et al. 83]. En effet, lÕapplication de ce mod•le supposerait quÕil soit possible de dŽcomposer la t‰che de nŽgociation tŽlŽphonique en buts, opŽrations, mŽthodes et r•gles de sŽlection1. Or, la nŽgociation tŽlŽphonique fait appel ˆ tr•s peu dÕopŽrations de manipulation de lÕinterface, mais surtout ˆ des opŽrations mentales difÞciles ˆ analyser. LÕexpŽrimentation a ŽtŽ menŽe avec 11 contr™leurs exer•ant depuis 2 ˆ 23 ans. Le sujet de lÕexpŽrimentation Žtait toujours un contr™leur appelŽ, le contr™leur appelant Žtant remplacŽ par un comp•re. La t‰che demandŽe Žtait de traiter le plus rapidement possible les requ•tes de lÕappelant, avec concision et tout en demandant lÕinformation jugŽe nŽcessaire. Il Žtait prŽcisŽ de ne pas Žmettre de contre-propositions. Plusieurs scŽnarios de nŽgociations tŽlŽphoniques ont ŽtŽ mis au point ˆ partir de donnŽes et de conversations rŽelle liŽes ˆ des secteurs de la rŽgion de Bordeaux. Nous reproduisons trois de ces scŽnarios sur le tableau 6.1, 1. DÕo• lÕacronyme GOMS: Goals, Objects, Methods, Selection rules. Griphone 101 avec la permission de Laurent Karsenty. Deux conditions ont servi ˆ rŽaliser lÕexpŽrimentation, la premi•re avec un poste de contr™le traditionnel nÕafÞchant pas lÕappel ˆ proximitŽ de lÕŽtiquette des avions, et la seconde avec Duophone. Chaque sujet a effectuŽ deux sŽances de contr™le sur du traÞc simulŽ au cours desquels il a re•u une sŽrie de 9 appels. Ces appels correspondaient aux m•mes types de situation dÕune sŽrie ˆ lÕautre. Les consignes de lÕappelant Žtaient dÕappeler aux heures prŽvues, depuis les secteurs indiquŽs dans le scŽnario, de lire le texte correspondant ˆ la requ•te, et de rŽpondre si besoin aux demandes de clariÞcation ou de conÞrmation. HEURE et AVION(S) CONCERNE(S) PAR LÕAPPEL APPELANT Requ•te ˆ formuler APPELE Exemple de rŽponse attendue OBJET DE LÕAPPEL S1 18:09:00 IT133MK TA548PR KLM315 ARP550B SUPERIEUR F1 Tu vois les 4 arrivŽes sur AULON? Pour le KLM et le TAT PAPA ROMEO, il ne devrait pas y avoir de probl•me mais peux-tu me donner plus bas pour lÕAIR INTER MIKE KILO et pour lÕAEROPOST? Vu pour lÕAIR INTER et le TAT. Tu as 180 pour lÕAEROPOST et 190 pour lÕAIR INTER Demandes complŽmentaires de niveau S2 18:10:00 RG095PF APPROCHE BO E Peux-tu me donner plus haut pour le REGIONAL PAPA FOX, jÕai un niveau 120 dans le coin? Tu as 190 Demande de niveau complŽmentaire S3 18:11:00 TA549PS APPROCHE BO E Une directe sur CLERMONT pour le TAT549 PAPA SIERRA mÕarrangerait. Ce serait bon pour toi? OK pour le TAT PAPA SIERRA direct sur CLERMONT Demande de directe Tableau 6.1 Exemples de scŽnarios dÕinteraction (tirŽ de [Karsenty & Pecaut 98]) Les durŽes recueillies pendant lÕexpŽrimentation correspondent au temps ŽcoulŽ entre le moment ou lÕappelŽ dŽcroche (il appuie sur un bouton correspondant au secteur appelant sur le sigphone) et celui o• il raccroche. Une analyse des Žchanges verbaux, cÕest-ˆ-dire deux tours de parole consŽcutifs en rŽponse lÕun ˆ lÕautre, a aussi ŽtŽ rŽalisŽe. EnÞn, un questionnaire subjectif a ŽtŽ proposŽ ˆ lÕissue de lÕexpŽrimentation. LÕensemble de lÕexpŽrimentation est dŽcrite dans [Karsenty & Pecaut 98]. Les rŽsultats de lÕexpŽrimentation ne montrent pas de diminution dans le nombre des Žchanges. Par contre, une diminution de la durŽe moyenne des conversations dÕenviron 2 secondes a ŽtŽ observŽes de mani•re signiÞcative ( p = 0.013 ), soit un gain de 17% par rapport ˆ la durŽe moyenne des conversations (12 secondes sans Duophone). Ce gain de temps ne sÕexplique pas par une diminution du nombre dÕŽchanges. Il est sans doute liŽ ˆ une modiÞcation des opŽrations mentales liŽes ˆ la comprŽhension et ˆ la recherche de solution aux requ•tes formulŽes par lÕappelant. Un changement a ŽtŽ observŽ dans le comportement des contr™leurs. Sans lÕoutil Duophone, les contr™leurs regardent dÕabord le sigphone pour iden- 102 Chapitre 6: Vers des interfaces ˆ collaboration directe tiÞer le secteur appelant. Ils doivent ensuite identiÞer lÕavion, soit ˆ partir de leur connaissance mentale du traÞc, soit explicitement dans la conversation. Avec Duophone, ils adoptent spontanŽment un nouveau comportement consistant ˆ regarder dÕabord lÕŽcran puis le sigphone. Dans cette condition, ils ont immŽdiatement connaissance de lÕavion sans effort mental supplŽmentaire. Le rŽsultat du questionnaire subjectif conÞrme indiscutablement lÕintŽr•t du prototype. A la question Òaimeriez-vous d•s aujourdÕhui pouvoir utiliser DuophoneÓ, tous les contr™leurs ont rŽpondu par lÕafÞrmative. LÕŽvaluation de Duophone conÞrme donc lÕintŽr•t du principe de fusion pour amŽliorer la comprŽhension entre les utilisateurs. 6.1.3 Autres moyens de communication Le poste de contr™le comporte plusieurs types dÕobjets circulant entre contr™leurs : les reprŽsentations des avions, les strips papier, et avec Griphone les ic™nes tŽlŽphoniques envoyŽes en quelque sorte par le contr™leur appelant. Nous avons imaginŽ dÕautres objets et des formes dÕŽchange de ces objets pour servir de moyen de nŽgociation aux contr™leurs. Avant de les dŽcrire, nous dŽcrivons les surfaces actuelles servant ˆ Žchanger des objets dans le poste de contr™le. Cette prŽsentation nous permettra de justiÞer lÕajout dÕun Žcran supplŽmentaire. La Þgure 6.2 reprŽsente une vue schŽmatique en couches dÕun poste de contr™le. Les reprŽsentations des avions se dŽplacent Òau-dessusÓ de lÕimage radar. Les avions sont annoncŽs quelques minutes avant leur apparition par lÕimpression dÕun strip sur lÕimprimante ˆ strips. Les strips sont ensuite annotŽs et rangŽs sur un tableau de strip situŽ Òˆ-c™tŽÓ de lÕŽcran radar. Avec Griphone, des ic™nes tŽlŽphoniques apparaissent et disparaissent pŽriodiquement Òau-dessusÓ de lÕimage radar. Les reprŽsentations des avions, les strips et les ic™nes tŽlŽphoniques circulent entre plusieurs postes de contr™le ou bien sont envoyŽes depuis un poste vers un autre. nouveaux objets? appels tŽlŽphoniques tableau de strips reprŽsentations des avions fond dÕimage radar espace de production Figure 6.2. Analyse en couches du poste de contr™le Le poste de contr™le laisse peu de place ˆ lÕajout de nouveaux objets. Ceux-ci doivent •tre reprŽsentŽs sur lÕimage radar ou bien, le tableau de strips nÕŽtant pas Žlectronique, sur un NŽgociation par Žchange dÕobjets 103 Žcran supplŽmentaire. Une raison sÕoppose ˆ lÕajout dÕinformation sur lÕimage radar. En effet, elle est une vue Þd•le de lÕespace aŽrien servant de rŽfŽrence objective pour avoir une vue du traÞc. Les contr™leurs nÕagissent pas directement sur les reprŽsentations des avions de lÕimage radar pour donner des ordres aux pilotes, mais ils utilisent la radio. Ils surveillent ensuite la prise en compte de ces ordres sur lÕimage radar. LÕajout dÕinformation afÞchŽe ˆ proximitŽ des avions sur lÕimage radar poss•de un cožt difÞcile ˆ Žvaluer. Par exemple le projet SYSCO a fourni des fonctions de nŽgociation basŽes sur lÕŽchange de messages prŽdŽÞnis tels que Request of Frequency (ROF), Accept (ACP), Reject (RJC) afÞchŽs sur des Žtiquettes associŽes ˆ chaque vol sur lÕimage radar [Jackson 97]. Bien que lÕŽvaluation du syst•me ait montrŽ son efÞcacitŽ, la charge visuelle a ŽtŽ jugŽe trop importante ˆ cause des recouvrements dÕŽtiquette. Ce rŽsultat justiÞe le choix dÕun Žcran supplŽmentaire pour ajouter des objets de coordination. 6.1.4 NŽgociation par Žchange dÕobjets LÕidŽe de complŽter les nŽgociations tŽlŽphoniques par des nŽgociations basŽes sur lÕŽchange dÕobjets, ou nŽgociations silencieuses, a donnŽe lieu ˆ la rŽalisation de plusieurs prototypes dans le cadre dÕun stage [Uninski 98]. Il aurait ŽtŽ possible par exemple dÕutiliser des syst•mes de dialogue textuel en ligne, ou des messageries Žlectroniques inspirŽes du courrier Žlectronique. Cependant, il est intuitivement Žvident que lÕattention demandŽe par un dialogue textuel en mode synchrone, ou les opŽrations de gestion dÕune messagerie, sont incompatibles avec lÕactivitŽ des contr™leurs. Nous avons donc proposŽ dÕappliquer les principes de la collaboration directe pour inventer dÕautres canaux de communication. Dans un premier temps, le principe des objets a permis dÕinventer un objet de coordination pour nŽgocier. Dans un deuxi•me temps, le principe du style a permis dÕimaginer des formes dÕŽchange de cet objet. Nous prŽsentons les prototypes rŽalisŽs ˆ partir du diamant de la page 73. Suivant cette grille dÕanalyse, la collaboration se dŽcrit par les objets de coordination, les protocoles de coordination et les styles de comportements. Objet de coordination Les contr™leurs passent leur temps ˆ modiÞer les plans de vol des avions, que ce soit uniquement pendant la traversŽe de leur secteur, sans consŽquence en-dehors de leur secteur, ou avec des consŽquence ˆ plus long terme. Apr•s une Žtude de quelques conversations tŽlŽphoniques effectuŽes dans un centre de contr™le, les propositions de modiÞcation des param•tres de vol ont ŽtŽ considŽrŽes comme des objets de coordination potentiels [Chatty et al. 98]. Ces propositions portent sur la modiÞcation de param•tre comme le mach1 ou le cap. 1. Vitesse de lÕaŽronef. 104 Chapitre 6: Vers des interfaces ˆ collaboration directe Protocoles de coordination La nŽgociation entre les contr™leurs par Žchange de propositions nŽcessite un mŽcanisme de gestion des Žchanges. Le protocole associŽ doit dŽÞnir la crŽation dÕune proposition, lÕenvoi de la proposition, puis son acceptation, sa modiÞcation ou son rejet. En cas dÕacceptation, la proposition deviendra un vŽritable ordre de contr™le transmis au pilote. En cas de rejet, elle sera ŽliminŽe dŽÞnitivement ou bien modiÞŽe. La mise en Ïuvre du protocole prŽcŽdent peut reposer sur des procŽdures, des conventions, ou des normes sociales. Si la nŽgociation a lieu par tŽlŽphone par exemple, elle est rŽglŽe en partie par les normes sociales liŽes ˆ la communication parlŽe. Pour faciliter le suivi du protocole, le syst•me doit fournir assez dÕinformation aux contr™leurs pour quÕils interpr•tent les actions de chacun en fonction de lÕŽtat de la nŽgociation. Le contr™leur qui dŽclenche la nŽgociation doit possŽder les moyens de vŽriÞer ˆ chaque instant si le contr™leur destinataire a pris connaissance de la proposition. En cas de non prise en compte de cette proposition il doit disposer de moyens pour inßuencer le destinataire aÞn quÕil la prenne en compte. Il peut par exemple dŽcider de transformer la nŽgociation silencieuse en nŽgociation tŽlŽphonique. De m•me, au moment o• le destinataire prend connaissance de la proposition et rŽagit, soit en lÕacceptant, soit en la refusant, il faut que le contr™leur initial soit informŽ de cette dŽcision. Si cette contrainte ne peut •tre respectŽe en temps rŽel, il faut aussi permettre la reprise de la nŽgociation ultŽrieurement. Le protocole dÕune nŽgociation silencieuse peut se dŽcrire par un rŽseau du type Òconversation pour lÕactionÓ (ÒGestion des ŽchangesÓ page 43). Le rŽsultat est reprŽsentŽ sur la Þgure 6.3. Ce rŽseau est simpliÞŽ. DÕune part, nous avons ŽvitŽ les rŽcursions du type Òcontre-contre-propositionÓ en rŽinitialisant lÕacte lors dÕun contre ou dÕun rejet par le destinataire. DÕautre part, nous avons conclu lÕacte par abandon ou acceptation sans refaire dÕŽchange pour vŽriÞer lÕacceptation ou lÕabandon. Ces deux simpliÞcations rŽduisent considŽrablement le nombre dÕŽtats accessibles par lÕacte de collaboration. I: abandonner 1 I: proposition D :r ej et er 3 2 D: accepter D :c on tre r 4 ter cep c I: a I: abandonner I: contr™leur initial D: contr™leur destinataire rŽinitialisation de lÕacte Figure 6.3. RŽseau de conversation pour une nŽgociation silencieuse NŽgociation par Žchange dÕobjets 105 La formalisation dÕun protocole par un rŽseau de conversation pour lÕaction rend possible la rŽalisation dÕun syst•me de nŽgociation basŽ sur lÕŽchange de formulaires, comme celui reprŽsentŽ ˆ droite de la Þgure 6.3. Ce formulaire indique le type de lÕŽchange et propose des boutons indiquant les rŽactions possibles. Suivant lÕŽtat de la nŽgociation certaines rŽactions ne sont plus autorisŽes et sont grisŽes. Cette solution nÕa pas ŽtŽ retenue car elle ne correspond pas aux caractŽristiques de la collaboration directe. En effet, lÕobjectif de la collaboration directe nÕest pas de reproduire les protocoles par des procŽdures, en lÕoccurrence le choix dÕune catŽgorie de rŽponse associŽe au formulaire, mais de laisser le choix du protocole aux utilisateurs, soit sous la forme dÕune convention, soit sous la forme de normes sociales. Les principes du style P2 et P3 indiquent un moyen pour laisser les contr™leurs inventer leurs conventions: en crŽant de lÕinformation libre avec le style de comportement liŽ au contr™le de la forme des Žchanges de propositions. Style de comportement Les boutons ÒaccepterÓ, ÒrejeterÓ, ÒcontrerÓ, ÒabandonnerÓ ou Ònouvelle propositionÓ dŽÞnissent une forme de collaboration protocolaire. Le syst•me rŽalisŽ offre une solution plus souple basŽe sur la reprŽsentation des propositions par des enveloppes ouvertes ou fermŽes. Les contr™leurs crŽent, dŽtruisent et font circuler les propositions. Aucun sens nÕa ŽtŽ dŽÞni a priori sur la fa•on dÕŽchanger les propositions. Ces diffŽrentes formes dÕŽchange sont une traduction dans lÕinterface de plusieurs styles de comportement. Ainsi lÕaction de pousser une proposition dans lÕespace de travail dÕun autre contr™leur peut sÕinterprŽter comme une demande de nŽgociation; la destruction de la proposition par le destinataire comme un rejet. La Þgure 6.4 reprŽsente lÕespace de travail proposŽ aux contr™leurs pour crŽer et Žchanger des propositions. Il est situŽ ˆ c™tŽ de lÕimage radar, sur un Žcran spŽcialisŽ, pour les raisons prŽcŽdemment ŽvoquŽes concernant lÕobjectivitŽ de lÕimage radar. Cet espace est divisŽ en deux vues. La vue de gauche contient quatre zones rectangulaires, chacune appelŽe Casier. La vue de droite contient un espace baptisŽ Tablette. Casier Le casier est un endroit servant ˆ dŽposer des objets pour les transmettre ˆ un ou plusieurs destinataires. Un casier est associŽ ˆ chaque secteur de contr™le dont le nom est afÞchŽ sous la reprŽsentation du casier (sur la Þgure: UE, UV, XE, XF). Les casiers servent de bo”te aux lettres pour Žchanger les propositions. Cependant, ˆ la diffŽrence des rŽpertoires partagŽs ou des bo”tes aux lettres dans les syst•mes de messageries Žlectroniques, les propositions contenues dans un casier doivent •tre retirŽs avant dÕ•tre consultŽes. Cette contrainte crŽe de la rŽtroaction de groupe: au moment o• un contr™leur retire une proposition, tous les autres peuvent la voir dispara”tre. 106 Chapitre 6: Vers des interfaces ˆ collaboration directe Tablette personnelle du contr™leur Casiers vers les contr™leurs des autres secteurs Figure 6.4. MŽtaphores du Casier et de la Tablette pour Žchanger des propositions LÕassociation entre un secteur et un casier nÕest pas imposŽe par le syst•me. Rien nÕemp•che le secteur UE et UV de sÕŽchanger une proposition par le casier de XF. Cependant il est naturel de respecter lÕassociation entre le nom du secteur afÞchŽ sous le casier et le destinataire des propositions. Le casier permet une forme dÕŽchange plut™t asynchrone rŽservŽ aux propositions peu urgentes. La rŽtroaction donnŽe permet Žventuellement de dŽcider le recours ˆ dÕautres moyens de communication si le message nÕest pas pris en compte assez rapidement. Le casier nÕest pas tr•s adaptŽ ˆ la superposition de plusieurs propositions puisque celles-ci se recouvrent. Les contr™leurs peuvent dŽpasser cette limitation en Žchangeant des propositions sur leur tablette. Tablette La tablette est un espace de travail partagŽ attribuŽ ˆ chaque contr™leur. Pour Žchanger des propositions, les tablettes sont reprŽsentŽes c™te ˆ c™te comme sur la Þgure 6.5. Sur cette interface la tablette de droite est toujours visible, elle est assignŽe au contr™leur qui poss•de la fen•tre. Par contre, la tablette de gauche est sŽlectionnŽe par lÕappui sur lÕun des boutons de connexion latŽrale. Si aucune tablette nÕest afÞchŽe ˆ gauche, la vue est remplacŽe par celle des casiers, comme sur la Þgure 6.4. Le passage de la vue avec casiers ˆ gauche (Þgure 6.4) ˆ la vue avec tablettes c™te ˆ c™te (Þgure 6.5) est commandŽ en enfon•ant lÕun des boutons de connexion latŽrale situŽ ˆ gauche de la fen•tre (boutons marquŽs UE, UV, XE, XF). RŽciproquement le retour ˆ la vue des casiers est dŽclenchŽ par un nouvel appui sur le dernier bouton de connexion latŽrale enfoncŽ. Lorsque deux tablettes sont afÞchŽes c™te ˆ c™te il est possible de glisser une proposition de lÕune vers lÕautre. LÕaction de glisserdŽposer est rŽpliquŽe en temps rŽel. Tout contr™leur ayant ouvert une vue sur la tablette du destinataire, y compris le destinataire bien sžr, peut voir ainsi lÕarrivŽe des propositions. Une tablette contient aussi des instruments pour effectuer des actions dans lÕenvironnement de son propriŽtaire. Le prototype prŽsentŽ contient un bloc note, pour crŽer des propositions, une poubelle, pour les dŽtruire et un tŽlŽphone. Le fait de jeter une proposition sur lÕic™ne tŽlŽphonique dÕun contr™leur distant dŽclenche un appel tŽlŽphonique avec celui-ci. LÕic™ne tŽlŽphonique et lÕinformation libre donnŽe par le choix de lÕendroit o• dŽposer une proposi- NŽgociation par Žchange dÕobjets Boutons de connexion latŽrale avec un autre secteur Tablette connectŽe latŽralement 107 Tablette personnelle du contr™leur Bloc Note Figure 6.5. Echange dÕune proposition de tablette ˆ tablette tion est un moyen de dŽÞnir des conventions. Par exemple, le fait de dŽposer une proposition pr•s de lÕic™ne du tŽlŽphone peut signiÞer la nŽcessitŽ de rappeler. EnÞn, la quantitŽ de propositions en attente sur la tablette dÕun contr™leur donne une idŽe de sa charge de travail. LÕŽchange de propositions pour nŽgocier nÕa pas fait lÕobjet dÕune Žvaluation formelle. Il sÕagit dÕune maquette prŽliminaire qui demande encore plusieurs amŽliorations avant dÕ•tre ŽvaluŽe. En particulier, parmi les points ˆ amŽliorer citons: ¥ ¥ ¥ ¥ la recherche dÕun autre moyen dÕentrŽe que le clavier pour Žditer les propositions; lÕajout dÕautres objets dans une tablette pour attirer lÕattention ou pour reprŽsenter lÕurgence des propositions; la recherche dÕun lien visuel plus fort entre les propositions et les reprŽsentations des vols sur lÕimage radar; la reprŽsentation de lÕhistorique dÕune proposition pour dŽterminer rapidement sÕil sÕagit dÕune nouvelle proposition ou dÕune proposition dŽjˆ modiÞŽe. Les avantages suivants sont attendus des nŽgociations silencieuses avec casiers et tablettes : ¥ ¥ ¥ des nŽgociations moins intrusives que le tŽlŽphone; la possibilitŽ de suivre Žventuellement plusieurs nŽgociations en parall•le; la hiŽrarchisation des nŽgociations, par le recours ˆ dÕautres formes dÕŽchange ou ˆ des modiÞcations de la forme des proposition pour crŽer de lÕinformation libre traduisant lÕurgence des propositions. LÕŽquivalent de la forme dÕŽchange permise par la tablette dans lÕenvironnement bureautique serait de pouvoir afÞcher lÕŽcran dÕun utilisateur distant sur son propre Žcran, pour y dŽposer une ic™ne ou bien pour ouvrir une fen•tre en choisissant librement sa position. LÕŽquivalent du casier serait de disposer dans lÕinterface de lieux o• dŽposer des objets graphiques pour les envoyer ˆ un ou plusieurs destinataires et garder une regard sur lÕŽchange. En ce sens les rŽpertoires partagŽs dans lÕenvironnement bureautique sont une forme de casier, ˆ la condi- 108 Chapitre 6: Vers des interfaces ˆ collaboration directe tion toutefois que les utilisateurs adoptent la convention consistant ˆ retirer un document du rŽpertoire avant de lÕutiliser. Dans la section suivante nous dŽcrivons une autre forme dÕŽchange de donnŽes inspirŽe des casiers pour lÕenvironnement bureautique. 6.2 RŽalisation: le courrier direct Le courrier direct est un canal de communication intŽgrŽ ˆ lÕenvironnement bureautique. CÕest une alternative au courrier Žlectronique, pour Žchanger des objets de coordination en minimisant le temps et les manipulations nŽcessaires. Une variante du courrier direct permet aussi de dŽterminer si le destinataire a pris lÕobjet re•u. Avec cette variante lÕŽchange est aussi rŽversible. Le courrier direct a servi ˆ Žchanger des objets de coordination baptisŽs demi-communication, pour simpliÞer la gestion de session, et ˆ inventer une forme de glisser-dŽposer de groupe. 6.2.1 Description du courrier direct Le courrier direct est un canal de communication inspirŽ par le courrier Žlectronique mais qui poss•de des caractŽristiques lŽg•rement diffŽrentes motivŽes par le principe de fusion P4. Ces caractŽristiques visent ˆ Žliminer plusieurs indirections entre les utilisateurs propres au courrier Žlectronique. Indirections du courrier Žlectronique Le courrier Žlectronique crŽe plusieurs types dÕindirections qui contribuent ˆ la distance de participation et ˆ la distance de rŽaction (voir page 89 et page 90). En particulier: ¥ Indirection temporelle Le courrier Žlectronique est asynchrone m•me sÕil est possible dÕajouter des mŽcanismes de notiÞcation ˆ lÕarrivŽe qui accŽl•rent sa prise en compte. ¥ Indirection entre les facettes du tr•ße Les messages re•us ou envoyŽs sont consultŽs dans des fen•tres spŽciales, la rŽception dÕun document ou dÕun message qui doit •tre rŽutilisŽ ailleurs, par exemple un couper-coller de texte, nŽcessite la manipulation des fen•tres du courrier Žlectronique. LÕindirection provient ici du passage de la fen•tre de courrier Žlectronique (facette communication) ˆ la fen•tre de lÕŽditeur de texte (facette production). Un scŽnario simple illustre ces deux types dÕindirection. Au cours dÕune conversation tŽlŽphonique avec un coll•gue, vous lui demandez de vous transmettre un en-t•te de lÕentreprise, pour lÕinsŽrer au dŽbut dÕune lettre que vous •tes en train dÕŽditer sur votre traitement de texte individuel. Pour lÕenvoyer, votre coll•gue doit sauvegarder cet en-t•te dans un Þchier ˆ Description du courrier direct 109 part quÕil joint en attachement ˆ un courrier Žlectronique. Apr•s un dŽlai, Žventuellement tr•s bref, mais indŽterminŽ, vous dŽtectez lÕarrivŽe de son courrier Žlectronique. Il vous faut alors ouvrir le message, ouvrir le Þchier attachŽ, puis effectuer une opŽration de couper-coller, et enÞn refermer la fen•tre du message et celle du document attachŽ. Notre objectif est de minimiser ces opŽrations pour rendre lÕŽchange aussi spontanŽ quÕun Žchange de la main ˆ la main. Le courrier Žlectronique poss•de aussi dÕautres faiblesses par rapport aux objectifs de la collaboration directe: ¥ Absence de rŽtroaction sur la prise en compte du message Le courrier Žlectronique ne donne pas dÕinformation de rŽtroaction de groupe ou de conscience mutuelle. DÕune part lorsquÕun message est envoyŽ il nÕest pas possible de savoir sÕil a ŽtŽ consultŽ, ˆ moins que le destinataire nÕeffectue des actions pour prŽvenir lÕexpŽditeur. DÕautre part, au moment de transmettre un message il nÕest pas possible de savoir si le destinataire est prŽsent. ¥ Non rŽversibilitŽ Un message envoyŽ ne peut pas •tre rŽcupŽrŽ. ¥ Faible quantitŽ dÕinformation libre de modulation Le contr™le sur la fa•on dont le message re•u est prŽsentŽ au destinataire est nul. LÕexpŽditeur nÕa pas dÕautre choix que dÕappuyer sur le bouton ÒSendÓ. Le courrier direct a pour objectif de supprimer les indirections prŽcŽdentes, de fournir de la rŽtroaction de groupe sur lÕutilisation des objets envoyŽs, de rendre Žventuellement rŽversibles les Žchanges et dÕajouter de lÕinformation libre ˆ lÕŽchange. Mode dÕemploi Le courrier direct maintient une connexion ouverte en permanence avec chaque membre dÕune liste de destinataires. LÕenvoi dÕun objet a lieu immŽdiatement en utilisant ces connexions, ce qui supprime lÕindirection temporelle. Les objets transmis par le courrier direct apparaissent chez les destinataires dans une fen•tre spŽciale, ou fen•tre cartouche, reprŽsentŽe sur la Þgure 6.6. Celle-ci afÞche lÕobjet re•u de mani•re ˆ ce quÕil soit directement manipulable ou saississable. LÕobjet reprŽsentŽ sur la Þgure 6.6 sera dŽcrit page 112. Figure 6.6. Fen•tre cartouche contenant un objet re•u La Þgure 6.7. montre les deux autres types de fen•tres utilisŽes par le courrier direct. La fen•tre de gauche est un annuaire de tous les destinataires potentiels. LÕannuaire est lÕŽqui- 110 Chapitre 6: Vers des interfaces ˆ collaboration directe valent dÕune liste dÕadresses Žlectroniques pour le courrier direct. La fen•tre de droite est une fen•tre de diffusion synchrone. Cette fen•tre maintient une connexion ouverte avec le serveur qui g•re le courrier directe de chacun des destinataires qui lui sont associŽs. LÕajout dÕun destinataire sÕeffectue par glisser-dŽposer depuis la fen•tre dÕannuaire, le retrait par glisser-dŽposer dans la poubelle. Ajout dÕun destinataire par glisser-dŽposer Casiers o• dŽposer les objets ˆ transmettre Annuaire Fen•tre de diffusion Figure 6.7. Annuaire et fen•tre de diffusion pour lÕenvoi dÕobjets La Þgure 6.8 montre lÕenvoi dÕun objet (le placard ÒLienÓ dÕune fen•tre qui sera dŽcrit page 112), c™tŽ expŽditeur ˆ gauche et c™tŽ destinataire ˆ droite. Cet objet sÕafÞche sous la forme dÕun bouton c™tŽ destinataire. Dans le chapitre suivant, nous prŽsenterons une mŽthode pour associer une animation ˆ lÕapparition de la fen•tre cartouche aÞn dÕajouter de lÕinformation libre ˆ lÕenvoi dÕun objet. Ecran de Albert Ecran de Roseline Figure 6.8. Transmission dÕun objet par courrier direct La fen•tre de diffusion contient deux zones rectangulaires o• dŽposer des objets ˆ transmettre. Elles servent de cible aux opŽrations de glisser-dŽposer et transmettent lÕobjet contenu dans la sŽlection. Ces zones sont des casiers qui diff•rent lŽg•rement des casiers dŽcrits page 105 pour la nŽgociation entre contr™leurs aŽriens. En effet, ils fonctionnent de mani•re Echange de demi-communication par courrier direct 111 unidirectionnelle, sans conserver lÕobjet transmis qui est transfŽrŽ dans une fen•tre cartouche du destinataire. LorsquÕun objet est dŽposŽ dans lÕun des deux casiers, il est envoyŽ ˆ tous les destinataires de la liste. Les deux casiers diff•rent par la forme de lÕŽchange. Avec le casier de gauche, lÕexpŽditeur perd le contr™le sur lÕobjet transmis. Avec celui de droite, il effectue un envoi avec coordination. Envoi avec coordination LÕenvoi avec coordination conserve un lien entre lÕexpŽditeur et le destinataire. Ce lien est matŽrialisŽ par une fen•tre de coordination, reprŽsentŽe sur la Þgure 6.9. Elle reste afÞchŽe sur lÕŽcran de lÕexpŽditeur. Cette fen•tre afÞche deux types de messages qui informent lÕexpŽditeur des opŽrations effectuŽes sur lÕobjet envoyŽ. Si lÕun des destinataires prend lÕobjet, elle afÞche le message Òpris par nomÓ, o• nom est le nom du destinataire. SÕil ferme la fen•tre cartouche sans prendre lÕobjet, elle afÞche ÒrejetŽ par nomÓ. Si elle nÕindique rien ˆ propos dÕun destinataire, cÕest quÕil nÕa pas pris lÕobjet ni fermŽ la fen•tre cartouche. Ces messages sont conservŽs dans la fen•tre pour •tre consultŽs ˆ tout moment et suivre lÕŽvolution de lÕŽchange. De plus, lorsque lÕexpŽditeur ferme la fen•tre de coordination il dŽtruit en m•me temps la fen•tre cartouche et lÕobjet associŽ chez tous les destinataires qui ne lÕont pas encore saisi. CÕest une fa•on dÕannuler la transmission et de rendre rŽversible la transmission dans lÕesprit du principe du style P3. Figure 6.9. Fen•tre de coordination En rŽsumŽ le courrier direct ne crŽe pas dÕindirection temporelle car il fonctionne de mani•re synchrone. LÕobjet expŽdiŽ est directement accessible dans sa fen•tre cartouche qui Žvite lÕindirection liŽe ˆ lÕouverture dÕune fen•tre dans le cas du courrier Žlectronique. LÕencombrement des fen•tres cartouches reste tr•s rŽduit. Il serait m•me possible dÕafÞcher directement lÕic™ne de lÕobjet transmis parmi les ic™nes du bureau du destinataire sans utiliser de fen•tre cartouche. EnÞn, lÕenvoi avec coordination ajoute de la rŽtroaction de groupe sur lÕŽchange. Il est envisageable de complŽter le courrier direct par une information de conscience mutuelle sur la prŽsence des destinataires devant leur Žcran. Cette information, liŽe par exemple ˆ lÕactivitŽ de la souris de lÕutilisateur, pourrait sÕafÞcher sous la forme dÕune ic™ne spŽciale ˆ c™tŽ du nom du destinataire dans les listes de diffusion synchrone. 6.2.2 Echange de demi-communication par courrier direct Les mŽcanismes de gestion de session dans les collecticiels reposent sur des procŽdures qui impliquent la manipulation de bo”tes de dialogue (voir notre analyse page 37). Ces procŽdures compliquent le partage dÕun document afÞchŽ dans une fen•tre, car elles nŽcessitent la 112 Chapitre 6: Vers des interfaces ˆ collaboration directe dŽÞnition dÕune session, la coordination avec les autres participants pour se connecter sur un serveur et sŽlectionner la session, et enÞn lÕimportation du document dans la session. Ces opŽrations ont en rŽalitŽ pour but de connecter les applications entre elles. En appliquant le principe des objets P1 aux objets abstraits que sont les sessions, nous avons imaginŽ la notion de demi-communication. Le courrier direct offre alors un canal de communication tr•s pratique pour remplacer le mŽcanisme de gestion de session par lÕŽchange de demi-communications. Demi-communication Une demi-communication est la reprŽsentation sous la forme dÕun objet graphique des actions nŽcessaires pour rejoindre une session ou accŽder ˆ un service rŽseau. Cet objet est transmissible ˆ dÕautres utilisateurs pour les inviter ˆ rejoindre la session ou ˆ accŽder au service. Le terme demi-communication se rŽf•re ˆ lÕidŽe selon laquelle lÕobjet reprŽsentŽ est une communication virtuelle avec les autres participants ˆ la session qui poss•dent chacun leur demi-communication. Le prŽÞxe ÒdemiÓ signiÞe quÕelle nÕest compl•te quÕune fois certaines opŽrations effectuŽes pour lÕactiver. La Þgure 6.10 montre deux exemples de demi-communications dŽjˆ existantes. Les ic™nes de portes du syst•me TeamRooms (voir page 81) reprŽsentent lÕaction dÕentrer dans une nouvelle pi•ce. Les pi•ces sont des sessions permanentes. LÕaction de cliquer sur une ic™ne de porte se traduit par une communication entre le logiciel client de lÕutilisateur et le serveur o• les pi•ces sont mŽmorisŽes. Les ic™nes dÕURL (Uniform Resource Locator) dans le gestionnaire de Þchier du Macintosh reprŽsentent lÕacc•s ˆ une page sur un serveur web. Elles simpliÞent le chargement de la page web. LÕactivation de lÕic™ne est provoquŽe par lÕouverture du Þchier, cÕest-ˆ-dire par un double-clic souris. Elle se traduit par le chargement de la page dans le navigateur de lÕutilisateur, sans avoir besoin de saisir lÕURL. URL Pi•ce Figure 6.10. Exemples de demi-communications Nous avons inventŽ un nouveau type de demi-communication qui reprŽsente lÕacc•s ˆ une fen•tre partagŽe. La Þgure 6.11 reprŽsente deux aspects de cette demi-communication. La fen•tre partagŽe est une fen•tre de dialogue textuel synchrone, elle contient une session de dialogue, cÕest-ˆ-dire un canal de discussion. La demi-communication est reprŽsentŽe par un placard, afÞchŽ en bas ˆ gauche de la fen•tre et baptisŽ ÒLienÓ. Pour inviter un autre utilisateur ˆ se joindre ˆ la discussion, il faut lui faire parvenir le placard. LÕactivation de la demi- Echange de demi-communication par courrier direct 113 communication re•ue par le destinataire ouvre une fen•tre partagŽe semblable ˆ celle de lÕexpŽditeur et connectŽe sur le m•me canal de discussion. Demi-communication transmissible par glisser-dŽposer c™tŽ expŽditeur C™tŽ destinataire Figure 6.11. Demi-communication associŽe ˆ une fen•tre de dialogue La demi-communication avec une fen•tre partagŽe est transmise sous la forme dÕun bouton. Avec le syst•me de courrier direct dŽcrit dans la partie suivante, ce bouton sÕafÞche dans une fen•tre spŽciale sur lÕŽcran du destinataire. LÕactivation de la demi-communication consŽcutive au clic souris sur le bouton nŽcessite lÕexŽcution dÕun script. Ce script lance lÕexŽcution locale de lÕapplication partagŽe et lui fait ouvrir une fen•tre visualisant le m•me canal de communication que celui de la fen•tre dÕo• est issue la demi-communication. Le syst•me Embedded Buttons [Bier 91] pourrait servir ˆ mettre en Ïuvre des demi-communications. En effet, ce syst•me traduit des scripts sous la forme de boutons contenus dans des documents. Bier dŽcrit une architecture logicielle qui permet dÕintŽgrer ces boutons dans nÕimporte quel type de document, moyennant lÕimplŽmentation de plusieurs mŽthodes dans lÕapplication qui g•re le document. Embedded Buttons permettrait de transmettre les demicommunications sous la forme dÕun courrier Žlectronique contenant le bouton dans le corps des messages. Cependant, ce syst•me nÕa pas ŽtŽ standardisŽ dans le courrier Žlectronique. Pour cette raison, mais aussi pour disposer dÕun moyen plus direct pour inciter des individus ˆ partager leurs fen•tres, nous avons dŽveloppŽ notre propre technique pour Žchanger les demi-communications avec le courrier direct. MŽcanisme de gestion de session Une session reprŽsente une sŽance dÕutilisation dÕune application partagŽe par plusieurs utilisateurs. Nous associons une session ˆ une fen•tre initiale crŽŽe par un utilisateur ma”tre. LÕarrivŽe de tout nouveau participant ˆ la session se traduit par la crŽation dÕune fen•tre semblable dans lÕinterface de celui-ci, qui partage les m•mes donnŽes que la fen•tre de lÕutilisateur ma”tre. Pour rŽaliser la gestion de session nous associons ˆ chaque fen•tre partageable en session une demi-communication sous forme dÕun placard ÒLienÓ. Le courrier direct peut servir ˆ transmettre ces demi-communications pour inviter de nouveaux participants. Le principe dÕenvoi de la demi-communication a dŽjˆ ŽtŽ illustrŽ par la Þgure 6.8 page 110. La 114 Chapitre 6: Vers des interfaces ˆ collaboration directe fen•tre montrŽe en exemple contient une session de dialogue textuel. Nous distinguons deux schŽmas dÕutilisation des demi-communications pour gŽrer des sessions, le schŽma centralisŽ et le schŽma ouvert: ¥ SchŽma centralisŽ Dans le schŽma centralisŽ, le crŽateur de la session reste ma”tre de la session et invite les personnes de son choix. Pour transmettre lÕinvitation, il crŽe dÕabord une liste de diffusion synchrone, puis il dŽpose par glisser-dŽposer le placard ÒLienÓ de la fen•tre quÕil souhaite partager dans un casier. Les destinataires re•oivent le placard ÒLienÓ sous la forme dÕun bouton ÒINVITÓ dans une fen•tre cartouche (voir Þgure 6.8). Pour rejoindre la session, il sufÞt de cliquer sur ce bouton, ce qui dŽclenche lÕouverture dÕune fen•tre directement connectŽe ˆ la fen•tre du ma”tre. En cas de refus, il sufÞt de fermer la fen•tre cartouche. Pour que le ma”tre garde le privil•ge dÕinviter dÕautres personnes, tous les placards ÒLienÓ des fen•tres de dialogue des invitŽs sont grisŽs. Par consŽquent ils ne sont pas transmissibles ˆ dÕautres invitŽs. ¥ SchŽma ouvert Le schŽma ouvert est le m•me que le schŽma centralisŽ, ˆ la diffŽrence que lorsque les invitŽs sont connectŽs, le placard ÒLienÓ de leur fen•tre nÕest pas grisŽ et quÕils peuvent le transmettre ˆ dÕautres invitŽs de leur choix. La diffŽrence entre le schŽma centralisŽ et le schŽma ouvert rŽside dans la gestion des connexions ˆ Žtablir ˆ lÕactivation des demi-communications. Le schŽma centralisŽ est plus simple ˆ implŽmenter car il requi•re une seule connexion ˆ lÕapplication de lÕutilisateur ma”tre. Dans les deux schŽmas, un sous-probl•me est de dŽtruire les demi-communications expŽdiŽes lorsque la session a cessŽ dÕexister et quÕelles nÕont pas ŽtŽ utilisŽes. Une solution simple consiste ˆ limiter la durŽe de vie des demi-communications. Une autre solution consiste ˆ conserver un moyen de communication avec toutes les demi-communications transmises pour leur envoyer un message de destruction lorsque la session est terminŽe. La maquette rŽalisŽe utilise le schŽma centralisŽ pour une application de dialogue textuel. Nous nÕavons implŽmentŽ aucune des deux solutions prŽcŽdentes pour la terminaison de la session. Si un invitŽ cherche ˆ se connecter ˆ une session qui nÕexiste plus, lÕŽchec de la connexion provoque un dialogue dÕerreur. LÕutilisateur ma”tre peut nŽanmoins conserver le contr™le de la terminaison dÕune session en effectuant un envoi avec coordination. Lorsque la session est terminŽe, la suppression volontaire de la fen•tre de coordination entra”ne la destruction des demi-communications non utilisŽes. 6.2.3 Glisser-dŽposer de groupe LÕaction de glisser-dŽposer est tr•s frŽquente au cours de la manipulation dÕune interface. Le courrier direct permet dÕimaginer une version ˆ plusieurs utilisateurs du glisser-dŽposer, ou Glisser-dŽposer de groupe 115 glisser-dŽposer de groupe. Cette opŽration est lÕŽquivalent Žlectronique dÕun passage de relai entre deux coureurs. Le relai correspond aux donnŽes objets de lÕopŽration de glisser-dŽposer. Nous avons dŽveloppŽ un prototype pour lÕŽchange de la sŽlection courante de texte. La Þgure 6.12 montre la transmission dÕun bloc de texte par glisser dŽposer de groupe. Ecran de Albert 1 2 Ecran de Roseline 3 En 1 un utilisateur dŽpose sa sŽlection courante dans un casier En 2 la sŽlection est transmise instantanŽment et appara”t dans une fen•tre cartouche En 3 le destinataire continue lÕaction Figure 6.12. Glisser-dŽposer de groupe pour un Žchange de texte La rŽalisation du glisser-dŽposer de groupe a nŽcessitŽ dÕadapter les casiers de la fen•tre de diffusion synchrone pour quÕils acceptent une sŽlection de texte. En utilisant les opŽrations de glisser-dŽposer du syst•me Mac OS, nous avons intŽgrŽ la transmission de texte en provenance de nÕimporte quelle application avec le courrier direct. Le texte transmis appara”t chez le destinataire dans une fen•tre cartouche sous la forme du mot ÒExtraitÓ. Lorsque le destinataire veut rŽcupŽrer lÕextrait de texte, il lui sufÞt de continuer lÕaction de glisser-dŽposer 116 Chapitre 6: Vers des interfaces ˆ collaboration directe commencŽe par lÕexpŽditeur comme le montre la Þgure 6.12. Cette forme dÕŽchange de donnŽes est extensible pour accepter tous les types de sŽlection habituellement transmissibles par glisser-dŽposer, y compris des Þchiers. 6.3 Conclusion Dans ce chapitre, nous avons illustrŽ deux types dÕapplication des principes de la collaboration directe. Premi•rement, nous avons appliquŽ ces principes ˆ une situation prŽcise de nŽgociation entre contr™leurs aŽriens : ¥ ¥ ¥ le principe de fusion a justiÞŽ lÕintŽgration de la platine tŽlŽphonique, ou sigphone, avec lÕimage radar; le principe des objets a donnŽ naissance ˆ la notion de proposition de modiÞcation des plans de vol pour nŽgocier par Žchange dÕobjets; le principe du style a permis dÕinventer des surfaces dÕŽchange pour donner de la rŽtroaction sur lÕŽchange ou choisir entre plusieurs formes dÕŽchange. Deuxi•mement, nous avons appliquŽ ces principes pour imaginer de nouvelles mŽtaphores adaptŽes ˆ lÕenvironnement bureautique: ¥ ¥ ¥ le principe de fusion a permis dÕimaginer le courrier direct; le principe des objets a permis dÕinventer la notion de demi-communication et de lÕappliquer ˆ la gestion de session; le principe du style a ŽtŽ appliquŽ pour inventer lÕenvoi avec coordination qui donne de la rŽtroaction sur lÕenvoi dÕun objet et permet dÕannuler lÕŽchange. LÕoriginalitŽ de lÕapproche de la collaboration dŽcrite dans ce chapitre est de favoriser la circulation des donnŽes au sein dÕun groupe, plut™t que de les regrouper dans des espaces de travail partagŽs centralisŽs. Les prototypes prŽsentŽs sont encore tr•s limitŽs et il faudra les amŽliorer, en particulier en inventant des types dÕobjets liŽs ˆ dÕautres activitŽs. Dans le chapitre suivant nous proposons un mod•le pour systŽmatiser lÕapplication du principe du style. Chapitre 7 Enrichir les Žchanges de donnŽes Le principe du style a pour but de recrŽer avec les collecticiels un Žquivalent au style de comportement des individus en leur donnant le contr™le de la forme des Žchanges de donnŽes. Dans le chapitre prŽcŽdent, nous avons dŽcrit plusieurs formes dÕŽchange basŽes sur des surfaces o• faire appara”tre des objets transmis. Le casier et la tablette pour les contr™leurs aŽriens et les fen•tres cartouches du courrier direct reprŽsentent lÕaspect statique de lÕŽchange. Dans ce chapitre nous dŽÞnissons un mod•le qui dŽcrit lÕaspect dynamique des Žchanges: le mod•le PROSE1. Il sert ˆ analyser les syst•mes existants et ˆ inventer des formes dÕŽchange de donnŽes qui crŽent de lÕinformation libre. Ce chapitre comprend trois parties. Dans la premi•re, nous dŽcrivons le mod•le PROSE. Dans la deuxi•me partie, nous appliquons le mod•le pour inventer plusieurs prototypes : deux outils de dialogue textuel, un syst•me de circulation de document, et une extension du courrier direct. EnÞn, dans la derni•re partie nous prŽsentons dÕautres perspectives dÕapplication du mod•le. 7.1 PrŽsentation du mod•le PROSE La crŽation dÕinformation libre dans un Žchange de donnŽes est liŽe ˆ lÕaugmentation du nombre dÕŽtats observables par le destinataire pour les m•mes donnŽes (voir ÒNature de lÕinformation libre: le cas du tŽlŽpointeurÓ page 67). Notre approche va consister ˆ identiÞer les diffŽrentes Žtapes de la transmission des donnŽes, puis ˆ donner la possibilitŽ ˆ lÕexpŽditeur de contr™ler chacune de ces Žtapes. Pour identiÞer les Žtapes de la transmission, nous partons de la propriŽtŽ dÕobservabilitŽ publiŽe et ÞltrŽe qui dŽcrit la transmission de certai- 1. PROsodie de lÕEchange, pour rappeler lÕobjectif dÕajouter lÕŽquivalent de la prosodie, soit le style, ˆ lÕŽchange de donnŽes. 118 Chapitre 7: Enrichir les Žchanges de donnŽes nes informations par les collecticiels. Nous complŽtons ensuite ce mod•le avec la notion de Þltre de style. 7.1.1 ObservabilitŽ publiŽe et filtrŽe Le mod•le PROSE a pour point de dŽpart la propriŽtŽ dÕobservabilitŽ et la notion de Þltre de publication [Salber et al. 95b]. La notion de Þltre modŽlise un mŽcanisme de choix et de contr™le des informations diffusŽes dans une interface. ObservabilitŽ LÕobservabilitŽ dÕun syst•me mono-utilisateur dŽsigne sa capacitŽ ˆ rendre perceptibles les variables dÕŽtat internes pertinentes pour la t‰che en cours. Avec les collecticiels, la propriŽtŽ dÕobservabilitŽ inclut aussi la capacitŽ du syst•me ˆ rendre perceptible ˆ autrui les variables pertinentes dÕun utilisateur. En particulier, lÕobservabilitŽ concerne aussi la rŽtroaction de groupe et la conscience mutuelle. Les variables observables se divisent en deux catŽgories: les variables discr•tes et les variables continues. Les variables discr•tes reprŽsentent des Žtats de lÕenvironnement de lÕutilisateur. Dans un mŽdiaspace par exemple, les droits dÕacc•s ÞxŽs par le propriŽtaire dÕune camŽra sont des variables dÕŽtat discr•tes. Au moment de lÕacc•s aux camŽras, ces variables dŽterminent les types de connexions autorisŽes. LÕŽtat de ces variables est une information pertinente pour les autres, puisque la connaissance de cette information permet dÕŽviter de demander une connexion qui serait refusŽe. Les variables continues reprŽsentent des ßux de donnŽes, par exemple les images vidŽos issues des camŽras dÕun mŽdiaspace. LÕobservation des variables se heurte parfois au principe du respect de lÕintimitŽ de lÕindividu. En effet, ces variables donnent parfois des informations ˆ caract•re ÒpersonnelÓ sur un individu, comme le fait quÕil soit dans son bureau en train de lire son courrier Žlectronique. Pour dŽfendre ce principe, Salber et al. introduisent le concept de Þltre de publication. Filtre de publication Un Þltre de publication restreint lÕobservabilitŽ des variables dÕun utilisateur de deux fa•ons. DÕune part, il permet de choisir le sous-ensemble des variables qui sont publiŽes, cÕest la sŽlection. DÕautre part, il permet dÕaltŽrer la reprŽsentation des variables publiŽes, cÕest la modulation. Ces fonctions sont reprŽsentŽes sur la Þgure 7.1. Plusieurs types de Þltres de publication sont concevables pour effectuer la sŽlection et la modulation de variables discr•tes ou continues. Ces Þltres sont Žventuellement paramŽtrables par des variables de contr™le discr•tes ou continues. Dans les collecticiels, le recours aux Þltres de publication est un moyen de dŽfense de la vie privŽe. Par exemple, des Þltres appliquŽs ˆ la publication dÕun ßux vidŽo peuvent servir ˆ modiÞer lÕimage pour g•ner lÕidentiÞcation des personnes dans un mŽdiaspace [Coutaz et al. 99] (voir aussi ˆ ce sujet la notion dÕanti-collecticiel page 26). 119 variables de lÕutilisateur i sŽlection Filtres de style modulation utilisateur j filtre de publication Figure 7.1. ObservabilitŽ publiŽe et ÞltrŽe des variables LÕobservabilitŽ publiŽe et ÞltrŽe ne sÕapplique pas seulement aux informations ˆ caract•re personnel mais ˆ tous les types de donnŽes. Cette remarque est ˆ la base de la dŽÞnition dÕun nouveau type de Þltres: les Þltres de style. 7.1.2 Filtres de style La notion de Þltre sÕapplique ˆ la description de tous les Žchanges de donnŽes effectuŽs avec les collecticiels. Au minimum les donnŽes sont ÞltrŽes pour •tre mises en paquets transmis sur le rŽseau, puis reconstituŽes ˆ leur arrivŽe. La plupart du temps ce Þltrage invisible est rŽalisŽ par les couches de gestion du rŽseau. Seuls les effets de bord de la transmission sur la vitesse ou les dŽlais dÕafÞchage sont per•us dans lÕinterface. Dans cette partie, nous dŽcrivons les Žchanges de donnŽes comme lÕapplication successive de trois Þltres correspondant aux Žtapes dÕune transmission. Chacune de ces Žtapes est personnalisable par un Þltre aÞn de contr™ler la transmission et de crŽer de lÕinformation libre. Echange de donnŽes et filtrage Les donnŽes ŽchangŽes ˆ lÕaide dÕun collecticiel traversent successivement trois couches de logiciels: lÕinterface de lÕexpŽditeur, le rŽseau puis lÕinterface du destinataire. Au niveau de lÕinterface de lÕexpŽditeur, les donnŽes ˆ transmettre sont saisies ou sŽlectionnŽes parmi des donnŽes existantes; cÕest la capture. La couche rŽseau assure le transport des donnŽes. EnÞn au niveau de lÕinterface du destinataire, les donnŽes sont mises sous une forme prŽsentable. Chacune de ces Žtapes a des effets sur la fa•on dont les donnŽes sont afÞchŽes. A chaque niveau nous pouvons faire correspondre un Þltre comme sur la Þgure 7.2. Le Þltrage appara”t souvent de mani•re involontaire comme un effet de bord de la traversŽe de chaque couche. CÕest le cas des dŽcalages temporels intraßux et interßux avec les ßux de donnŽes synchrones comme la voix, ou la vidŽo. Les dŽcalages intraßux dŽcoulent de la non-stabilitŽ des dŽlais de transmission entre des paquets de donnŽes successifs envoyŽs sur un rŽseau. Les dŽcalages interßux dŽcoulent de la difÞcultŽ ˆ garder synchronisŽs des ßux de donnŽes aux contraintes de dŽbit diffŽrentes, comme du son et de la vidŽo. 120 Chapitre 7: Enrichir les Žchanges de donnŽes Capture Transport PrŽsentation variables de lÕutilisateur i utilisateur j PC PT PR Figure 7.2. Mod•le PROSE de lÕŽchange de donnŽes Le Þltrage est parfois recherchŽ pour crŽer certains types dÕeffets et pour respecter les spŽciÞcations de lÕinterface. Ainsi les images consultŽes ˆ travers des rŽseaux ˆ faible dŽbit sÕafÞchent progressivement en cours de transmission pour faire patienter lÕutilisateur. LÕafÞchage progressif impose le choix dÕun Þltre de capture et dÕun Þltre de prŽsentation compatibles. Le format GIF entrelacŽ alterne les lignes paires et impaires de lÕimage, le format JPEG progressif reprŽsente lÕimage par plusieurs couches successives ˆ diffŽrentes rŽsolutions. Ces deux codages permettent de visualiser une image m•me re•ue partiellement. Filtres et information libre Les effets liŽs aux modiÞcations des donnŽes au niveau de chaque couche crŽent une forme dÕinformation libre rŽsultant des contraintes du syst•me. Ainsi les contraintes de la transmission crŽent parfois plusieurs Žtats transitoires dans la prŽsentation des donnŽes transmises. Ces Žtats sont liŽs ˆ des dŽlais dÕafÞchage ou ˆ des passages par des reprŽsentations intermŽdiaires, presque imprŽvisibles dans lÕinterface. Selon certains sociologues, les utilisateurs dÕun site web de musŽe attribuent une valeur Žmotive ˆ lÕafÞchage progressif des Ïuvres des musŽes. Ils associent lÕapparition progressive ˆ la construction dÕune image Òrien que pour euxÓ, chacun imaginant recevoir ainsi une sŽquence unique. Puisque les Þltres des couches capture, transmission et prŽsentation introduisent parfois accidentellement de lÕinformation libre dans les Žchanges de donnŽes, nous proposons de gŽnŽraliser cette propriŽtŽ accidentelle en propriŽtŽ souhaitŽe. Pour cela, nous proposons la crŽation de Þltres de style, Þltres de publication spŽcialement con•us pour crŽer de lÕinformation libre lors des Žchanges de donnŽes. Les Þltres de style servent ˆ crŽer de lÕinformation libre de sŽlection en laissant le choix ˆ lÕexpŽditeur entre plusieurs Žtats de prŽsentation, ainsi que de lÕinformation libre de modulation en lui donnant le contr™le continu de la transmission. Le mod•le PROSE est la description des Žchanges de donnŽes ˆ partir des Þltres de la Þgure 7.2. Application ˆ lÕanalyse de syst•mes existants 121 7.1.3 Application ˆ lÕanalyse de syst•mes existants Le mod•le PROSE dŽcrit aussi bien la transmission des donnŽes en mode synchrone, sans dŽlai dans la traversŽe des Þltres Pc, Pt et Pp, que la transmission en mode asynchrone, avec un dŽlai entre la capture et la transmission ou bien entre la transmission et la prŽsentation. Une forte proportion des Žchanges de donnŽes actuels est rŽalisŽe via des Žchanges asynchrones sur la Toile. Ces Žchanges commencent ˆ intŽgrer des Þltres de style. Ainsi, les animations sont enregistrŽes par un Þltre Pc qui conserve les param•tres nŽcessaires ˆ leur rejeu. Le param•tre le plus simple est le dŽlai dÕafÞchage entre images si lÕanimation est stockŽe comme une succession dÕimages en mode point, comme du GIF animŽ. DÕautres syst•mes de capture conservent une description de lÕanimation plus complexe, ˆ bases de pistes dÕafÞchage, de sprites, de vecteurs trajectoires et dÕeffets appliquŽs sur les pistes, comme Quicktime [18] ou Flash de Macromedia [17]. Courrier Electronique et Internet Relay Chat LÕInternet Relay Chat (IRC) et le courrier Žlectronique reprŽsentent respectivement un moyen dÕŽchange synchrone et un moyen asynchrone. Ils ont en commun un Þltre Pt, non contr™lŽ par les utilisateurs, basŽ sur le protocole rŽseau TCP/IP. Par contre, ils diff•rent sur la capture et la prŽsentation des messages par les Þltres Pc et Pp. Les clients qui acc•dent ˆ lÕIRC reposent souvent sur un Þltre Pc qui capture le texte par lignes enti•res, sŽparŽes par un retour chariot. Le Þltre Pp associŽ restitue le texte par lignes enti•res, dans une liste. Le param•tre de contr™le du Þltre Pc se rŽsume ˆ lÕappui sur retour chariot pour envoyer la ligne saisie. Les outils de courrier Žlectronique reposent sur un Þltre Pc qui capture le texte sous forme dÕun seul bloc. Le Þltre Pp associŽ lÕafÞche de mani•re instantanŽe, dÕun seul bloc Žgalement. LÕunique param•tre de contr™le du Þltre Pc se rŽsume au bouton dÕenvoi du message de la fen•tre de composition du message. Personnalisation des filtres de lÕIRC Certains clients IRC sont personnalisables. Ils dŽÞnissent des points dÕentrŽe, comme lÕarrivŽe dÕun message, pour lesquels il est possible dÕŽcrire des scripts. Ces scripts peuvent appliquer des Þltres de style. Un Þltre typique colore les messages suivant leur auteur. De m•me un script peut jouer un son chaque fois quÕun individu donnŽ envoie un message. Ces Þltres crŽent de lÕinformation libre ˆ partir de laquelle il est possible dÕinventer des conventions. Imaginons, par exemple un script reconnaissant le message Òtoc toc nomÓ, o• nom est le nom de lÕindividu. Ce Þltre est dŽÞni par convention uniquement sur la machine de lÕutilisateur nom, o• il diffuse des signaux pour attirer son attention. Dans cet environnement, le message Òtoc toc nomÓ est une information libre qui peut devenir un moyen dÕattirer lÕattention, ou signiÞer autre chose convenu dÕavance. 122 Chapitre 7: Enrichir les Žchanges de donnŽes Chat Circles Chat circles est un outil de dialogue textuel qui, comme lÕIRC, permet ˆ plusieurs participants de dialoguer sur des canaux diffŽrents [Viegas & Donath 99]. La mŽtaphore de prŽsentation de chat circles repose sur un Þltre Pp qui reproduit la dynamique des conversations par des cercles animŽs en taille et en couleur. Ces cercles contiennent les messages des participants. Leur durŽe dÕafÞchage dŽpend de la longueur du message, de m•me leur taille et leur brillance dŽcro”t avec le temps pour devenir un point colorŽ si lÕutilisateur nÕintervient pas dans la discussion. LÕensemble des groupes de discussion est visible gr‰ce ˆ lÕutilisation dÕune seule vue pour reprŽsenter les messages de tous les participants sur tous les canaux de discussion. Les cercles et points sont groupŽs dans une zone dÕafÞchage contigu‘ en fonction de leur appartenance au m•me canal. Le Þltre Pp et le Þltre Pc de Chat Circles dŽÞnissent le focus de la conversation (Òhearing rangeÓ) comme Žtant le canal de discussion dans lequel est localisŽ le point de lÕutilisateur. Le Þltre Pc tient compte du focus pour envoyer les messages au bon canal, et pour nÕafÞcher le texte des messages que dans les cercles appartenant au focus de lÕutilisateur. Les messages Žmis sur les autres canaux sont reprŽsentŽs par des cercles vides. Chaque individu ne contribue ainsi quÕˆ un groupe ˆ la fois. Le changement de focus, liŽ au dŽplacement du point est capturŽe par le Þltre Pc et reprŽsentŽ en temps rŽel par le Þltre Pp des autres participants, pour donner de la rŽtroaction de groupe. Le focus illustre la transformation dÕune information libre, la position du point ou du cercle, en information de conscience mutuelle sur les conversations ŽcoutŽes par lÕutilisateur. Prosodic Fonts Les polices prosodiques reproduisent la prosodie rŽelle de la voix ˆ travers lÕanimation du texte afÞchŽ [Rosenberger & MacNail 96]. Chaque caract•re dÕune police prosodique est reprŽsentŽ par la combinaison dÕun nombre limitŽ de formes de bases: barre horizontale, verticale, cercle, etc., placŽes sur une grille. La dŽformation des caract•res dŽpend de marqueurs prosodiques ajoutŽs au texte. Au cours de la prŽsentation dÕun texte, les syllabes ou les mots sont afÞchŽs pendant la durŽe de leur prononciation. Le texte se dŽplace ˆ lÕŽcran et les caract•res changent de taille, dÕŽpaisseur, etc., en fonction des marqueurs. Une expŽrimentation a permis de montrer que des sujets ayant lu un texte afÞchŽ avec les polices prosodiques sont capables de reconna”tre lÕenregistrement vocal ˆ partir duquel le texte a ŽtŽ afÞchŽ. Les textes employŽs Žtaient tous riches en Žmotions de base telles que la joie, la tristesse ou la col•re, qui ont une inßuence reconnue sur la prosodie, et le codage des marqueurs prosodiques a ŽtŽ effectuŽ ˆ la main. Parmi les sujets, 12 sur 14 ont reconnu le bon enregistrement. LÕusage de polices prosodiques dans un outil de dialogue nŽcessiterait un Þltre Pc analysant la prosodie de la voix, ou transposant toute autre source dÕŽmotion sous forme de marqueur prosodique insŽrŽ dans le texte des messages. RŽalisations 123 7.2 RŽalisations Le mod•le PROSE dŽcrit les Žchanges de donnŽes contr™lŽs ou non par lÕutilisateur. Cette distinction sugg•re deux mŽthodes pour appliquer le mod•le PROSE. La premi•re mŽthode, illustrŽe dans cette partie, est dÕinventer des applications nouvelles autour de Þltres de style. La seconde mŽthode est de reprendre les syst•mes dÕŽchange de donnŽes existants, non contr™lŽs, de rendre explicites leurs Þltres Pc, Pt et Pp, puis de leur ajouter des param•tres de contr™le commandŽs par lÕexpŽditeur. 7.2.1 Nouveaux filtres pour le dialogue textuel Le canal vocal donne un fort sentiment de prŽsence de lÕinterlocuteur y compris au tŽlŽphone. Ce sentiment de contact fait partie du contexte subjectif (voir page 53). Nous avons inventŽ deux prototypes dÕoutils de dialogue textuel pour reproduire ce sentiment. Ces prototypes sont basŽs sur des Þltres spŽciaux pour moduler la vitesse et la quantitŽ de donnŽes transmises sur le rŽseau en temps rŽel. Ils crŽent aussi de lÕinformation libre pouvant servir ˆ coordonner implicitement les Žchanges de messages entre les utilisateurs. Texte divisŽ Le texte divisŽ est un outil de partage de texte ˆ deux. A lÕorigine prŽvu pour faire de lÕŽdition partagŽe de texte, ou pour Žchanger des questions et des rŽponses, il sÕest surtout rŽvŽlŽ pratique pour ce deuxi•me usage. Le Þltre Pc du texte divisŽ est identique ˆ celui du courrier Žlectronique: il sÕagit dÕune fen•tre dÕŽdition de texte privŽe. Nous dŽcrivons les caractŽristiques du texte divisŽ ˆ partir de ses Þltres Pt et Pp. Filtre transmission Le Þltre Pt du texte divisŽ crŽe de lÕinformation libre de sŽlection et de modulation et il permet de rŽgler le dŽbit du rŽseau. Les param•tres qui agissent sur la crŽation dÕinformation libre sont contr™lŽs par une barre de dŽÞlement que nous appelons barre de transmission, car elle contr™le la transmission du texte dÕune fen•tre ˆ lÕautre. LÕinformation libre de sŽlection provient de la possibilitŽ de couper le texte en deux parties attribuŽes ˆ chaque utilisateur et de placer la coupure au niveau de nÕimporte quel caract•re. Chaque utilisateur poss•de sa fen•tre privŽe dans laquelle il peut Žditer le texte en sa possession. Cette fen•tre, reprŽsentŽe sur la Þgure 7.3, est connectŽe ˆ celle de lÕautre utilisateur par son bord supŽrieur ou infŽrieur. LÕutilisateur du haut poss•de dans sa fen•tre la partie supŽrieure du texte tandis que lÕutilisateur du bas poss•de la partie infŽrieure. La barre de transmission reprŽsentŽe ˆ gauche de la fen•tre permet de ÒtirerÓ ou de ÒpousserÓ le texte dÕune fen•tre ˆ lÕautre. Les opŽrations de ÒtirerÓ ou de ÒpousserÓ du texte suppriment ou ajoutent du texte dans la fen•tre de lÕautre utilisateur, ce qui dŽplace la coupure du texte. Sui- 124 Chapitre 7: Enrichir les Žchanges de donnŽes vant la position de la coupure, les utilisateurs crŽent diffŽrents Žtats de prŽsentation du texte. Il existe en tout autant dÕŽtats que le nombre de caract•res plus un, ce qui correspond ˆ la quantitŽ dÕinformation libre de sŽlection du texte divisŽ. a) StŽphane prŽpare deux questions dans sa fen•tre privŽe pour les envoyer ˆ SŽbastien Fen•tre supŽrieure (SŽbastien) b) StŽphane envoie ses questions en contr™lant la transmission au caract•re pr•t, il peut couper le texte o• il souhaite Ic™ne reprŽsentant la rŽpartition demandŽe du document Barre de transmission Ic™ne reprŽsentant la rŽpartition actuelle du document Fen•tres ÒconnectŽesÓ bord ˆ bord ReprŽsentation visuelle de lÕŽtat de la transmission Fen•tre infŽrieure (StŽphane) Figure 7.3. Edition et envoi de deux questions LÕinformation libre de modulation provient de lÕasservissement de la transmission du texte sur le rŽseau ˆ la barre de transmission. Au fur et ˆ mesure que lÕic™ne du document est dŽplacŽe sur la barre de transmission, le Þltre Pt transmet le texte vers lÕautre fen•tre, ou au contraire le retire. LÕutilisateur contr™le ainsi lÕapparition (ou la disparition) du texte dans la fen•tre de lÕautre utilisateur. Lorsque les dŽlais de transport sur le rŽseau sont trop ŽlevŽs, lÕic™ne du document se dŽdouble et un document fant™me appara”t pour indiquer ˆ quel point lÕutilisateur souhaite diviser le texte. Le rŽglage du dŽbit sur le rŽseau dŽpend dÕun param•tre de contr™le du Þltre Pt, appelŽ granularitŽ (ÒviscosityÓ dans la fen•tre du prototype). La granularitŽ est un entier qui r•gle la taille maximale des mŽmoires de transmission. Cette taille indique le nombre maximal de caract•res que le Þltre peut grouper dans un paquet, avant de lÕexpŽdier dÕune fen•tre ˆ lÕautre. Ce param•tre devait servir initialement ˆ rŽgler la ÒviscositŽÓ du rŽseau pour contr™ler, par effet de bord, la vitesse dÕafÞchage du texte. En pratique le contr™le de la granularitŽ Nouveaux filtres pour le dialogue textuel 125 sÕest avŽrŽ inutile; lorsque le texte partagŽ est assez court, quelques centaines de caract•res, lÕasservissement entre la barre de dŽÞlement et le Þltre Pt permet un contr™le tr•s Þn sur la vitesse de transmission, au caract•re pr•s. Filtre prŽsentation Le Þltre Pp donne quatre types dÕinformation de conscience mutuelle ou de rŽtroaction de groupe: ¥ La position courante de la coupure du texte. La ligne de partage du texte est indiquŽ par deux compteurs au-dessus et audessous de la barre de transmission qui afÞchent le nombre de caract•res dans la moitiŽ supŽrieure et infŽrieure. Les compteurs sont mis ˆ jour au fur et ˆ mesure de la saisie ou de lÕeffacement de caract•res. De plus, la taille de lÕic™ne du document dŽpend de la proportion de texte dŽtenu par lÕutilisateur. ¥ La sonorisation des actions de prendre et de donner du texte. Le dŽbut et la Þn des actions effectuŽes sur la barre de transmission sont signalŽes par un son Žmis sur la machine de lÕautre utilisateur. Ce son permet dÕattirer son attention sur une action en cours. ¥ La mise ˆ jour de lÕic™ne du document et de son fant™me. LÕŽcart entre lÕic™ne du fant™me et celle du document rend perceptible lÕŽtat de la transmission sur le rŽseau. Pour cela, le Þltre Pp est asservi au Þltre Pt. Le fant™me se manipule aussi ˆ la souris, ce qui permet dÕannuler une transmission avant quÕelle ne soit terminŽe et de reprendre le message. ¥ LÕajout et le retrait du texte dans les fen•tres privŽes. Pour chaque arrivŽe ou chaque dŽpart de texte, le Þltre Pp ajoute ou retire le texte de la fen•tre locale, ce qui a pour effet de faire dŽÞler les lignes de texte. Utilisation du texte divisŽ Le texte divisŽ sÕest rŽvŽlŽ intŽressant surtout en mode asynchrone o• il remplace avantageusement le courrier Žlectronique pour dialoguer. En effet, en ÒpoussantÓ un message ˆ demi dans la fen•tre de lÕautre utilisateur, la sonorisation de lÕaction et lÕanimation induite par le dŽÞlement du texte attire lÕattention du destinataire. Pour lire lÕensemble du message le destinataire doit rŽcupŽrer lÕautre moitiŽ du texte, ce qui informe implicitement lÕexpŽditeur que son message est bien pris en compte. Si le message contient des questions, les rŽponses, donnŽes directement dans le corps du message, sont renvoyŽes de la m•me fa•on. LÕinformation libre de sŽlection liŽe ˆ la position de la coupure du texte sert ainsi ˆ coordonner les allers retours de messages. La Þgure 7.3 et la Þgure 7.4 montrent plusieurs Žtapes de lÕenvoi de questions et de la rŽcupŽration des rŽponses. 126 Chapitre 7: Enrichir les Žchanges de donnŽes a) SŽbastien a rŽcupŽrŽ lÕensemble du message. Il rŽpond. b) SŽbastien a renvoyŽ la moitiŽ de sa rŽponse ˆ StŽphane c) StŽphane a rŽcupŽrŽ toute la rŽponse Nombre de caract•res dans la fen•tre supŽrieure Nombre de caract•res dans la fen•tre infŽrieure Bouton de vote pour Žchanger les positions Figure 7.4. Edition et coordination pour rŽcupŽrer les rŽponses Deux phŽnom•nes sont apparus pendant lÕutilisation du texte divisŽ suggŽrant que les Þltres de style provoquent deux attitudes : ¥ Attitude dÕintŽr•t Dans la situation o• lÕutilisateur du haut tire le texte de lÕutilisateur du bas, il peut lui retirer le texte caract•re par caract•re au fur et ˆ mesure de la saisie. Ce comportement est assez inconfortable pour saisir du texte mais il rŽv•le lÕattitude dÕintŽr•t que porte lÕutilisateur du haut au texte saisi, par exemple la rŽponse ˆ une question. ¥ Attitude de g•ne LÕattitude de g•ne peut-•tre ressentie par lÕexpŽditeur suite ˆ lÕenvoi dÕun message privŽ comme une plaisanterie, en lÕabsence du destinataire. LÕexpŽditeur se rend compte assez vite de lÕabsence du destinataire par lÕabsence de rŽtroaction donnŽe par le Þltre Pp. SÕil nÕa poussŽ le message quÕˆ moitiŽ, le fait que le destinataire ne tire pas le message signiÞe vraisemblablement son absence. Assez rapidement lÕexpŽditeur peut alors dŽcider de retirer son message, pour Žviter quÕun inconnu passant devant lÕŽcran ne lise la plaisanterie. Nouveaux filtres pour le dialogue textuel 127 LÕattitude dÕintŽr•t dŽcrite ne peut pas •tre exprimŽe par lÕutilisateur du bas. LÕorientation verticale du texte fait que si celui-ci retire le texte de lÕutilisateur du haut pendant la saisie, lÕordre des lettres est inversŽ. Pour pallier ce dŽfaut nous avons ajoutŽ un bouton de vote ˆ deux. Lorsque les deux utilisateurs ont cliquŽ sur le bouton de vote, ils Žchangent leur position par rapport au texte, lÕutilisateur du bas passe en haut et rŽciproquement. Le bouton de vote est inactif et barrŽ par dŽfaut. Pour lÕactiver, un premier utilisateur doit cliquer dessus, ce qui a pour effet de supprimer la barre et de changer sa couleur. LÕactivation du bouton par le deuxi•me utilisateur provoque alors lÕŽchange de position et le retour du bouton dans son Žtat initial inactif. En rŽsumŽ, le texte divisŽ est une maquette dÕoutil de dialogue qui se situe entre lÕŽdition partagŽe de texte et lÕŽchange asynchrone de messages par courrier Žlectronique. Il conserve lÕaspect synchrone de certains Žditeurs partagŽs ˆ lÕaide dÕune rŽtroaction immŽdiate des modiÞcations du texte. Il conserve aussi la modiÞcation et la consultation du texte dans une fen•tre privŽe propre au courrier Žlectronique. Cette maquette met en pratique un principe de contr™le dÕacc•s par lÕespace. Ce principe consiste ˆ ne permettre de modiÞer que les donnŽes amenŽes par une action physique prŽalable dans lÕespace privŽ de lÕutilisateur. Texte animŽ Le texte animŽ est un outil de dialogue ˆ deux ou plus. Sa caractŽristique essentielle consiste ˆ moduler la capture, et par effet de bord la transmission du texte par la vitesse de frappe des mots. Sa deuxi•me caractŽristique est de prŽsenter les messages par un dŽÞlement horizontal continu pour rendre visible la dynamique des conversations. La modulation de la capture sÕobtient par un Þltre Pc qui transmet le texte saisi mot par mot, le caract•re espace servant de sŽparateur. Si les destinataires appliquent un Þltre Pp qui restitue les mots au fur et ˆ mesure, lÕexpŽditeur poss•de le moyen de moduler indirectement la vitesse dÕapparition de son message par sa vitesse de frappe. A cette Þn, nous avons crŽŽ un Þltre Pp faisant dŽÞler le texte re•u horizontalement, pixel par pixel, de la droite vers la gauche, au fur et ˆ mesure de son arrivŽe. LÕŽcart temporel entre lÕarrivŽe de chaque mot est visible sous forme dÕun espacement variable entre les mots, reprŽsentŽ sur la Þgure 7.5. DŽcalage horizontal liŽ au temps de rŽaction u Figure 7.5. Dialogue avec texte animŽ 128 Chapitre 7: Enrichir les Žchanges de donnŽes Pour rendre compte de la dynamique des conversations, cÕest-ˆ-dire des tours de parole, le Þltre Pp afÞche les messages de chaque auteur sur une ligne de texte distincte. Les lignes de textes sont afÞchŽes les unes au dessous des autres. Si les dŽlais de transmission sur le rŽseau sont faibles, le dŽcalage spatial entre le dŽbut des messages afÞchŽs sur chaque ligne permet de visualiser dÕun coup dÕÏil le temps de rŽaction des interlocuteurs. Avantages et application La combinaison des deux Þltres dŽcrits engendre une forme de dialogue textuel dont les propriŽtŽs se rapprochent de la parole. DÕune part, le dŽÞlement du texte rend les messages ŽphŽm•res, comme la parole audible une seule fois. DÕautre part, lÕanimation dans une fen•tre, m•me observŽe en vision pŽriphŽrique, attire lÕattention et sert de notiÞcation de lÕactivitŽ du canal. Cette capacitŽ de notiÞcation se retrouve Žgalement dans la parole qui attire lÕattention par le signal sonore avant m•me dÕ•tre interprŽtŽe. LÕexpŽdition du texte mot ˆ mot contribue ˆ donner lÕimpression de manipuler un canal de communication instantanŽ. Elle augmente la sensation de prŽsence. De plus, le dŽÞlement des messages crŽe de lÕŽmotion liŽe aux tentatives de comprŽhension des messages avant leur apparition compl•te. 7.2.2 Filtres attachŽs pour dŽplacer des documents La rŽvision dÕun document consiste ˆ le faire lire par un groupe dÕindividus, chacun lui apportant des modiÞcations Žventuelles. Deux types de syst•mes sont adaptŽs ˆ la rŽvision dÕun document par plusieurs relecteurs. Le premier repose sur lÕŽdition partagŽe, le second sur la circulation du document entre les lecteurs pour effectuer la rŽvision en sŽquence. Les contraintes des mŽcanismes gestion des conßits dÕacc•s dans les Žditeurs partagŽs ont ŽtŽ dŽcrits page 41. La rŽvision en sŽquence nÕa pas les m•mes contraintes, mais elle nŽcessite un mŽcanisme de gestion des Žchanges pour faire circuler le document. Dans cette section, nous prŽsentons un prototype basŽ sur la rŽvision en sŽquence. Pour simpliÞer la coordination entre relecteurs sans imposer un ordre de circulation, ce prototype crŽe de lÕinformation libre basŽe sur la modiÞcation de la couleur de lÕic™ne du document. Il sÕagit dÕun mini syst•me workßow basŽ sur lÕutilisation dÕun rŽpertoire baptisŽ Transfolder, par contraction des mots ÒTransmissionÓ et ÒFolderÓ car il sert ˆ la transmission de documents. Description Chaque individu doit prendre le document, le consulter, le modiÞer, puis le restituer. ConformŽment ˆ la thŽorie de lÕaction de groupe, le prototype doit donner ˆ chacun les moyens dÕinterprŽter correctement lÕŽtat du groupe en rŽpondant aux questions suivantes: ¥ ¥ ¥ quelquÕun est-il en train de rŽviser le document? est-ce moi qui rŽvise le document actuellement? tout le monde a-t-il rŽvisŽ le document? Filtres attachŽs pour dŽplacer des documents 129 Notre solution est basŽe sur la dŽÞnition dÕun espace de travail partagŽ temporaire. Cet espace, le Transfolder, sert uniquement ˆ Žchanger le document et ˆ donner de la rŽtroaction de groupe sur lÕŽtat du document. Le Transfolder crŽe un point de passage obligatoire pour le document qui permet de rŽpondre ˆ la premi•re question. En effet, si personne nÕest en train de rŽviser le document, il est visible dans le Transfolder. Si un utilisateur lÕa amenŽ dans son espace personnel pour le rŽviser, il nÕest plus visible. Pour rŽpondre ˆ la deuxi•me question un utilisateur doit vŽriÞer si le document est visible dans son espace personnel endehors du Transfolder. La rŽponse ˆ la troisi•me question est donnŽe par une information libre basŽe sur la couleur de lÕic™ne du document. Chaque fois quÕun utilisateur met, ou remet, un document dans le Transfolder, la bo”te de dialogue de la Þgure 7.6 appara”t. Le choix Òˆ rŽviserÓ met toujours lÕic™ne dans la m•me couleur initiale. Le choix ÒvuÓ modiÞe la couleur de lÕic™ne en suivant toujours la m•me sŽrie de couleurs. Le choix Òpas vuÓ ne modiÞe pas la couleur de lÕic™ne. La modiÞcation de la couleur de lÕic™ne est un indice sufÞsant pour dŽÞnir une convention. En effet, suivant le nombre de relecteurs souhaitŽ la personne qui dŽpose un document ˆ rŽviser dans le Transfolder peut suivre la progression de la rŽvision par les changements de couleur. CÕest elle qui dŽcide dÕarr•ter le processus lorsque lÕic™ne prend une couleur indiquant un nombre sufÞsant de lecteurs. Cette convention suppose un comportement coopŽratif des individus. Chacun doit effectivement rŽviser le document une seule fois. Dans le cas o• un utilisateur rŽcup•re le document une seconde fois et se rend compte de son erreur, il lui sufÞt de le remettre avec le choix Òpas vuÓ. Figure 7.6. Dialogue de dŽp™t dÕun document La rŽvision dÕun document nŽcessite donc deux actions volontaires, lÕune pour retirer et lÕautre pour remettre le document. Ces actions dŽclenchent des ŽvŽnements dans lÕinterface qui sont une base initiale pour crŽer de lÕinformation libre ou pour envoyer une notiÞcation. Le Transfolder est lÕanalogue Žlectronique dÕun casier ˆ courrier. Il sÕapparente ainsi ˆ la mŽtaphore du casier (voir page 105). Nous lÕavons rŽalisŽ directement ˆ partir des rŽpertoires standards du gestionnaire de Þchier du Mac OS. Il ne nŽcessite pas de nouvelle reprŽsentation dans lÕinterface suivant en cela le principe de fusion P4. Maquette rŽalisŽe Notre maquette est basŽe sur lÕutilisation des Folders Actions disponibles depuis le syst•me Mac OS 8.6. Il sÕagit de scripts Žcrits dans le langage Apple Script qui peuvent •tre associŽs ˆ des ŽvŽnements gŽnŽrŽs par le syst•me dÕexploitation du Macintosh. Nous avons utilisŽ 130 Chapitre 7: Enrichir les Žchanges de donnŽes deux scripts appelŽs respectivement Ajouter et Retirer. Le premier est appelŽ par le syst•me ˆ chaque fois que lÕutilisateur dŽpose un Þchier dans son Transfolder, le second lÕest ˆ chaque fois que lÕutilisateur retire un Þchier de ce m•me rŽpertoire. La mise en Ïuvre est dŽcrite en annexe. Nous la reprenons bri•vement pour expliquer le principe dÕutilisation de Þltres associŽs ˆ des scripts. Notre maquette est basŽe sur une architecture totalement rŽpliquŽe illustrŽe par la Þgure 7.7. Chaque utilisateur poss•de sur sa machine un rŽpertoire baptisŽ ÒTransfolderÓ. Un mŽcanisme basŽ sur un script associŽ ˆ lÕajout dÕun Þchier dans le rŽpertoire assure la duplication de tout document dŽposŽ dans un rŽpertoire ÒTransfolderÓ. De m•me, tout document retirŽ dÕun rŽpertoire est retirŽ de tous les autres. Figure 7.7. Architecture pour la rŽplication La Þgure 7.8 reprŽsente les ŽlŽments de base pour crŽer un rŽpertoire dont le contenu est automatiquement recopiŽ sur un ou plusieurs autres rŽpertoires. Pour conna”tre la liste des rŽpertoires vers lesquels un rŽpertoire doit rŽpliquer son contenu, nous utilisons une demicommunication dÕun type particulier: un alias de rŽpertoire (rep•re 1). Chaque rŽpertoire contient une liste dÕalias pointant vers les rŽpertoires sur lesquels il doit rŽpliquer son contenu. Cette mŽthode permet dÕajouter un nouvel utilisateur uniquement en crŽant des alias de son rŽpertoire ÒTransfolderÓ local dans les rŽpertoires ÒTransfolderÓ des autres utilisateurs et en ajoutant un alias de chacun des rŽpertoires des autres utilisateurs dans son rŽpertoire ÒTransfolderÓ. 1 demi-communication 2 rŽpertoire non rŽpliquŽ 3 Figure 7.8. Principe de la rŽplication rŽpliquŽ sur Ator et Eva Filtres attachŽs pour dŽplacer des documents 131 Le Þltre Pt est implŽmentŽ par le script Ajouter. Ce script recherche la liste des alias de rŽpertoire contenus dans le ÒTransfolderÓ. Ensuite, il monte en local chacun des ces rŽpertoires et recopie le document nouvellement arrivŽ dedans. Ce script est illustrŽ par la Þgure 7.9. En (1) lÕutilisateur ajoute un document dans le rŽpertoire ce qui dŽclenche lÕexŽcution du script Ajouter. En (2) le script recopie le document dans chacun des rŽpertoires ÒTransfolderÓ liŽs au rŽpertoire. Le Þltre Pp est implŽmentŽ par une partie du script Ajouter par le script Retirer. Au moment de lÕajout du document dans un rŽpertoire ÒTransfolderÓ, le script Ajouter prŽsente aussi la bo”te dialogue de la Þgure 7.6. Il modiÞe la couleur de lÕic™ne du Þchier. Au moment du retrait dÕun document dÕun rŽpertoire ÒTransfolderÓ, le script Retirer supprime le document de toutes ses rŽpliques. De cette fa•on, il ne reste plus quÕune copie du document en circulation. Au moment de lÕajout et du retrait du document les scripts Ajouter et Retirer envoient Žgalement une notiÞcation ˆ tous les utilisateurs. Cette notiÞcation est un message du type Òalbert a pris le document chapitre7Ó ou bien ÒhŽl•ne a remis le document rapportÓ. Ces messages sont diffusŽs par le protocole IRC sur un serveur local au groupe de travail dans un canal spŽcial baptisŽ Ò#TransfolderÓ. Ils sont envoyŽs par lÕintermŽdiaire dÕun client IRC pilotable par Apple Events. Il nÕy a pas de Þltre Pc puisque lÕunique opŽration pour ajouter ou retirer un document est lÕopŽration de glisser-dŽposer. 2 1 2 Figure 7.9. Fonctionnement de la rŽplication En rŽsumŽ, la maquette du Transfolder illustre une mŽthode simple pour enrichir lÕŽchange de documents basŽe sur la personnalisation de lÕenvironnement par des scripts. LÕutilisation de Þltres peut servir aussi bien ˆ gŽrer la transmission des documents quÕˆ ajouter de lÕinformation libre, comme la couleur ou des notiÞcations. Le syst•me rŽsultant est un syst•me de circulation de documents qui nÕimpose pas de circuit aux documents et qui informe nŽan- 132 Chapitre 7: Enrichir les Žchanges de donnŽes moins les individus de la progression du processus de rŽvision. LÕannexe 1 discute les limitations de la maquette rŽalisŽe. 7.2.3 Filtres trajectoire Les Þltres trajectoires sont des Þltres complŽmentaires pour enregistrer et rejouer la trajectoire dÕun objet graphique en deux dimensions sur un Žcran. LÕobjectif de ces Þltres est dÕutiliser lÕanimation pour crŽer de lÕinformation libre liŽe ˆ la forme dÕune trajectoire. Ces Þltres ont servi ˆ enrichir les Žchanges dÕobjets avec le courrier direct pour identiÞer lÕexpŽditeur dÕun message ˆ sa trajectoire. Filtres de capture Les Þltres de capture enregistrent des trajectoires. Le premier Þltre permet de saisir des trajectoires absolues, cÕest-ˆ-dire un chemin Þxe sur lÕŽcran qui commence toujours ˆ la m•me position et Þnit toujours ˆ la m•me position. Le tour de lÕŽcran dans le sens trigonomŽtrique en partant du coin infŽrieur droit est un exemple de trajectoire absolue. Le deuxi•me Þltre permet de saisir des trajectoires relatives, cÕest-ˆ-dire une ligne courbe dont la rŽpŽtition permet de dessiner une trajectoire commen•ant ˆ nÕimporte quÕelle position. La Þgure 7.10 prŽsente un widget pour saisir des trajectoires absolues, leur associer un nom et les stocker dans une liste au centre de la fen•tre. La modiÞcation dÕune trajectoire sŽlectionnŽe, ou la crŽation dÕune nouvelle trajectoire sÕeffectue en deux temps. Dans un premier temps, lÕutilisateur positionne la fen•tre dans la partie de lÕŽcran dÕo• il souhaite faire partir la trajectoire. Dans un second temps, il dŽmarre une opŽration de cliquer-tirer depuis la zone quadrillŽe de la fen•tre dÕo• il souhaite faire partir la trajectoire. Le widget Žchantillonne la trajectoire tant que le bouton de la souris est enfoncŽ. Les trajectoires dont le nom est afÞchŽ au centre du widget se manipulent par glisser-dŽposer pour servir de param•tres ˆ des Þltres. DŽfinition dÕune trajectoire Liste de trajectoires mŽmorisŽes Zone quadrillŽe pour indiquer le dŽpart dÕune trajectoire Figure 7.10. Saisie de trajectoire absolue La Þgure 7.11 prŽsente la saisie dÕune trajectoire relative depuis un objet afÞchŽ ˆ lÕŽcran, en lÕoccurrence une fen•tre cartouche contenant un objet de coordination. LÕutilisateur dŽmarre une opŽration de cliquer-tirer depuis un point de la fen•tre cartouche autre que lÕobjet de coordination, sous peine de saisir lÕobjet. Les points sont ŽchantillonnŽs tant que le bouton Filtres trajectoire 133 de la souris est enfoncŽ. Les points mŽmorisŽs forment une trajectoire relative qui permet dÕengendrer des trajectoires plus longues par rŽpŽtition du motif initial. Direction globale de la trajectoire Figure 7.11. Saisie de trajectoire relative Filtres de prŽsentation La Þgure 7.12 illustre lÕapparition dÕun objet de coordination dans sa fen•tre cartouche en suivant une trajectoire absolue. Cette animation est rŽalisŽe par un Þltre Pp adŽquat qui prend la trajectoire en param•tre. De m•me un autre Þltre Pp permet dÕanimer une fen•tre cartouche en suivant une trajectoire relative. Ce Þltre peut •tre paramŽtrŽ pour commencer sur un bord de lÕŽcran, calculŽ en fonction de la direction globale de la trajectoire, et pour animer la fen•tre cartouche jusquÕˆ ce quÕelle atteigne lÕautre bord de lÕŽcran. La fen•tre contenant lÕobjet transmis appara”t avec une animation suivant une trajectoire prŽdŽfinie Figure 7.12. Apparition dÕun objet de coordination Utilisation Nous avons utilisŽ les Þltres trajectoires comme Þltres de prŽsentation pour afÞcher lÕarrivŽe des objets de coordination envoyŽs par courrier direct. Le dispositif rŽalisŽ permet dÕassocier 134 Chapitre 7: Enrichir les Žchanges de donnŽes une trajectoire choisie dans le widget de la Þgure 7.10, avec un utilisateur apparaissant dans lÕannuaire de la Þgure 6.7 page 110. LÕassociation dÕune trajectoire ˆ un expŽditeur indique au courrier direct de prŽsenter toutes les fen•tres cartouches en provenance de cet expŽditeur par une animation suivant la trajectoire dŽsignŽe. Ce Þltre Pp poss•de trois avantages. Premi•rement, la trajectoire dŽsigne implicitement lÕexpŽditeur de la fen•tre cartouche. Deuxi•mement, lÕanimation attire lÕattention sur lÕarrivŽe dÕun objet. EnÞn, la fen•tre cartouche reste afÞchŽe ˆ lÕendroit o• se termine la trajectoire. Cette propriŽtŽ permet de trier les fen•tres cartouches ˆ lÕŽcran en fonction de lÕexpŽditeur. Glisser-Lancer Les trajectoires relatives sont applicables ˆ une autre forme dÕŽchange: le lancer ˆ travers les bords de lÕŽcran. Cette forme dÕŽchange suppose que lÕon associe des listes de destinataires avec chacun des bords de lÕŽcran. La transmission dÕun objet sÕeffectue alors par glisser-lancer, une opŽration semblable au glisser-dŽposer, sauf que, ˆ lÕissue de lÕopŽration, lÕobjet poursuit sa trajectoire comme sur la Þgure 7.11. LorsquÕil atteint le bord de lÕŽcran il continue son chemin sur les Žcrans des destinataires et sÕimmobilise sur le bord suivant. Cette mŽthode de transmission prŽsente deux caractŽristiques intŽressantes. Premi•rement, une fois les opŽrations prŽalables accomplies pour connecter les Žcrans bord ˆ bord, lÕenvoi dÕun objet demande un minimum dÕopŽrations. Cette caractŽristique diminue les distances de participation et de rŽaction. Deuxi•mement, la trajectoire est une information libre de modulation qui conserve en partie les propriŽtŽs du geste. La vitesse de saisie de la trajectoire dŽtermine la vitesse de dŽplacement de lÕobjet. Les trajectoires pourraient servir ˆ dŽÞnir des conventions pour indiquer lÕurgence ou bien le type de contenu dÕun objet. 7.3 Perspectives du mod•le PROSE Le mod•le PROSE est un mod•le dÕanalyse et de conception pour lÕŽchange de donnŽes dans les collecticiels. Les applications existantes pourraient bŽnŽÞcier dÕune reconception de leurs Þltres Pc, Pt ou Pp, pour crŽer de nouvelles formes dÕŽchange de donnŽes. Cette mŽthode pourrait ainsi sÕappliquer au contr™le de la diffusion dÕinformation de rŽtroaction de groupe ou de conscience mutuelle. Nous proposons deux autres perspectives dÕapplication du mod•le PROSE. La premi•re, la plus utilitaire, explique comment gagner de la bande passante sur le rŽseau avec la barre de transmission. La seconde propose la conception de Þltres Pc et Pp jumelŽs ajoutant systŽmatiquement des informations contextuelles ˆ tout Žchange de donnŽes. Filtre de transmission et optimisation de la bande passante La conception des Þltres Pt nŽcessite parfois lÕacc•s ˆ des param•tres de contr™le de bas niveau des couches rŽseau. CÕest le cas pour contr™ler Þnement le dŽbit du rŽseau, en vue de Perspectives du mod•le PROSE 135 crŽer des effets dÕafÞchage progressif par exemple. LÕacc•s ˆ ce type de param•tre et ˆ lÕŽtat rŽel des transmissions nÕest pas toujours facile avec les protocoles rŽseaux, comme TCP/IP, qui consid•rent le rŽseau comme une couche transparente. Le contr™le de ces param•tres nŽcessite la programmation de couches supplŽmentaires de messages et de protocoles. Le prototype du texte divisŽ a nŽcessitŽ la mise au point dÕun protocole spŽcial pour reprŽsenter lÕŽtat de la transmission en cours par un fant™me et pour permettre dÕannuler une transmission. Le texte divisŽ tient ˆ jour ses propres tampons mŽmoires pour la transmission. Ce protocole intermŽdiaire aurait pu •tre ŽvitŽ en accŽdant aux mŽmoires tampons du rŽseau utilisŽes par le protocole TCP/IP, opŽration complexe et peu documentŽe. LÕafÞchage progressif et le contr™le dÕune transmission au caract•re ne reprŽsentent quÕune partie des applications imaginables. Les Þltres Pt peuvent aussi Žconomiser de la bande passante sur le rŽseau. En effet, lÕasservissement continu entre le rŽseau et les actions des utilisateurs par une barre de transmission permettrait dÕŽviter de transfŽrer des donnŽes superßues. Les navigateurs web pourraient asservir le chargement des pages ˆ la barre de dŽÞlement. Cet asservissement rŽduirait la quantitŽ dÕinformations transfŽrŽes sur le rŽseau et le nombre de connexions nŽcessaires, seul le contenu rŽellement afÞchŽ des pages serait chargŽ. Transmission du contexte La richesse des comportements en face-ˆ-face est une source dÕinspiration pour imaginer quels types dÕinformation de contr™le ajouter aux Þltres de style. Une approche prometteuse consiste ˆ extraire des contextes de la communication (voir page 52) des param•tres de contr™le, ˆ les encoder avec un Þltre Pc, puis ˆ les recrŽer de mani•re rŽaliste ou symbolique au moment de la prŽsentation par un Þltre Pp. Le temps est un param•tre contextuel accessible au moment de la capture mais rarement pris en compte au moment de la prŽsentation. Dans les outils basŽs sur lÕŽchange de messages textuels, la durŽe de saisie des messages est accessible au Þltre Pc. Cette information est intŽressante car elle traduit, dÕune certaine fa•on, le soin apportŽ ˆ la rŽdaction. Une reprŽsentation simple par la couleur du fond de la fen•tre dÕafÞchage pourrait servir ˆ donner une idŽe du temps mis pour rŽdiger un message. Un autre moyen de reprŽsenter le temps de saisie serait de reproduire la frappe des messages en accŽlŽrŽ au moment de lÕafÞchage. Si les moyens de capture ne sont pas sufÞsants pour encoder directement des param•tres issus des contextes, il est aussi possible dÕinventer de nouveaux contextes basŽs sur des reprŽsentations symboliques arbitraires comme les Žmoticons. 136 Chapitre 7: Enrichir les Žchanges de donnŽes 7.4 Conclusion Ce chapitre apporte deux contributions ˆ la conception des collecticiels. Premi•rement, il illustre concr•tement lÕajout dÕinformation libre ˆ travers le contr™le de la forme des Žchanges de donnŽes. Nous avons ainsi prŽsentŽ plusieurs prototypes: ¥ ¥ ¥ ¥ un outil de dialogue textuel ˆ deux, le texte divisŽ, o• lÕinformation libre crŽŽe par la coupure du texte sert ˆ coordonner les allers retours de messages; un outil de dialogue en ligne, le texte animŽ, o• lÕanimation et lÕenvoi du texte au fur et ˆ mesure de la saisie recrŽe la dynamique de la conversation; un syst•me de rŽvision de document de groupe basŽ sur lÕajout dÕune information libre liŽe ˆ la couleur pour se coordonner; des widgets pour capturer et pour restituer des trajectoires, les trajectoires sont de lÕinformation libre pouvant servir ˆ identiÞer lÕexpŽditeur dÕun objet, ˆ indiquer lÕurgence du message, etc. Deuxi•mement, ces prototypes ont ŽtŽ con•us en appliquant le mod•le PROSE de lÕŽchange de donnŽes publiŽ et ÞltrŽ en trois Žtapes. Ce mod•le est applicable ˆ tous les collecticiels existant pour enrichir la forme des Žchanges de donnŽes et crŽer ainsi de lÕinformation libre. Chapitre 8 Mise en Ïuvre des interfaces ˆ Collaboration Directe Ce dernier chapitre prŽsente les mŽcanismes qui nous ont servi ˆ rŽaliser les prototypes du courrier direct et les maquettes dÕoutils de dialogue textuel. Ces mŽcanismes ont ŽtŽ ajoutŽs ˆ une bo”te ˆ outils de construction dÕinterfaces en C++. Ils constituent un ensemble de classes baptisŽ TransToolkit offrant des services de rŽplication dÕobjets ˆ la demande et de distribution du comportement des objets. LÕintŽgration de la programmation du rŽseau avec la bo”te ˆ outils de construction dÕinterface repose sur la notion dÕŽvŽnement. La premi•re partie analyse les besoins pour crŽer des objets de coordination. La deuxi•me partie prŽsente notre mŽthode pour programmer le comportement dÕune interface et pour le rŽpliquer. La troisi•me partie prŽsente plus spŽciÞquement le mŽcanisme de transmission des objets. EnÞn, dans la derni•re partie nous discutons les possibilitŽs de TransToolkit. 8.1 Concepts de base La collaboration directe nŽcessite des moyens pour faire circuler des objets sous le contr™le des utilisateurs. Nous avons Žgalement mentionnŽ la possibilitŽ de partager des objets pour quÕils soient manipulŽs simultanŽment ou bien ˆ tour de r™le, ou bien pour quÕils donnent de la rŽtroaction de groupe et de la conscience mutuelle. La programmation dÕobjets de coordination nous a conduit ˆ imaginer des mŽcanismes spŽciÞques qui ne font pas partie habituellement des bo”tes ˆ outils de construction dÕinterface. OpŽrations sur les objets de coordination Les objets de coordination sont visibles dans lÕinterface et susceptibles de circuler dÕune application ˆ une autre, sur un m•me poste ou dÕun poste de travail ˆ un autre, et dÕ•tre partagŽs par plusieurs utilisateurs. Dans le contexte de TransToolkit nous les appelons des mobiles. Les mobiles correspondent potentiellement ˆ nÕimporte quel objet simple, ˆ des objets 138 Chapitre 8: Mise en Ïuvre des interfaces ˆ Collaboration Directe composites complexes, voire ˆ une application en entier. Ils sont susceptibles de changer dÕapparence suivant le contexte dans lequel ils se trouvent. Dans un tableau blanc partagŽ par exemple, une ligne de texte est un objet mobile possŽdant une apparence unique: la cha”ne de caract•re qui le reprŽsente. Par contre la Þgure 8.1 reprŽsente un mobile composite. Il correspond ˆ lÕapplication de texte animŽ (voir page 127). Suivant les circonstances, ce mobile est afÞchŽ comme une fen•tre de dialogue, ou comme un bouton permettant de dŽclencher lÕafÞchage dÕune nouvelle fen•tre visualisant le m•me canal de discussion. Figure 8.1. Exemple de mobile possŽdant plusieurs apparences De m•me que les mobiles poss•dent une ou plusieurs apparences, ils poss•dent un ou plusieurs comportements. Le mobile de la Þgure 8.1 reprŽsentŽ sous forme de fen•tre de dialogue poss•de un comportement de glisser-dŽposer liŽ au placard ÒLienÓ. Ce comportement est ˆ la base de la transmission volontaire du mobile sous la forme dÕune demi-communication. Lorsque le placard ÒLienÓ fait lÕobjet dÕune opŽration de glisser-dŽposer, il reprŽsente le mobile en entier qui peut •tre transmis ˆ un autre utilisateur. Apr•s sa transmission et son afÞchage par le courrier direct dans une fen•tre cartouche, le mobile prend la forme dÕun bouton. Sous forme de bouton il poss•de un autre comportement de gestion du clic. La transmission dÕun mobile suit plusieurs scŽnarios. Le mobile transmis peut se dŽplacer et ne pas rester dans lÕapplication de lÕexpŽditeur. Il nÕest alors pas partagŽ ˆ proprement parler mais se dŽplace comme un document papier circulant de la main ˆ la main. Le mobile transmis peut aussi •tre copiŽ. Si la copie reprŽsente un nouveau mobile, il nÕest pas partagŽ. Par contre, si la copie reprŽsente un nouvel exemplaire du m•me mobile, il devient un mobile partagŽ. Par exemple la demi-communication transmise sous forme de bouton devient une fen•tre partagŽe lorsque le destinataire clic sur le bouton re•u. Les mobiles partagŽs peuvent possŽder trois types de comportements. Les comportements non partagŽs sont contr™lŽs par un seul utilisateur. Les comportements partagŽs sont contr™lŽs par plusieurs utilisateurs, ˆ tour de r™le ou simultanŽment. Ainsi, le comportement de glisser-dŽposer dÕune ligne de texte afÞchŽ sur un tableau blanc partagŽ doit •tre contr™lŽ ˆ tour de r™le pour Žviter que plusieurs utilisateurs dŽplacent le m•me texte au m•me moment. Par contre le comportement associŽ ˆ la saisie de texte dans la fen•tre de dialogue de la Þgure 8.1 rŽalise la mise en commun des saisies de tous les utilisateurs. En rŽsumŽ, nous avons besoin dÕun mod•le pour dŽcrire des mobiles qui circulent dÕapplication en application en changeant dÕapparence et de comportement. Suivant les situations, les comportements des mobiles sÕappliquent ˆ un seul exemplaire du mobile visible dans une Concepts de base 139 seule interface ou bien le m•me comportement est partagŽ par plusieurs exemplaires du mobile visibles dans plusieurs interfaces. Le partage du comportement sert ˆ prendre en compte simultanŽment les actions de plusieurs utilisateurs sur le mobile ou bien ˆ le contr™ler ˆ tour de r™le. ModŽlisation des mobiles Un mobile est modŽlisable par un agent PAC ou par une hiŽrarchie dÕagents PAC [Coutaz 90]. Par simpliÞcation nous parlerons des mobiles comme sÕils Žtaient constituŽs dÕun seul agent. La facette prŽsentation correspond ˆ la gestion du dessin ˆ lÕŽcran du mobile. LorsquÕun mobile poss•de plusieurs apparences, comme dans lÕexemple ci-dessus, la facette prŽsentation est multiple et une seule apparence est visible ˆ un moment donnŽ. La facette abstraction contient les donnŽes propres au mobile, comme les caract•res dÕune ligne de texte dÕun tableau blanc partagŽ. EnÞn la facette contr™le correspond ˆ ses comportements. Mobile Glisser-dŽposer Transmetteur Capteur Champ Mobile partagŽ Mobile Transmetteur Capteur Mobile non partagŽ Figure 8.2. Transmission des mobiles Notre choix pour transmettre et partager un mobile est indŽpendant de la notion de rŽseau ou de connexion. Il repose sur une mŽtaphore de champ, de transmetteur et de capteur. Le champ reprŽsente un espace abstrait qui recouvre plusieurs applications ou sites. Le champ a la propriŽtŽ de rŽpliquer les comportements partagŽs des mobiles quÕil contient. Le transmetteur transmet un mobile depuis une application vers une autre. EnÞn, les mouvements des mobiles entre les vues dÕune interface sont dŽtectŽs par des capteurs. La dŽtection de 140 Chapitre 8: Mise en Ïuvre des interfaces ˆ Collaboration Directe lÕentrŽe dÕun mobile dans une vue peut servir ˆ dŽclencher la transmission du mobile par un transmetteur. La Þgure 8.2 rŽsume notre mŽtaphore pour dŽcrire la transmission dÕun mobile. Les mobiles partagŽs restent plongŽs dans un champ qui rŽplique leur comportement apr•s leur transmission. Extension dÕune bo”te ˆ outil de construction dÕinterfaces Nous avons choisi de modiÞer la bo”te ˆ outil de construction dÕinterfaces Power Plant [Metrowerks 97] pour implŽmenter la mŽtaphore prŽcŽdente. Cette bo”te ˆ outil en C++ se compose dÕun ensemble de classes et de mŽthodes aisŽment extensibles ou spŽcialisables. Power Plant poss•de des classes pour gŽrer le rŽseau, ce qui la rend propre au dŽveloppement de collecticiels. Notre extension baptisŽe TransToolkit repose sur plusieurs classes de base: ¥ ¥ ¥ ¥ ¥ la classe Mobile sert ˆ encapsuler les objets traditionnels dÕune interface pour les rendre transmissibles; la classe Champ dŽÞnit un espace dÕexŽcution rŽparti, elle g•re les connexions entre les applications et la communication rŽseau; la classe Transmetteur reprŽsente les transmetteurs; la classe Capteur sert ˆ interfacer les vues dÕune interface avec le gestionnaire de glisser-dŽposer; la classe Automate reprŽsente le comportement des mobiles. La classe Automate sert aussi ˆ reprŽsenter le comportement dÕŽlŽments de lÕinterface qui ne sont pas partagŽs ni liŽs ˆ des mobiles. La philosophie gŽnŽrale de TransToolkit est de masquer les fronti•res entre applications par la crŽation dÕun espace dÕexŽcution rŽparti, ˆ lÕaide des champs, o• sÕexŽcutent des comportements rŽpliquŽs ou non. Notre objectif Žtant Žgalement dÕŽtudier les mŽcanismes de bas niveau pour intŽgrer la programmation du rŽseau et la programmation des interfaces, nous avons choisi de crŽer nos propres mŽcanismes plut™t que de rŽutiliser ceux dÕune bo”te ˆ outil comme Groupkit. En effet, ce type de bo”te ˆ outils fournit soit des widgets partagŽs difÞcile ˆ modiÞer, comme des tŽlŽpointeurs ou des barres de dŽÞlement multiples, ou bien des structures de donnŽes partagŽes, du type listes attributs-valeurs [22]. Ces structures de donnŽes ne sont pas spŽcialement adaptŽes ˆ la programmation et ˆ la rŽplication de lÕaspect dynamique du comportement dÕobjets interactifs. De m•me, notre objectif est lŽg•rement diffŽrent dÕinfrastructures comme MMConf, con•ues pour rendre multi-utilisateurs des applications mono-utilisateurs avec le moins de modiÞcations possibles [Crowley et al. 90]. Comme MMConf nous souhaitons masquer les mŽcanismes bas niveau de communication par le rŽseau, mais ˆ sa diffŽrence nous souhaitons proposer des abstractions pour remplacer le rŽseau qui laissent un moyen de contr™le prŽcis au programmeur sur la rŽplication de lÕinterface ou sur lÕarchitecture rŽseau pour en tirer partie dans ses algorithmes. Description du comportement et rŽplication 141 8.2 Description du comportement et rŽplication Les applications interactives utilisent en gŽnŽral un mŽcanisme de communication ˆ base dÕŽvŽnements. Nous avons gŽnŽralisŽ ce mŽcanisme pour modŽliser le comportement des objets dÕune interface par des automates. Nous utilisons Žgalement un protocole de communication basŽ sur les ŽvŽnements pour rŽpliquer le comportement des objets sur le rŽseau. La notion de champ nous sert ˆ masquer les dŽtails des communications en rŽseau. EvŽnements, Abonnement Les actions de lÕutilisateur ˆ lÕaide des pŽriphŽriques dÕentrŽe sont communiquŽes ˆ une application interactive par le syst•me dÕexploitation, ou par le gestionnaire de fen•tres, sous la forme dÕŽvŽnements. Les ŽvŽnements sont caractŽrisŽs par un type correspondant ˆ une action (appui sur un bouton de la souris, etc.) et par plusieurs attributs (coordonnŽes de la souris pour les ŽvŽnements graphiques, masque des boutons, etc.). Dans les interfaces ˆ manipulation directe, les contraintes de rŽactivitŽ font que ces actions doivent •tre prises en compte le plus rapidement possible. Cette prise en compte peut consister ˆ mettre ˆ jour la prŽsentation externe de lÕinterface seule (mise en relief du bouton sous le curseur, etc.) ou ˆ transmettre des ordres au contr™leur de dialogue, ou les deux. La consŽquence de lÕarrivŽe dÕun ŽvŽnement est en gŽnŽral lÕappel dÕune ou plusieurs fonctions, ou rŽactions1. Les appels de fonction liŽs aux rŽactions ne sont pas faciles ˆ reprŽsenter dans un langage de programmation sŽquentiel. En effet, lÕexŽcution dÕune rŽaction est dŽclenchŽe par lÕenvironnement, ˆ un rythme imposŽ par lÕenvironnement. Les interfaces sont donc des syst•mes rŽactifs [Caspi et al. 98]. LÕassociation entre une rŽaction et un ŽvŽnement dŽclenchant sÕappelle lÕabonnement. LÕabonnement a lieu avant lÕappel de la rŽaction pour rendre possible cet appel autant de fois quÕun ŽvŽnement dŽclenchant survient. Les bo”tes ˆ outils de construction dÕinterface utilisent en gŽnŽral une structure dÕexŽcution appelŽe boucle principale qui sert ˆ provoquer lÕappel des rŽactions. La boucle principale fonctionne en association avec une Þle dÕŽvŽnements qui contient tous les ŽvŽnements re•us par lÕapplication. Le code gŽnŽrique pour une application interactive primitive est le suivant: termine = false; while not( termine ) { ev = Event_Queue.WaitNextEvent (); DispacthEvent (ev) } La Þle dÕŽvŽnements de lÕapplication est crŽŽe et alimentŽe en gŽnŽral par le syst•me ou par le gestionnaire de fen•tres. Dans le cas de Power Plant, la fonction DispatchEvent contient plusieurs tables dÕaiguillage basŽes sur le type de lÕŽvŽnement et sur ses attributs. Ces tables 1. Souvent appelŽes aussi ÒcallbacksÓ ou bien ÒhandlersÓ. 142 Chapitre 8: Mise en Ïuvre des interfaces ˆ Collaboration Directe sont inscrites sous la forme dÕune succession de tests conditionnels dans les mŽthodes des classes qui dŽcrivent lÕinterface. Les mŽthodes sont appelŽes successivement jusquÕˆ aboutir ˆ une rŽaction capable de traiter lÕŽvŽnement. Les tables dÕaiguillage constituent une forme dÕabonnement statique o• le lien entre un type dÕŽvŽnement et la rŽaction capable de le traiter est non modiÞable dynamiquement. LÕŽtape qui consiste ˆ aiguiller lÕŽvŽnement vers la bonne rŽaction sÕappelle aussi la sŽlection de cible. Par exemple si lÕutilisateur clique dans une fen•tre, dans Power Plant la recherche de cible Þnira par appeler la mŽthode ClickInContent(ev) de la fen•tre concernŽe. La structuration des interfaces graphiques en fen•tres, en vues et en objets graphiques terminaux sert ˆ raccourcir la recherche des cibles des ŽvŽnements [Chatty 92]. La plupart des bo”tes ˆ outils de construction dÕinterface proposent des mŽcanismes pour rendre lÕabonnement dynamique, cÕest-ˆ-dire pour que la sŽlection de cible prenne en compte les nouvelles classes ajoutŽes par le programmeur et les instances crŽes dynamiquement au cours de lÕexŽcution du programme. Avec Power Plant, la plupart des classes qui sont la cible des ŽvŽnements sont aussi des Broadcaster. Les Broadcaster g•rent une liste dÕobjets abonnŽs, dŽrivŽs de la classe Listener. LorsquÕun Broadcaster re•oit un ŽvŽnement, il peut le diffuser en appelant la mŽthode ListenTo (ev) des objets abonnŽs. Les Listener sÕabonnent en appelant la mŽthode AddListener du Broadcaster et se dŽsabonnent avec la mŽthode RemoveListener. Ce mŽcanisme sert ˆ rediffuser les ŽvŽnements depuis les cibles standard de lÕinterface, comme un bouton, vers des instances de classes dŽÞnies par le programmeur. Le mŽcanisme de diffusion dÕŽvŽnement et dÕabonnement par Broadcaster et Listener est utilisable indŽpendamment de la Þle dÕŽvŽnement et de la boucle dÕŽvŽnement. A tout moment, il est possible de demander ˆ un Broadcaster dÕenvoyer un ŽvŽnement ˆ ses Listeners. Ce mŽcanisme gŽnŽralise donc le mŽcanisme de communication ˆ base dÕŽvŽnement pour en faire un mŽcanisme de communication entre les instances dÕune application. Dans TransToolkit, nous avons ajoutŽ un mŽcanisme similaire de communication par ŽvŽnement basŽ sur les rŽactions et les sources dÕŽvŽnements. RŽactions, sources dÕŽvŽnements Les rŽactions appelŽes suite ˆ lÕŽmission dÕun ŽvŽnement sont reprŽsentŽes dans TransToolkit par la classe ReactionOf. Une rŽaction permet de stocker lÕadresse dÕune instance et lÕadresse dÕune mŽthode de cette instance. Par exemple si nous avons dŽÞni une classe DemiCom avec une mŽthode Connect(ev), nous pouvons crŽer une rŽaction reprŽsentant lÕappel de la mŽthode Connect dÕune instance de DemiCom de la mani•re suivante: DemiCom* inst = new DemiCom; ReactionOf<DemiCom> maReaction (inst, &DemiCom::Connect); Description du comportement et rŽplication 143 LÕobjet maReaction de lÕexemple ci-dessus est une rŽaction qui permet dÕappeler la mŽthode Connect de lÕobjet inst. Les rŽactions gŽnŽralisent la notion de pointeur sur fonction en C++. Nous avons Žgalement rŽiÞŽ la notion de Þle dÕŽvŽnement avec la classe Theatre. Notre mŽcanisme est plus spŽcialisŽ que lÕassociation des Broadcasters et des Listeners. En effet, un Broadcaster diffuse ses ŽvŽnements ˆ tous ses abonnŽs sans distinction. Par contre, les rŽactions sont associŽes ˆ un thމtre avec une clŽ. Cette clŽ sert au thމtre pour sŽlectionner les rŽactions ˆ appeler en fonction des attributs de lÕŽvŽnement. Nous avons ainsi dŽÞni une classe de thމtre, TheatreChaine, qui prend pour clŽ une cha”ne de caract•re. Ces thމtres diffusent des ŽvŽnements possŽdant un attribut cha”ne de caract•re. Ils nÕappellent que les rŽactions qui se sont abonnŽes avec la cha”ne correspondant ˆ lÕŽvŽnement. LÕabonnement dÕune rŽaction ˆ un thމtre sÕeffectue ˆ lÕaide de lÕopŽrateur +=. La clŽ servant ˆ lÕabonnement est indiquŽe ˆ lÕaide de lÕopŽrateur dÕindexation, comme sur lÕexemple suivant: TheatreChaine theatre; theatre [ÒOKÓ] += &maReaction LÕenvoi dÕun ŽvŽnement dans un thމtre est dŽclenchŽ par lÕappel dÕune mŽthode Interact prenant lÕŽvŽnement pour argument. Dans le cas dÕun TheatreChaine, il faut que lÕŽvŽnement soit convertible en cha”ne de caract•re. LÕexemple suivant suppose lÕexistence dÕune classe dÕŽvŽnement StringEvent convertible en cha”ne de caract•re. Cet exemple associŽ avec les deux listings prŽcŽdents provoquerait lÕappel de la mŽthode Connect de lÕobjet inst. StringEvent ev (ÒOKÓ) theatre.Interact (&ev); Dans la suite de ce chapitre nous utilisons des thމtres qui prennent pour clŽ un entier ou TheatreEntier. Ils convertissent lÕŽvŽnement en entier avant dÕappeler les rŽactions associŽes. Par soucis de simpliÞcation, lorsque nous dŽsignons un ŽvŽnement par une constante, comme Enfoncer_Bouton, il sÕagit de lÕentier qui reprŽsente lÕŽvŽnement. Les notions de Theatre et de Reaction gŽnŽralisent le mŽcanisme de dŽclenchement des rŽactions pour communiquer par lÕenvoi dÕŽvŽnements, que ce soit depuis la Þle dÕŽvŽnement de lÕapplication, ou directement en appelant la mŽthode Interact ˆ tout moment. Ces notions sont ˆ la base de la reprŽsentation des comportements des objets de lÕinterface par des automates. Etats, automates La gŽnŽralisation de lÕŽmission des ŽvŽnements par les thމtres et la gŽnŽralisation des rŽactions nous donne les moyens de dŽcrire la facette contr™le des mobiles par des automates. En effet, les rŽactions dans une interfaces peuvent •tre groupŽes lorsquÕelles concernent un m•me objet de lÕinterface ou un groupe dÕobjets liŽs. Un tel ensemble de rŽactions peut servir ˆ dŽÞnir un Žtat de lÕobjet correspondant au sous-ensemble de toutes les rŽactions abonnŽes ˆ un instant donnŽ. Suite ˆ lÕappel de lÕune dÕentre elles, le sous-ensemble des rŽactions 144 Chapitre 8: Mise en Ïuvre des interfaces ˆ Collaboration Directe abonnŽes se modiÞe, certaines se dŽsabonnent, dÕautres sÕabonnent. Pour gŽrer la succession dÕabonnements et de dŽsabonnements dÕun groupe de rŽactions, nous avons dŽÞni la classe Automate. Un automate mŽmorise une liste de rŽactions d”tes attachŽes et effectue deux sortes de traitements sur cette liste au moment de lÕappel dÕune rŽaction. Ces traitements dŽpendent de la mani•re dont la rŽaction est attachŽe ˆ lÕautomate. Un Žtat de lÕautomate Reaction.Branch (Automate); Reaction.Loop (Automate); RŽactions susceptibles dÕ•tre appelŽes Branch Loop Figure 8.3. OpŽrateurs pour les transitions dÕun automate Le programmeur peut attacher une rŽaction ˆ un automate par lÕopŽrateur Branch ou Loop. Ces opŽrateurs sauvegardent des informations dans la rŽaction et dans lÕautomate utilisŽes au moment de lÕappel de la rŽaction. LÕappel dÕune rŽaction attachŽe avec Branch provoque automatiquement le dŽsabonnement de toutes les rŽactions attachŽes ˆ lÕautomate et leur dŽtachement de lÕautomate. LÕexŽcution de la rŽaction peut Žgalement provoquer lÕattachement de nouvelles rŽactions ˆ lÕautomate, ce qui dŽÞnit un nouvel Žtat. CÕest ce que nous reprŽsentons par la transition dÕun automate sur la Þgure 8.3. Le cercle reprŽsente un Žtat de lÕautomate, cÕest-ˆ-dire une situation dans laquelle plusieurs rŽactions sont attachŽes ˆ lÕautomate. Les ß•ches reprŽsentent les transitions possibles de lÕautomate depuis cet Žtat. Elles sont crŽŽes par lÕattachement dÕune rŽaction ˆ lÕautomate avec lÕopŽrateur Branch ou Loop. LÕappel dÕune rŽaction attachŽe par lÕopŽrateur Loop ne modiÞe pas lÕŽtat dÕabonnement des rŽaction ni leur attachement ˆ lÕautomate. CÕest ce que nous reprŽsentons par une boucle sur la Þgure 8.3. A titre dÕexemple considŽrons un automate pour reprŽsenter le comportement de glisserdŽposer dÕun objet ˆ la souris. Cet automate est dŽclarŽ comme une variable membre dÕune classe ObjetGraphique reprŽsentant un objet graphique afÞchŽ ˆ lÕŽcran. Nous supposons que la classe ObjetGraphique est elle-m•me un thމtre qui diffuse lÕŽvŽnement Enfoncer_Bouton lorsque lÕutilisateur enfonce un bouton de la souris sur la reprŽsentation de lÕobjet. Nous supposons Žgalement quÕil existe une variable globale gMouse qui donne acc•s aux ŽvŽnements Deplacer_Souris et Relacher_Bouton de la souris. Nous supposons que la souris poss•de un seul bouton. LÕautomate est reprŽsentŽ sur la Þgure 8.4. Il poss•de deux Žtats A et B. Les transitions sont numŽrotŽes, sur le c™tŽ de chaque transition Þgure lÕŽvŽnement dŽclencheur et entre accolades le nom de la rŽaction appelŽe. Le source lui correspondant est reproduit sous la Þgure. Description du comportement et rŽplication 145 A Enfoncer_Bouton { Demarrer_Cb(); } 2 1 Relacher_Bouton { Terminer_Cb(); } B 3 Deplacer_Souris { DŽplacer_Cb(); } Figure 8.4. Automate pour dŽplacer un objet graphique // variables membres de ObjetGraphique Automate graphe_etat; ReactionOf<ObjetGraphique> Demarrer_R, Deplacer_R, Terminer_R; // initialisation des rŽactions ObjetGraphique :: ObjetGraphique () : Demarrer_R (this, &ObjetGraphique::Demarrer_Cb), Deplacer_R (this, &ObjetGraphique::Deplacer_Cb), Terminer_R (this, &ObjetGraphique::Terminer_Cb) { } // automate // fonction ˆ appeler pour initialiser lÕautomate void ObjetGraphique :: Etat_Repos () { // crŽation de lÕŽtat A (*this) [Enfoncer_Bouton] += Demarrer_R.Branch (graphe_etat, 1); } void ObjetGraphique :: Demarrer_Cb (ev) { // crŽation de lÕŽtat B gMouse [Deplacer_Souris] += Deplacer_R.Loop (graphe_etat, 2); gMouse [Relacher_Bouton] += Terminer_R.Branch (graphe_etat, 3); } void ObjetGraphique :: Deplacer_Cb (ev) { MoveTo (ev->GetPosition ()); } 146 Chapitre 8: Mise en Ïuvre des interfaces ˆ Collaboration Directe void ObjetGraphique :: Terminer_Cb (ev) { Etat_Repos () } Le seul effet de bord de lÕautomate dans lÕexemple ci-dessus est de dŽplacer la reprŽsentation de lÕobjet pendant lÕexŽcution de la rŽaction Deplacer_Cb, pour lÕamener ˆ la position du curseur indiquŽe dans lÕŽvŽnement. LÕattachement des rŽactions ˆ lÕautomate etat prend Žgalement pour argument un numŽro qui identiÞe la transition. Cette numŽrotation est ˆ la base du syst•me de rŽplication des comportements reprŽsentŽs par un automate. RŽplication des automates, rŽseau La rŽplication du comportement dÕun objet reprŽsentŽ par un automate consiste ˆ provoquer ˆ distance les m•mes transitions de lÕautomate et ˆ appeler les rŽactions correspondantes, comme si elles Žtaient dŽclenchŽe par lÕŽmission en local des ŽvŽnements. Pour cela, les automates sont dŽsignŽs par un identiÞcateur unique. La rŽplication des transitions dÕun automate sÕobtient par lÕintermŽdiaire dÕun ŽvŽnement spŽcial ou Interacton Žmis chaque fois que la rŽaction correspondant ˆ la transition est appelŽe. LÕinteracton contient lÕidentiÞcateur de lÕautomate, le numŽro de la transition et lÕŽvŽnement. Pour rejouer la m•me transition sur les rŽpliques de lÕautomate, les interactons Žmis sont envoyŽs ˆ toutes les rŽpliques de lÕautomate. Le mŽcanisme de la rŽplication dÕune transition dÕun automate est rŽsumŽ sur la Þgure 8.5. LÕŽmission de lÕinteracton est provoquŽe par un appel ˆ la mŽthode Dup de lÕautomate avec lÕŽvŽnement en argument. Cet appel se place dans le code de toute rŽaction correspondant ˆ une transition ˆ rŽpliquer. Ce mŽcanisme est tr•s souple car il permet de contr™ler la rŽplication dÕun automate transition par transition. La rŽplication de lÕautomate de la Þgure 8.4 nŽcessite lÕajout de trois appels ˆ Dup dans les rŽactions attachŽes aux transitions de lÕautomate indiquŽes en caract•res gras dans le listing suivant: void ObjetGraphique :: Demarrer_Cb (ev) { graphe_etat.Dup (ev, champ); // rŽplication gMouse [Deplacer_Souris] += Deplacer_R.Loop (graphe_etat, 2); gMouse [Relacher_Bouton] += Terminer_R.Branch (graphe_etat, 3); } void ObjetGraphique :: Deplacer_Cb (ev) { graphe_etat.Dup (ev, champ); // rŽplication MoveTo (ev->GetPosition ()); } Description du comportement et rŽplication 147 void ObjetGraphique :: Terminer_Cb (ev) { graphe_etat.Dup (ev, champ); // rŽplication Etat_Repos () } Evenement n Evenement Rejeu { Reaction_Cb(); } n { Reaction_Cb(); } Interacton (ÒIDÓ, n, Evenement) En mode rejeu pas de rŽŽmission de lÕInteracton Emission dÕun Interaction Automate ÒIDÓ RŽplique de Automate ÒIDÓ Figure 8.5. RŽplication dÕune transition dÕun automate La mŽthode Dup nŽcessite un autre argument pour dŽsigner le champ dans lequel sÕeffectue la rŽplication. La classe Champ assure la transmission des interactons. Un champ est un espace dÕexŽcution rŽparti pour les automates. Tous les sites faisant partie dÕun champ poss•dent une instance de Champ liŽe aux autres instances des autres sites. Chacune de ces instances poss•de une Þle dÕinteractons entrante et dÕune Þle dÕinteractons sortante. Ces deux Þles sont des FIFO (premier arrivŽ, premier parti) reprŽsentŽes sur la Þgure 8.6. La Þle sortante contient les interactons ˆ Žmettre dans le champ. Ils sont diffusŽs depuis lÕinstance locale du champ vers toutes les Þles entrantes des autres instances du champ sur tous les sites. La Þle dÕinteractons entrants alimente le champ pour permettre le rejeu des transitions associŽes aux interactons. Application Champ OUT IN Interacton RŽseau Figure 8.6. Circulation des Interactons entre les applications 148 Chapitre 8: Mise en Ïuvre des interfaces ˆ Collaboration Directe Le rejeu dÕune transition est commandŽ par une rŽaction spŽciale de lÕautomate, la rŽaction de rejeu. Cette rŽaction est appelŽe chaque fois quÕun interacton contenant lÕidentiÞcateur de lÕautomate est re•u par lÕinstance locale du champ o• est plongŽ lÕautomate. La rŽaction de rejeu extrait le numŽro de la transition de lÕinteracton re•u ainsi que lÕŽvŽnement, puis elle dŽclenche la transition en local de lÕautomate. Elle met Žgalement un attribut dans lÕŽvŽnement qui indique que celui-ci a ŽtŽ re•u depuis un autre site. Cet attribut Žvite ˆ Dup de rŽemettre un Interacton dŽjˆ rŽŽmis, pour Žviter les boucles ˆ travers le rŽseau. Le listing suivant montre les opŽrations nŽcessaires pour plonger un automate dans un champ, ici une variable globale gEnv: Champ gEnv; graphe_etat.GenererIdentificateur (); // gŽn•re lÕidentificateur gEnv.AjouterAutomate (graphe_etat); // abonne la rŽaction de rejeu de lÕautomate au champ La mŽthode GenererIdentiÞcateur sert ˆ obtenir un identiÞcateur unique pour lÕautomate au moment de son initialisation. Cet identiÞcateur suppose lÕexistence dÕun espace de nommage valide sur plusieurs machines. Diverses mŽthodes de nommage sont dŽcrites dans [Hagimont & Mossi•re 96]. On peut se baser par exemple sur le numŽro de la carte ethernet de la machine. Quel que soit le schŽma de nommage utilisŽ, celui-ci doit permettre de donner le m•me identiÞcateur ˆ toutes les rŽpliques reprŽsentant le m•me automate. Les champs masquent la gestion des mŽcanismes du rŽseau. Le protocole de communication que nous proposons utilise les ŽvŽnements, aussi bien en local avec les thމtres et les rŽactions, quÕˆ distance avec les interactons. Notre intŽgration entre la programmation rŽseau et la programmation des interfaces se base sur le mŽcanisme des rŽactions pour dŽclencher lÕappel des fonctions. Pour faire communiquer les instances dÕun m•me champ sur plusieurs sites, nous utilisons des connections TCP/IP en mode stream, ou sockets. LÕutilisation de connexions point ˆ point, plut™t que des mŽcanismes de diffusion du type broadcast, comme un bus logiciel, pose cependant des probl•mes liŽs ˆ la topologie des connexions. La mŽthode Dup doit tenir compte de la topologie du rŽseau et de la position relative dans le graphe des connexions de lÕinstance locale du champ. En effet, les r•gles de rediffusion des interactons sont variables suivant les topologies. LÕalgorithme que nous avons indiquŽ convient pour la topologie ˆ deux sites ou totalement connectŽe. Il consiste ˆ marquer les interactons provenant du rŽseau et ˆ ne rediffuser que les interactons non marquŽs. Par contre, pour une topologie centralisŽe, la rediffusion ou non de lÕinteracton dŽpend de la position de lÕinstance locale du champ dans le graphe des connexions. La m•me r•gle de rŽplication sÕapplique pour les instances pŽriphŽriques, mais lÕinstance centrale doit rŽpliquer tous les interactons y compris sÕils proviennent du rŽseau. Dans ce cas, elle doit les rŽpliquer sur toutes les connexions exceptŽ celle dÕo• ils proviennent. Ces situations sont illustrŽes sur la Þgure 8.7. DÕautres topologies hybrides rŽclameraient des algorithmes plus compliquŽs. Avec les champs et la mŽthode Dup pour rŽpliquer les interactons, TransToolkit nÕimpose Description du comportement et rŽplication 149 pas dÕarchitecture du rŽseau mais le programmeur dispose des briques de base pour crŽer ses propres topologies. Seule lÕinstance Žmettrice doit rŽpliquer lÕinteracton sur toutes ses connexions Deux sites Totalement ConnectŽe LÕinstance centrale doit toujours rŽpliquer les interactons sauf sur la connexion dÕo• ils proviennent CentralisŽe Figure 8.7. Lien entre rŽplication des interactons et topologie des connexions Appels de fonction ˆ distance et rŽplication dÕune interface Les comportements reprŽsentŽs par des automates peuvent servir ˆ reprŽsenter le comportement local dÕune interface et ˆ le reproduire ˆ distance. Ils peuvent Žgalement servir uniquement ˆ contr™ler ˆ distance le comportement dÕune interface. Cet usage revient ˆ dŽclencher des appels de fonction ˆ distance ou RPC (Remote Procedure Call). A cette Þn la fonction ˆ dŽclencher doit •tre liŽe ˆ une transition dÕun automate dŽÞnie pour la circonstance. Elle est appelŽe par la rŽaction attachŽe ˆ la transition et prend ses arguments sous la forme dÕun ŽvŽnement. Le dŽclenchement ˆ distance de nÕimporte quÕelle transition dÕun automate se fait par la mŽthode FakeDup. Elle est semblable ˆ Dup mais prend un argument supplŽmentaire indiquant le numŽro de la transition ˆ dŽclencher. Ce numŽro permet de tŽlŽcommander la transition de lÕautomate. Par exemple pour exŽcuter ˆ distance la mŽthode ExecuteFonction de la classe Exemple sur une instance demo, il faut utiliser une rŽaction intermŽdiaire, comme rpc_R, pour initialiser lÕautomate de la Þgure 8.8 avec le code suivant: // Application sÕexŽcutant sur la machine A Exemple demo; ReactionOf<Exemple> rpc_R (demo, &Exemple::ExecuteFonction); Automate rpc_automaton; rpc_automaton.InitialiserIdentificateur (ÒxyzÓ); rpc_R.Loop (rpc_automaton, 1); gEnv.AjouterAutomate (rpc_automaton); 150 Chapitre 8: Mise en Ïuvre des interfaces ˆ Collaboration Directe 1 { ExecuteFonction (); } Automate ÒIDÓ Figure 8.8. Automate simple pour appeler une fonction ˆ distance Pour appeler ˆ distance la mŽthode ExecuteFonction liŽe ˆ lÕinstance demo de la machine A, depuis nÕimporte quelle autre application, il faut que celle-ci poss•de une rŽplique de cet automate avec le m•me identiÞcateur plongŽ dans le m•me champ, ce qui se fait de la mani•re suivante : // Application sÕexŽcutant sur la machine B Automate rpc_automaton; rpc_automaton.InitialiserIdentificateur (ÒxyzÓ); gEnv.AjouterAutomate (rpc_automaton); Pour •tre sžr que les deux automates soient une rŽplique lÕun de lÕautre nous utilisons ici la mŽthode InitialiserIdentiÞcateur avec pour argument lÕidentiÞcateur ˆ donner ˆ lÕautomate. Si lÕon avait utilisŽ GenererIdentiÞcateur sur la machine A il faudrait transmettre cet identiÞcateur ˆ la machine B pour quÕelle nomme lÕautomate rpc_automaton avec le m•me identiÞcateur. Ensuite, en supposant que les opŽrations nŽcessaires ont ŽtŽ effectuŽes pour que le champ gEnv couvre la machine A et la machine B, ˆ tout moment lÕautomate rpc_automaton de la machine B peut appeler la rŽaction rpc_R de la machine A et incidemment ExecuteFonction de la mani•re suivante: rpc_automaton.FakeDup (1, ev, gEnv) Nous avons utilisŽ la mŽthode prŽcŽdente pour rŽpliquer les comportements de certaines classes de Power Plant reprŽsentant des widgets standards, comme un bouton. Nous avons associŽ un automate ˆ la classe bouton qui appelle les mŽthodes normalement dŽclenchŽes suite ˆ la manipulation du bouton par un utilisateur. Nous avons Žgalement spŽcialisŽ ces m•mes mŽthodes en leur ajoutant des appels ˆ FakeDup aÞn quÕelles provoquent lÕappel ˆ distance des m•mes mŽthodes sur les rŽpliques du bouton en dŽclenchant les transitions de lÕautomate prŽcŽdent. Cette technique dÕinstrumentation dÕune application existante pour lui faire Žmettre des interactons et pour rŽpliquer son comportement est une mŽthode gŽnŽrique pour crŽer des applications multi-utilisateurs. 8.3 Transmission des objets mobiles La transmission des objets mobiles avec TransToolkit repose uniquement sur la rŽplication des comportements. Elle ne nŽcessite pas lÕajout dÕautres protocoles de communication rŽseau dans la bo”te ˆ outils. Le fait dÕutiliser un comportement pour transmettre les mobiles Transmission des objets mobiles 151 permet dÕintŽgrer facilement le contr™le de la transmission avec des ŽvŽnements dŽclenchŽs par les actions de lÕutilisateur, par exemple pour rŽpliquer un objet en temps rŽel lorsquÕil est glissŽ dans une fen•tre. Nous prŽsentons les classes Mobile, Capteur et Transmetteur qui sont les classes de base du mŽcanisme de transmission des objets mobiles. Mobile Pour devenir transmissible dÕapplication en application, les objets doivent appartenir ˆ une classe dŽrivŽe de Mobile. Nous prŽsentons ici trois services liŽs ˆ cette classe: la mise en forme pour une transmission sur le rŽseau, la crŽation de nouveaux mobiles dans une application et enÞn la gestion des dŽplacements du mobile en association avec les capteurs. Tout mobile est transmis sur le rŽseau sous la forme dÕune suite dÕoctets. LÕopŽration correspondant ˆ la mise sous forme dÕune suite dÕoctets dÕun objet est lÕexportation [Orfali et a. 96]. La suite dÕoctets est contenue dans un stream. Un stream est une zone de mŽmoire associŽe ˆ des opŽrations de lecture et dÕŽcriture sŽquentielle. La mŽthode Marshall de la classe Mobile prend un stream en argument et copie dedans les informations nŽcessaires ˆ la reconstruction de lÕobjet ˆ distance. Cette mŽthode ne permet pas de transmettre avec lÕobjet des pointeurs sur dÕautres objets. LÕobjet doit donc transmettre avec lui tous les objets dont il a besoin, en appelant rŽcursivement la mŽthode Marshall. A titre dÕexemple voici la mŽthode Marshall pour la classe Dialogue reprŽsentant lÕapplication de dialogue de la Þgure 8.1. Celle-ci contient une rŽfŽrence ˆ un autre objet mDemiCom qui est Žgalement exportŽ: void Dialogue::Marshall (LStream*inStream) { ClassIDT classId = class_ID; inStream->WriteData (&classId, sizeof (ClassIDT)); mDemiCom->Marshall (inStream); } Ce mŽcanisme dÕexportation impose Žgalement ˆ lÕobjet dÕinscrire en premier sa classe dans le stream. LÕidentiÞcateur class_ID est une information indispensable, unique ˆ chaque classe, pour que lÕapplication distante soit capable de reconstituer une instance de lÕobjet ˆ partir des donnŽes re•ues. Les mobiles introduisent deux nouvelles fa•ons de crŽer des objets dans une application. Premi•rement, un mobile peut arriver dans lÕapplication depuis une autre application par le mŽcanisme de glisser-dŽposer traditionnel. Deuxi•mement, il peut aussi •tre transmis depuis le rŽseau. Quelle que soit la mŽthode le mobile est re•u sous forme de donnŽes dans un stream prŽalablement crŽŽ par un appel ˆ Marshall. Le mobile nouvellement arrivŽ dans une application est instanciŽ dynamiquement par lÕappel dÕun constructeur complŽmentaire de la 152 Chapitre 8: Mise en Ïuvre des interfaces ˆ Collaboration Directe mŽthode Marshall. Ce constructeur passe le stream contenant les donnŽes de lÕinstance ˆ crŽer en argument: Dialogue :: Dialogue (LStream *inStream) ... { ... mDemiCom = new CDemiCom; mDemiCom->Unmarshall (inStream); } Les dŽplacements par lÕutilisateur des reprŽsentation graphiques associŽes ˆ un mobile sont dŽtectŽs par les capteurs. De m•me que les objets graphiques dÕune interface sont associŽs ˆ des vues, les mobiles sont associŽs au dernier capteur indiquant leur derni•re localisation. Capteur La classe Capteur rŽalise lÕintŽgration de la gestion du glisser-dŽposer par le gestionnaire de fen•tres avec TransToolkit. Les capteurs sont des thމtres associŽs aux vues de lÕinterface. Ils diffusent des ŽvŽnements de deux genres. Le premier genre concerne le dŽroulement dÕune opŽration de glisser-dŽposer: ¥ ¥ ¥ Entree_Capteur: entrŽe dÕun mobile dans la vue associŽe; Sortie_Capteur: sortie dÕun mobile de la vue associŽe; Deplacement_Capteur: dŽplacement dÕun mobile dans la vue. Le second genre dÕŽvŽnement indique le rŽsultat dÕune opŽration de glisser-dŽposer concernant le capteur. Il sÕagit des quatre ŽvŽnements suivants: ¥ ¥ ¥ ¥ Copie_Capteur: ajout dÕun mobile dans la vue associŽe, le mobile est en fait une copie du mobile qui Žtait dŽplacŽ; Repose_Capteur: dŽplacement dÕun mobile ˆ lÕintŽrieur du capteur ou depuis un autre capteur; Retire_Capteur: retrait dÕun mobile qui Žtait dans le capteur; Efface_Capteur: suppression dÕun mobile qui Žtait dans le capteur. La diffŽrence entre Copie_Capteur et Repose_Capteur vient de lÕusage du glisser-dŽposer pour cloner des objets. En gŽnŽral cet effet est commandŽ par lÕappui simultanŽ sur la touche shift pendant le glisser-dŽposer. Chaque capteur est un TheatreEntier. Il est utilisable en tant que source dÕŽvŽnement pour crŽer des automates qui transmettent les mobiles re•us par Copie_Capteur ou Repose_Capteur ˆ distance, ou bien qui rŽpliquent leurs dŽplacements en temps rŽel, signalŽs par Entree_Capteur, Sortie_Capteur et Deplacement_Capteur. Un mŽcanisme de transmission des mobiles tr•s simple est mis en Ïuvre par la classe Transmetteur. Transmission des objets mobiles 153 Transmetteur Puisque les mobiles sont susceptibles dÕ•tre mis dans un stream contenu dans un ŽvŽnement, ils sont susceptibles dÕ•tre transmis par un interacton Žmis suite ˆ la transition de nÕimporte quel automate. Nous avons dŽÞni un automate minimaliste, le Transmetteur, qui ne poss•de quÕune seule transition pour transmettre des mobiles. CÕest aussi un Theatre qui Žmet un seul type dÕŽvŽnement Arrivee_Mobile. Cet ŽvŽnement est Žmis dans la rŽaction Repliquer_Cb associŽe ˆ lÕunique transition montrŽ sur la Þgure 8.9. 1 { Repliquer_Cb (); } Figure 8.9. Automate associŽ ˆ la classe Transmetteur LÕŽvŽnement Arrivee_Mobile contient un mobile sous forme de stream crŽŽ par un appel ˆ la mŽthode Marshall. LÕŽvŽnement peut •tre instanciŽ dynamiquement en mobile par un mŽcanisme basŽ sur lÕappel ˆ la fonction globale Instancier. Le transmetteur doit •tre rŽpliquŽ et plongŽ dans un champ pour transmettre des mobiles. Prenons par exemple un transmetteur nommŽ ÒuniverselÓ. LÕappel ˆ la mŽthode Repliquer du transmetteur avec le mobile ˆ transmettre en argument dŽclenche ˆ distance lÕunique transition du transmetteur par un appel ˆ FakeDup. LÕinteracton fabriquŽ pour la circonstance contient un ŽvŽnement Arrivee_Mobile contenant le mobile. Cet ŽvŽnement est rŽŽmis localement par le transmetteur en tant que thމtre. Toutes les applications qui ont plongŽ un transmetteur nommŽ ÒuniverselÓ peuvent donc sÕabonner ˆ lÕŽvŽnement Arrivee_Mobile de ce transmetteur. Il leur sufÞt ensuite dÕinstancier le mobile re•u en appelant Instancier d•s que le transmetteur Žmet lÕŽvŽnement Arrivee_Mobile. Le listing suivant rŽsume les Žtapes nŽcessaires pour recevoir des objets depuis un transmetteur: // variables globales Transmetteur gTransmetteur; Champ gEnv; ... // variable dÕinstance de la classe Application ReactionOf<Application> ArriveeMobile_R; ... gTransmetteur.InitialiserIdentificateur (ÒuniverselÓ); gEnv.AjouterAutomate (gTransmetteur); ... // Initialisation de lÕapplication et de la rŽaction pour recevoir // des mobiles depuis un transmetteur Application::Application () : ArriveeMobile_R (this, &Application::ArriveeMobile_Cb) { ... } 154 Chapitre 8: Mise en Ïuvre des interfaces ˆ Collaboration Directe // Abonnement de lÕapplication pour recevoir des mobiles gTransmetteur [Arrivee_Mobile] += &ArriveeMobile_R; ... void Appplication::ArriveeMobile_Cb (ev) { Mobile* nouveau = Instancier (ev); if (nouveau) { // integrer le mobile dans lÕapplication ... } } Pour lÕapplication Žmettrice, qui poss•de Žgalement les m•mes variables et ˆ procŽdŽ aux m•mes initialisations, lÕenvoi du mobile test sÕeffectue de la sorte: gTransmetteur.Repliquer (test); Si lÕobjectif est simplement de transmettre le mobile lÕapplication Žmettrice doit juste dŽtruire le mobile apr•s lÕappel ˆ Repliquer. Si le mobile transmis reste partagŽ, les applications qui viennent de le recevoir doivent plonger son ou ses automates dans le champ. LÕapplication Žmettrice doit aussi plonger les automates du mobile dans le m•me champ. Le mŽcanisme de transmission ˆ base de transmetteur repose sur la connaissance de lÕidentiÞcateur du transmetteur pour crŽer des rŽpliques de celui-ci dans plusieurs applications couvertes par un champ. En pratique le programmeur peut Þxer statiquement dans le code un identiÞcateur constant comme ÒuniverselÓ. Cette solution nÕest valable que si un seul transmetteur est nŽcessaire dans chaque application. Parfois on peut souhaiter disposer de plusieurs transmetteurs dans une application. CÕest le cas si lÕapplication sert ˆ crŽer plusieurs documents qui peuvent chacun recevoir des mobiles. Dans ce cas il est intŽressant dÕassocier un transmetteur ˆ chaque document. Une premi•re solution consiste ˆ crŽer un champ par document partagŽ et un transmetteur par document, toujours avec le m•me identiÞcateur ÒuniverselÓ, plongŽ dans le champ. Cette solution est efÞcace car chaque champ crŽe un espace de nommage unique. Une deuxi•me solution consiste ˆ conserver un seul champ pour partager tous les documents, mais ˆ crŽer un transmetteur par document possŽdant un identiÞcateur unique gŽnŽrŽ par GenererIdentiÞcateur. Dans ce cas, il faut mettre au point un protocole pour que les rŽpliques dÕun m•me document choisissent le m•me identiÞcateur. Exemple du courrier direct Le courrier direct sert ˆ transmettre les donnŽes dŽposŽs par glisser-dŽposer dans un casier dÕune fen•tre de diffusion, vers un ou plusieurs destinataires (voir notre prŽsentation page 108). Il est gŽrŽ par une application contenant un serveur. Un capteur est associŽ ˆ chacun des casiers dÕun fen•tre de diffusion. Une rŽaction abonnŽe ˆ ce capteur rŽcup•re les objets dŽposŽs sur lÕŽvŽnement Repose_Mobile. Cette rŽaction transmet lÕobjet re•u ˆ lÕaide du transmetteur de la fen•tre de diffusion. Transmission des objets mobiles 155 La fen•tre de diffusion contenant le casier est associŽe ˆ un champ. LÕajout dÕune ic™ne dÕutilisateur depuis un annuaire dans la fen•tre de diffusion provoque la connexion entre la fen•tre de diffusion et lÕapplication de courrier direct de lÕutilisateur. LÕapplication de courrier direct de lÕutilisateur ajoutŽ crŽe une instance du champ et int•gre la nouvelle connexion dedans. Le transmetteur de la fen•tre de diffusion est plongŽ dans ce m•me champ. Ce transmetteur poss•de un identiÞcateur ÒuniverselÓ. LÕapplication de courrier direct met Žgalement un transmetteur ÒuniverselÓ dans le champ. LÕapplication de courrier directe, abonnŽe ˆ lÕŽvŽnement Arrivee_Mobile de tous ses transmetteurs ÒuniverselÓ par une unique rŽaction Arrivee_Cb, est alors en mesure dÕinstancier les mobiles re•us pour les afÞcher dans une fen•tre cartouche (voir la Þgure 8.10). casiers Transmetteur ÒuniverselÓ Application A FakeDup() 2 Interacton contenant le mobile 1 Fen•tre de diffusion Repose_Mobile { transmetteur.Repliquer (mobile);} IN Socket OUT champ OUT Žmiss ion de Arrive IN e_Mo bile Arrivee_Mobile { CourrierDirect_Cb() ;} Fen•tre cartouche 3 Transmetteur Òuniverse 4 Instanciation dynamique du mobile et crŽation dÕune fen•tre cartouche Application B Figure 8.10. ImplŽmentation du courrier direct En (1) lÕutilisateur dŽpose un objet dans le casier. Le capteur associŽ Žmet lÕŽvŽnement Repose_Mobile, ce qui dŽclenche une rŽaction. En (2) la rŽaction dŽclenchŽe appelle la mŽthode Repliquer du transmetteur de la liste de diffusion ce qui provoque lÕŽmission dÕun Interacton contenant lÕŽvŽnement Arrivee_Mobile. En (3) le transmetteur ÒuniverselÓ du ou des destinataires, plongŽ dans le m•me champ, rŽŽmet localement lÕŽvŽnement 156 Chapitre 8: Mise en Ïuvre des interfaces ˆ Collaboration Directe Arrivee_Mobile. En (4) la rŽaction Arrivee_Cb de lÕapplication de courrier direct re•oit le mobile, lÕinstancie puis lÕafÞche dans une fen•tre cartouche crŽŽe pour la circonstance. Lorsque lÕexpŽditeur effectue un envoi avec coordination (voir page 111) pour •tre prŽvenu du moment auquel les destinataires sortent le mobile de la fen•tre cartouche, le mobile est encapsulŽ avant son expŽdition dans une fen•tre de coordination. La fen•tre de coordination est elle-m•me un mobile capable de contenir un autre mobile. Elle est expŽdiŽe ˆ la place du mobile initial. C™tŽ destinataires, la fen•tre de coordination sÕafÞche comme une fen•tre cartouche avec le mobile ˆ lÕintŽrieur (par exemple un extrait de texte sur la Þgure 8.11). C™tŽ expŽditeur, la fen•tre de coordination sÕafÞche comme une fen•tre afÞchant des messages textuels. La fen•tre de coordination poss•de un automate rŽpliquŽ c™tŽ expŽditeur et destinataires. Cet automate est abonnŽ ˆ un capteur associŽ ˆ la fen•tre cartouche c™tŽ destinataires. Ce capteur est liŽ ˆ la fen•tre cartouche dans laquelle le mobile est afÞchŽ. LÕautomate re•oit lÕŽvŽnement Retire_Capteur lorsque le mobile est retirŽ de la fen•tre cartouche ainsi quÕun ŽvŽnement correspondant ˆ la fermeture de la fen•tre cartouche. Ses transitions sont rŽpliquŽes et provoquent lÕafÞchage du message appropriŽ dans la fen•tre de coordination de lÕexpŽditeur. Capteur C™tŽ destinataires C™tŽ expŽditeur Figure 8.11. Fen•tre de coordination En rŽsumŽ, les mobiles, les capteurs et les transmetteurs sont adaptŽs ˆ la crŽation dÕobjets de coordination qui se dŽplacent dÕapplication en application. LÕexemple du courrier direct montre une mise en Ïuvre qui associe un champ ˆ chaque fen•tre de diffusion. LÕexistence de plusieurs champs dans la m•me application permet dÕemployer plusieurs instances du m•me automate avec le m•me identiÞcateur, comme ÒuniverselÓ, tout en sÕassurant quÕils nÕinterf•rent pas les uns avec les autres. Nous avons Žgalement dŽcrit avec la fen•tre de coordination de quelle mani•re les mobiles transmis peuvent aussi avoir des automates associŽs pour rŽpliquer leur comportement lorsquÕils restent partagŽs. Un automate dŽrivŽ de lÕautomate de la Þgure 8.4 pourrait servir par exemple ˆ reproduire immŽdiatement ˆ distance les dŽplacements dÕun objet dans une fen•tre. 8.4 Discussion TransToolkit fournit des mŽcanismes de base pour crŽer dynamiquement et pour transmettre des objets et pour partager leurs comportements entre plusieurs applications. Notre volontŽ Discussion 157 de nous limiter ˆ des mŽcanismes de bas niveau pour modŽliser le comportement par des automates et pour rŽpliquer ces automates permet dÕenvisager dÕautres possibilitŽs dÕutilisation. Nous en dŽcrivons quelques unes, puis nous discutons plusieurs limitations de TransToolkit. Autres possibilitŽ de TransToolkit Le rejeu dÕune interface est une application intŽressante dans les collecticiels qui pourrait servir ˆ intŽgrer les nouveaux participants dans une session en leur montrant toutes les interactions passŽes ou un rŽsumŽ des interactions. Les briques de base de TransToolkit sont sufÞsantes pour effectuer le rejeu. En effet, le mŽcanisme de dŽclenchement dÕune transition dÕun automate ˆ partir dÕun interacton est le m•me quÕil sÕagisse de rŽpliquer ˆ distance la transition ou de rejouer celle-ci en local. Pour rejouer un automate il sufÞt dÕenregistrer dans une liste lÕensemble des interactons quÕil Žmet sur un intervalle de temps donnŽ et de lui demander de redŽclencher les rŽactions associŽes ˆ ces interactons. Nous avons commencŽ ˆ explorer cette utilisation des automates et nous avons constatŽ quÕen pratique il faut souvent ajouter dÕautres informations ˆ lÕŽvŽnement au moment de son enregistrement dans un interacton. Ces informations sont nŽcessaires pour ajouter de lÕinformation contextuelle non contenue dans les ŽvŽnements au moment du rejeu. Le rejeu par les interactons est comparables aux mŽthodes basŽes sur la gestion dÕun historique des commandes de lÕapplication [Berlage & Genau 93]. Les deux mŽthodes sont Žquivalentes si lÕon associe chaque commande ˆ une transition dÕun automate qui reprŽsente le comportement de lÕapplication. LÕindŽpendance des champs par rapport aux protocoles rŽseau permet dÕadapter TransToolkit ˆ divers protocoles rŽseau sans modiÞer les applications. Les champs sont actuellement implŽmentŽs comme des listes de connexions point ˆ point. Le mŽcanisme dÕŽtablissement des connexions est basŽ sur une classe Link qui transforme la connexion en thމtre Žmettant ou recevant des interactons. LÕinstance locale du champ auquel appartient cette connexion sÕy abonne pour recevoir les interactons. LÕisolation des connexions dans une seule classe permet dÕutiliser dÕautres types de connexion, par exemple des connexions TCP/IP en mode datagram. De m•me nous pourrions envisager une version avec un bus logiciel. Dans ce cas, chaque champ possŽderait un identiÞcateur unique. Cet identiÞcateur servirait ˆ prŽÞxer tous les messages reprŽsentant les interactons Žmis dans un champ par lÕidentiÞcateur du champ. Une autre solution consisterait ˆ associer un bus logiciel diffŽrent ˆ chaque champ. LÕindŽpendance des champs par rapport au rŽseau a ŽtŽ utilisŽe pour crŽer des connexions simulŽes en rempla•ant la classe Link par une classe FakeLink. Cette simulation du rŽseau sert ˆ simuler lÕexŽcution dÕune application rŽpliquŽe dans une seule application. La demande de connexion dÕune connexion simulŽe sur une adresse donnŽe crŽe en fait une deuxi•me connexion simulŽe dans la m•me application. Ce syst•me fonctionne lorsque lÕapplication contient aussi un serveur. La deuxi•me connexion simulŽe crŽŽe est signalŽe comme si elle venait dÕ•tre Žtablie depuis lÕextŽrieur tandis que la premi•re connexion ren- 158 Chapitre 8: Mise en Ïuvre des interfaces ˆ Collaboration Directe voie les informations indiquant la rŽussite de la connexion. Cette simulation de connexion est invisible pour lÕapplication, elle entra”ne la crŽation de deux instances locales pour chaque champ. Elle nous a servi ˆ mettre au point le courrier direct et dÕautres prototypes en Žvitant ainsi la difÞcile t‰che de mise au point dÕapplications rŽparties dans plusieurs processus. Cette approche se justiÞe par le fait que sous certaines conditions concernant la synchronisation de lÕŽmission et de la rŽception des ŽvŽnements par les diffŽrentes rŽpliques dÕun programme, il est possible de dŽmontrer lÕŽquivalence de lÕexŽcution dÕun programme rŽactif centralisŽ avec lÕexŽcution rŽpartie du m•me programme [Caspi et al. 98]. Limitations Parmi les limitations de TransToolkit nous discutons les contraintes liŽes ˆ notre choix de reprŽsentation des mobiles, lÕabsence de mŽcanisme de contr™le dÕacc•s gŽnŽrique et la non sŽrialisation des interactons. Le choix du C++ limite la possibilitŽ dÕenvoyer du code mobile, cÕest-ˆ-dire des Òprogrammes transmis ˆ travers un rŽseau hŽtŽrog•ne et exŽcutŽs ˆ la volŽeÓ [Thorn 97] ˆ lÕenvoi dÕinstances de classes prŽalablement enregistrŽes dans lÕapplication qui les re•oit. Le mŽcanisme dÕinstanciation dynamique suppose que la classe ˆ laquelle appartiennent tous les mobiles re•us soit connue de lÕapplication. En effet, lÕappel ˆ la mŽthode Instancier suppose que lÕadresse du constructeur de classe soit connue. CÕest pourquoi tous les streams contenant un mobile doivent commencer par un identiÞcateur de classe. Cet identiÞcateur sert ˆ retrouver le bon constructeur ˆ appeler ˆ partir dÕune table de hash. Si lÕon voulait envoyer du code mobile inconnu du destinataire, indŽpendamment des probl•mes de sŽcuritŽs posŽs, il faudrait utiliser des langages interprŽtŽs ou basŽs sur des machines virtuelles. Les mobiles transmissibles sont aussi limitŽs par la taille car les streams ne sont pas inÞnis. Ils ont une taille constante ÞxŽe par le programmeur. Si cette taille est insufÞsante et si lÕon ne souhaite pas lÕaugmenter, il faut transmettre les mobiles en plusieurs temps. DÕabord il faut transmettre un faux mobile contenant un automate de transmission. Cet automate est ensuite commandŽ ˆ distance pour transmettre le mobile morceau par morceau, la transmission dÕun morceau ayant lieu ˆ chaque transition de lÕautomate. En pratique nous nÕavons pas eu besoin de transmettre de mobile excŽdant la taille des mŽmoires tampons utilisŽes pour les streams, par contre la mŽthode de lÕautomate de transmission permet de transmettre un nouveau type dÕobjet de coordination que nous avons appelŽ une promesse. Par exemple une promesse de Þchier serait un mobile contenant un automate de transmission capable de rŽcupŽrer un Þchier en entier au moment voulu. TransToolkit ne fournit pas de primitive pour effectuer du contr™le dÕacc•s. Pourtant, le contr™le dÕacc•s est parfois nŽcessaire pour manipuler des automates rŽpliquŽs ˆ tour de r™le. Par exemple sur les opŽrations de glisser-dŽposer dÕun mobile dans une vue, il faut sÕassurer que deux utilisateurs ne commencent pas ˆ dŽplacer lÕobjet au m•me moment. Il faut alors Conclusion 159 ajouter des mŽcanismes de contr™le dÕacc•s pour assurer le contr™le de lÕautomate par un seul utilisateur ˆ la fois. Nous avons commencŽ ˆ dŽÞnir des mŽcanismes spŽciÞques, en utilisant des automates spŽcialisŽs pour garantir le contr™le dÕacc•s. Une autre voie consisterait ˆ intŽgrer directement un mŽcanisme de contr™le dÕacc•s au niveau des champs, pour donner le contr™le de toute une application ˆ un seul utilisateur ˆ un moment donnŽ, comme avec MMConf [Crowley et al. 90]. Nous privilŽgions la premi•re approche bien plus souple, puisquÕelle permet de contr™ler lÕacc•s objet par objet et non pas application par application. Dans le cas du contr™le dÕacc•s pour Žviter ˆ deux utilisateurs de dŽplacer le m•me mobile en m•me temps nous avons mis en place une mŽthode dans la classe Mobile pour dŽsensibiliser toutes les rŽpliques du mobile ˆ la souris. Cette mŽthode doit •tre appelŽe d•s quÕun utilisateur commence ˆ dŽplacer le mobile et rŽpliquŽe par lÕautomate qui g•re le comportement de glisser-dŽposer du mobile. La fen•tre de temps pour dŽclencher un conßit dÕacc•s sur lÕopŽration de glisser-dŽposer simultanŽe est donc rŽduite au temps mis par le rŽseau pour transmettre la transition de lÕautomate signalant le dŽbut de lÕopŽration. EnÞn, TransToolkit ne fournit pas de mŽcanisme pour sŽrialiser les interactons, cÕest-ˆ-dire pour sÕassurer que toutes les transitions des rŽpliques des automates sont franchies dans le m•me ordre sur tous les sites. Si la sŽrialisation est nŽcessaire elle peut nŽanmoins sÕobtenir ˆ partir dÕune architecture centralisŽe en ne dŽclenchant les transitions des automates que depuis le site central. Si une transition est dŽclenchŽe en local sur un site pŽriphŽrique, elle ne doit pas avoir dÕeffet de bord en local mais •tre dÕabord transmise au site central. CÕest alors le site central qui rŽŽmet un nouvel interacton correspondant ˆ la transition qui produit rŽellement un effet de bord vers tous les sites. Cette mŽthode demande de doubler les transitions des automates qui dŽclenchent des effets de bord. Elle demande donc un certain effort de programmation. Nous lÕavons utilisŽe pour rŽpliquer une application de jeu. Pour amŽliorer TransToolkit il faudrait directement intŽgrer dans les champs un mŽcanisme de sŽrialisation des interactons en sÕinspirant des algorithmes inventŽs pour la programmation des syst•mes distribuŽs [Coulouris et al. 95]. 8.5 Conclusion Nous avons prŽsentŽ un ensemble de classes, TransToolkit, pour ajouter des mŽcanismes de transmission et de partage dÕobjets dans une bo”te ˆ outil de construction dÕinterfaces. Ces classes reprŽsentent une contribution originale au dŽveloppement des collecticiels, car elles ont ŽtŽ con•ues pour programmer le dŽplacement dÕobjets visibles dÕune application ˆ lÕautre. Elles int•grent le contr™le du dŽplacement par les actions des utilisateurs et la transmission physique des donnŽes sur le rŽseau. Cet aspect est peu dŽcrit dans la littŽrature sur les bo”tes ˆ outils de construction de collecticiels qui sont davantage centrŽes sur la synchronisation des donnŽes partagŽes. Le mŽcanisme qui sert ˆ la transmission dÕobjets est basŽ sur la description dÕun comportement par des automates. Les automates servent aussi ˆ rŽpliquer le comportement des objets 160 Chapitre 8: Mise en Ïuvre des interfaces ˆ Collaboration Directe transmis, ou m•me ˆ dŽcrire le comportement dÕune interface mono-utilisateur, en vue de la rŽpliquer. Avec TransToolkit nous sommes en mesure de programmer la transmission et le partage des objets de coordination nŽcessaires pour la collaboration directe. Il est aussi possible de transformer une application, ˆ partir de son code source, pour la rŽpliquer et lui ajouter des mŽcanismes dÕŽchange dÕobjets ou de donnŽes sous le contr™le de lÕutilisateur. Conclusion Dans ce chapitre de conclusion, nous rŽsumons notre contribution puis nous soulignons les apports de cette th•se. Nous dŽcrivons ensuite les limitations et les perspectives de nos travaux aÞn dÕindiquer plusieurs pistes pour continuer ces recherches. 1. RŽsumŽ de la contribution Nous avons ŽtudiŽ dans cette th•se plusieurs aspects de la collaboration dans le but de concevoir des collecticiels. SÕagissant dÕun domaine relativement rŽcent il nous a fallu dÕabord recenser les syst•mes existants et analyser leurs caractŽristiques. Nous avons ainsi constatŽ que le domaine Žtait fortement structurŽ autour de trois types de syst•mes. Ils correspondent chacun aux services dŽcrits par le mod•le du tr•ße: la communication, la production et la coordination. La sŽparation des services a deux consŽquences. La premi•re est dÕentra”ner une prise en compte de la coordination comme une composante explicite de la collaboration. Cette prise en compte perturbe les mŽcanismes de coordination auxquels les individus sont habituŽs, comme le recours ˆ des conventions ou aux normes sociales. La seconde est de ne pas reproduire dans les services de communication et de production autant dÕinformation que dans lÕenvironnement rŽel des individus, en particulier avec le style de comportement. Nous avons dŽÞni une partie de cette information comme de lÕinformation libre qui peut servir ˆ inventer des conventions et ˆ appliquer les normes sociales. Sur la base de ces rŽßexions, nous avons proposŽ de concevoir les collecticiels par rapport au paradigme de la collaboration directe. Pour obtenir une collaboration directe entre les individus, il faut que ceux-ci conservent leur capacitŽ ˆ se coordonner ˆ lÕaide de conventions et de normes sociales. Notre approche, pour prŽserver cette capacitŽ, a ŽtŽ de proposer plusieurs principes de conception des interfaces. Ces principes ont deux sources dÕinspiration. La premi•re est une analogie entre les procŽdures de coordination dans les collecticiels et les langages de commande pour interagir avec une application mono-utilisateur. Cette 162 analogie a permis dÕobtenir le principe des objets et les deux principes du style inspirŽs des principes de la manipulation directe (voir ÒCollaboration directe et manipulation directeÓ page 79). La deuxi•me source dÕinspiration est une extension de la thŽorie de lÕaction de Norman pour tenir compte du caract•re collectif des actions effectuŽes en groupe ˆ lÕaide des collecticiels. Cette extension a permis dÕobtenir les deux principes de fusion pour amŽliorer la comprŽhension entre les utilisateurs (voir ÒPrincipes de fusionÓ page 94). En appliquant les principes de la collaboration directe, nous avons inventŽ plusieurs formes dÕŽchange de donnŽes. Les mŽtaphores du Casier et de la Tablette ont ŽtŽ proposŽes pour la nŽgociation entre contr™leurs aŽriens (voir ÒNŽgociation par Žchange dÕobjetsÓ page 103). Le Courrier Direct a ŽtŽ dŽÞni comme une alternative au courrier Žlectronique (voir ÒRŽalisation: le courrier directÓ page 108). EnÞn nous avons dŽcrit des prototypes dÕoutils de dialogue textuel, le Texte DivisŽ (voir page 123) et le Texte AnimŽ (voir page 127). Les prototypes rŽalisŽs poss•dent les caractŽristiques de la collaboration directe, comme la capacitŽ ˆ engendrer des conventions pour se coordonner implicitement, ou la possibilitŽ de varier la forme des Žchanges de donnŽes pour crŽer de lÕinformation libre. Finalement, nous avons dŽcrit TransToolkit, une sŽrie de classes qui propose des mŽcanismes de programmation utiles pour programmer les formes dÕŽchange de donnŽes dŽrivŽes des principes de la collaboration directe. Ces mŽcanismes ont ŽtŽ insŽrŽs dans une bo”te ˆ outil de construction dÕinterface. Notre solution gŽnŽralise la communication par ŽvŽnement au sein dÕune interface pour communiquer Žgalement avec les rŽpliques de lÕinterface. 2. Apports Les apports de notre contribution sont liŽs ˆ lÕapproche rŽsolument pluridisciplinaire que nous avons conservŽe tout au long de notre travail. Nous avons ainsi cherchŽ ˆ comprendre les requis du travail collaboratif ˆ partir des Žtudes de terrain et des sciences humaines comme les sciences de la communication ou la psychologie sociale. En arri•re-plan, nous avons souvent considŽrŽ le domaine dÕapplication du contr™le aŽrien, tel quÕil a ŽtŽ prŽsentŽ au chapitre 6. Les apports de notre contribution sÕarticulent autour de trois plans: le plan thŽorique, le plan de la conception des interfaces et le plan de la programmation des interfaces. Sur le plan thŽorique, notre problŽmatique initiale Žtait dÕidentiÞer des compŽtences sociales de collaboration des individus. La grille dÕanalyse de la collaboration que nous avons baptisŽe le diamant rŽpond ˆ cette problŽmatique (voir page 75). En effet, elle dŽcrit les interactions entre les individus par lÕintermŽdiaire de protocoles, dÕobjets de coordination et de styles de comportement. Notre grille caractŽrise diverses formes de collaboration et donne des ŽlŽments pour comparer la collaboration avec ou sans les collecticiels. Nous avons apportŽ un soin particulier pour dŽÞnir une terminologie concernant les protocoles, que nous dŽcrivons sous la forme de procŽdures, de conventions ou de normes sociales (voir page 35). Limitations et perspectives 163 De m•me, nous avons dŽÞni les notions dÕobjet de coordination et dÕinformation libre (voir page 34 et page 67). Cette description de la collaboration est un apport original de notre travail. Elle apporte des ŽlŽments nouveaux par rapport au mod•le du tr•ße fonctionnel qui dŽcrit la collaboration ˆ partir de la communication, la production et la coordination. Sur le plan de la conception des interfaces, sans remettre en cause la nŽcessitŽ de rendre disponibles les services du tr•ße fonctionnel au niveau de lÕinterface, nous avons proposŽ plusieurs principes qui ont pour but dÕintŽgrer ces services. Ces principes sÕinspirent a) de notre grille dÕanalyse de la collaboration, b) des principes de la manipulation directe et c) de la thŽorie de lÕaction de Norman. Ils couvrent les points suivants: ¥ lÕinvention dÕartefacts ˆ introduire dans les interfaces, ˆ lÕimage des demicommunications (principe de objets); ¥ lÕinvention de nouvelles formes dÕŽchange de donnŽes (principes du style); ¥ la prise en compte de la boucle participation-rŽaction dans les actions de groupe (principes de fusion). Sur le plan de la programmation des interfaces, nous avons mis au point nos propres mŽcanismes de rŽplication du comportement de lÕinterface. En gŽnŽralisant le mŽcanisme de communication par ŽvŽnement interne ˆ une application interactive pour communiquer avec dÕautres applications, nous avons pu intŽgrer la programmation de la rŽplication des interfaces et la programmation des interfaces avec un ensemble rŽduit de concepts. Cette approche repose sur la programmation du comportement des objets de lÕinterface par des automates. LÕunitŽ de base de la rŽplication est la transition dÕun automate. Nous avons ainsi pu intŽgrer des objets mobiles, cÕest-ˆ-dire du code qui se dŽplace dÕapplication en application, et des objets partagŽs, cÕest-ˆ-dire du code qui reprŽsente la manipulation dÕun m•me ŽlŽment de lÕinterface par plusieurs utilisateurs simultanŽment ou ˆ tour de r™le, avec une bo”te ˆ outil de construction dÕinterface standard. Notre approche peut aussi bien servir ˆ inventer de nouvelles applications quÕˆ instrumenter une application existante pour la rŽpliquer. 3. Limitations et perspectives Cette th•se ouvre plusieurs perspectives de recherche. Plusieurs dÕentres elles sont liŽes ˆ la validation des principes de la collaboration directe. Les autres ont trait ˆ lÕapplication du mod•le PROSE et aux perspectives dÕŽvolution de notre bo”te ˆ outil. Tout dÕabord, la validation des principes proposŽs pour la conception dÕinterfaces ˆ collaboration directe demande un effort de dŽveloppement et de dŽÞnition dÕexpŽrimentations. Devant la gŽnŽralitŽ des principes proposŽs, il nous semble que la validation doive se faire au cas par cas en tenant compte ˆ chaque fois dÕune activitŽ collaborative donnŽe. Nous avons prŽsentŽ une premi•re Žvaluation positive du prototype Griphone qui applique les 164 principes de fusion (voir page 100). Les expŽrimentations vont se poursuivre au CENA, avec lÕŽvaluation sur une maquette inspirŽe des casiers et des tablettes pour les contr™leurs aŽriens. Un point ˆ prendre en compte dans cette expŽrimentation sera dÕŽvaluer les risques de surcharge cognitive liŽs ˆ la multiplication des objets de coordination ajoutŽs ˆ lÕenvironnement, en application du principe des objets. La validation du principe des objets devrait pouvoir sÕappliquer Žgalement ˆ des t‰ches dÕŽdition collaborative. Pour cela, une premi•re expŽrimentation ˆ moyen terme pourrait consister ˆ utiliser le courrier direct intŽgrŽ avec un Žditeur de texte ou de dessin mono-utilisateur pour faire de lÕŽdition collaborative ˆ partir de lÕŽchange de fragments de texte ou de dessin par glisser-dŽposer de groupe. Cette expŽrimentation pourrait servir ˆ comparer ce mode dÕŽdition avec un Žditeur partagŽ classique. Une troisi•me forme dÕŽdition partagŽe pourrait consister ˆ ne disposer que dÕune seule palette dÕoutils pour tous les utilisateurs et ˆ transformer cette palette en objet de coordination mobile donnant le droit de modiÞer le document. Cependant, les rŽsultats de ces Žvaluations dŽpendront sžrement du type de t‰che dÕŽdition, rŽdaction dÕun nouveau document, modiÞcation dÕun document, prŽparation dÕun discours, etc. Dans le m•me ordre dÕidŽe, il serait possible dÕutiliser des objets de coordination dans le cadre dÕune t‰che de recherche dÕinformation, comme la recherche dÕinformation ˆ plusieurs sur le web, et de mesurer dÕŽventuels gains de temps. La validation des principes du style ouvre au moins deux perspectives. La premi•re perspective est liŽe ˆ la transmission des attitudes. En effet, pour motiver la reproduction du style de comportement ˆ travers le contr™le de la forme des Žchanges nous avons suggŽrŽ que le style sert ˆ communiquer implicitement les attitudes des individus. Ce type de validation nŽcessite une coopŽration avec les sciences humaines pour dŽterminer sÕil est possible de recrŽer des phŽnom•nes sociaux comme lÕinßuence ou lÕempathie ˆ travers la forme des Žchanges. Si tel est le cas, le style de comportement pourrait servir ˆ inventer des formes dÕargumentation adaptŽes ˆ la nŽgociation dans les syst•mes de rŽunion assistŽe. Ces nouvelles formes dÕargumentation sont ˆ rechercher dans lÕŽtude de la rhŽtorique, et son application ˆ la transmission dÕinformation avec les ordinateurs. La notion dÕinßuence est dÕailleurs apparue rŽcemment comme un objet dÕŽtude dans le cadre des interfaces persuasives [Fogg 98]. Une premi•re expŽrimentation pourrait consister ˆ dŽterminer si lÕinformation libre crŽŽe par les diffŽrents types de tŽlŽpointeurs prŽsentŽs page 67 a un effet sur la mŽmorisation dÕune prŽsentation effectuŽe ˆ distance. Le seconde perspective dÕapplication et dÕŽvaluation des principes du style rejoint la problŽmatique des alarmes dans le domaine des interfaces [Chatty et al. 99]. En effet, si le style de comportement inßuence la nature des rŽactions dÕautrui, il doit pouvoir servir en particulier ˆ manipuler son temps de rŽaction ou son niveau dÕattention. Une premi•re application consisterait ˆ inventer des formes dÕŽchange de messages permettant de susciter une rŽponse plus ou moins rapidement. Dans lÕavenir, une interface devrait pouvoir proposer plusieurs moyens de joindre les autres utilisateurs en fonction de lÕurgence de la demande. Limitations et perspectives 165 IndŽpendamment des perspectives liŽes ˆ la validation des principes de la collaboration directe, le mod•le PROSE ouvre un espace de conception pour enrichir la forme des Žchanges de donnŽes (voir ÒPrŽsentation du mod•le PROSEÓ page 117). Les Þltres de style peuvent servir ˆ enrichir la forme des Žchanges dÕautres types de donnŽes que du texte, comme la rŽtroaction de groupe ou la conscience mutuelle. Les composants logiciels de manipulation dÕimages vidŽo, comme Quicktime [18], et lÕintŽgration dans les bo”tes ˆ outils des algorithmes de traitement dÕimage des logiciels de retouche dÕimage peuvent aussi servir ˆ crŽer de lÕinformation libre, en multipliant les moyens de prŽsentation. La crŽation dÕinformation libre ne se limite pas seulement aux interfaces graphiques. Tout lÕenvironnement des utilisateurs peut servir ˆ Žchanger des signaux. A ce titre, il est signiÞcatif de constater que les chercheurs commencent ˆ explorer lÕutilisation de jouets connectŽs ˆ un ordinateur pour communiquer [Kuzuoka & Greenberg 99]. EnÞn, dans le domaine de la programmation des interfaces et des bo”tes ˆ outils, la programmation dÕobjets manipulŽs par plusieurs utilisateurs simultanŽment ou successivement est ˆ rapprocher de la programmation des interfaces multimodales. Elle nŽcessite la combinaison de plusieurs ßots dÕentrŽe. La mise au point de mod•les pour programmer des interfaces multimodales devrait donc bŽnŽÞcier ˆ la mise au point de nouveaux types dÕobjets de coordination. Dans le m•me ordre dÕidŽe, lÕimplŽmentation des objets mobiles est une application pour les langages de programmation de code mobile. En rŽalisant TransToolkit nous avons identiÞŽ plusieurs besoins dans ce sens. La prochaine version devrait intŽgrer les techniques de programmation dÕinterfaces multimodales et •tre rŽalisŽe dans un langage adaptŽ ˆ la programmation de code mobile. 166 Glossaire Attitude Ensemble de croyances concernant un objet ou bien une situation qui prŽdisposent lÕindividu ˆ agir dÕune mani•re prŽfŽrentielle [Vaske & Grantham 90]. Les attitudes dÕun individu sont en partie observables par son style de comportement. Le psychologue amŽricain Lyman Porter a repŽrŽ six attitudes possibles dÕun interlocuteur dans un entretien: lÕattitude dÕordre et de conseil, lÕattitude dÕaide et de soutien, lÕattitude de jugement et dÕŽvaluation, lÕattitude dÕenqu•te, lÕattitude dÕinterprŽtation, lÕattitude de comprŽhension ([Cabin 98], p. 218). La perception des attitudes dÕun individu permet de faire des prŽsupposŽs qui peuvent servir ˆ se coordonner ou ˆ communiquer avec lui sur un mode implicite. Collaboration directe La collaboration est directe avec un collecticiel lorsque la coordination entre les utilisateurs sÕobtient par la communication et/ou la manipulation dÕobjets, suivant des conventions ou des normes sociales. Communication Par rapport ˆ lÕespace de communication du tr•ße fonctionnel, la communication est lÕŽchange dÕinformation entre les utilisateurs dÕun collecticiel. Le contenu sŽmantique de lÕinformation ŽchangŽe est Žtranger au syst•me qui se contente de servir de messager. Communication explicite Echange de messages entre individus, sur tout support (voix, Žcrit, etc.), o• les messages ŽchangŽs dŽcrivent compl•tement le sens donnŽ ˆ la communication. Exemple: Òdonnes moi le document Projet2000Ó. 168 Communication implicite Communication implicite Echange de messages entre individus, sur tout support, o• le sens donnŽ aux messages nŽcessite des infŽrences par rapport ˆ des connaissances partagŽes par les individus, comme lÕhistorique des interactions passŽes. Les autres connaissances partagŽes identiÞŽes dans cette th•se sont les conventions, les normes sociales et les contextes subjectifs. Exemple: Òdonnes moi le document de tout ˆ lÕheureÓ. LÕinformation libre est un support ˆ la communication implicite. Comportement Ensemble des actions dÕun individus. Certains comportements sont dirigŽs vers un but, par exemple transmettre un document ˆ un autre individu, dÕautres sont des rŽactions ˆ des stimulations externes, par exemple tourner la t•te lorsque lÕon entend prononcer son nom, enÞn certains comportements rŽv•lent simplement les attitudes dÕun individu, comme se ronger les ongles. Contr™le social Approche dans la conception des collecticiels qui Žvite dÕinscrire les mŽcanismes de coordination sous la forme de procŽdures mais qui laisse le choix aux utilisateurs dÕinventer leurs propres mŽcanismes de coordination. A dŽfaut lorsque les mŽcanismes de coordination sont inscrits sous la forme de procŽdures, celles-ci sont modiÞables aisŽment. Contr™le technique Approche dans la conception des collecticiels qui privilŽgie lÕinscription des mŽcanismes de coordination sous la forme de procŽdures traduites dans les algorithmes du logiciel et difÞciles ˆ modiÞer sans reprogrammer le syst•me. Exemple: les syst•mes basŽs sur des formulaires dont les champs ont un type de contenu ÞgŽ pour Žchanger des messages. Convention Les conventions sont des accords prŽalables dans un groupe dÕindividus sur des r•gles de comportement ou dÕutilisation dÕun syst•me. Une convention nÕimpose pas de mŽcanisme pour forcer son application car elle dŽpend seulement de la volontŽ des individus. Le fait que les conventions ne soient pas imposŽes de lÕextŽrieur au groupe lui donne la possibilitŽ de les adapter facilement aux circonstances. Coordination Par rapport ˆ lÕespace de coordination du tr•ße fonctionnel, la coordination est la dŽÞnition des acteurs (individus, r™les, agents logiciels ÒintelligentsÓ), des activitŽs et des t‰ches (leurs relations Forme des Žchanges de donnŽes 169 temporelles), et enÞn lÕallocation des t‰ches et des activitŽs aux acteurs. Par rapport ˆ la thŽorie de la coordination [Malone & Crowston 94], la coordination est la gestion des dŽpendances entre les activitŽs. Elle repose sur des mŽcanismes de coordination. Coordination explicite Coordination qui repose sur des procŽdures dont les opŽrations ont un sens bien dŽÞni pour lÕordinateur. Exemple: appuyer sur un bouton pour prendre la parole. Coordination implicite Coordination qui repose sur lÕŽchange de signes entre les utilisateurs qui ont un sens pour eux par rapport ˆ des connaissances partagŽes comme des conventions ou des normes. Ces signes sont de lÕinformation libre. Exemple: le silence de lÕinterlocuteur dans une conversation tŽlŽphonique signiÞe que lÕon peut reprendre la parole. Forme de collaboration CaractŽrisation de la collaboration en fonction des protocoles, des objets ou des styles de comportement employŽs. Nous avons proposŽ ainsi trois formes de collaboration de base: Forme des Žchanges de donnŽes ¥ la collaboration protocolaire privilŽgie le recours ˆ des protocoles de coordination explicites; ¥ la collaboration instrumentale privilŽgie la manipulation dÕobjets; ¥ la collaboration empathique privilŽgie la communication, verbale ou non, entre les individus, en particulier la communication implicite par le style de comportement. Ce qui rend perceptible le style de comportement des individus avec les collecticiels. En effet, toute action effectuŽe sur un collecticiel ou toute information capturŽe par un collecticiel est mise sous forme de donnŽes qui sont transmises par un rŽseau et mises en forme pour •tre prŽsentŽes. La forme des Žchanges de donnŽes dŽsigne la mani•re dont les donnŽes transmises sont prŽsentŽes ˆ distance, sous forme statique ou de mani•re dynamique. Nous avons dŽÞni le mod•le PROSE pour crŽer de lÕinformation libre ˆ partir du contr™le de la forme des Žchanges de donnŽes. 170 IdŽal de la communication totale IdŽal de la communication totale Situation idŽale dans laquelle des individus interagissent pour accomplir une t‰che commune en communiquant sans aucune perte dÕinformation et en Žtant tous accessibles ˆ chacun. IdŽal de la production totale Situation idŽale dans laquelle des individus travaillent ˆ une t‰che commune en effectuant chacun des activitŽs totalement indŽpendantes les unes des autres suivant une planiÞcation initiale minimisant les besoins de se coordonner. Information libre Etat observable de lÕenvironnement ou changement dÕŽtat de lÕenvironnement susceptible de recevoir un sens. Par extension, toute information dont le sens nÕest pas dŽductible uniquement ˆ partir des ŽlŽments qui la constitue mais nŽcessite une interprŽtation liŽe ˆ des connaissances partagŽes par un groupe. Dans les collecticiels, lÕinformation libre est transmise par le syst•me mais elle nÕest pas interprŽtŽe par le syst•me. Elle sÕoppose ˆ lÕinformation saisie par les utilisateurs pour faire exŽcuter des commandes au syst•me. Cette information libre sert ˆ communiquer ou ˆ se coordonner suivant un mode implicite. Les collecticiels peuvent Žgalement crŽer de lÕinformation libre, par exemple en reproduisant de mani•re symbolique des informations sur lÕactivitŽ des individus. Les informations de conscience mutuelle et de rŽtroaction de groupe entrent dans cette catŽgorie. Exemple: la reproduction ˆ distance du bruit du clavier dÕun utilisateur permet de suivre son activitŽ. Information libre de sŽlection Information libre liŽe ˆ un Žtat. Par exemple dans un minist•re la couleur dÕun dossier peut signiÞer lÕurgence du dossier. La sŽlection dÕune couleur de dossier est alors un moyen de communication implicite pour indiquer lÕurgence du dossier. Information libre de modulation Information libre liŽe ˆ un changement dÕŽtat. Au cours dÕune rŽunion, le fait de recevoir un document est un ŽvŽnement qui peut signiÞer que lÕon doit lire le document. Le document peut •tre transmis de diffŽrentes mani•res de fa•on ˆ attirer lÕattention. MŽcanisme de coordination MŽcanisme mis en Ïuvre par les individus pour se coordonner. DÕapr•s [Schmidt & Simone 96], les mŽcanismes de coordination reposent sur la manipulation dÕobjets de coordination conjointement ˆ lÕapplication dÕun protocole de coordination. Nous avons Production 171 distinguŽ les types de mŽcanismes de coordination suivants dans les collecticiels: ¥ La gestion de session, pour dŽclencher la connexion des applications des utilisateurs entre elles, par exemple pour dŽmarrer une vidŽoconfŽrence; ¥ La gestion des conßits dÕacc•s, pour Žviter que plusieurs utilisateurs effectuent simultanŽment une opŽration contradictoire sur leur environnement, par exemple pour Žviter de remplacer un m•me mot par des mots diffŽrents dans un Žditeur de texte partagŽ; ¥ La gestion des Žchanges, pour structurer les Žchanges dÕinformation et de documents entre les individus et notiÞer le groupe des activitŽs en cours. Norme sociale Les normes sociales sont des protocoles qui r•glent les comportements des individus sans accord prŽalable. Plus prŽcisŽment, Òles normes sociales sont des types de conduite tr•s largement suivies dans un groupe donnŽ et dont la non-observance est assortie de sanctions explicites ou diffuses, auxquelles les membres de ce groupe donnent une acceptation (adhŽsion) plus ou moins lucide et compl•teÓ [Maisonneuve 96]. Les normes sociales, tout comme les conventions reposent sur des connaissances partagŽes par les individus. Dans le cas des normes, ces connaissances sont implicitement admises et restent souvent informulŽes. Certaines sont du domaine de la culture, comme les r•gles de politesse. Les normes sociales permettent un mode de coordination ou de communication implicite. Objet de coordination Objet qui sert ˆ un moment donnŽ ˆ coordonner les activitŽs des individus. Les objets de coordination sont manipulŽs par plusieurs individus simultanŽment ou ˆ tour de r™le. Certains circulent pour impliquer les individus dans lÕactivitŽ du groupe ˆ un moment donnŽ. Exemples: strip (contr™le aŽrien), clŽ, kanban, formulaire papier, emploi du temps mural. Production Par rapport ˆ lÕespace de coordination du tr•ße fonctionnel, la production est la crŽation et la manipulation dÕobjets dans le cadre dÕune activitŽ de groupe. 172 Protocole de coordination Protocole de coordination ProcŽdure, convention ou norme sociale qui sert ˆ se coordonner. Souplesse sociale Potentiel dÕun syst•me ˆ faire Žmerger et ˆ faire appliquer des conventions et des normes sociales plut™t quÕˆ imposer des procŽdures de coordination. La souplesse sociale est la propriŽtŽ associŽe ˆ lÕapproche du contr™le social. Style dÕaction Ensemble des variations dans la mani•re dÕeffectuer une action qui ne modiÞent pas le rŽsultat de lÕaction. Par exemple une porte peut-•tre refermŽe en douceur ou claquŽe violemment. Si lÕaction est la production dÕun ŽnoncŽ verbal, le style de lÕaction correspond ˆ la prosodie de la voix. Le style dÕaction est observable soit directement pendant lÕexŽcution de lÕaction, soit indirectement ˆ lÕissue de lÕaction par la forme du rŽsultat de lÕaction. Style de comportement Ensemble des variations dans le comportement dÕun individu qui ne modiÞent pas le rŽsultat de son comportement mais lÕinterprŽtation du sens donnŽ ˆ son comportement par autrui. Si un comportement se compose de plusieurs actions, le style de comportement dŽpend du choix des actions associŽes au comportement et du style de chacune de ces actions. Le style dÕun comportement visant ˆ transmettre un document en face-ˆ-face dŽpend par exemple du choix de lÕaction de brandir le document ou de le dŽposer en douceur sur la table. Les ŽlŽments suivants contribuent au style de comportement: ¥ ¥ ¥ la prosodie de la voix; la posturo-mimo-gestualitŽ; la mani•re de manipuler les objets de lÕenvironnement. Le style de comportement est une forme de communication implicite, dirigŽe ou non vers des destinataires clairement identiÞŽs. Tout comme le style dÕaction, il est observable en direct, ou bien indirectement par la forme du rŽsultat auquel il conduit. Une autre dŽÞnition du style de comportement, due au sociologue S. Moscovici, est la suivante: Òensemble des arrangements intentionnels de signes verbaux et/ou non verbaux qui expriment la signiÞcation de lÕŽtat prŽsent et lÕŽvolution de lÕŽtat futur de ceux qui les afÞchentÓ (citŽe dans [Anziau & Martin 68]). Annexe Personnalisation de lÕenvironnement sur Macintosh Le syst•me dÕexploitation Mac OS 8.6 dŽÞnit un mŽcanisme de communication entre applications et de personnalisation des applications basŽ sur la notion dÕŽvŽnement [Apple 93a]. Plusieurs standards contribuent ˆ ce mŽcanisme: un protocole de messages, les Apple Events; une architecture de composants logiciels pour Žcrire et pour exŽcuter des interprŽteurs de langages, la Open Scripting Architecture (OSA); enÞn un dialecte de langage interprŽtŽ: Apple Script [Apple 93b]. En respectant ces standards, il est possible de programmer des applications pilotables par dÕautres applications par lÕintermŽdiaire des Apple Events. Les applications peuvent aussi contenir un ou plusieurs interprŽteurs de langage, pour exŽcuter des scripts Žcrits en Apple Script, ou bien en tout autre dialecte conforme ˆ lÕOSA. Les scripts servent ˆ automatiser la manipulation dÕune application ou ˆ la personnaliser. Les applications qui re•oivent des Apple Events doivent implŽmenter plusieurs fonctions capables de dŽcoder les ŽvŽnements et de leur associer une cible au sein de lÕapplication. Le dŽcodage et la recherche de cible sont nŽcessaires dans un traitement de texte par exemple, pour retrouver le Òdeuxi•me mot du premier paragraphe de la troisi•me fen•treÓ. La dŽsignation des cibles dŽpend du vocabulaire de lÕapplication et de la composition des objets de lÕapplication. Certaines applications sont ÒattachablesÓ. Il est possible dÕassocier des scripts ˆ des ŽvŽnements survenant sur les objets de lÕapplication. Par exemple ˆ chaque modiÞcation dÕune cellule dÕun document dÕun tableur il est possible dÕexŽcuter un script pour rŽcupŽrer dans une base de donnŽes des informations dŽpendant de la valeur saisie et de les insŽrer dans la feuille de calcul. LÕopŽration dÕattachement de script sÕeffectue en Žcrivant une fonction spŽciale en Apple Script puis en associant ce script ˆ lÕobjet concernŽ de lÕapplication. Le nom et les arguments de cette fonction sont dŽÞnis par lÕapplication h™te. Par commoditŽ nous appelons ces fonctions des points dÕentrŽe1. 1. Dans le jargon Apple Script, ces fonctions sont des handlers dŽÞnis par les applications. 174 Annexe: Personnalisation de lÕenvironnement sur Macintosh Les composants du syst•me Mac OS sont scriptables dans les versions rŽcentes. Ils dŽÞnissent des Apple Events et des points dÕentrŽe pour faire rŽaliser par des scripts les opŽrations effectuŽes en manipulant le syst•me ou pour dŽclencher automatiquement des scripts. Les Folders Actions sont cinq points dÕentrŽe dŽÞnis pour chaque rŽpertoire [14]. Ils correspondent ˆ cinq types de manipulation effectuŽs sur les fen•tres des rŽpertoires: ¥ ¥ ¥ ¥ ¥ lÕouverture de la fen•tre dÕun rŽpertoire; la fermeture de la fen•tre dÕun rŽpertoire; lÕajout dÕun Þchier dans une fen•tre de rŽpertoire; le retrait dÕun Þchier dÕune fen•tre dÕun rŽpertoire; le dŽplacement dÕune fen•tre de rŽpertoire sur lÕŽcran. En attachant des scripts aux rŽpertoires il est possible dÕŽtendre les potentialitŽs du syst•me. Nous avons exploitŽ cette possibilitŽ pour crŽer la maquette du Transfolder (voir page 128). Celle-ci est basŽe sur un script attachŽ aux actions dÕajout de Þchier dans un rŽpertoire et de retrait de Þchier dÕun rŽpertoire. Architecture pour le Transfolder La Þgure 8.12 reprŽsente deux choix dÕarchitecture pour rŽaliser la maquette ˆ partir des rŽpertoires du gestionnaire de Þchier du Mac OS. Ces deux architectures correspondent ˆ deux mod•les de rŽplication des documents en cours de rŽvision: le mod•le centralisŽ et le mod•le totalement rŽpliquŽ. Dans le mod•le centralisŽ un rŽpertoire baptisŽ ÒTransfolderÓ rŽside sur une machine qui sert de serveur. Les utilisateurs acc•dent ˆ ce rŽpertoire par un alias local. Dans le mod•le totalement rŽpliquŽ chaque utilisateur poss•de sur sa machine un rŽpertoire baptisŽ ÒTransfolderÓ. Par un mŽcanisme adaptŽ tout document dŽposŽ dans un rŽpertoire ÒTransfolderÓ est dupliquŽ dans tous les autres. De m•me, tout document retirŽ dÕun rŽpertoire est retirŽ de tous les autres. La diffŽrence entre les deux architectures rŽside dans les Þltres employŽs. 1 centralisŽe 2 totalement rŽpliquŽe Figure 8.12. Mod•les dÕarchitecture pour la rŽplication 175 Filtres du Transfolder Le Þltre Pt est dŽclenchŽ au moment de lÕajout du document dans le rŽpertoire ÒTransfolderÓ. Il dŽpend de lÕarchitecture. Dans le mod•le centralisŽ il est remplacŽ implicitement par le mŽcanisme de montage du rŽpertoire ÒTransfolderÓ distant. Dans le mod•le totalement rŽpliquŽ le Þltre Pt doit dupliquer le document dans toutes les instances du rŽpertoire ÒTransfolderÓ. Cette duplication nŽcessite un script associŽ ˆ lÕaction dÕajouter le document. CÕest Žgalement le Þltre Pt qui modiÞe la couleur de lÕic™ne. Le Þltre Pp doit sÕassurer que les documents retirŽs du Transfolder ne sont plus visibles en dedans. Il est dŽclenchŽ au moment du retrait du document par un utilisateur. Toutes ces actions sont effectuŽes par un script associŽ ˆ lÕaction de retirer un document du rŽpertoire. Le Þltre Pp dŽpend de lÕarchitecture. Dans le cas de lÕarchitecture centralisŽe le rŽpertoire ÒTransfolderÓ est situŽ sur un serveur unique et le document dispara”t de tous les alias du rŽpertoire par le simple fait de le retirer. Dans le cas de lÕarchitecture totalement rŽpliquŽe le Þltre Pp doit retirer le document de toutes les rŽpliques du rŽpertoire ÒTransfolderÓ. Avant de dŽcrire le prototype, nous prŽsentons les mŽcanismes de communication entre applications et de personnalisation du gestionnaire de Þchier qui ont permis sa rŽalisation. Il nÕy a pas de Þltre Pc car lÕajout ou le retrait du document dans le rŽpertoire est gŽrŽe par le gestionnaire de glisser-dŽposer du syst•me1. Maquette rŽalisŽe Notre maquette est basŽe sur une architecture totalement rŽpliquŽe pour deux raisons. Premi•rement, lÕarchitecture totalement rŽpliquŽe continue de fonctionner m•me si une ou plusieurs machines sont injoignables, contrairement ˆ lÕarchitecture centralisŽe qui dŽpend enti•rement du fonctionnement dÕun seul serveur. Deuxi•mement, les scripts associŽs aux Folders Actions doivent se trouver sur la m•me machine que le rŽpertoire. En particulier il nÕest pas possible dÕassocier un script ˆ un alias de rŽpertoire. Nous avons prŽfŽrŽ conserver un script par utilisateur, ce qui permet Žventuellement de personnaliser les Þltres Pt et Pp. Limitations de la maquette La maquette du Transfolder illustre une mŽthode simple pour enrichir lÕŽchange de documents basŽe sur la personnalisation de lÕenvironnement. Cette maquette est limitŽe pour au moins deux raisons. Premi•rement, le protocole Apple Share est limitŽ ˆ un rŽseau Apple Talk. CÕest ce protocole qui permet de monter des rŽpertoires distants et de copier des documents entre machines. Par consŽquent le prototype sÕadresse ˆ un groupe dÕutilisateur partageant le m•me rŽseau local. Deuxi•mement, au moment du retrait du document la mise ˆ jour de toutes les rŽpertoires ÒTransfolderÓ sÕeffectue sŽquentiellement, ce qui prend un cer1. ÒDrag ManagerÓ. 176 Annexe: Personnalisation de lÕenvironnement sur Macintosh tain temps. Pendant ce temps le document est momentanŽment dupliquŽe sur plusieurs rŽpertoires bien quÕil soit dŽjˆ dans lÕespace personnel de lÕutilisateur qui vient de le prendre. Il est alors possible que plusieurs autres utilisateurs se saisissent du document mettant plusieurs exemplaires en circulation. Pour Žviter ce probl•me, il faudrait emp•cher temporairement les utilisateurs de dŽplacer le document pendant les synchronisations des rŽpertoires. De plus, il faudrait que le message dÕinhibition parviennent simultanŽment ˆ toutes les rŽpliques du document. Cette contrainte impose soit le traitement en parall•le des mises ˆ jour sur chaque machine, ce qui nÕest pas possible dans la version actuelle dÕApple Script, soit le recours ˆ des protocoles de gestion des acc•s concurrents pour lesquels ils nÕexiste pas de primitives accessibles avec les Apple Events. Bibliographie [Abbot 94] K. R. Abbot et S. K. Sarin. Experiences with workflow management: issues for the next generation. Proceedings of the ACM CSCWÕ94, pages 113-120, 1994. [Abowd et al. 98] G.D. Abowd, C.G. Atkeson, J. Brotherton, T. Enqvist, P. Gulley et J. LeMon. Investigating the capture, integration and access problem of ubiquitous computing in an educational setting. Proceedings of the ACM CHIÕ98, pages 440-447, Avril 1998. [Apple 93a] Apple Computer Inc. Interapplication communication. Inside Macintosh. Addison-Wesley, 1993. [Apple 93b] Apple Computer Inc. Apple Script Language Guide for Apple Script 1.3.7. Apple Technical Publications, 1993. Web URL [7]. [Apple 99] Apple Computer Inc. QuickTime 4 Reference for Macintosh and Windows. Chapter 23: Quicktime video effects. Technical Publications, 1993. Web URL [8]. [ArnÞeld 94] S.C. Arnfield. Prosody and syntax in corpus based analysis of spoken english. Th•se de doctorat, spŽcialitŽ Informatique, University of Leeds, School of Computer Studies, Angleterre, 1994. Web URL [9]. [Austin 62] J. Austin. Quand dire cÕest faire. Editions du Seuil, collection Points Essais (235), 1970. Premi•re Ždition en anglais, 1962. [Anziau & Martin 68] D. Anziau et J.-Y. Martin. La dynamique des groupes restreints. Presses universitaires de France, 8•me Ždition, Janvier 1986. Premi•re Ždition, 1968. [Baecker 93] R. Baecker, coordinateur. Readings in Groupware and Computer-Supported Cooperative Work. Morgan Kaufman, 1993. [Bardram 98] J. Bardram. Designing for the dynamics of cooperative work activities. Proceedings of the ACM CSCWÕ98, pages 89-98, Novembre 1998. 178 [Bateson 72] [Bateson 72] G. Bateson. Vers une Žcologie de lÕesprit. Tomes 1 et 2. Editions du Seuil, collection Points Essais (309/310), 1977. Premi•re Ždition en anglais, 1972. [Beaudouin-Lafon & Karsenty 92] Michel Beaudouin-Lafon et Alain Karsenty. Transparency and awareness in a real-time groupware system. Proceedings of the ACM UISTÕ92, pages 171-180, 1992. [Beaudouin-Lafon 97] Michel Beaudouin-Lafon. Interaction instrumentale: de la manipulation directe ˆ la rŽalitŽ augmentŽe. Actes dÕIHM 97, CŽpadu•s-Žditions, Toulouse, pages 97-104, 1997. [Benford & FahlŽn 93] S. Benford et L. FahlŽn. A spatial model of interaction in large virtual environments. Proceedings of ECSCWÕ93, Milan, Italie, Kluwer Academic, pages 109-124, Septembre 1993. [Bentley et al. 92] R. Bentley, T. Rodden, I. Sommerville et P. Sawyer. An architecture for tailoring cooperative multi-user displays. Proceedings of the ACM CSCWÕ92, pages 187-191, 1992. [Bentley & Dourish 95] R. Bentley et P. Dourish. Medium versus mechanism: supporting collaboration through customisation. Proceedings of ECSCWÕ95, Stockholm, Su•de, Kluwer Academic, Septembre 1995. [Bentley et al. 97] R. Bentley, W. Appelt, U. Busbach, E. Hinrichs, D. Kerr, K. Sikkel, J. Trevor et G. Woetzel. Basic support for cooperative work on the world wide web. International Journal of Human Computer Studies 46(6): Special issue on novel applications of the WWW, Academic Press, Cambridge, Juin 1997. [Berlage & Genau 93] Thomas Berlage et Andreas Genau. A framework for shared applications with a replicated architecture. Proceedings of the ACM UISTÕ93, pages 249-257, Novembre 1993. [Bern 64] E. Bern. Des jeux et des hommes. Editions Stock, 1967. Premi•re Ždition en anglais 1964. [Bier 91] E. Bier. EmbeddedButtons: documents as user interfaces. Proceedings of the ACM UISTÕ91, pages 45-53, 1991. [Brave et al. 98] S. Brave, H. Ishii et A. Dahley. Tangible interfaces for remote collaboration and communication. Proceedings of the ACM CSCWÕ98, pages 169178, Novembre 1998. [Bressole et al. 98] M.-C. Bressolle, B. Pavard et M. Leroux. The role of multimodal communication in cooperation: the case of air traffic control. Lecture Notes in Artificial Intelligence, Springer, vol. 1374. From H Bunt, R Beun & T Borghuis (Eds), Multimodal Human-Computer Communication, Systems, Techniques and Experiments, pages 326-343, 1998. [Bricker et al. 97] L.J. Bricker, M.J. Baker et S.L. Tanimoto. Support for cooperatively controlled objects in multimedia applications. Proceedings of the ACM CHIÕ97, Extended Abstracts, Late-Breaking Results, 1997. [Brinck & Hill 93] T. Brinck et R. Hill. Building shared graphical editors using the Abstraction-Link-View architecture. Proceedings of ECSCWÕ93, Kluwer Academic, pages 311-324, 1993. [Coulouris et al. 95] 179 [Buxton 92] W. Buxton. Telepresence: integrating shared task and person spaces. In [Baecker 93], pages 816-822, 1992. [Bull 90] P. Bull. What does gesture add to the spoken word? Images and Understanding, thoughts about images, ideas about understanding, Cambridge University Press, pages 108-121, 1990. [Cabin 98] P. Cabin, coordinateur (1998). La communication, Žtat des savoirs. Sciences Humaines Editions, Auxerre, 1998. Ð 462p. [Cadoz 94] C. Cadoz. Le geste canal de communication homme-machine. La communication instrumentale. Technique et Science Informatiques, 13(1), pages 31-61, 1994. [Calvary et al. 97] G. Calvary, J. Coutaz et L. Nigay. From single-user architectural design to PAC*: a generic software architecture model for CSCW. Proceedings of the ACM CHIÕ97, pages 242-249, Mars 1997. [Card et al. 83] S. Card, T. Moran et A. Newell. ÒThe psychology of Human-Computer InteractionÓ. Lawrence Erlbaum Associates, 1983. [Carroll et al. 99] J.M. Carroll, M.B. Rosson, C. Van Metre, R.R. Kengeri, J. Kelso et M. Darshani. Blacksburg Nostalgia: a community history archive. Proceedings of the IFIP INTERACT'99, IOS Press, pages 637-647, Septembre 1999. [Caspi et al. 98] P. Caspi, A. Girault et D. Pilaud. Automatic distribution of reactive systems for asynchronous networks of processors. INRIA, Rapport de Recherche N¡3491, Septembre 1998. [Chatty 92] S. Chatty. La construction dÕinterfaces Homme-machine animŽes. Th•se de doctorat, UniversitŽ dÕOrsay Paris-Sud, 1992. [Chatty et al. 96a] S. Chatty, P. Girard et S. Sire. Vers un support multimŽdia ˆ la collaboration directe. Technique et Science Informatiques, 15(9), pages 1259-1286, 1996. [Chatty & Lecoanet 96b] S. Chatty et P. Lecoanet (1996). A pen-based workstation for air traffic controllers. Proceedings of the ACM CHIÕ96, Addison-Wesley, 1996. [Chatty et al. 98] S. Chatty, H. Uninski et S. Sire. Supporting collaboration in ATC through flight contracts. International ATM'98 R&D seminar, Orlando. Rapport CENA NR98-809, 1998. [Chatty et al. 99] S. Chatty, S. Ath•nes et A. Bustico. Votre attention sÕil vous plait! ElŽments dÕun espace de conception de signaux visuels. Actes dÕIHM 99, CŽpadu•s-Žditions, Toulouse, pages 17-24, 1999. [Cosnier & Brossard 84] J. Cosnier et A. Brossard. La communication non verbale. Textes de base en psychologie. Delachaux et NiestlŽ, Neuchatel, 1984. [Coulon 96] Alain Coulon. LÕethnomŽthodologie. Presses Universitaires de France, collection ÒQue-sais-jeÓ (2393), 1996. Premi•re Ždition, 1987. [Coulouris et al. 95] G. Coulouris, J. Dollimore et T. Kindberg. Distributed systems, concepts and design. Addison-Wesley, 1995. 180 [Coutaz et al. 99] [Coutaz et al. 99] J. Coutaz, F BŽrard, E. Carraux, W. Astier et J. Crowley. Comedi: using computer vision to support awareness and privacy in Mediaspaces. Proceedings of CHI'99 Extended Abstract, Video Demonstration, pages 13-16, Mai 1999. [Coutaz et al. 97] J. Coutaz, J.L. Crowley, F. BŽrard et D. Salber. Eigen Space Coding as a Means to Support Privacy in Computer Mediated Communication. Proceedings of the Sixth IFIP Conference on Human-Computer Interaction, INTERACT'1997, 1997. [Coutaz 90] J. Coutaz. Interfaces homme-ordinateur, conception et rŽalisation. Informatique, Dunod, 1990. [Crowley et al. 90] T. Crowley, P. Milazzo, E. Baker, H. Forsdick et R. Tomlinson. MMConf: an infrastructure for building shared multimedia applications. Proceedings of the ACM CSCWÕ90, pages 329-342, Octobre 1990. [Decouchant et al. 97] D. Decouchant, M. R. Salcedo et M. Serrano. Principes de conception dÕune application dÕŽdition coopŽrative de documents sur lÕInternet. Actes dÕIHM 97, CŽpadu•s-Žditions, Toulouse, pages 151-158, 1997. [Delay & Pichot 67] J. Delay et P. Pichot. AbrŽgŽ de psychologie. Masson & Cie, Editeurs, Troisi•me Ždition, 1967. [Dewan & Choudhary 91] P. Dewan et R. Choudhary. Fexible user interface coupling in a collaborative system. Proceedings of the ACM CHIÕ91, pages 41-48, 1991. [Dourish & Belloti 92] P. Dourish et V. Belloti. Awareness and Coordination in Shared Workspaces. Proceedings of the ACM CSCWÕ92, pages 107-114, 1992. [Dourish & Bly 93] P. Dourish et S. Bly. Portholes: supporting awareness in distributed work group. In [Baecker 93], pages 809-815, 1993. [Dusire & Falzon 98] S. Dusire et P. Falzon. Le party line: nuisance sonore et gisement dÕinformations ˆ exploiter. Laboratoire dÕErgonomie du CNAM, Paris, 1998. [Edwards 95] W. Keith Edwards. Coordination infrastructure in collaborative systems. Th•se de doctorat, informatique, Georgia Institute of Technology, 1995. [Ellis et al. 91] C. Ellis, S. Gibbs et G. Rein. Groupware: some issues and experiences. Communications of the ACM, 34(1):38-58, 1991. [Engelbart & Lehtman 88] D. Engelbart et H. Lehtman. Working together. Byte, In Depth section: Groupware. Mc Graw-Hill, pages 245-252, DŽcembre 1988. [Eberts 94] Ray E. Eberts. User Interface Design. Chapter 25, Groupware. PrenticeHall International Editions, 1994. [Ellis et al. 91] C. A. Ellis, S. j. Gibbs et G. L. Rein. Groupware: some issues and experiences. Communications of the ACM, 34(1), pages 38-58, janvier 1991. [Filippi & Theureau 93] G. Filippi et J. Theureau. Analyzing cooperative work in an urban traffic control room for the design of a coordination support system. Proceedings of ECSCWÕ93, Kluwer Academic Publishers, pages 171-186, 1993. [Karsenty 94a] 181 [Fogg 98] BJ Fogg. Persuasive computers: perspectives and research directions. Proceedings of the ACM CHIÕ98, Human Factors in Computing Systems, pages 225-232, Avril 1998. [Gaver 92] W. Gaver. The affordances of Media Spaces for collaboration. Proceedings of the ACM CSCWÕ92, pages 17-24, 1992. [Goffman 67] E. Goffman. Interaction ritual, essays on face-to-face behavior. Anchor Books A596, Doubleday & company, 1967. [Goodman 98] D. Goodman. AppleScriptª HandBook. Second Edition. toExcel, New York, 1998. [Grudin 90] J. Grudin. Groupware and cooperative work: problems and prospects. In [Baecker 93], pages 97-105, 1990. [Gutwin et al. 96] C. Gutwin, M. Roseman et S. Greenberg. A usability study of awareness widgets in a shared workspace groupware system. Proceedings of the ACM CSCWÕ96, pages 258-267, 1996. [Gutwin & Greenberg 98] C. Gutwin et s. Greenberg. Design for individuals, design for groups: tradeoffs between power and workspace awareness. Proceedings of the ACM CSCWÕ98, pages 207-216, Novembre 1998. [Hagimont & Mossi•re 96] D. Hagimont et J. Mossi•re. Probl•mes de dŽsignation, de localisation et dÕacc•s dans les syst•mes rŽpartis ˆ objets. Technique et Science Informatiques, 15(1), pages 9-36, 1996. [Hall 66] E. Hall. La dimension cachŽe. Editions du Seuil, collection Points Essais (89), 1971. Premi•re Ždition en anglais, 1966. [Harris & Henderson 99] Jed Harris et Austin Henderson. A better mythology for system design. Proceedings of the ACM CHIÕ99, pages 88-95, Mai 1999. [Heath et al. 93] C. Heath, M. Jirotka, P. Luff et J. Hindmarsh. Unpacking collaboration: the interactional organisation of trading in a city dealing room. Proceedings of ECSCWÕ93, Kluwer Academic Publishers, pages 155-170, 1993. [Hoogstoel 95] F. Hoogstoel. Une approche organisationnelle du travail coopŽratif assistŽ par ordinateur. Application au projet Co-Learn. Th•se de doctorat, spŽcialitŽ informatique, UniversitŽ des Sciences et Technologies de Lille, 1995. [Ishii & Kobayashi 92] H. Ishii et M. Kobayashi. Integration of inter-personal space and shared workspace: Clearboard design and experiments. Proceedings of the ACM CSCWÕ92, pages 34-32, 1992. [Jackson 97] A. Jackson. System supported co-ordination (Sysco level 1) final report. Eurocontrol experimental center report N¡319, Septembre 1998. [Joule & Beauvois 87] R-V. Joule et J-L. Beauvois. Petit traitŽ de manipulation ˆ lÕusage des honn•tes gens. Collection Vies Sociales, Presses Universitaires de Grenoble, 1987. [Karsenty 94a] A. Karsenty. Le collecticiel: de lÕinteraction homme-machine ˆ la communication homme-machine-homme. Technique et Science Informatiques, 13(1), pages 105-127, 1994. 182 [Karsenty 94b] [Karsenty 94b] A. Karsenty. GroupDesign: un collecticiel synchrone pour lÕŽdition partagŽe de documents. Th•se de doctorat, UniversitŽ dÕOrsay Paris-Sud, 1994. [Karsenty & BeaudouinLafon 95] A. Karsenty et M. Beaudouin-Lafon. SLICE: a logical model for shared editors. Groupware for Real-Time drawings, a designerÕs guide. Mc GrawHill, pages 156-173, 1995. [Karsenty 99] Laurent Karsenty. Cooperative work and shared visual context: an empirical study of comprehension problems in side-by-side and remote help dialogues. Human-Computer Interaction. Lawrence Erlbaum Associates Inc., Volume 14, pages 283-315, 1999. [Karsenty & Pavard 98] Laurent Karsenty et Bernard Pavard. Various levels of context analysis in the ergonomic study of cooperative work. RŽseaux, the french journal of communication. Volume 6, No2, pages 167-193, 1998. [Karsenty & Pecaut 98] Laurent Karsenty et Isabelle Pecaut. Evaluation dÕun collecticiel dÕaide aux coordinations dans le contr™le aŽrien: Duophone. Rapport Technique CENA NR98-798, 1998. [Kuzuoka & Greenberg 99] H. Kuzuoka et S. Greenberg. Mediating awareness and communication through digital but physical surrogates. Proceedings of the ACM CHIÕ99, Extended Abstracts, Demonstration, pages 11-12, 1999. [Latour 93] B. Latour, Petites le•ons de sociologie des sciences. ƒditions La DŽcouverte, 1993. [Laurillau 99] Y. Laurillau. Synchronous collaborative navigation on the WWW. Proceedings of the ACM CHIÕ99, Extended Abstracts, Student Poster, pages 308-309, 1999. [LŽonard 1997] P. LŽonard. Etude et expŽrimentation des mŽcanismes de synchronisation du travail collaboratif sur rŽseaux de postes de travail. Th•se de doctorat, spŽcialitŽ Informatique, UniversitŽ de Versailles Saint-Quentin-enYvelines, 1997. Ð 160p. [LŽvy 90] Pierre LŽvy. Les technologies de lÕintelligence. LÕavenir de la pensŽe ˆ lÕ•re informatique. Editions du Seuil, collection Points Sciences (S90), 1993. Premi•re Ždition, ƒditions La DŽcouverte, 1990. [LŽvy 98] Pierre LŽvy. QuÕest-ce que le virtuel? ƒditions La DŽcouverte/Poche essais (49), 1998. [Malone et al. 92] T. W. Malone, K.-Y. Lai et C. Fry. Experiments with Oval: a radically tailorable tool for cooperative work. Proceedings of the ACM CSCWÕ92, pages 289-297, 1992. [MacLuhan 77] M. MacLuhan. Pour comprendre les mŽdias (traduction fran•aise). Editions du Seuil, 1977. [Maisonneuve 96] Jean Maisonneuve. La psychologie sociale. Presses Universitaires de France, collection ÒQue-sais-jeÓ (458), 1996. Premi•re Ždition: 1950. [Myers et al. 98] 183 [Malone & Crowston 94] T. Malone et K. Crowston. The interdisciplinary study of coordination. ACM Computing Surveys, Vol 26 (1), 1994. [Mantei et al. 91] M. Mantei, R. Baecker, A. Sellen et W. Buxton. Experiences in the use of a Media Space. Proceedings of the ACM CHIÕ91, pages 203-208, 1991. [Mark et al. 97] G. Mark, L. Fuchs et M. Sohlenkamp. Supporting groupware conventions through contextual awareness. Proceedings of ECSCWÕ97, pages 253-268, 1997. [May•re & GaribboPeyrelong 98] A. May•re et M-F. Garibbo-Peyrelong. Transformations des entreprises et syst•me dÕinformation: vers de nouvelles formes de coordination et de coopŽration. Actes du colloque GRESICO, LÕHarmattan, Paris, pages 295-314, 1998. [Mertz 99] C. Mertz. DigiStrips: rŽsultat de l'expŽrimentation d'Aožt 1998. Rapport CENA NR90-070, 1999. [Metrowerks 97] Metrowerks Corporation. CodeWarrior. The PowerPlant book. Metrowerks Coporation, Austin, TX, USA, fourni avec le CD-ROM CodeWarrior Pro3, 1997. [Miller 90] J. Miller. Moving Pictures. Images and Understanding, thoughts about images, ideas about understanding, Cambridge University Press, pages 180194, 1990. [Mitchell 96] A. Mitchell. Communication and shared understanding in collaborative writing. Master of science thesis, University of Toronto, 1996. Web URL [11]. [Moran et al. 98] T.P. Moran, W. van Melle et P. Chiu. Tailorable domain objects as meeting tools for an electronic whiteboard. Proceedings of the ACM CSCWÕ98, pp. 295-304, Novembre 1998. [Morikawa & Maesako 98] O. Morikawa et T. Maesako. HyperMirror: toward pleasant-to-use video mediated communication system. Proceedings of the ACM CSCWÕ98, pages 149-158, Novembre 1998. [Moreno 54] J.L. Moreno. Fondements de la sociomŽtrie. Presses universitaires de France, Biblioth•que de sociologie contemporaine, 2e Ždition revue et agmentŽe, 1970. Premi•re Ždition 1954. [Muchielli et al. 98a] A. Muchielli, J-A. Corbalan et V. Ferrandez. ThŽorie des processus de la communication. Collection U, sŽrie Sciences de la Communication, Armand Colin/Masson, Paris, 1998. [Muchielli & Guivarch 98b] Alex Muchielli et J. Guivarch. Nouvelles mŽthodes dÕŽtude des communications. Collection U, sŽrie Sciences de la Communication, Armand Colin/ Masson, Paris, 1998. [Myers et al. 98] B. Myers, H. Stiel et R. Gargiulo. Collaboration using multiple PDAÕs connected to a PC. Proceedings of the ACM CSCWÕ98, pages 285-294, Novembre 1998. Web URL [12]. 184 [Nigay & Coutaz 96] [Nigay & Coutaz 96] L. Nigay et J. Coutaz. Espaces conceptuels pour lÕinteraction multimŽdia et multimodale. Technique et Science Informatiques, 15(9), pages 1195-1225, 1996. [Norman 88] Donald A. Norman. The psychology of everyday things. BasicBooks, HarperCollins Publishers, 1988. [Nurcan 96] S. Nurcan. Analyse et conception de syst•mes dÕinformation coopŽratifs. Technique et Science Informatiques, 15(9), pages 1287-1315, 1996. [Okada et al. 94] K.-i. Okada, F. Maeda, Y. Ichikawaa et Y. Matsushita. Multiparty Videoconferencing at virtual social distance: MAJIC. Proceedings of the ACM CSCWÕ94, pages 385-393, 1994. [Orfali et a. 96] R. Orfali, D. Harkey et J. Edwards. The essential distributed objects survival guide. John Wiley and Sons, Inc, 1996. [Pacull et al. 94] F. Paccul, A. Sandoz et A. Schiper. Duplex: a distributed collaborative editing environment in large scale. Proceedings of the ACM CSCWÕ94, 1994. [Pedersen et al. 93] E.R. Pedersen, K. McCall, T.P. Moran et F.G. Halasz. Tivoli: an elctronic whiteboard for informal workgroup meetings. Proceedings of the ACM INTERCHIÕ93, pages 391-398, 1993. [Poirot-Delpech 95] S. Poirot-Delpech. Biographie du CAUTRA, Naissance et dŽveloppement dÕun syst•me dÕinformations pour la circulation aŽrienne. Th•se de doctorat de sociologie, UniversitŽ Paris 1, 1995. [Preux 94] F. Preux. R™le des strips dans lÕactivitŽ des contr™leurs. Rapport interne du Centre National de la Navigation AŽrienne, sŽlection professionnelle IEEAC, Session 1994. [Prinz & Kolvenbach 96] W. Prinz et S. Kolvenbach. Support for workflows in a ministerial environment. Proceedings of the ACM CSCWÕ96, pages 199-208, 1996. [Rekimoto et al. 98] J. Rekimoto, Y. Ayatsuka, H. Uoi et T.Arai. Adding another communication channel to reality: an experience with a chat-augmented conference. ACM CHIÕ98 Summary, Late-Breaking Results, pages 271-272, 1998. [Robinson 91] M. Robinson. Computer supported co-operative work: cases and concepts. GroupwareÕ91, The potential of team and organisational computing, P.R.H. Hendriks (Editor), Software Engineering Research Centre, SERC, Utrecht, Pays-Bas, pages 59-75, Octobre 1991. [Robinson 93] M. Robinson. Design for unanticipated useÉ Proceedings of ECSCWÕ93, Kluwer Academic Publishers, pages 187-202, 1993. [Roseman & Greenberg 92] M. Roseman et S. Greenberg. GroupKit: a groupware toolkit for building real-time conferencing applications. Proceedings of the ACM CSCWÕ92, pages 43-50, 1992. [Roseman & Greenberg 96] M. Roseman et S. Greenberg. TeamRooms: network places for collaboration. Proceedings of the ACM CSCWÕ96, pages 325-333, 1996. [Sire et al. 99] 185 [Rosenberger & MacNail 96] T. Rosenberger et R.L. MacNail. Prosodic font: translating speech into graphics. Proceedings of the ACM CHIÕ99, Extended Abstracts, pages 252253, 1999. [Roussel & Nouvel 99] N. Roussel et G. Nouvel. La main comme tŽlŽpointeur. Actes dÕIHM 99, articles courts, CŽpadu•s-Žditions, Toulouse, page 193, 1999. [Rubine 91] D. H. Rubine. The auomatic recognition of gestures. Th•se de doctorat, Carnegie Mellon University, 1991. [Salber 95a] D. Salber. De lÕinteraction homme-machine individuelle aux syst•mes multi-utilisateurs, lÕexemple de la communication homme-homme mŽdiatisŽe. Th•se de doctorat, spŽcialitŽ Informatique, UniversitŽ Joseph Fourier de Grenoble, 1995. Ð 305p. [Salber et al. 95b] D. Salber, J. Coutaz, D. Decouchant et M. Riveill. De lÕobservabilitŽ et de lÕhonn•tetŽ: le cas du contr™le dÕacc•s dans la communication hommemachine-homme mŽdiatisŽe. Actes dÕIHM 95, CŽpadu•s-Žitions, Toulouse, pages 27-33, 1995. [Salber et al. 99] D. Salber, A.K. Dey et G. Abowd. The context toolkit: aiding the development of context-enabled applications. Proceedings of the ACM CHIÕ99, pages 434-441, Mai 1999. [Schmidt & Simone 96] K. Schmidt et C. Simone. Coordination mechanisms: towards a conceptual foundation of CSCW systems design. CSCW: the journal of collaborative computing (5), Kluwer Academic Publishers, pages 155-200, 1996. [Shannon 48] C. Shannon. A mathemical theory of communication. Bell System Technical Journal, vol 27, pages 379-423, 623-656, Juillet-Octobre 1948. [Shen & Dewan 92] H. Shen et P. Dewan. Access control for collaborative environments. Proceedings of the ACM CSCWÕ92, pages 51-58, 1992. [Smith et al. 98] R. Smith, R. Hixon et B. Horan. Supporting flexible roles in a shared space. Proceedings of the ACM CSCWÕ98, ACM Press, pages 197-206, Novembre 1998. [Shneiderman 83] B. Shneiderman. Direct Manipulation: a step beyond programming language. IEEE Computer, pages 57-69, 1983. [Sire 97] S. Sire. Un cadre ˆ la conception d'interfaces pour le collecticiel: la collaboration directe. Actes dÕIHM 97, CŽpadu•s-Žditions, Toulouse, pages 143-149, 1997. [Sire et Chatty 98] S. Sire et S. Chatty. Vers des interfaces ˆ collaboration directe pour le travail de groupe. Communication, sociŽtŽ et internet, actes du colloque GRESCO, Žditions de l'Harmattan, pp. 259-275, 1998. [Sire & Chatty 99] S. Sire et S. Chatty. Les collecticiels peuvent-ils prŽserver nos compŽtences sociales de collaboration? Revue In Cognito, 13(1999), pages 23-36. [Sire et al. 99] S. Sire, S. Chatty, H. Gaspard-Boulinc et F.-R. Colin. How can groupware preserve our coordination skills? Designing for direct collaboration. Pro- 186 [Sire 99] ceedings of the IFIP INTERACT'99, IOS Press, pages 304-312, Septembre 1999. [Sire 99] S. Sire. Enrichir les Žchanges de donnŽes avec les collecticiels. Actes dÕIHM 99, articles courts, CŽpadu•s-Žditions, Toulouse, page 190, 1999. [SteÞk et al. 87] M. Stefik, D. Bobrow, G. Foster, S. Lanning et D. Tatar. WYSIWIS revisited: early experiences with multiuser interfaces. ACM Transactions on Office Information Systels, 5(2), pages 147-167, 1987. [Stewart et al. 99] J. Stewart, B. Bederson et A. Druin. Single Display Groupware: a model for co-present collaboration. Proceedings of the ACM CHIÕ99, pages 286293, Mai 1999. [Suchman 93] L. Suchman. Do categories have politics? The language/action perpective reconsidered. Proceedings of ECSCWÕ93, Milan, Italie, Kluwer Academic, pages 1-14, Septembre 1993. [Tarpin-Bernard 97] Franck Tarpin-Bernard. Travail coopŽratif synchrone assistŽ par ordinateur: approche AMF-C. Th•se de doctorat, Ecole Centrale de Lyon, 1997. [Thorn 97] T. Thorn. Programming languages for mobile code. INRIA, Rapport de Recherche N¡3134, Mars 1997. [Truong & Abowd 99] K. N. Truong et G.D. Abowd. StuPad: integrating student notes with class lectures. ACM CHIÕ99 Extended Abstracts, Late-Breaking Results, ACM Press, pages 208-209, Mai 1999. [Turoff 91] M. Turoff. Computer-Mediated Communication requirements for group support. In [Baecker 93], pages 407-417. Extraits de Journal of organizational computing (1), 85-113, 1991. [Uninski 98] HŽl•ne Uninski. Vers la rŽalisation dÕun outil collecticiel ˆ collaboration directe pour le contr™le aŽrien. Rapport de DEA, Ecole Nationale de lÕAviation Civile, 1998. [Vallacher & Nowak 94] R. R. Vallacher et A. Nowak, coordinateurs. Dynamical systems in social psychology. Academic Press Inc., San Diego, CA, USA, 1994. [Vaske & Grantham 90] J. J. Vaske et C.E. Grantham. Socializing the human-computer environment. Ablex publishing corporation, Norwood, New Jersey, USA, 1990. [Vernier et al. 99] F. Vernier, C. Lachenal, L. Nigay et J. Coutaz. Interface augmentŽe par effet miroir. Actes dÕIHM 99, CŽpadu•s-Žditions, Toulouse, pages 158165, 1999. [Viegas & Donath 99] F.B. Vieags et J.S. Donath. Chat circles. Proceedings of the ACM CHIÕ99, pages 9-16, Mai 1999. [Winkin 81] Y.Winkin. La nouvelle communication. Textes recueillis et prŽsentŽs par Yves Winkin. Editions du Seuil, collection Points Essais (136), 1981. [Winograd 88] T. Winograd. Where the action is. Byte, In Depth section: Groupware. Mc Graw-Hill, pages 256-258, DŽcembre 1988. [21] 187 [Winograd & Flores 86] Terry Winograd et Fernando Flores. Understanding computers and cognition: a new foundation for design. Ablex publishing corporation, Norwood, New Jersey, 1986. Ð 207p. [Yakemovic & Conklin 90] K.C.B. Yakemovic et E. J. Conklin. Report on a development project use of an issue-based information system. Proceedings of the ACM CSCWÕ90, pages 105-118, Octobre 1990. RŽfŽrences sur la Toile [1] The Palace -- www.thepalace.com [2] TeamWave -- www.teamwave.com [3] SMART Board -- www.smarttech.com [4] Ventana Groupsystems Workgroup Edition 2.1 -- www.ventana.com [5] PictureTel Systems -- www.picturetel.com [6] Placeware Conference Center -- www.placeware.com [7] Apple Script -- developer.apple.com/techpubs/macos8/pdf/AppleScriptLanguageGuide.pdf [8] QuickTime -- developer.apple.com/techpubs/quicktime/qtdevdocs/ RM/PDF.htm [9] S.C. Arnfield, PhD -- www.linguistics.reading.ac.uk/staff/Simon.Arnfield/phd.html [10] ICQ -- www.mirabilis.com [11] A. Mitchell, Master -- www.dgp.toronto.edu/people/alex/thesis/ [12] Pebbles -- www.cs.cmu.edu/~pebbles [13] Inventaire des Trombines -- www.mygale.org/11/cubitus/smileys.htm [14] Apple Script et Folders Actions -- www.apple.com/AppleScript/ [15] Linkworks User Manual, Digital, 1995 -- www.digital.com/info/linkworks [16] Lotus Notes -- www.lotus.com [17] Macromedia Flash -- www.flash.com [18] Quicktime -- www.quicktime.com [19] LambdaMOO -- ftp://ftp.lambda.moo.mud.org/pub/MOO [20] Aspects -- www.grouplogic.com [21] QuestMap -- www.softbicycle.com/questmp.html 188 [22] [22] GroupKit 5.0 documentation -- www.cpsc.ucalgary.ca/projects/grouplab/groupkit/gk5doc/ [23] SASSE, Ždition collaborative -- www.dgp.toronto.edu/CMRG/Projects/CWhp.html [24] Barre multiple -- www.cpsc.ucalgary.ca/projects/grouplab/people/ carl/research/semcurs.html [25] Habanero -- www.ncsa.uiuc.edu/SDG/Software/Habanero [26] Netmeeting -- www.microsoft.com/windows/netmeeting [27] TeamAgenda -- www.teamagenda.rpm.fr RŽsumŽ Cette th•se sÕinscrit dans le domaine de lÕingŽnierie des collecticiels. Les collecticiels aident les individus ˆ produire ensemble des artefacts Žlectroniques, ˆ augmenter leurs communications interpersonnelles et ˆ se coordonner. Nous adoptons une approche en trois niveaux. DÕabord, nous comparons la collaboration avec et sans les collecticiels. Ensuite, nous proposons des principes de conception. EnÞn, nous illustrons lÕapplication de ces principes. Au premier niveau, notre comparaison repose sur des comptes-rendus dÕobservation, sur des sciences non-informatiques (sciences de la communication, psychologie sociale) utiles ˆ notre domaine dÕŽtude et sur la description dÕapplications rŽelles. Nous proposons de dŽcrire les compŽtences naturelles des individus pour se coordonner et pour communiquer sous des formes non verbales par un ensemble limitŽ de concepts. Au deuxi•me niveau, nous proposons des principes de conception inspirŽs des concepts dŽÞnis au niveau prŽcŽdent et de lÕextension des principes de la manipulation directe de Shneiderman et de la thŽorie de lÕaction de Norman au cas des interactions entre plusieurs utilisateurs. LÕobjectif de ces principes est de concevoir les collecticiels de mani•re ˆ ce que les utilisateurs puissent rŽutiliser leurs compŽtences naturelles pour collaborer, dÕo• le terme Òcollaboration directeÓ dans le titre. Au troisi•me niveau, nous illustrons lÕapplication des principes par a) la conception dÕoutils pour aider les contr™leurs ˆ nŽgocier, b) par la conception dÕune nouvelle forme de courrier Žlectronique et c) par la rŽalisation de plusieurs outils de dialogue textuel. Les outils de dialogue illustrent lÕapplication du mod•le PROSE, un mod•le proposŽ pour ajouter aux Žchanges de donnŽes des indices supplŽmentaires pouvant servir aux utilisateurs ˆ se coordonner et ˆ communiquer implicitement. Finalement, nous proposons des ajouts ˆ une bo”te ˆ outil de construction dÕinterfaces pour programmer des interfaces ˆ collaboration directe. Mots-ClŽs Collecticiels, travail collaboratif assistŽ par ordinateur, interaction homme-machine, coordination, communication, manipulation directe, thŽorie de lÕaction, courrier Žlectronique, dialogue textuel, bo”tes ˆ outil de construction dÕinterfaces. Abstract This thesis focuses on the design and implementation of groupware applications. Using such applications, users can collectively produce electronic artefacts, increase the amount of interpersonnal communication, and coordinate themselves. We adopt an approach made up of three levels. First, we analyse collaboration without and with the use of groupware applications. Then, we propose some design principles. Finally, we illustrate the application of these principles. At the Þrst level, our analysis is based on reports from Þeld investigations, on contributions of social science to our Þeld of study and on the description of existing applications. We propose to describe usersÕ natural skills for coordination and non-verbal communication through a limited set of concepts. At the second level, we propose some principles, inspired from the concepts deÞned at the Þrst level and from an extension of ShneidermanÕs direct manipulation principles and NormanÕs theory of action to the special case of interactions among multiple users. The objective of these principles is to design groupware applications so that users can reuse their natural skills for collaboration, hence the use of the term Òdirect collaborationÓ in the title. At the third level, we illustrate the application of our principles a) to the design of a tool to support negotiation between air trafÞc controllers, b) to the design of a new form of electronic mail, and c) to the design of prototypes of chat tools. The chat tools illustrate the application of the PROSE model, a model proposed to enrich any data exchange with additional cues that can help people to coordinate or to communicate. Finally, we propose a number of additions to user interface toolkits required for the implementation of direct collaboration interfaces. Keywords Groupware, CSCW, human-computer interaction, coordination, communication, direct manipulation, computer-mediated communication, electronic mail, chat tools, user interface toolkits.