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.