• Aucun résultat trouvé

Prototypage de nouveaux environnements graphiques Le modèle graphique des librairies actuelles comme OpenGL,

Prototypage de nouveaux usages de la vidéo avec videoSpace

3. L'environnement informatique vu comme une source d'images

3.3. Prototypage de nouveaux environnements graphiques Le modèle graphique des librairies actuelles comme OpenGL,

DirectX ou Java3D est beaucoup plus évolué que celui des systèmes de fenêtrage que nous utilisons quotidiennement (MacOS, MS Windows ou X Window). Cette importante différence entre les possibilités graphiques accessibles à une application particulière et à celle qui gère les différentes fenêtres complique la mise en œuvre de techniques innovantes de gestion de documents ou d'applications. De récents travaux comme Elastic Windows [KS97], Mondrian [CDT99] ou Task gallery [RvDR+00] montrent pourtant qu'il y a encore de nombreuses possibilités à explorer dans ce domaine.

MacOS X, le futur système d'exploitation d'Apple, utilisera une nouvelle librairie graphique appelée Quartz. Quartz est basé sur le standard PDF (Portable Document Format) d'Adobe et offre des possibilités graphiques 2D avancées comme la gestion d'objets graphiques composés, l'antialiasing des caractères, la gestion de la transparence ou des transformations géométriques. Quartz est non seulement destiné au développement d'applications graphiques, mais il est également à la base d’Aqua, la partie du système responsable de la gestion du fenêtrage et des éléments d'interface de MacOS X61. Malheureusement, l'utilisation des possibilités graphiques de Quartz pour la gestion des documents et applications

61 Pour plus de détails sur MacOS X, Quartz et Aqua, lire l'article qui leur est consacré sur le site d'Ars Technica, http://arstechnica.com/reviews/1q00/macos-x-gui/macos-x-gui-1.html

se limite pour le moment à quelques effets sans réel impact sur l'utilisateur (Figure 111).

Figure 111. Utilisation de la transparence et des transformations géométriques dans MacOS X (Apple)

Les systèmes de fenêtrage des plates-formes MS Windows et MacOS sont intimement liés aux systèmes d’exploitation eux-mêmes et l'accès à leur fonctionnement interne ou leur modification sont difficiles. Ce n'est donc pas un hasard si Microsoft et Apple sont les seuls à pouvoir montrer des systèmes de fenêtrage pour ces plates-formes utilisant des transformations 3D (Task gallery, pour Microsoft) ou la transparence (Aqua/Quartz, pour Apple). Si ces exemples montrent la voie à suivre par l'utilisation de modèles graphiques plus évolués, les chances que la communauté de recherche puisse expérimenter de telles formes d'interaction avec les documents et applications sont encore faibles.

Notre troisième télépointeur vidéo et videoWorkspace fusionnent l'image de l'environnement informatique obtenue par un serveur VNC avec d'autres images vidéo. Dans ces deux exemples, l'image informatique est affichée sans transformation, mis à part l'utilisation de la transparence. D'autres traitements graphiques pourraient pourtant être utilisés pour transformer l'image ou en extraire des éléments. En particulier, en connaissant la position des différentes fenêtres dans l'image, il serait possible d'en extraire les sous-images correspondantes et de les réutiliser dans un autre contexte. Il serait ainsi possible de transmettre un flux vidéo correspondant à une unique application. Il serait également possible de réarranger les sous-images pour former une autre image de l'environnement informatique.

Nous avons commencé à explorer cette utilisation d'un flux d'images provenant d'un serveur VNC pour modifier l'apparence et l'interaction avec un environnement de travail informatique. La Figure 112 donne un exemple du type d’environnement que nous aimerions pouvoir expérimenter. Dans cet exemple, l'ordre d’affichage des fenêtres détermine leur transparence, leur taille et leur orientation. Aucune décoration n’est ajoutée aux fenêtres, mais une ombre permet d’en identifier les bords. Contrairement aux

