Va-t-on dans le bon sens ?
Il s'agit là d'un énorme défi qui se pose aux développeurs travaillant sur les OS (Systèmes d'exploitation) que nous sommes censés utiliser. L'interface graphique; aussi appelée GUI pour Graphical User Interface; est là pour faire le lien entre nos actions (aux moyens d'une interface Homme-machine) et la "réaction" de la machine. C'est ce qui nous permet de la commander et de voir le résultat de la commande.
Au tout début de l'ère informatique il n'y avait pas d'interface graphique comme nous en avons aujourd'hui. Tout se passait à l'aide de ligne de textes et c'était loin d'être "User Friendly". Il s'agissait des interfaces type CLI: Command Line Interface.
Les années 70 puis 80 ont vu l'émergence des interfaces graphiques. Loin de moi l'idée de polémiquer sur qui fut le premier à faire quoi, mais en gros un des premiers projets viable du genre est à mettre au crédit de Xerox. Puis Apple, se basant sur les travaux de Xerox, proposa une telle interface sur son Macintosh. Suivirent Microsoft et IBM qui en reprenant pas mal d'idées des travaux précédemment cités, vont proposer les premiers Windows, ou IBM OS/2 Presentation Manager.
Tout cela évoluera, pour aboutir à ce que nous connaissons soit au-travers des célèbres Microsoft Windows, mais aussi des différentes variantes de MacOs et autres Unix. Linux n'est pas en reste en proposant non pas une mais plusieurs GUI possibles (KDE, Gnome, etc.).
Mais force est de constater que jusqu'à présent les révolutions dans ce domaine furent assez rares. Les différences entre un MacOs, un Windows et un Linux tiennent essentiellement dans des dispositions de boutons, de menus et de façon d'effectuer telle ou telle action: en gros il s'agit plus d'un travail portant sur l'ergonomie du poste de travail qu'autre chose. Au final tous proposent un peu prêt la même chose:
Un clavier et une souris pour contrôler ça.
Des applications qui s'ouvrent dans des fenêtres (en plein écran ou non), que l'on peut réduire, masquer, déplacer et j'en passe.
Un (ou plusieurs) point d'entrée centralisant l'accès aux fonctions et autres programmes (par exemple: le Menu Demarrer de Windows).
Des icones pour représenter des dossiers, des raccourcis, des documents etc.
Outre cela les différences tiennent essentiellement dans la façon dont l'interface GUI est intégrée au système et dans les techniques utilisées pour gérer l'affichage. La métaphore qui guide la conception de tout ces GUI est globalement la même.
L'évolution qui rend possible de nouvelles métaphores
Pour aller au-delà de l'aspect fenêtres 2D, boutons et barre de menu il fallait passer par une évolution majeure que les trois systèmes les plus courants sont en passe d'apporter : L'utilisation des capacités de traitement de nos cartes graphiques.
Une fois n'est pas coutume (serais-je tenté de dire) Windows est loin d'être précurseur et accuse même un certain retard en la matière. En effet cette profonde évolution n'est possible qu'avec le nouveau Vista (à condition d'activer l'interface Aéro). MacOs quant à lui en est capable depuis sa version X, tandis que pour les linuxiens le célèbre moteur XGL fait parler de lui depuis quelques temps maintenant.
Compte tenu de l'accroissement exponentiel qu'ont connu les capacités des chips graphiques (essentiellement en matière de traitement d'images "3D"), il était vraiment dommage de ne pas être capable d'en tirer ne serait-ce qu'un petit peu parti pour l'affichage du GUI et de tout ce qui ne concerne pas les jeux vidéos (principaux exploitant des GPU).
Cela commence par la vectorisation des fenêtres voir mêmes des icones. Ce faisant l'affichage de ces dernières se libère de la contrainte du dimensionnement et de la résolution/définition. Ce ne sont plus des images bitmap qui sont générées mais des graphismes vectoriels. La différence est simple : quand vous utilisez des bitmap il faut prévoir plusieurs tailles d'images correspondant à plusieurs tailles d'affichages, ou alors utiliser une version haute définition (donc plus lourde) qui servira à "générer" les versions de tailles plus petites. Avec les vecteurs on s'affranchi de tout cela, on défini la forme de base qui n'est plus contrainte par la taille, on peut réduire ou agrandir sans que cela ne cause de dégradation de qualité ou ne génère plus de données à traiter/afficher.
De plus il est bien plus aisé d'appliquer des transformations et autres déformations à des vecteurs qu'à des bitmaps. Ainsi des graphismes vectorisés exploitant les capacités de traitement des GPU (en 2D ou en 3D qu'importe) permettent des effets de transition, de déplacement, de déformation quasiment impossible en utilisant les bitmap (sauf traitement très couteux en ressources).
Reste à mettre cela en application et à tenter de trouver un compromis "idéal" entre les jolis effets que cette (r)évolution technique autorise et l'ergonomie du poste de travail. En effet, ce n'est pas tout de faire des fenêtres qui se déforment dans tous les sens, encore faudrait-il que cela ne nuise pas à la productivité.
Les forces en présence
Commençons par le plus connu et pas forcément le plus spectaculaire (nous en reparlerons plus loin), Windows Vista. Comme pour ses concurrents l'interface Aero (et uniquement si celle-ci est activée) exploite les capacités des GPU via l'API de Microsoft DirectX 9.0 (et non pas DirectX 10 comme on pourrait le croire). En voici une petite vidéo de démonstration:
Présentation Windows Vista
Comme vous pouvez le voir, rien de bien extraordinaire à première vue, tout au plus on note des effets de transparences, quelques fondus et les miniatures de fenêtres affichant leur contenu même animé.
Voyons maintenant ce que MacOs X alias Tiger, nous propose:
Présentation MacOs X Tiger
Là non plus à part quelques effets de fondus, de transparence et des fonctions tels qu'Expose rien de bien tape à l'œil.
Passons à linux et le moteur XGL, ce dernier va tirer parti des l'API Open Source OpenGL (principale concurrente de DirectX, ou plutôt de Direct3D):
Présentation XGL desktop Ubuntu
Pas besoin d'être expert en la matière pour voir la différence avec les autres. On retrouve les mêmes "features" tels que transparence, vignette avec contenu animé etc. Mais à cela s'ajoute: déformation des fenêtres et nouvelle métaphore pour la présentation des bureaux multiples: le Cube. Chaque bureau virtuel étant représenté par la face d'un cube "flottant" qu'on fait tourner.
Avant toute chose il faut se dire que ce n'est pas parce que XGL est le seul à le proposer à ces utilisateurs que c'est le seul à en être capable. Tout d'abord les bases techniques sont absolument similaire donc rien n'empêche que X et Y puisse faire ce que Z fait. Ensuite il existe dors et déjà des exemples le prouvant.
Concernant Vista cela se passe au niveau de l'interface de la Béta 1, Vista étant à l'époque encore présenté sous son nom de code Longhorn:
Longhorn Beta 1 GUI
De même pour MacOs X il existe de la déformation de fenêtres, peut-être moins spectaculaire, mais le principe y est c'est le "Genie Effect":
Déformation avec MacOS X
Concernant la métaphore du cube, Vista ne propose rien de semblable car par défaut il ne propose toujours pas de bureaux virtuels (allez savoir pourquoi… mais ce sera probablement inclue dans les PowerToys comme pour XP), MacOs non plus malgré l'usage des bureaux virtuels. Est-ce par défaut technique ? Sûrement pas, les raisons sont dues aux choix et orientations prises par les équipes de développement. Après tout un environnement libre comme Linux n'a pas les mêmes contraintes de développement que ces concurrents payants qui doivent satisfaire à une certaine clientèle.
C'est ainsi que les développeurs de Vista ont décidé de faire marche arrière depuis la Beta 1 pour revenir à des fenêtres moins joueuses. Ce qu'ils expliquent sur le Blog shellrevealed qui concerne les développeurs du Shell (l'interface) de Windows et en l'occurrence de Vista. Dans cet article (en anglais) : Where are the floppy windows ? Les développeurs expliquent qu'Aero est toujours parfaitement capable de générer tout cela, mais que par défaut ils ne l'ont pas implémenté car cela n'apporte rien à l'usage pour la majeure partie des utilisateurs. Suite à cela, rien n'empêche un quelconque éditeur tiers de proposer sa solution, ou même les développeurs de Windows via un éventuel PowerToys.
Pour ma part j'ai fait un galop d'essai sur un linux avec XGL Desktop. Effectivement ça en met pleins les yeux (quoique après avoir vu et revu les vidéos de présentation, on sait à quoi s'attendre), mais pour être honnête, je ne sais pas comment font les ardents défenseurs de XGL pour travailler avec ça. J'ai personnellement jeté l'éponge au bout d'une demi-heure, les fenêtres qui se déforment au moindre déplacement et les effets de "gélatine" quand on ouvre une fenêtre m'ont rapidement donné mal au crâne. Je ne peux m'empêcher de trouver ça inutile en tout point et totalement anti-productif. C'est vrai ça… ça apporte quoi à part en mettre pleins les yeux ?
Le plus "drôle" dans tout ça c'est que souvent dans les discussions on trouve des "linuxiens" purs et durs qui défendent leur bébé en critiquant le Flip3D de Vista ou la transparence des fenêtres avec pour argument "que ça ne sert à rien" tout en disant que XGL c'est bien plus puissant etc.
Donc pour ces gens je vais répéter: ce n'est pas parce qu'on ne fait pas qu'on ne peut pas! Vista (et très certainement MacOs X) est parfaitement capable de faire ce que XGL fait, sauf que les développeurs ont pris conscience que l'intérêt de l'utilisateur ne se trouve pas forcément dans le plus spectaculaire.
Quant à la métaphore du Cube, c'est une solution qui se défend, même si je n'ai pas trouvé que cela apportait un réel plus à l'usage (alors que je défends et utilise les bureaux virtuels).
Il faut se dire que l'on reste encore tributaire de l'interface clavier/souris, de ce fait on ne peut aller très loin dans la métaphore. Ou alors ça se fait à grand renforts de raccourcis claviers et autres combinaisons de touches. Et quand je vois le peu d'utilisateurs sachant exploiter un simple ALT+TAB, l'usage du cube de XGL est … comment dire … à milles lieux d'être accessible à l'utilisateur lambda.
Et après ?
Mais les recherches en matière de GUI ne s'arrêtent pas là. Par exemple, récemment Sun a présenté son projet Looking Glass, proposant une nouvelle approche:
Sun Looking Glass. Ce dernier utilise la technologie Java pour fonctionner et vous pouvez même le tester sous linux ou Windows XP. Je dois dire que je n'ai pas trouvé ça bien folichon, peut-être une question d'habitude ou que sais-je… A vous de vous faire une opinion sur le sujet.
Sur cette vidéo on peut voir quelques travaux qui ont été commencé il y a quelques années pour l'élaboration d'une métaphore totalement différente de celle que l'on connait aujourd'hui. Cela donnera-t-il suite à quelque chose dans les prochains Windows ? Ou bien est-ce un projet sans suite ? A nouveau ça ne semble guère exploitable au quotidien.
Mais il ne faut pas désespérer, tout n'est pas bon à jeter et certains projets semblent réellement prometteur, mon préféré dans ce sens est sans contexte celui-ci:
3D Desktop
Mais cela ne pourra se faire qu'avec une évolution des l'interface Homme-Machine, car il serait prétentieux de considérer ce projet comme une réelle avancée si l'ont doit toujours travailler à la souris et sur un simple écran de bureau, d'ailleurs la présentation du projet se fait avec un styler sur une zone tactile et non pas à la souris.
La révolution des GUI passe par la révolution de l'interface Homme-Machine.
Ainsi tant que nous ne nous affranchirons pas du couple clavier/souris, il sera difficile de profondément révolutionner la métaphore employée par les GUI de nos ordinateurs.
Comme je le dis juste au-dessus, le projet 3D Desktop semble prometteur, à condition que l'interface suive. Pour cela on peut par exemple imaginer l'associer à une zone tactile multipoint, intégrée au bureau ou à la table, tels que celles qui existent déjà ou qui sont en projet:
Mulit-touch Interaction Experiments
Multitouch Screen
TouchTable – ESRI User Conference 2005
ou, plus ludique que productif : iBar 01 et iBar 02
Reste à réaliser la convergence de ces travaux avec les travaux portant sur les GUI et peut-être qu'un jour on passera à autre chose qu'aux simples icones, fenêtres et barres de menus commandées au clavier et à la souris.
Reste à voir si ces derniers seront alors mis au placard ou s'ils continueront à être utilisés, car il se pourrait qu'on ne trouve rien de réellement plus efficace avant longtemps, et que les nouvelles interfaces en soient au final plus complémentaires que vouées à les remplacer.











AdminOfPlaygroup says:
Dommage que les Linuxiens ne lisent pas ça, eux qui sont persuadés d’avoir inventé l’eau tiède …
Je suis même presque persuadé que les effets de Compiz sont inspirés des premières vidéos de Longhorn ; parce que ça fait un moment que je les ai vu ces fenêtres qui se déforment alors que ça ne fait qu’un an qu’on parle de Compiz.
Je pense que la prochaine évolution sera l’écran tactile. Il existe depuis longtemps, et est couramment utilisé dans la grande distribution et dans la restauration. Grâce au module "TabletPC" directement intégré à Vista, je pense que 2007 sera l’année du tactile, puis viendra le tactile multipoint (cf. les vidéos du "multi-touch").
30th décembre 2006 at 1 h 13 min
chicour-59 says:
je pensse aussi que l’ecran tactile sera la prochaine evolution.
tres bonne news. :bounce:
30th décembre 2006 at 11 h 18 min
cynrj says:
Un bureau 3d c’est beau, mais c’est tout ! Il faut une interface style Minority report ou Johnny mnemonic.
30th décembre 2006 at 16 h 50 min
nightbringer says:
Très bon article, encore une fois
) les premieres GUI, avec la souris, ca a du frapper un grand coup.
Ce qu’il faudrait ce serait une véritable révolution, l’écran tactile ne serait qu’une évolution, car le visuel resterait le meme, avec de nombreux désavantages…
Par exemple ou placer l’écran? a hauteur de tete comme on le fait aujourd’hui? alors bonjour les séances de muscu…
A la place du clavier? ce serait pas bon pour le dos….
Je ne pense pas vraiment que la révolution vienne de la :-/
Apres, il serait intéressant de chercher des interfaces réellement révolutionnaires, comme l’ont été, je pense (j’étais pas né
Si une nouvelle interface apparait en effet, il faudra qu’elle remplace l’actuelle avec ses fenetres et son bureau/souris, qui reste d’une efficacité redoutable.
Les quelques projets que tu montres restent tres intéressants, et a suivre
30th décembre 2006 at 22 h 56 min
AdminOfPlaygroup says:
Tout est venu petit à petit …
Je pense même que les 1ere interface graphique sont venu par le jeu, doucement sans qu’on s’en rendent compte ; puisque les jeux avaient des menus simples, des choix simples et une interface plus simple à utiliser que le clavier !
30th décembre 2006 at 23 h 46 min
Manu0086 says:
"Je suis même presque persuadé que les effets de Compiz sont inspirés des premières vidéos de Longhorn ; parce que ça fait un moment que je les ai vu ces fenêtres qui se déforment alors que ça ne fait qu’un an qu’on parle de Compiz."
Faux !
Renseignes-toi un peu, c’est très rapide avec google… (PS : compiz n’est qu’un gestionnaire simplifié, c’est XGL le système)
30th décembre 2006 at 11 h 53 min