Rapport final
Transcription
Rapport final
Le Tableau de Ver Interacting Remotely through a
Transparent Interactive Surface
Projet de bachelor
Sylvain Röbig
Fribourg, semestre d’automne 2009.
Groupe DIVA
Professeur : Rolf Ingold
Maître assistant : Denis Lalanne
Assistant : Bruno Dumas
Table des matières
1.
2.
3.
4.
5.
6.
Introduction..................................................................................................................................... 1
1.1.
Saut historique, de communication à télécommunication ..................................................... 1
1.2.
Contexte .................................................................................................................................. 2
1.3.
Objectifs................................................................................................................................... 2
1.4.
Structure .................................................................................................................................. 3
1.5.
Petit lexique ............................................................................................................................. 3
Elaboration du concept (design) ..................................................................................................... 5
2.1.
Les solutions actuelles ............................................................................................................. 5
2.2.
Le but ....................................................................................................................................... 5
2.3.
La solution proposée ............................................................................................................... 6
2.4.
Les tâches ................................................................................................................................ 6
Etudes des choix technologies ........................................................................................................ 7
3.1.
Transparence ........................................................................................................................... 7
3.2.
Programmes de conférence web ............................................................................................ 9
3.3.
Programme de vidéoconférence ........................................................................................... 13
3.4.
Périphérique utilisateur (souris) 3D ...................................................................................... 14
3.5.
Caméra Web .......................................................................................................................... 14
3.6.
Interactions de plusieurs souris............................................................................................. 15
3.7.
Application self-made pour échanger des données .............................................................. 17
3.8.
Matériel utilisé ...................................................................................................................... 19
3.9.
Résumé du setup ................................................................................................................... 20
Réalisation du Tableau de Ver ....................................................................................................... 22
4.1.
Transparence des fenêtres .................................................................................................... 22
4.2.
Setup de l’installation ............................................................................................................ 22
4.3.
Interfacer la Wiimote ............................................................................................................ 24
4.4.
Console de commande .......................................................................................................... 28
Evaluation des utilisateurs ............................................................................................................ 32
5.1.
Configuration des postes pour les évaluations ..................................................................... 32
5.2.
Application utilisée ................................................................................................................ 34
5.3.
Résultats : .............................................................................................................................. 34
Améliorations possibles de la solution .......................................................................................... 36
6.1.
Développement d’une application ........................................................................................ 36
6.2.
Qualité vidéo ......................................................................................................................... 37
7.
Conclusion ..................................................................................................................................... 38
8.
Bibliographie.................................................................................................................................. 39
9.
Annexes : ....................................................................................................................................... 40
9.1.
Calendrier .............................................................................................................................. 40
9.2.
Code GlovePIE (sur CD-Rom) ................................................................................................. 41
9.3.
Code console de gestion (sur CD-Rom) ................................................................................. 41
9.4.
Code application client-serveur mouvements souris (sur CD-Rom) .................................... 41
9.5.
Formulaire d’évaluation ........................................................................................................ 42
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
1. Introduction
1. Introduction
1.1.
Saut historique, de communication à télécommunication
Dans le monde actuel, les communications sont devenues totalement indispensables et nous ne
pouvons même pas imaginer ce que nous serions sans. Depuis nous sommes mêmes obligés de
parler de télécommunications.
Il n’y a finalement pas si longtemps, les messages étaient acheminés par des
courriers à chevaux. Depuis les divers essais de télégraphes optiques au XVIIIe
siècle et en attendant le développement des télégraphes électriques, le
premier vrai réseau de télécommunication d’envergure national est établi
pendant la révolution en France ; il s’agit du télégraphe Chappe 1, qui est un
télégraphe totalement manuel et optique. Des tours de Chappe furent
bâties ; elles prenaient la forme d’une tour avec un signal (mât muni d'un
régulateur pivotant et de deux indicateurs articulés). La distance de
communication est de l’ordre de 25 km et la tour voisine observait les signaux
à la jumelle. Autant dire que par mauvais temps le système ne fonctionnait
plus du tout ! Jusqu’en 1844, 534 tours quadrillaient le territoire français
Télégraphe Chappe
reliant sur plus de 5000 km les plus importantes agglomérations. En 1845,
l’installation de la première ligne de télégraphe électrique entre Paris et Rouen va sonner le glas
du télégraphe Chappe.
Quant au premier télégraphe électrique, rendu célèbre à nos yeux par des bandes dessinées tels
que Lucky Luke, il fut construit par Wheatston pour une liaison entre Birmingham et Londres en
1838, il y a donc « seulement » 170 ans !
Il faut encore noter que ces premiers télégraphes étaient uniquement destinées à la
communication gouvernementale (ou militaire) et qu’il a fallu attendre, en France par exemple,
1851 pour que cette technologie soit mise à la disposition du public.
Le téléphone quant à lui a été exploité commercialement aux Etats-Unis dès 1877 et en France
dès 1879.
Les premiers soubresauts d’Internet, sauf la forme d’ARPANET datent de 1966-67. A cette
époque, et comme pour les premiers télégraphes, la première utilité de ce réseau est militaire.
C’est aussi de ce moment-là que datent les premières transmissions par paquets dans des
réseaux non centralisés, norme qui est aujourd’hui encore la base de toutes nos
communications. Il faudra cependant attendre 1990 et les développements faits au CERN pour
qu’Internet devienne ce que nous connaissons aujourd’hui.
1
http://fr.wikipedia.org/wiki/Télégraphe_Chappe
Projet de Bachelor
Sylvain Röbig
Page |1
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
1. Introduction
Le reste de l’évolution est principalement technologique et nous permet depuis quelques années
de bénéficier d’un accès large bande à Internet et de technologies sans fil qui permettent de
rester connecté à Internet en déplacement.
Nous le voyons, la technologie avance vite et depuis le passage à la télécommunication à la fin du
XVIIIe jusqu’à nos jours, nous ne comptons plus les bonds technologiques.
1.2.
Contexte
Au XXIe siècle, il est indispensable de pouvoir communiquer rapidement et d’une manière
précise. Ce que nos ancêtres ont cherché à améliorer depuis le télégraphe, c’est la façon de
communiquer. Nous sommes passés des lettres aux courriels, du télégraphe au téléphone pour
communiquer plus rapidement. Actuellement, et qui plus est en temps de crise, la pression sur
les coûts dans les entreprises est énorme ; en revanche, le fait de se rencontrer, d’échanger des
propos est toujours indispensable, il faut donc pouvoir concilier les deux, ce qui peut, dans le cas
d’entreprises multinationales, s’avérer relativement compliqué.
Dès lors, les solutions de visio- ou vidéoconférence amènent un avantage non négligeable. En
effet, plus besoin de déplacer du personnel aux quatre coins du monde pour des réunions, tout
peut se faire à distance. Les coûts sont minimisés avec la réduction au minimum des
déplacements à l’étranger et la suppression du temps perdu lors des déplacements. Thème tout
aussi actuel, l’empreinte sur l’environnement est aussi diminuée. En ces temps de pandémie, ces
solutions sont des outils indispensable pour continuer à travailler comme à l’accoutumée tout en
diminuant les risques de contamination pour les personnes se rencontrant. En effet, difficile de
transmettre la grippe via son micro à son interlocuteur.
Malheureusement, les solutions actuelles ne sont pas la panacée : elles permettent bien souvent
de coopérer à distance, mais leur fonctionnement n’est pas suffisamment interactif pour
permettre de vraiment collaborer. Ce projet devra permettre d’augmenter l’interaction entre les
participants à une vidéoconférence afin qu’ils puissent vraiment collaborer.
1.3.
Objectifs
L’objectif de ce projet est de définir une solution de téléprésence moderne permettant aux
personnes de collaborer efficacement et ceci à un coût raisonnable. Il devra y avoir une
excellente immersion entre les interlocuteurs qui devront, quant à eux, être libre de leurs
mouvements.
Pour des raisons économiques et d’évolution technologique, les différents éléments de ce projet
doivent pouvoir s’imbriquer les uns aux autres tout en étant totalement interchangeables. Cela
permettra de laisser évoluer la solution avec des moyens différents d’ici quelques années.
Projet de Bachelor
Sylvain Röbig
Page |2
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
1. Introduction
1.4.
Structure
Le reste du document est organisé de la manière suivante :
•
•
•
•
•
La section 2 traite du choix de la solution.
La section 3 considère les études nécessaires à la réalisation du projet ainsi que les
différents logiciels qui y ont été intégrés.
La section 4 étudie les différents problèmes rencontrés lors de la réalisation du projet
ainsi que les solutions pour les résoudre.
La section 5 parle des améliorations qui peuvent encore être apportées au projet.
La section 6 conclue ce rapport.
1.5.
Petit lexique
1.5.1. Vidéoconférence ou visioconférence ?
Après quelques recherches et afin d’être certain de ne pas citer un terme faux dans le cadre
de mon projet, j’ai pu constater qu’il s’agit bien de deux termes synonymes, il n’y a aucune
différence entre l’un et l’autre !
1.5.2. Logiciels de conférence Web
Ces logiciels permettent de gérer des conférences à distance via Internet. Les principales
fonctions proposées sont :
•
•
•
•
•
le visionnage de documents (Word, Excel, Powerpoint, …) ainsi que leur annotation,
le partage d’applications (une personne voit l’application de l’autre et peut interagir
avec sa souris sur l’application distante)
un tableau blanc virtuel permettant d’écrire des idées ou de dessiner
une fonction de chat
un tableau de bord permettant de voir les participants présents ainsi qu’une
fonction « main levée » qui permet de poser une question ou demander la parole.
1.5.3. HD
HD est l’acronyme de haute définition. Il s’utilise principalement dans le cadre de téléviseurs,
de projecteurs à contrario de la SD (standard definition) et concerne la résolution :
•
•
•
•
SD : 720 x 576
HD 720p : 1280 × 720 à 50 et 60 Hz en progressif, aussi appelé « HD ready »
HD 1080i : 1920 × 1080 à 50 et 60 Hz en entrelacé
HD 1080p : 1920 × 1080 en 24 et 30 Hz en progressif, aussi appelé « Full-HD »
Projet de Bachelor
Sylvain Röbig
Page |3
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
1. Introduction
1.5.4. Téléprésence
Wikipedia 2 nous propose une excellente définition :
« Le terme téléprésence fait référence à plusieurs technologies qui permettent à une
personne d'avoir l'impression d'être présent, de donner l'impression d'être présent, ou
d'avoir un effet à un endroit autre que leur emplacement réel.
La téléprésence demande à ce que les sens de l'utilisateur, ou des utilisateurs, soient
soumis à des stimuli qui donnent l'impression d'être sur un site distant. En plus de
cela, l'utilisateur peut avoir la possibilité d'agir sur ce site distant. Dans ce cas, la
position de l'utilisateur ainsi que ses mouvements, actions, ou paroles peuvent être
perçues, transmises et dupliquées vers la destination voulue pour mettre cet effet en
action. De ce fait, l'information peut voyager à double sens entre l'utilisateur et
l'emplacement distant. »
Notre vision de ce terme est très proche de la définition citée. En effet nous voulons que les
interlocuteurs puissent collaborer comme s’ils étaient sur le même site.
2
http://fr.wikipedia.org
Projet de Bachelor
Sylvain Röbig
Page |4
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
2. Elaboration du concept (design)
2. Elaboration du concept (design)
2.1.
Les solutions actuelles
De nombreuses solutions de visioconférence existent déjà, principalement sous deux formes :
•
•
2.2.
Les solutions complètement propriétaires, tels que des
systèmes de la société Polycom 3 par exemple qui sont de pures
solutions de visiophonie : il s’agit seulement d’un système de
téléphone avec caméra, ce qui veut dire qu’elles n’exploitent
aucune fonction de collaboration. Certaines solutions sont
Système visioconférence
vendues sous le nom de téléprésence lorsqu’elles intègrent des
Polycom
écrans de plus grande dimension et une meilleure qualité (HD
pour certaines). Ces solutions professionnelles sont extrêmement coûteuses !
Les solutions logicielles basées sur un ordinateur disposant d’une caméra Web, que ce
soit des pures solutions de vidéophonie telles que Skype 4 ou alors des applications
collaboratives telles que ConnectNow 5 d’Adobe ou Yuuguu 6 par exemple. Ces
applications permettent de partager autant un espace de travail commun que des
fonctions de vidéophonie. En revanche, ces solutions relèguent la plupart du temps le
flux de la webcam dans une petite fenêtre sur l’espace de travail. Ce ne sont donc pas
des applications de téléprésence, vu qu’aucune immersion de la présence de son
interlocuteur n’est possible. D’autre part, étant donné que ce sont des applications pour
poste de travail, la webcam ne filme que le visage du participant, il n’est donc pas non
plus possible de voir la gestuelle du correspondant, difficile de voir ses mimiques vue la
petitesse de la fenêtre et impossible d’avoir une quelconque liberté de mouvement.
Le but
Le but principal de ce projet est d’augmenter la téléprésence pour améliorer la collaboration à
distance. En effet les solutions actuelles permettent tout au plus de coopérer mais ne
permettent pas de collaborer. Afin de faire jouer un élément essentiel de présence « humaine »,
il faut pouvoir intégrer le flux de la webcam en plein écran en jouant sur sa transparence pour
pouvoir simultanément utiliser un espace de travail commun.
Afin de pouvoir s’identifier à son correspondant, il faudra utiliser des supports de grande taille,
cela permettra en outre de pouvoir utiliser la solution à une certaine distance du support. De
cette manière le problème de liberté de mouvement pourra être gommé vu que l’utilisateur sera
libre d’utiliser la solution en étant assis ou debout.
3
http://www.polycom.com/
http://www.skype.com
5
http://www.adobe.com/acom/connectnow/
6
http://www.yuuguu.com
4
Projet de Bachelor
Sylvain Röbig
Page |5
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
2. Elaboration du concept (design)
Bien entendu les fonctions de base de collaboration en ligne permettant de partager une
application à l’écran ou d’écrire sur des tableaux blancs devront être maintenues.
Afin de pouvoir réaliser un prototype facilement réutilisable, les coûts des différents appareils
devront être analysés et des solutions ayant un excellent rapport qualité-prix devront être
trouvées. Aussi les différentes solutions qui y seront intégrées doivent être des modules séparés,
cela permettra ainsi de pouvoir faire facilement évoluer la solution suivant les évolutions
technologiques sans avoir besoin de tout changer à chaque modification.
2.3.
La solution proposée
Pour résoudre les différentes contraintes fixées, la solution créée doit pouvoir mixer un flux
vidéo provenant d’une webcam en plein écran et les applications collaboratives. L’utilisateur
devra pouvoir interagir sur l’écran à distance au moyen de périphériques tridimensionnels. La
solution devra être intégrée sur des supports de grandes dimensions (écran plat de TV ou
projecteur) et une application d’édition de documents devra y être intégrée.
2.4.
Les tâches
Nous avons défini quelques tâches à réaliser dans le cadre de ce projet :
1. Tester et évaluer les différentes solutions (section 3) :
a. Une possibilité d’échanger un flux vidéo avec un correspondant via le réseau.
b. Les applications qui nous permettrons de collaborer ensemble et de partager des
documents.
c. Une solution nous permettant de mixer le flux vidéo et les applications.
2. Définir le setup matériel possible, acheter le matériel et l’installer (section 4.2)
3. Définir et implémenter comment les utilisateurs interagirons sur notre sortie
(section 4.3).
4. Intégration des différentes solutions dans un tableau de bord facile à utiliser
(section 4.4).
5. Evaluation (section 5).
Projet de Bachelor
Sylvain Röbig
Page |6
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
3. Etudes des choix technologies
3. Etudes des choix technologies
Dans cette section nous présentons les différents aspects étudiés dans le cadre de ce travail. Cela
concerne principalement les différentes technologies nécessaires à la réalisation de notre solution de
téléprésence.
3.1.
Transparence
La transparence entre les différentes fenêtres des applications est un point essentiel pour la
réalisation de ce projet. Malgré une intégration de la transparence dans les fonctions Windows
depuis Windows 2000, aucune fonction embarquée ne permet de gérer la transparence
complète d’une fenêtre. En revanche de nombreux petits logiciels permettent cette
fonctionnalité. Quelques tests ont été réalisés sur une brochette des nombreux systèmes
disponibles pour pouvoir réaliser le projet.
3.1.1. Exemples de transparence de fenêtre avec une vidéo en arrièreplan
Opacité de la fenêtre à 80% :
Opacité de fenêtre à 40% :
Projet de Bachelor
Sylvain Röbig
Page |7
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
3. Etudes des choix technologies
3.1.2. Sélection de logiciels
Parmi les différents logiciels disponibles gérant la transparence des fenêtres sous Windows
nous en avons retenu cinq qui correspondaient à nos besoins :
1.
2.
3.
4.
5.
Glass 2K
Lucid
Vitrite
Powermenu
DM2
Glass 2K 7
Glass2K est un minuscule programme fonctionnant sous Windows 2000 et XP permettant de
gérer la transparence des fenêtres ainsi que la transparence de la barre des tâches. A noter
qu’il fonctionne de manière tout à fait correcte sur Vista même si cela n’est pas mentionné
dans le descriptif du produit et qu’il dispose d’une fonction pour se souvenir de la
transparence de la fenêtre lors du lancement suivant.
Lucid 8
Lucid est un petit utilitaire qui permet de modifier la transparence des fenêtres Windows. A
noter qu’il n’a pas bien fonctionné lors des tests !
Vitrite 9
Vitrite est aussi un petit utilitaire qui permet de modifier la transparence des fenêtres
Windows. Il fonctionne d’une manière similaire à Glass 2K mais avec une interface utilisateur
moins bien conçue.
Powermenu 10
Ce logiciel permet énormément de fonctionnalités en rapport aux transparences des
fenêtres, mais en revanche il n’utilise pas de raccourci claviers.
DM2 11
DM2 est un logiciel OpenSource. Il permet de faire tout ce qui était possible de faire avec
Powermenu et y intègre de nouvelles fonctionnalités, comme par exemple la réduction d’une
fenêtre non pas dans la barre des tâches, mais dans l’icône DM2. Il permet de gérer la
transparence des fenêtres soit par le menu contextuel de la fenêtre courante, soit par des
raccourcis clavier.
7
http://chime.tv/products/glass2k.shtml
http://www.softplatz.com/Soft/Utilities/Shell-Launchers/Lucid.html
9
http://www.vanmiddlesworth.org/vitrite
10
http://www.abstractpath.com/powermenu/
11
http://dm2.sourceforge.net/
8
Projet de Bachelor
Sylvain Röbig
Page |8
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
3. Etudes des choix technologies
3.1.3. Critères d’évaluations
Les critères d’évaluations suivants ont été définis :
Critère :
Transparence des fenêtres
Interface utilisateur pour la gestion des différentes fonctions
Raccourcis clavier permettant de changer les paramètres
Fonction Fenêtre « on top » permettant de bloquer une
fenêtre au premier plan
Fonction sauvegarde des paramètres des fenêtres.
Echelle d’évaluation
Pré requis
30%
20%
30%
20%
3.1.4. Résultats
L’échelle des valeurs est la suivante :
•
•
•
0 : ne répond pas au critère
1 : répond au critère, sans plus
2 : répond au critère et propose une solution meilleure que la moyenne.
Nom du programme :
Transparence des fenêtres
Interface utilisateur
Raccourcis clavier
Fonction fenêtre "on Top"
Sauvegarde des
paramètres
Score
Glass 2K
Lucid
Vitrite
DM2
OK
1
2
1
0
Powermenu
OK
2
0
1
0
OK
2
2
2
1
Insatisfaisant
0
0
0
0
1.8
0
1
0.9
1.8
OK
2
2
2
1
Etant donné que deux programmes sont à égalité, il a été décidé de les garder jusqu’à la fin
du projet et d’établir un choix définitif une fois toutes les imbrications effectuées.
3.1.5. Remarque sur la transparence avec la vidéo
Il a été rapidement constaté que la fonction de transparence de fenêtre dans le cas de
fenêtres bureautiques ne pose aucun problème. En revanche dès que nous avons essayé
d’intégrer une fenêtre avec de la vidéo en arrière plan, nous nous sommes rendu compte que
suivant le système d’exploitation cela pouvait poser de gros problèmes (voir point 4.1 pour
plus d’informations).
3.2.
Programmes de conférence web
De nombreux logiciels de conférence web ont été évalués afin de trouver la meilleure solution
dans le cadre de ce projet. Toutefois, afin de rester ouvert à d’autres solutions logicielles plus
Projet de Bachelor
Sylvain Röbig
Page |9
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
3. Etudes des choix technologies
modernes qui arriveront par la suite, le projet se veut ouvert et doit donc pouvoir s’utiliser avec
n’importe quelle solution de conférence web.
Pour des raisons évidentes de simplification, nous avons fait l’impasse sur les solutions
nécessitant un serveur dédié pour fonctionner, mais bien de solutions de conférence basées sur
le web.
3.2.1. Sélection de logiciels
Des dizaines de logiciels de conférence web sont disponibles sur Internet. Quelques critères
importants ont été retenus afin de réduire le nombre d’applications à une dizaine qui vont
être passées dans un crible plus fin. Les critères éliminatoires étaient les suivants :
1.
2.
3.
4.
Liste d’utilisateurs et possibilité d’inviter des participants depuis l’application
Possibilité de partager son écran
Application de tableau blanc partagée
Utilisation en ligne et sans serveur dédié.
Après de nombreuses recherches sur le Web, les logiciels suivants ont été sélectionnés :
1.
2.
3.
4.
5.
6.
7.
8.
9.
Adobe Acrobat Connect Professional
Adobe Acrobat ConnectNOW (gratuit)
Vyew
EVO
Yuuguu
Yugma Skype Edition
Innerpass for Skype
Glance
Dimdim
Nous aurions aussi souhaité tester Google Wave, mais étant donné que les accès sont
distribués au compte-goutte, nous n’avons malheureusement pas pu le faire dans le cadre de
ce projet.
Adobe Acrobat Connect Professionnal et ConnectNow 12
Ce sont deux applications très avancées qui permettent en plus d’une collaboration avec les
outils audio et vidéo de partager un tableau blanc et aussi de partager complètement une
application de son poste de travail ou seulement une partie de son écran. La différence entre
les 2 versions est que ConnectNow, qui est gratuit, ne peut accueillir que 3 participants alors
que la version payante peut accueillir jusqu’à 1500 participants. Ce sont aussi les seules
applications qui permettent une prise de contrôle d’un écran distant par un autre utilisateur
et donc de vraiment collaborer sur des documents dans n’importe quelle application. En
revanche et comme les autres produits, ces deux versions ne gèrent qu’une souris par poste
de travail.
12
http://www.adobe.com/fr/acom/connectnow/
Projet de Bachelor
Sylvain Röbig
P a g e | 10
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
3. Etudes des choix technologies
Vyew 13
C’est un logiciel gratuit mais plein de publicités qui propose aussi des fonctions avancées de
collaboration. En revanche la fonction de partage d’application en plus du tableau blanc ne
permet pas de partager une application en particulier, mais seulement l’écran entier. De plus,
sa couleur vert éclatant n’est pas idéale au niveau de la transparence des fenêtres.
Evo 14
Evo a été testé parce qu’il provient du monde académique. Malgré une interface légèrement
désuète et des fonctions quelque peu en retrait par rapport aux meilleures réalisations du
marché, il permet tout de même de collaborer.
Yuuguu 15
Yuuguu est un logiciel de cross-networking qui permet d’utiliser les différents réseaux
existants tels que Skype, Yahoo, AIM, Google Talk, ICQ, MSN pour communiquer. En
revanche, il est plus restrictif en ce qui concerne la collaboration.
Yugma SE Skype Edition 16
Yugma peut s’intégrer à Skype en l’ajoutant dans les extras. Etant donné qu’on utilise déjà
Skype pour les fonctions de vidéo, il a été testé. Malheureusement le partage d’écran et
d’application est un peu faible et l’interface utilisateur n’est pas très propre.
Innerpass for Skype 17
Innerpass est aussi un plug-in pour Skype. Le logiciel n’est que partiellement gratuit, les
fonctions « intéressantes » sont payantes. Le partage d’écran à distance n’a pas fonctionné
lors des tests et l’interface n’est pas de très bonne facture.
Glance 18
Par rapport à ses concurrents, Glance ne propose pas une fenêtre où il est facile d’ajouter
des utilisateurs et le reste de l’interface est aussi relativement compliqué à utiliser. Il ne
dispose pas non plus d’une fonction tableau blanc.
Dimdim 19
Dimdim est un bon programme de collaboration, malheureusement les fonctions de partage
d’écran et d’application ne sont que partiellement disponibles.
13
http://vyew.com/site/
http://evo.caltech.edu/
15
http://www.yuuguu.com
16
https://www.yugma.com/share_skype.php
17
https://www.innerpass.com/?
18
http://www.glance.net/
19
http://www.dimdim.com/
14
Projet de Bachelor
Sylvain Röbig
P a g e | 11
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
3. Etudes des choix technologies
3.2.2. Critères d’évaluation
Les critères d’évaluation suivants ont été retenus :
Critère :
Gratuité du logiciel
Publicité
Interface utilisateur
Liste d'utilisateurs et fonction main levée
Ajout de participants (invitations)
Partage d'écran yc application
Prise de contrôle par un participant possible
Tableau blanc
Chat
Compatibilité transparence avec vidéo en
arrière plan
Echelle d’évaluation
10%
-10%
10%
10%
10%
15%
20%
10%
5%
20%
Projet de Bachelor
Sylvain Röbig
Evo
Yuuguu
Yugma Skype ed
0
0
1
1
1
0
2
1
1
1
1
1
1
0
0.5
0.5
1
0
0.5
0.5
1
0
1
1
0.5
1
1
1
0.5
0.5
1
1
0.5
0.5
0
1
0
1
1
1
1
1
0.5
1
1
1
0.8
1.0 0.78 0.43
Glance
Dimdim
InnerPass for skype
Vyew
Gratuité du logiciel
Publicité
Interface utilisateur
Liste d'utilisateurs et
fonction main levée
Ajout de participants
(invitations)
Partage d'écran yc
application
Prise de contrôle par un
participant possible
Tableau blanc
Chat
Compatibilité transparence
avec vidéo en arrière plan
Final
Adobe ConnectNow
Nom du programme :
Adobe Acrobat Connect Pro
3.2.3. Résultats
0.5
0.5
1
0
0
0
1
0
1
1
1
1
1
1
1
0.5
0
1
0.5
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0.5
0
1
0
0
0
1
1
1
1
0.6 0.63
0.3 0.55 0.83
P a g e | 12
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
3. Etudes des choix technologies
L’échelle des valeurs est la suivante :
•
•
•
0 : ne répond pas au critère
1 : répond au critère, sans plus
2 : répond au critère et propose une solution meilleure que la moyenne.
3.2.4. Choix
D’après la pondération retenue, Adobe ConnectNow est le logiciel le plus adapté à nos
besoins.
3.3.
Programme de vidéoconférence
Il a fallu rapidement se rendre à l’évidence : développer un programme pour gérer notre espace
collaboratif en même temps que la conférence vidéo n’est pas réalisable dans le temps imparti
pour un travail de bachelor. Pour réaliser notre prototype nous utiliserons donc deux
programmes distincts, un logiciel qui nous permettra d’utiliser les fonctions de conférence et
l’autre qui gérera les fonctions audio ainsi que la vidéo en plein écran.
3.3.1. Logiciels sélectionnés et raisons
•
•
•
Skype : Skype est un logiciel répandu et facile d’accès pour tous. De plus il permet
d’utiliser de la vidéo en fenêtre séparée ou en plein écran et d’activer une réponse
automatique vidéo à un appel, ce qui peut être intéressant dans le cadre de
conférences.
MSN Messenger : autre application connue, qui permet de faire de la
vidéoconférence.
Google Talk : application de vidéoconférence intégrée aux comptes GMAIL.
3.3.2. Vidéo haute qualité sur Skype :
Pour établir une liaison en vidéoconférence utilisant la fonction High Quality Video avec
Skype il faut cependant avoir un équipement à la hauteur ! Les deux correspondants doivent
utiliser une webcam Logitech certifiée High Quality Video, la version 3.6 de Skype et le
logiciel Logitech QuickCam 11.5, le tout sur un ordinateur doté d'un processeur à double
cœur et d'une connexion haut débit.
La résolution n’est pas au format HD, mais en 640 x 480 (VGA), ce qui sans être exceptionnel
est déjà le double de la résolution standard d’envoi de vidéo.
3.3.3. Choix du logiciel
Après avoir essayé les différents logiciels proposés, nous n’en avons retenu qu’un : Skype. En
effet c’est le seul qui permet actuellement de faire de la vidéo haute qualité et d’autre part il
propose un interfaçage par le biais du langage JAVA.
Projet de Bachelor
Sylvain Röbig
P a g e | 13
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
3. Etudes des choix technologies
3.4.
Périphérique utilisateur (souris) 3D
Afin de pouvoir interagir sur le périphérique de sortie en toute liberté, il fallait absolument
trouver une solution de pointage qui fonctionne en l’air, sans avoir besoin d’être posée sur une
table ou de devoir toucher l’écran. Nous avons donc de suite éliminé les souris bureautique ainsi
que les pointeurs sur des surfaces de projections type E-beam ou Smartboard. L’évaluation s’est
portée sur deux solutions principales permettant une totale liberté, la télécommande Wiimote
que tous les adeptes de la console Nintendo WII connaissent et la souris Logitech MX Air qui
dispose aussi d’une technologie 3D nommée Freespace, basée sur un gyroscope mécanique.
A noter que la Wiimote n’est pas conçue pour être une souris, mais étant donné qu’elle est
compatible Bluetooth et que moyennant quelques logiciels et un peu de programmation elle est
utilisable en tant que telle, elle a quand même été retenue. En revanche l’utilisation d’une
tablette graphique a été éliminée car peu pratique en utilisation sans table.
3.4.1. Wii Mote
Comme déjà décrit la Wiimote n’est pas une souris à proprement parler. En revanche, elle
dispose de capteurs gyroscopiques qui lui permettent de savoir dans quelle position elle est
dirigée et peut donc être utilisée en tant que souris 3D moyennant une communication ad
hoc avec l’ordinateur.
La Wiimote est normalement utilisée avec une « Sensor Bar » qui est un émetteur infrarouge.
Les capteurs situés sur la Wiimote permettent de déterminer dans quelle direction la
Wiimote est dirigée. Elle est aussi utilisable sans la « Sensor Bar » et dans ce cas on ne peut
plus pointer vers l’écran, il faut diriger le pointeur de la souris en inclinant la Wiimote.
3.4.2. Logitech MX Air
La Logitech MX Air est une souris avec technologie tridimensionnelle. Etant donné qu’elle se
connecte au PC par un capteur standard de souris sans-fil, aucun problème à la connecter. Le
programme fourni avec la souris permet de personnaliser une partie des touches. Cela nous
permet par exemple de pouvoir ajuster le niveau de transparence des fenêtres comme avec
la Wiimote. Cependant nous ne sommes pas aussi libres et ne pouvons pas par exemple
utiliser des combinaisons de 2 touches de la souris comme sur la Wiimote.
3.5.
Caméra Web
Il y a actuellement pléthore de fabricants et de modèles de caméra Web sur le marché. Etant
donné que nous souhaitons travailler avec une image en plein écran, la résolution de la caméra
est un point important, nous avons donc arrêté comme critère principal le fait qu’elle puisse
filmer en HD. Actuellement malheureusement un seul logiciel utilise la fonctionnalité HD pour la
visioconférence : Skype.
Projet de Bachelor
Sylvain Röbig
P a g e | 14
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
3. Etudes des choix technologies
Le choix s’est arrêté sur deux modèles compatibles Skype HQV (High Quality Video) de Logitech,
dont une avec pied motorisé :
•
•
3.6.
Quickcam Sphere AF (avec pied motorisé)
Quickcam Pro 9000.
Interactions de plusieurs souris
L’idée d’interagir avec plusieurs souris sur un ordinateur afin d’ouvrir la participation à plusieurs
utilisateurs devant un même écran s’est avérée plus difficile à réaliser que prévu. En effet, le fait
d’avoir plusieurs souris connectées à un ordinateur ne pose aucun problème en soit, les
mouvements des souris sont additionnés si les souris sont déplacées simultanément. En
revanche, le système d’exploitation n’est pas capable d’interpréter 2 souris différentes pour en
faire 2 curseurs différents et encore moins de traiter des événements des 2 curseurs simultanés
(par exemple un déplacement d’un objet avec une souris et un clic de l’autre souris sur un
fichier).
3.6.1. Réalisations existantes
Quelques projets ont déjà été réalisés, certains il y a même de nombreuses années comme
ce projet 20 de l’Université du Maryland réalisé par Juan Pablo Hourcade et Benjamin B.
Bederson en 1998 déjà pour permettre à plusieurs enfants d’utiliser une application de
dessin en même temps. Malheureusement, comme déjà évoqué, ces possibilités sont
extrêmement liées au système d’exploitation et ce qui a été réalisé en 1998 n’est plus du
tout utilisable sur les ordinateurs actuels.
Nous nous sommes aussi tournés vers d’autres protocoles, telle que TUIO 21 afin de regarder
si leur gestion permettait de réaliser ce genre d’interfaces. Malheureusement ce n’est pas le
cas, certaines applications basées sur TUIO permettent bien de reconnaître plusieurs souris
afin de simuler des doigts sur un écran (multitouch), mais ne permettent pas d’utiliser
plusieurs curseurs différents. De plus, comme TUIO est un protocole, toutes les implications
sont dépendantes de l’OS.
3.6.2. Alternatives
Lors des recherches autour de l’interaction de plusieurs souris, nous avons remarqué que
certains logiciels permettent une utilisation asynchrone des souris : un utilisateur a le
contrôle du curseur et le deuxième utilisateur doit cliquer pour prendre le contrôle du
curseur. A ce moment-là, le premier utilisateur perd le contrôle du curseur. Cette solution
pourrait être intéressante, mais malheureusement cela ne satisfaisait pas à notre utilisation.
De même, le programme GlovePIE utilisé pour les interactions avec la Wiimote dispose d’un
script nommé « MouseParty » qui permet d’afficher plusieurs faux curseurs par rapport aux
20
21
http://eprints.kfupm.edu.sa/26550/1/26550.pdf
http://www.tuio.org
Projet de Bachelor
Sylvain Röbig
P a g e | 15
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
3. Etudes des choix technologies
mouvements de plusieurs souris. Cependant l’utilisation de 2 curseurs simultanés n’est pas
non plus possible.
D’autres projets tels que RAWMouse 22 ou CPNMouse 23 existent mais ne fonctionnent pas ou
de manière totalement imparfaite.
3.6.3. Solution possible
Après quelques recherches, nous avons trouvé le projet Java Input aussi appelé Jinput 24. Ce
projet permet de récupérer les positions et les mouvements de nombreux périphériques
(Joystick, clavier, souris, trackball, …). Nous sommes relativement rapidement parvenus à
identifier les différents périphériques reconnus par le système. Malheureusement le code du
projet est assez obscur et il a fallu quelques jours de programmation en s’aidant d’un
exemple fourni avec le code pour enfin pouvoir récupérer les déplacements de plusieurs
souris. En effet il est indispensable d’ouvrir une fenêtre Java pour que Jinput puisse
récupérer les mouvements de périphériques, ce n’est pas possible de le faire en sortie de
console uniquement. Finalement nous arrivons en plus de la fenêtre à faire des sorties sur la
console, ce qui veut dire que nous pourrions utiliser ce code pour gérer les mouvements de
plusieurs souris.
Il resterait ensuite à adapter notre MouseListener en conséquence pour qu’il puisse non plus
interpréter seulement les mouvements d’une seule souris mais plusieurs mouvements et
événements (clics) et ainsi pouvoir programmer une fenêtre d’application gérant plusieurs
curseurs.
Malheureusement étant donné que la Wiimote n’est pas une vraie souris et que ses
mouvements sont interprétés par GlovePIE, elle n’apparaît pas comme une souris dans Jinput
et ne peut donc pas être interprétée. En revanche la MX Air est reconnue sans souci.
Fenêtre montrant les mouvements d’une souris ainsi que les différents
événements :
22
http://www.jstookey.com/arcade/rawmouse/
http://cpnmouse.sourceforge.net/
24
https://jinput.dev.java.net
23
Projet de Bachelor
Sylvain Röbig
P a g e | 16
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
3. Etudes des choix technologies
Sortie sur la console des mouvements de la souris :
3.6.4. Contrainte
Dans le cadre du travail de bachelor et pour des raisons de temps, il a été décidé de s’arrêter
au fait qu’il était possible d’obtenir les déplacements de plusieurs souris, mais que la solution
ne serait développée que sur le concept « un utilisateur à chaque place de travail » et non
plusieurs sur le même poste.
3.7.
Application self-made pour échanger des données
Lors de l’avancement du projet, nous avons remarqué que la solution utilisée (ConnectNOW
d’Adobe) ne permettait aucune intervention ou modification et qu’elle présentait un retard de
quelques secondes dans la transmission des informations. Nous avons décidé de préparer le
terrain avec une petite application client-serveur permettant d’échanger des données entre les 2
utilisateurs distants. Pour se représenter facilement le problème, nous avons choisi de
transmettre les positions des deux curseurs sur une fenêtre Java, un curseur étant celui de
l’utilisateur local et l’autre curseur celui de l’utilisateur distant.
3.7.1. Protocoles
Deux protocoles différents sont disponibles pour envoyer des messages, TCP et UDP. Dans
notre cas l’ordre d’arrivée des messages est important, car si les mouvements de souris et les
événements arrivent dans le désordre sur l’autre ordinateur, cela peut créer des problèmes.
Le protocole TCP est donc bien plus adapté dans ce sens.
3.7.2. Créer un programme client – serveur
Il faut définir un port pour envoyer des données sur l’application client et faire écouter le
serveur sur le même port. Ensuite il faut envoyer un message avec les données à transmettre
(dans ce cas la position de la souris) qui va être ensuite interprété par le serveur. A noter que
dans ce cas et vu qu’il faut avoir la position de l’autre souris sur les 2 fenêtres, il faut que
l’application client devienne aussi serveur et que l’application serveur soit aussi client.
Un bon tutorial 25 de Sun permet de mieux appréhender le sujet.
25
http://java.sun.com/docs/books/tutorial/networking
Projet de Bachelor
Sylvain Röbig
P a g e | 17
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
3. Etudes des choix technologies
Code en JAVA d’une procédure pour envoyer un message au serveur :
public void sendmessage (String args) throws IOException {
Socket sock = new Socket
(destinationaddress, portnumber);
BufferedWriter dataout;
String Message = args;
System.out.println("Sending "+ Message + " ...");
dataout = new BufferedWriter (new
OutputStreamWriter (sock.getOutputStream ()));
dataout.write (Message, 0, Message.length ());
dataout.flush ();
sock.close ();
}
Code pour l’écoute d’un message et son traitement :
while (listenforevenements >= 1){
sock = s.accept ();
datain = new BufferedReader (new InputStreamReader
(sock.getInputStream ()));
String inputmsg = (datain.readLine ());
System.out.println (inputmsg);
splitstring(inputmsg);
drawMousePosition(mousex, mousey);
3.7.3. Limites actuelles
La limite de cette petite application est qu’il n’est actuellement uniquement possible
d’envoyer la position de la souris à l’autre correspondant et de recevoir la position de sa
souris.
Afin de pouvoir créer des dessins complets, on peut s’imaginer mettre un argument dans le
message envoyé, afin qu’il reflète par exemple si c’est un déplacement de la souris (avec
l’argument Mouse par exemple) ou si c’est un dessin d’un cercle (avec l’argument Circle par
exemple).
Finalement et pour la phase d’évaluation, Bruno Dumas a continué le développement de
cette application afin de pouvoir déplacer des mots sur la fenêtre. Une fois les mots crées, ils
sont répartis aléatoirement sur la fenêtre et leur position est envoyée par l’application
serveur au client (en utilisant le message NEW). Ensuite lorsqu’un mot est cliqué et déplacé
sur la fenêtre, un message de mise à jour (UPD) est envoyé au client avec la nouvelle position
du mot. Le message RST permet de remettre à zéro les mots et le message MVR gère le
changement de couleur lors d’un passage de souris sur le mot (« mouse over »).
A noter que bien d’autres fonctions peuvent ensuite être encore ajoutées à cette application,
il suffit d’ajouter pour chaque fonction un message d’envoi du côté du serveur et de le traiter
du côté du client !
Projet de Bachelor
Sylvain Röbig
P a g e | 18
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
3. Etudes des choix technologies
3.8.
Matériel utilisé
3.8.1. Périphériques utilisateurs
Comme déjà mentionné, les 2 périphériques utilisateurs suivants ont été choisis :
1. Logitech MX Air
2. Nintendo Wiimote.
A noter que pour utiliser les Wiimote, il nous faut encore les « Sensor bar » (voir point 3.4.1).
3.8.2. Caméra Web
Les caméras web suivantes ont été choisies, principalement pour leur résolution (compatible
Skype High Quality Video) :
3. Logitech Quickam Pro 9000
4. Logitech Quickam Sphere AF disposant d’un pied motorisé et d’une rallonge
3.8.3. Projecteur
Pour éviter les problèmes de personnes passant
devant la projection ou de place nécessaire à une
rétroprojection, nous avons choisi un projecteur
à courte distance de projection, le Sanyo PLCXL51. Il permet une projection de 2m de
diagonale à une distance de seulement 8 cm du
mur. Il est donc idéal pour les projections dans
les petites pièces et ne nécessite pas
d’installation compliquée vu qu’il peut être posé
devant le mur simplement sur une table ou un
petit meuble.
Il dispose de connecteurs VGA, composite et
vidéo standard. Il peut également être utilisé via
le réseau par son port Ethernet ou par le Wifi
intégré. Il a une puissance d’affichage de 2700
lumens et un contraste de 1200:1. Afin d’obtenir
une distance de projection courte l’image passe
par plusieurs lentilles et est ensuite réfléchie sur
un miroir asphérique.
Système de projection du XL51
Comparaison de distance de projection
pour une image de 80 pouces de diagonale
3.8.4. Télévision
Pour pouvoir améliorer notre perception de la téléprésence, il a été rapidement défini qu’un
setup d’une deuxième pièce devait être défini et qu’il devait être différent du premier. Pour
évaluer notre immersion dans la téléprésence, il était donc nécessaire de changer de
Projet de Bachelor
Sylvain Röbig
P a g e | 19
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
3. Etudes des choix technologies
support. Dès lors, un gros téléviseur LCD s’imposait. Au niveau des caractéristiques, le choix
s’est porté sur une diagonale de 52" (132 cm) qui offre une taille d’écran suffisamment
grande tout en restant à un prix raisonnable. La résolution devait être au moins en Full-HD
(1920 x 1080 px) et la connectique devait permettre de brancher un ordinateur standard.
Finalement la disponibilité de l’appareil a fait que nous avons choisi le LE52B750 de Samsung.
3.9.
Résumé du setup
3.9.1. Logiciels
Nom
Windows Vista
Glass2K
DM2
GlovePIE
Skype
Eclipse
Skype4Java
Type
OS
Gestion transparence
Gestion transparence
Intégration Wiimote
Application
Application
API
Remarque
Permet de gérer la transparence avec de la vidéo
Permet de gérer l’audio et la vidéo
Outil de développement pour JAVA
Permet l’interaction Java <-> Skype
3.9.2. Matériel
Nombre
1
2
2
Description
Logitech MX Air
Nintendo Wiimote
NYKO Wyreless Sensor Bar
1
1
1
1
2
Logitech Quickcam Sphere AF
Logitech Quickcam Pro 9000
Samsung LE52B750
Sanyo PLC-XL51
Bluetake BT007SX
Projet de Bachelor
Sylvain Röbig
Catégorie
Souris
Souris
Emetteur
Wiimote
Webcam
Webcam
Télévision
Projecteur
Dongle
Bluetooth
Setup 1
X
X
X
Setup 2
X
X
X
X
X
X
X
X
P a g e | 20
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
3. Etudes des choix technologies
3.9.3. Schéma de setup possible
Voici un petit schéma représentant un setup possible de la solution :
-
La personne est assise à une distance de 1 à 3 m du téléviseur,
Elle dispose d’une Wiimote pour interagir sur l’application,
Une Webcam filme l’utilisateur en prenant son corps en entier pour permettre de
visualiser la gestuelle.
Projet de Bachelor
Sylvain Röbig
P a g e | 21
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
4. Réalisation du Tableau de Ver
4. Réalisation du Tableau de Ver
4.1.
Transparence des fenêtres
La transparence des fenêtres est une fonction intégrée à Windows depuis la version Windows
2000. Son fonctionnement en revanche ne va pas sans poser de problèmes. En effet lors des
tests, la transparence de fenêtre bureautique n’a posé aucun problème ; en revanche dès que
nous avons tenté d’utiliser de la transparence avec une fenêtre vidéo en arrière-plan, nous avons
eu des soucis de clignotements incessants de l’image avec Windows XP Pro et ce avec tous les
logiciels utilisés. Le problème ne pouvait donc pas venir des logiciels, mais bien du système
d’exploitation. Après quelques autres essais, nous avons remarqué que ce problème
n’apparaissait jamais sur un ordinateur équipé de Windows Vista. La solution simple à ce souci
était d’équiper les 2 ordinateurs du projet avec Windows Vista.
4.2.
Setup de l’installation
4.2.1. Webcam
Il existe 2 problèmes principaux lié à l’utilisation des caméras Web :
•
•
La caméra Web filme ce qu’on fait, ce qui veut dire que le correspondant voit qu’on
montre à gauche lorsqu’on montre la droite et vice-versa. Il faut donc utiliser la
fonction de miroir horizontal disponible sur toutes les caméras Web pour inverser
cette image. Cette opération faite on se retrouve avec un écran montrant vraiment
une symétrie par rapport à nos mouvements, ce qui permet de beaucoup mieux
s’identifier à un mouvement vers la gauche ou vers la droite.
La caméra Web ne se trouve jamais à la même hauteur que nos yeux, ce qui fait que
nous avons toujours l’impression que la personne ne nous regarde pas. Pour essayer
d’améliorer ce problème, il faut placer la caméra Web à la hauteur la plus proche
possible des yeux. Afin d’essayer de réduire ce problème nous avons testé la caméra
Sphere AF de Logitech qui dispose d’un pied motorisé et d’une rallonge ce qui
permet de la placer à une hauteur plus adaptée.
Setup webcam avec écran TV 52"
Le téléviseur étant posé sur une étagère il se
trouve déjà à une hauteur relativement
importante. De ce fait en positionnant la
webcam au dessus de l’écran on se retrouve
avec une vue en plongée qui se traduit par une
impression d’oppression. Le setup avec la
caméra web sur pied avec la rallonge posée sur
le socle de l’écran est meilleur car la caméra
filme à une hauteur proche de la hauteur des
Projet de Bachelor
Sylvain Röbig
P a g e | 22
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
4. Réalisation du Tableau de Ver
yeux. Le fait qu’elle obstrue légèrement la vision de l’écran n’est pas un problème en soit vue
la taille de l’écran et le fait qu’elle n’en obstrue qu’une surface infime.
Quickcam Pro
9000
(trop haut)
Quickcam
Sphere AF avec
rallonge
Setup avec projecteur
Le setup avec le projecteur à courte
distance de projection pose quelques
légers soucis au niveau du positionnement
de la Webcam. En effet, la taille énorme de
l’image exige de mettre la Webcam en
dehors de la zone de projection. Si nous la
positionnons au-dessus de l’image elle est
beaucoup trop haute. En revanche si nous
la mettons en dessous de l’image la
position est beaucoup plus convenable.
Webcam
Projecteur
Idéalement, il faudrait l’installer à hauteur
des yeux, éventuellement en perçant une petite ouverture dans un écran de projection.
4.2.2. Son / micro
Au niveau de l’audio, nous n’avons pas rencontré de problèmes particuliers. En effet Skype
intègre une fonction de correction des échos. Du côté de l’installation, nous avons utilisé les
haut-parleurs disponibles sur la télévision et, les haut-parleurs de l’ordinateur pour
l’installation avec le projecteur ; quant aux micros, nous avons utilisé les micros intégrés dans
les webcams sans que cela ne pose de problèmes particuliers.
Projet de Bachelor
Sylvain Röbig
P a g e | 23
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
4. Réalisation du Tableau de Ver
4.3.
Interfacer la Wiimote
Quelques tutoriaux 26 existent sur Internet concernant cet interfaçage.
4.3.1. Bluesoleil
Bluesoleil est un programme de gestion des périphériques Bluetooth qui fonctionne à la
perfection avec la Wiimote et qui simplifie la connexion de la Wiimote à l’ordinateur. Il est
régulièrement recommandé dans les discussions pour être utilisé avec les Wiimote.
Cependant, étant donné que c’est un logiciel payant et que nous n’avons pas de vision sur le
développement futur du logiciel, la solution que nous utiliserons doit aussi pouvoir
fonctionner sans ce logiciel.
Après quelques essais, le gestionnaire des périphériques Bluetooth fourni avec Windows
permet de réaliser la même opération de synchronisation du périphérique Bluetooth que
Bluesoleil et répond donc aussi aux critères pour fonctionner dans ce projet.
4.3.2. GlovePIE
GlovePIE est le programme qui permet d’interpréter les commandes et les mouvements de la
Wiimote pour les transférer dans le système d’exploitation. C’est un logiciel gratuit et
OpenSource. Il permet d’utiliser la Wiimote comme télécommande pour les jeux avec pour
chaque jeu un set de commandes différent ou de l’utiliser comme une souris
tridimensionnelle. C’est cette fonction que nous utiliserons et nous profiterons d’attribuer
quelques fonctions spécifiques aux boutons afin d’utiliser au mieux de ce périphérique dans
notre cas.
GlovePIE est fourni avec de nombreux scripts en standard ce qui permet d’avoir déjà une
petite vue des possibilités offertes par le programme. Reste ensuite à programmer les
interactions dont nous aurons besoin.
Remarque à propos de GlovePIE
Nintendo essaie actuellement de combattre toutes les possibilités de détourner l’utilisation
première de la WII et de ses accessoires ce qui rend la documentation ainsi que les tutoriaux
difficiles à trouver et qui peut aussi rendre certains liens que je fournis obsolètes dans
quelques temps. Les sites développant ce genre de fonctions sont fermés les uns après les
autres. Cependant quelques pages montrant les différentes fonctions sont disponibles, dont
le blog27 de mutron.org.
26
27
Par exemple : http://www.playeradvance.org/forum/showthread.php?t=5011
http://blog.mutron.org/glovepie-scripts.html
Projet de Bachelor
Sylvain Röbig
P a g e | 24
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
4. Réalisation du Tableau de Ver
Boutons WIImote dans GlovePIE
Afin de pouvoir exécuter une commande avec chaque bouton de la Wiimote, GlovePIE a
assigné des noms à tous les boutons de la Wiimote.
Vous trouvez la liste des noms des boutons sur la figure 28 ci-dessous.
Fonctions dont nous avons besoin
Voici les quelques fonctions utiles dans le cadre de notre projet :
•
•
•
•
•
28
Mouvement de la souris (pointeur)
Clic gauche et clic droit
Basculement entre les fenêtres Windows
Pavé directionnel
Adaptation de la transparence
Source : http://www.clubic.com/article-73032-4-piloter-ordinateur-wiimote-telecommande.html
Projet de Bachelor
Sylvain Röbig
P a g e | 25
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
4. Réalisation du Tableau de Ver
Programmation des boutons
Les boutons ont été programmés de la manière suivante :
Boutons
directionnels
Clic droit
Clic gauche
Plus de
transparence
Moins de
transparence
Basculement
de fenêtres
(ALT+TAB)
Basculement
de fenêtres
(Win+TAB)
On Screen
Keyboard
Remarques :
GlovePIE ne permet pas l’utilisation de boucles for ou while, car le programme fait
automatiquement un loop dans l’entier du programme pour gérer les interactions faites sur
la commande. Les boucles for ou while sont programmables en tant que telles, mais ne
devraient normalement pas être utilisées. D’ailleurs elles n’ont jamais fonctionnées durant
les tests.
De notre côté nous avons besoin de boucles pour pouvoir terminer certaines combinaisons
de touches, par exemple un Alt+Tab pour basculer entre les fenêtres. Plutôt que d’utiliser des
boucles while, il vaut donc mieux simplement terminer les opérations dont nous avons
besoin en ajoutant ces données lorsque l’on presse sur le bouton A pour cliquer par exemple.
Exemple avec la programmation du Alt+Tab :
if(Wiimote.Home)then
Key.Alt+Key.Tab=TRUE
Key.Tab=FALSE
var.kitt1 = 1
wiimote.Rumble = 1
wait 200 ms
wiimote.Rumble = 0
endif
Projet de Bachelor
Sylvain Röbig
Fait vibrer la Wiimote
P a g e | 26
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
4. Réalisation du Tableau de Ver
A la fin du script la touche Alt est toujours appuyée et la variable var.kitt1 qui fait clignoter
les LEDS est toujours à 1. Vu que le Alt-Tab se termine toujours en cliquant sur la souris
(Bouton A de notre Wiimote) il suffit donc de terminer notre commande lors du clic sur le
bouton A de la Wiimote :
if Wiimote.A then
var.kitt1 = 0
Key.Alt=False
Key.Windows=False
Mouse.LeftButton = True
else
Mouse.LeftButton = False
endif
Cela permet de terminer les touches qui ont été appuyées par le Alt-Tab et d’éteindre le
clignotement des LEDS (la variable var.kitt1 est ramenée à 0).
Programmation de la transparence / différents scripts :
Deux différentes applications gérant la transparence ont été utilisées dans le cadre du projet,
applications très différentes l’une de l’autre. En effet alors que DM2 utilise des touches de
raccourci pour augmenter ou diminuer la transparence, Glass2k utilise quant à lui une touche
pour chaque niveau de transparence. L’interfaçage avec DM2 fut donc relativement simple à
réaliser, alors que pour Glass2K il fallait en plus définir une variable stockant l’opacité qui
permettait de calculer à chaque fois la touche sur laquelle il fallait appuyer avec une
condition if pour chaque niveau.
Etant donné que nous utilisons la Wiimote soit avec une « Sensor Bar » permettant de
pointer vers l’écran, soit sans, nous avons donc finalement 4 scripts différents pour les
interactions avec la Wiimote :
1.
2.
3.
4.
Glass2k avec « Sensor Bar »
Glass2k sans « Sensor Bar »
DM2 avec « Sensor Bar »
DM2 sans « Sensor Bar »
Tous les scripts utilisés sont disponibles sur le cédérom fournit en annexe à la
documentation.
4.3.3. Synchronisation permanente
Le principal problème est de devoir de reconnecter la Wiimote après chaque redémarrage du
PC, ce qui à l’usage se révèle très pénible. Une solution pour Windows XP est disponible sur
Internet 29 et fonctionne de manière tout à fait convenable.
29
http://forum.wiibrew.org/read.php?11,20081
Projet de Bachelor
Sylvain Röbig
P a g e | 27
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
4. Réalisation du Tableau de Ver
4.4.
Console de commande
Il est rapidement apparu que le lancement des diverses applications, la gestion de la
transparence étaient des choses relativement compliquées pour un utilisateur lambda et qu’il
fallait trouver une solution à ce problème. La réalisation d’une console de commande était donc
un événement incontournable.
4.4.1. Premières recherches
Etant donné que Windows Vista est utilisé pour gérer la transparence, les premières
recherches se sont dirigées vers la création d’un gadget Vista pour notre console de gestion.
Cependant les gadgets Vista ne sont que des applications web-based qui ne permettent que
très peu de programmation. Il est ensuite apparu que la réalisation d’une console de
commande en JAVA serait la meilleure solution pour résoudre notre problème, d’autant plus
que Skype dispose d’un langage d’interface par le biais de Java.
4.4.2. Définition des besoins
Avant de commencer la réalisation de notre Console de commande, voici les éléments qui
devraient s’y trouver :
1.
2.
3.
4.
5.
Une possibilité de gérer la transparence de notre fenêtre principale,
Un lien pour lancer la conférence Web,
Un lien pour lancer le mindmapping,
Une possibilité de lancer l’appel de vidéoconférence.
Eventuellement une possibilité de régler le son.
4.4.3. Schéma de fonctionnement
Affiche le niveau d’opacité de la fenêtre
Règle l’opacité de la fenêtre
Remet la transparence à 0 (aucune transparence)
Lance le programme de Webmindmapping
Lance l’application de conférence web.
Lance l’appel vidéo Skype
Coupe l’appel
Démarre l’application :
- Démarre l’appel vidéo Skype
- Démarre le programme de conférence web
- Règle la transparence à 70%
A noter qu’il a été préféré de garder les boutons plus et moins plutôt qu’un JSlider car les 2
programmes de transparence retenus réagissent totalement différemment : dans le cas de
DM2, il n’est pas possible d’avoir un raccourci clavier pour chaque niveau de transparence, le
raccourci ne fait que d’augmenter ou de diminuer l’opacité. En revanche dans Glass2K
chaque niveau de transparence est géré par un raccourci différent.
Projet de Bachelor
Sylvain Röbig
P a g e | 28
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
4. Réalisation du Tableau de Ver
4.4.4. Combinaison de touches
Les différents logiciels utilisés pour la gestion de la transparence permettent de réagir sur
une combinaison de touches. Les appels de combinaisons de touches en Java peuvent se
faire avec l’utilisation de la classe Robot. Ensuite il suffit de définir dans quel ordre les
touches sont pressées (KeyPress) et relâchées (KeyRelease) pour mener à bien l’opération.
Exemple avec la combinaison de touches Ctrl+Shift+0 :
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_SHIFT);
robot.keyPress(KeyEvent.VK_0);
robot.keyRelease(KeyEvent.VK_0);
robot.keyRelease(KeyEvent.VK_SHIFT);
robot.keyRelease(KeyEvent.VK_CONTROL);
4.4.5. Problème de focus
Le principal problème de notre console de commande en JAVA était de pouvoir lancer des
combinaisons de touches non dans sa propre fenêtre, mais de les envoyer via l’OS à une
autre application. Après quelques lectures sur Internet, une solution pouvait être l’utilisation
d’un utilitaire comme CMDOW 30 pour changer le focus vers une autre application.
Malheureusement après quelques tests cette solution ne s’avérait pas utilisable, car le focus
changeait bien vers une autre application, mais les combinaisons de touches pour changer de
transparence restaient effectuées dans la fenêtre de l’application. Notre console de
commande devenait plus ou moins transparente, mais non l’application en arrière-plan.
Finalement après lecture d’une introduction sur l’utilisation de la classe Robot en Java 31
(classe que nous utilisions déjà pour faire les combinaisons de touches), il s’est avéré qu’avec
des mouvements de souris nous pourrions faire le changement de focus et la combinaison de
touches à l’aide de la classe Robot.
Pour éviter que le curseur n’aille se perdre à un autre endroit sur l’écran lors du changement
de focus, ce qui aurait pu perturber l’utilisateur, il suffisait d’ajouter une méthode qui
récupère la position de la souris lors du clic sur un bouton de la console de commande et qui
retourne le curseur au bon emplacement après le changement de focus.
Code pour la procédure de récupération de la position de la souris :
public void GetMouse(){
PointerInfo a = MouseInfo.getPointerInfo();
Point b = a.getLocation();
x = (int) b.getX();
y = (int) b.getY();
}
30
http://www.commandline.co.uk/cmdow/
http://www.developer.com/java/other/article.php/10936_2212401_1/Introduction-to-the-Java-Robot-Classin-Java.htm
31
Projet de Bachelor
Sylvain Röbig
P a g e | 29
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
4. Réalisation du Tableau de Ver
4.4.6. Interactions avec Skype
Après avoir décidé d’utiliser Skype pour l’envoi du flux vidéo, il fallait trouver une fonction
nous permettant depuis notre console de contrôle d’interagir avec Skype pour démarrer ou
mettre fin à un appel vidéo.
Après quelques recherches, Skype dispose d’une API permettant de le contrôler ainsi que
d’un langage Skype4Java qui permet d’interagir avec l’API depuis JAVA. Malheureusement il
n’y a que très peu de documentation et d’exemples concernant l’utilisation de Skype4Java,
mais un tutoriel 32 intéressant a permis de dégrossir quelque peu les choses et de réaliser la
commande pour créer un appel vocal standard.
Un coup d’œil ensuite sur l’API nous a permis de trouver les commandes qui permettent
d’envoyer et de recevoir la vidéo de notre appel, cependant il fallait encore ajouter une
boucle while faisant patienter Skype car l’envoi de la vidéo ne peut se faire qu’une fois
l’appel abouti (le correspondant a décroché).
Le code suivant permet de lancer l’appel Skype :
public void startnewvideocall(){
try {
myCall = Skype.call(skypeID);
}
while(myCall.getStatus() != Call.Status.INPROGRESS){
Thread.sleep(100);
}
myCall.setReceiveVideoEnabled(true);
myCall.setSendVideoEnabled(true);
} catch (SkypeException e1) {
e1.printStackTrace();
} catch (InterruptedException e2){
e2.printStackTrace();
}
4.4.7. Interactions avec les programmes gérant la transparence
Vu que nous utilisons deux applications pour gérer la transparence qui réagissent
différemment, nous avons aussi deux consoles de gestion différentes pour interagir avec
chacun des deux programmes.
32
http://graphics.cs.columbia.edu/courses/csw4170/Skype4JavaTutorial.html
Projet de Bachelor
Sylvain Röbig
P a g e | 30
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
4. Réalisation du Tableau de Ver
4.4.8. Résultat de la console de gestion
Finalement et étant donné que notre console de gestion est un prototype et n’a pas la
prétention d’être distribuée, elle est un peu « brute de décoffrage », mais répond tout de
même entièrement aux exigences que nous lui avions posées :
1.
2.
3.
4.
5.
6.
7.
Projet de Bachelor
Sylvain Röbig
Affichage de la transparence actuelle
Boutons permettant d’augmenter ou de diminuer la transparence
Bouton permettant de lancer le mindmapping web
Bouton permettant de lancer la conférence web
Bouton permettant de lancer l’appel vidéo Skype
Bouton permettant de terminer l’appel vidéo Skype
Bouton permettant de lancer l’application automatiquement :
a. Lance l’appel vidéo Skype
b. Lance la conférence web
c. Réduit la transparence à 70%
P a g e | 31
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
5. Evaluation des utilisateurs
5. Evaluation des utilisateurs
Afin d’être convaincu que les améliorations apportées par la téléprésence sont bien perçues par
les utilisateurs, il a été décidé de faire une petite série de tests de validation. Ces tests se sont
déroulés en 3 phases et par groupe de 2 personnes : la première phase avec des ordinateurs
standard avec une fenêtre séparée pour la vidéo, la phase suivante avec des ordinateurs
standard mais en utilisant les fonctions de transparence et la vidéo en plein écran et, la dernière
phase, avec la transparence sur des écrans de grande dimension. Afin de tester la collaboration
entre les deux utilisateurs, ils devaient à distance remettre les mots désordonnés dans l’espace
dans un ordre permettant d’avoir une phrase correcte. Afin d’être le plus représentatif possible,
les différentes phases étaient testées dans un ordre différent à chaque fois. A la fin de
l’évaluation, les testeurs devaient remplir un questionnaire d’évaluation disponible en annexe.
Nous avons pu remarquer que les utilisateurs appréciaient beaucoup les fonctions de
transparence déjà sur un écran de taille standard. Quant aux écrans de grande taille, les testeurs
les appréciaient énormément mais, en revanche, étaient plus rebutés par l’utilisation des
périphériques tridimensionnels, en l’occurrence les Wiimote en ce qui concerne les évaluations.
Afin de ne pas multiplier les différentes conditions de l’évaluation, nous nous sommes cantonnés
à un seul périphérique tridimensionnel, en l’occurrence la Wiimote programmée pour être
utilisée avec la « Sensor Bar ». En revanche nous avons laissé la souris MX Air à disposition après
l’évaluation pour les personnes qui souhaitait l’essayer et elle a remporté quand même
nettement plus de faveur que la Wiimote.
Nous avons aussi constaté que les personnes étaient tellement concentrées sur l’exercice à
résoudre que souvent elles ne remarquaient que peu la différence lorsqu’elles voyaient leur
interlocuteur en entier sur les grands écrans. En revanche les personnes qui l’ont remarquée ont
été comblées par cette possibilité.
5.1.
Configuration des postes pour les évaluations
Nombre
2
2
Description
Nintendo Wiimote
NYKO Wyreless Sensor Bar
1
1
1
1
2
Logitech Quickcam Sphere AF
Logitech Quickcam Pro 9000
Samsung LE52B750
Sanyo PLC-XL51
Bluetake BT007SX
Projet de Bachelor
Sylvain Röbig
Catégorie
Souris
Emetteur
Wiimote
Webcam
Webcam
Télévision
Projecteur
Dongle
Bluetooth
Poste 1
X
X
Poste 2
X
X
X
X
X
X
X
X
P a g e | 32
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
5. Evaluation des utilisateurs
5.1.1. Les 3 différentes configurations :
•
Phase 1 : sur un ordinateur standard avec deux fenêtres côte à côte : une fenêtre
d’application et une fenêtre pour la vidéo.
•
Phase 2 : sur un ordinateur standard avec la fenêtre d’application en transparence et la
vidéo en arrière-plan.
•
Phase 3 : idem phase 2 mais avec les grands écrans (télévision et projecteur).
Projet de Bachelor
Sylvain Röbig
P a g e | 33
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
5. Evaluation des utilisateurs
5.2.
Application utilisée
L’application répartit les mots d’une phrase aléatoirement dans l’espace, les évaluateurs doivent
ensuite remettre les mots dans l’ordre afin de créer une phrase correcte.
5.3.
Résultats :
Aucun des utilisateurs n’a plébiscité l’ordinateur traditionnel, tous les participants ont préféré les
configurations avec de la transparence. Parmi eux, près de 70% ont choisi la configuration avec
des écrans de taille standard, principalement parce que pour plus de la moitié d’entre eux, ils ont
eu des soucis à utiliser les périphériques tridimensionnels, que ce soit par manque
d’entraînement ou par manque de précision de ces commandes. Ce sera clairement un point à
améliorer dans le futur. En revanche, la majorité des utilisateurs a admis avoir mieux collaboré
avec les écrans de grande dimension.
Au niveau du temps pour terminer le devoir, il est relativement proche dans les 3 différentes
configurations, il est donc difficile de déterminer si la transparence permet de vraiment gagner
du temps ou si c’est une amélioration qui permet de mieux collaborer et s’identifier à son
interlocuteur sans que ça augmente de manière significative la performance. Toutefois la
configuration 2 a permis en moyenne de réaliser le devoir en 3 min et 50 secondes, alors qu’il a
fallu 4 min 40 en moyenne dans la configuration 1. En ce qui concerne la configuration 3, en
raison de la difficulté supérieure à utiliser les périphériques tridimensionnels, il a fallu en
moyenne 5 min et 48 secondes pour réaliser la même opération. Il faudrait réaliser des tests plus
longs pour permettre de vraiment valider tout cela.
Projet de Bachelor
Sylvain Röbig
P a g e | 34
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
5. Evaluation des utilisateurs
5.3.1. En chiffres :
Installation préférée :
Setup 1 : Ordinateur standard
Setup 2 : Ordinateur standard avec transparence
Setup 3 : Grand écran avec transparence
Pourcentage :
0%
70%
30%
Temps moyen :
4 min 40 sec
3 min 50 sec
5 min 48 sec
Question :
Avez-vous trouvé que la vidéo en transparence améliore la collaboration
avec le correspondant ?
Dans le setup 3, est-ce que les périphériques 3D vous ont permis d’interagir
correctement avec la surface de travail ?
La grande taille des écrans du setup 3 vous a-t-elle permis de mieux
identifier votre correspondant et de voir ses mouvements ?
Est-ce que vous avez trouvé la collaboration meilleure avec le setup 3 ?
Vous êtes vous senti plus à l’aise et plus libre de vos mouvements avec le
setup 3 ?
Utiliseriez-vous d’avantage la téléprésence (setup 3) ? Si oui, dans quel(s)
cas ?
Echelle de valeurs : 1 : Médiocre, 2 : Mauvais, 3 : Moyen, 4 : Bon, 5 : Excellent.
Score :
4.0
2.8
3.7
3.5
3.3
4.0
5.3.2. En graphique :
Temps pour résoudre l'exercice /
satisfaction avec le setup
00:08:38
80%
70%
00:07:12
60%
00:05:46
50%
00:04:19
00:02:53
40%
Moyenne
30%
Satisfaction
20%
00:01:26
10%
0%
00:00:00
Setup 1
Setup 2
Setup 3
Le setup 2 est le préféré des utilisateurs et est celui qui a permis de résoudre le devoir dans
le meilleur délai. Le setup 3 a été apprécié et devrait aussi avec une meilleure prise en main
et des périphériques améliorés pouvoir se tailler une bien meilleure satisfaction.
Projet de Bachelor
Sylvain Röbig
P a g e | 35
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
6. Améliorations possibles de la solution
6. Améliorations possibles de la
solution
6.1.
Développement d’une application
Dans ce projet nous nous sommes cantonnés à utiliser des solutions disponibles sur le marché et
intégrables immédiatement. Les différentes briques peuvent bien entendu être changées
facilement, mais les différents besoins que nous avons eus ont nécessité l’utilisation de multiples
applications différentes.
Idéalement nous devons bien admettre que le développement d’une solution intégrée gérant
toutes ces différentes opérations serait un plus indéniable. Cela permettrait aussi d’ouvrir la voie
à certaines fonctions qui ont été écartées actuellement car non réalisables dans le délai imparti à
un travail de bachelor ; une énumération en est faite dans les points suivants.
6.1.1. Nombres d’utilisateurs
Actuellement la solution utilisée ne permet que la téléprésence de 2 personnes sur deux
postes différents. Il serait intéressant de pouvoir étendre cette téléprésence avec plus de
deux postes distants et de pouvoir interagir à plusieurs personnes sur le même écran, dans le
cas d’une conférence à plusieurs personnes dans une même salle par exemple.
Bien entendu dans le cas de l’interaction de plusieurs personnes sur le même poste, les
mouvements et événements de plusieurs souris devront être pris en compte dans
l’application. Une ébauche de solution a été définie dans le cadre de ce projet, que ce soit au
niveau d’une application client-serveur ou au niveau de la reconnaissance des événements
de plusieurs souris, elle pourra donc être réutilisée en l’intégrant dans la conception d’un
nouveau logiciel.
6.1.2. Clavier / reconnaissance vocale
Le prototype actuel permet d’excellentes interactions avec les souris 3D ou les Wiimote. En
revanche, si du texte doit être saisi dans une application, l’unique possibilité est l’utilisation
d’un clavier virtuel. Cette solution est lente et peu intuitive. Différentes possibilités devraient
être analysées pour améliorer ce défaut. Les premières pistes pourraient être l’utilisation de
dictionnaires d’une manière similaire aux téléphones mobiles (T9 33) ou un système de
reconnaissance vocale. Cela permettrait d’encore mieux collaborer.
6.1.3. Echanges Bluetooth
Dans l’optique de discussion à plusieurs personnes dans une même salle, les différents
protagonistes devraient pouvoir envoyer des idées ou de messages sur l’espace de travail
33
http://fr.wikipedia.org/wiki/Saisie_intuitive
Projet de Bachelor
Sylvain Röbig
P a g e | 36
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
6. Améliorations possibles de la solution
afin de les partager avec les autres intervenants. Nous pourrions donc imaginer que les
objets puissent être définis sur des téléphones portables et ensuite envoyés à l’application
via Bluetooth, du genre iWall.
6.2.
Qualité vidéo
Actuellement nous avons utilisé la High Quality Video de Skype. Cependant ce format n’envoie
pas le flux de la Webcam au format HD, mais uniquement au format VGA. La qualité nous a posé
moins de problème que le format du flux qui est envoyé. En effet il s’agit encore de format 4:3
alors que les téléviseurs grands formats et la plupart des écrans d’ordinateurs sont au format
cinéma 16:9. Ce petit inconvénient sera certainement gommé d’ici peu de temps avec l’évolution
de tous les périphériques de sortie vers le 16:9.
Projet de Bachelor
Sylvain Röbig
P a g e | 37
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
7. Conclusion
7. Conclusion
Nous avons lors de ce projet réalisé quelques études dans le but de pouvoir mieux collaborer à
distance car, les applications actuelles, ne permettent bien souvent que de coopérer à distance. Le
graal de cette recherche étant de pouvoir non plus parler de vidéoconférence, mais bien de
téléprésence avec une impression pour les interlocuteurs d’avoir leur correspondant réellement en
face d’eux. Etant donné que cela est difficilement imaginable sur des écrans standards, nous avons
décidé de nous tourner vers des téléviseurs grands formats et des projecteurs. Une étude des
différentes possibilités nous a permis de choisir le matériel nécessaire.
Ensuite il restait à déterminer un choix de solution qui concilierait le fait de pouvoir s’identifier à un
correspondant via un flux vidéo de grande dimension et le fait de pouvoir utiliser une surface de
travail permettant de collaborer. Après réflexion et essai, le fait d’utiliser de la transparence pour
gérer la superposition de la vidéo avec une application au premier plan était la meilleure solution.
Nous avons poursuivi en analysant les différentes solutions pour gérer la transparence, le flux audio
et vidéo ainsi que les outils de collaboration. Finalement il fallait encore assembler les différentes
briques afin de constituer un prototype efficace.
Les différentes phases de ce projet nous ont permis de mieux cerner les implications de la
téléprésence et ses avantages indéniables. D’ici quelques années la téléprésence fera certainement
partie de notre quotidien car les solutions se seront démocratisées. Les buts fixés dans la définition
du projet ont été atteints : nous avons pu constater qu’avec des moyens tout à fait standards et donc
aussi avec un coût raisonnable, nous pouvons développer une solution fonctionnelle de téléprésence
tout à fait convenable et réaliste. Cette application n’est toutefois qu’au stade de prototype et
quelques améliorations sont encore nécessaires afin de pouvoir prétendre à une diffusion plus
grande.
Les tâches fixées dans le choix de la solution ont quant à elles aussi été, pour la plupart, résolues :
nous avons pu évaluer et trouver des solutions aux différentes contraintes posées, soit le flux vidéo
via le réseau, les applications permettant de collaborer ou encore les outils permettant de faire de la
transparence. Nous avons aussi trouvé et implémenté différentes solutions de périphériques
permettant d’interagir à distance et en liberté sur notre écran. Le seul petit bémol concerne les
interactions de plusieurs utilisateurs sur le même poste : nous avons dégrossi le problème et trouvé
une solution, cependant nous n’avons pas, par manque de temps, pu l’implémenter. Aussi, nous
avons posé les bases pour une future application client-serveur gérant toutes les fonctions.
Les expériences réalisées lors des tests de validation avec les utilisateurs ont aussi été très
intéressantes : cela a permis de valider l’effet positif que nous attendions de la téléprésence sur le
travail collaboratif. Les interactions des deux personnes distantes ont été nettement améliorées et la
rapidité d’exécution du travail améliorée. Cependant ces solutions étant nouvelles et les utilisateurs
n’étant pas habitués, elles demandent un certain temps de prise en main pour être manipulées de
manière convenable. Aussi, nous avons du constater que le maniement des périphériques utilisateurs
doit encore être amélioré car, actuellement, il ne permet pas d’être tout à fait aussi à l’aise en liberté
que si nous étions sur un bureau par exemple. D’autant que certaines améliorations dont entre autre
la saisie de texte seront indispensables pour pouvoir collaborer pleinement.
Projet de Bachelor
Sylvain Röbig
P a g e | 38
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
8. Bibliographie
8. Bibliographie
•
•
•
•
•
•
•
•
Proceedings of the 2nd international Conference on Tangible and Embedded interaction
(Bonn, Germany, February 18 - 20, 2008). TEI '08. ACM, New York, NY, 11-14.
Hourcade, Juan Pablo and Bederson, Benjamin B. (1999) Architecture and
Implementation of a Java Package for Multiple Input Devices (MID). College Park:
University of Maryland, Human Computer Interaction Laboratory .
Le BoBovigny, Mehdi Radgohar, Marsha Rohrer, Hervé Chiquet, 19/06/2007
Colin, Isabelle, Courant, Michèle and Tran, Manh-Thang, iWall: an Interactive Public
Display, in: Workshop on Mixed Reality and Computing in the Physical World, Fribourg,
October, 2005.
Ishii, H., Kobayashi, M., and Arita, K. 1994. Iterative design of seamless collaboration
media. Commun. ACM 37, 8 (Aug. 1994), 83-97.
Fish, R. S., Kraut, R. E., and Chalfonte, B. L. 1990. The VideoWindow system in informal
communication. In Proceedings of the 1990 ACM Conference on Computer-Supported
Cooperative Work (Los Angeles, California, United States, October 07 - 10, 1990). CSCW
'90. ACM, New York, NY, 1-11
Ishii, H. and Kobayashi, M. 1992. ClearBoard: a seamless medium for shared drawing and
conversation with eye contact. In Proceedings of the SIGCHI Conference on Human
Factors in Computing Systems (Monterey, California, United States, May 03 - 07, 1992). P.
Bauersfeld, J. Bennett, and G. Lynch, Eds. CHI '92. ACM, New York, NY, 525-532.
Andrew Davison : Pro Java 6 3D Game Development: Java 3D, JOGL, JInput and JOAL APIs,
Apress, 2007.
Projet de Bachelor
Sylvain Röbig
P a g e | 39
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
9. Annexes :
9. Annexes :
9.1.
Calendrier
20.8 - 24.8
Liste matériel à acheter
24.8 - 28.8
Description du projet (2p A4)
24.8
20.08.2009
28.08.2009
28.8
Décision achat matériel
22.9
Matériel reçu
29.8 - 7.9
Tests préliminaires
24.8
31.8
7.9 - 22.9
Definition setup SW
7.9
28.9
Solution fonctionnelle
22.9 - 28.9
setup HW
14.9
21.9
28.9 - 5.10
5.10 - 15.10
Documentation Correction / améliorations
28.9
5.10
12.10
20.08.2009
15.10.2009
7.9 - 9.9
vidéo
9.9 - 11.9
transparence
11.9 - 19.9
Applications partagées
14.9
07.09.2009
Projet de Bachelor
Sylvain Röbig
19.9 - 21.9
Interactions
22.9 - 28.9
setup HW
21.9
22.09.2009
P a g e | 40
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
9. Annexes :
9.2.
Code GlovePIE (sur CD-Rom)
9.2.1. Glass2k IR
9.2.2. Glass2k standard
9.2.3. DM2 IR
9.2.4. DM2 standard
9.3.
Code console de gestion (sur CD-Rom)
9.3.1. Console de gestion DM2
9.3.2. Console de gestion Glass 2k
9.4.
Code application client-serveur mouvements souris (sur
CD-Rom)
Projet de Bachelor
Sylvain Röbig
P a g e | 41
Le Tableau de Ver - Interacting Remotely through a Transparent Interactive Surface
9. Annexes :
9.5.
Formulaire d’évaluation
Projet de Bachelor
Sylvain Röbig
P a g e | 42