effets d'Aqua, les transformations géométriques effectuées dans cet exemple ont un contenu sémantique : les deux fenêtres les plus récemment utilisées restent droites et opaques, tandis que les autres subissent une rotation et un léger changement de taille et sont rendues partiellement transparentes, se fondant ainsi dans l’arrière plan.

Figure 112. Exemple d’affichage envisagé pour un nouvel environnement graphique (simulation réalisée avec gimp)

Afin de pouvoir mettre en œuvre ce type d’environnements, nous avons développé un gestionnaire de fenêtres X Window minimaliste qui n'ajoute aucune décoration et place les applications les unes à côté des autres. Utilisé avec ce gestionnaire de fenêtres, un serveur Xvnc configuré pour un écran virtuel rectangulaire produit des images semblables à celle de la Figure 113. Notre application connaissant la position et la taille des différentes fenêtres présentes dans les images du serveur VNC, elle peut alors utiliser le placage de texture d’OpenGL pour transformer et afficher chaque fenêtre indépendamment des autres et composer ainsi le nouvel environnement.

Notre prototype actuel affiche les différentes fenêtres en faisant varier leur transparence et en les pivotant, mais se contente d’ombre simpliste à une couleur. Le résultat obtenu n’est pas encore celui présenté par la Figure 112, mais l’amélioration de la technique d’ombrage devrait permettre de nous en rapprocher. Si l’affichage n’est pas encore parfait, il est cependant actif : toute modification du contenu d’une fenêtre par une application est répercutée dans l’affichage de notre prototype. Une transformation des coordonnées de la souris serait nécessaire pour pouvoir transmettre des événements au serveur VNC. Cette transformation n'est pas effectuée pour le moment mais ne devrait pas poser de problème particulier si l'on se limite à des transformations simples. En attendant, un client VNC classique peut être utilisé pour interagir avec les applications et voir les changements dans notre prototype.

L'utilisation de VNC et de videoSpace devrait permettre de prototyper différentes transformations graphiques de l'affichage des applications. VNC permet en outre d'envisager l'utilisation de cette solution sur des images provenant de systèmes MS Window ou MacOS. Il est cependant encore trop tôt pour dire si les performances seront à la hauteur de nos ambitions. Sur la plate-forme X Window, il existe au moins une alternative à l'utilisation de VNC pour obtenir l'image de départ. Xvfb est un autre serveur X qui lui aussi utilise une zone mémoire comme zone d'affichage. A la différence de Xvnc cependant, Xvfb peut placer cette zone dans un segment de mémoire partagée, ce qui permettrait à notre gestionnaire de fenêtres d'accéder d'y accéder directement, sans passer par le réseau.

4. Résumé du chapitre

Nous avons décrit dans ce chapitre trois contextes d’utilisation de la vidéo très différents mais qui illustrent bien les possibilités de prototypage de nouveaux usages offertes par videoSpace.

Nous avons présenté une nouvelle approche au problème de la communication gestuelle dans les collecticiels basée sur l'utilisation de l’image des mains des participants détourée par chroma-keying comme télépointeur. Nous avons décrit trois prototypes réalisés successivement avec videoSpace ainsi que différentes simulations qui nous ont permis de valider cette approche et d'en mesurer les limites.

Nous avons présenté le puits, un dispositif de téléconvivialité qui permet à des groupes de personnes distantes de communiquer de façon informelle lors des pauses, avant ou après des téléréunions ou visioconférences. Nous avons décrit les aspects matériels et logiciels de ce dispositif ainsi que le rôle important joué par videoSpace lors de sa conception et de son prototypage.

Nous avons enfin présenté plusieurs autres travaux en cours qui reposent sur l’utilisation de flux vidéo générés par l’environnement informatique. Bien qu’encore à l’état d’ébauche, ces travaux montrent l’intérêt que peuvent avoir des flux d’images synthétisées dans le cadre d’applications collaboratives et du prototypage de nouveaux environnements graphiques et laissent entrevoir des perspectives intéressantes de développements ultérieurs.

Conclusion