Superposez-vous vos fenêtres ?
Au cours de mes explorations sur l’histoire des fenêtres dans les interfaces utilisateurs, une ligne de partage est apparue entre les fenêtres superposables (overlapping) et les fenêtres simplement juxtaposables (tiling).1
- Le Lisa d’Apple, commercialisé en 1983, superpose les fenêtres comme des feuilles de papier.
- Viewers, un gestionnaire de fenêtres développé entre 1980 et 1981 pour le système Cedar de Xerox, juxtapose les fenêtres et les organise sur deux colonnes.
Le principe
Dans un fenêtrage superposé, les fenêtres sont comme des feuilles de papier indépendantes qui s’entassent – on est dans un espace à trois dimensions, où la profondeur est rendue par l’empilement des fenêtres. Dans un fenêtrage juxtaposé, à l’inverse, il n’y a que deux dimensions. Le fenêtrage est alors un découpage de l’écran en tranches, la répartition d’une ressource finie. Les deux modèles conduisent à des représentations très différentes de l’ordinateur et du travail que l’on peut faire dessus : d’un côté, on a des feuilles de papier , de l’autre, un tableau de bord.
Suivant le principe retenu, la gestion de la « matière première » qu’est la surface d’écran est très différente. Dans un fenêtrage superposé, l’essentiel de la gestion des fenêtres – leur emplacement à l’écran, leur taille, etc. – est sous le contrôle de l’utilisateur. Les fenêtrages juxtaposés sont beaucoup plus automatisés : les fenêtres sont disposées suivant un ensemble de contraintes propres au système (par exemple en un nombre réglé de colonnes, ou suivant des répartitions préétablies).
- Les dispositions préenregistrées proposées par le gestionnaire de fenêtrage pour Linux awesome.
Dans un système superposé, un nombre illimité de fenêtres peuvent se recouvrir – mais certaines vont alors disparaître, cachées par d’autres. C’est à l’utilisateur de mettre de l’ordre et de la hiérarchie, de se souvenir de ce qu’il a ouvert et depuis laissé en plan. Dans un système juxtaposé, les possibilités sont bien plus limitées, mais la situation présente est toujours beaucoup plus simple à appréhender : rien n’est caché, rien n’est recouvert, tout ce sur quoi l’on peut agir est immédiatement visible.
On voit que ces systèmes ont des philosophies très différentes : l’activité de l’utilisateur, sa façon de se concentrer et de travailler ne sont absolument pas comprises de la même manière dans l’un et dans l’autre – c’est précisément ce que je propose d’étudier ici.
Un peu d’histoire
Quel type de fenêtrage est apparu en premier – juxtaposé ou superposé ? Le NLS de Douglas Engelbart est apparemment capable de gérer la superposition de zones sur l’écran2, mais de nombreuses sources [PDF] ne le créditent que de fenêtres juxtaposées. Kay, dans sa thèse de 1969, théorise les fenêtres superposées pour son système FLEX. Smalltalk, le système qu’il développe au Xerox PARC, les implémente, probablement pour la première fois, sous une forme proche de ce que nous connaissons. Pourtant, lorsque Xerox commercialise la station de travail Star (ou plutôt, le 8010 Information System) en 1981, les fenêtres sont automatiquement agencées de telle sorte qu’elles ne se superposent pas (la fonctionnalité sera rajoutée dans les versions ultérieures du système). Le Lisa et le Mac sortent en 1983 et 1984 avec des fenêtres superposées. Windows 1 sort en 1985 avec des fenêtres juxtaposées, et n’obtiendra des fenêtres superposées qu’avec sa réécriture en version 2, sortie en 1987.
Un progrès ?
Le cas de Windows a laissé penser que les fenêtres superposées étaient supérieures aux fenêtres juxtaposées, et il est vrai que la superposition rapide des fenêtres a été considéré à l’époque comme une prouesse technique.3 Pourtant, les concepteurs d’un système comme Cedar (encore une création du Xerox PARC) ont sciemment fait le choix de cet arrangement pourtant réputé inférieur, à une époque relativement récente du développement des systèmes fenêtrés. Il serait trompeur de parler de progrès.
Comme il est fréquent lors d’un tel embranchement, les raisons de choisir un modèle plutôt qu’un autre sont tout à la fois techniques, idéologiques et sociales (lire à ce sujet l’article publié en 1981 par Michel Callon, Pour une sociologie des controverses technologiques). La superposition est un problème particulièrement difficile de calcul, de géométrie et de gestion de la mémoire, certes, mais la juxtaposition intelligente est aussi difficile d’un tout autre point de vue – quelle est la meilleure façon d’agencer visuellement l’activité de l’utilisateur ? Comment éviter le désordre induit par l’accumulation de fenêtres ? L’argument se retourne : le fenêtrage juxtaposé n’est pas moins capable ou moins avancé que le fenêtrage superposé ; au contraire, il est plus clair et demande moins d’efforts.
Il n’existe qu’une seule étude empirique comparant ces deux modèles (Bly & Rosenberg 1986 [PDF]). L’article ne tranche pas : les utilisateurs de la juxtaposition sont plus productifs, mais une majorité d’utilisateur trouve les systèmes de superposition plus agréables à utiliser. Ces résultats confirment les intuitions des concepteurs de systèmes juxtaposés : la différence n’est pas tant technique que sociale et psychologique, en ce que c’est la répartition des tâches entre ordinateur et utilisateur qui varie.
En fin de compte, le choix n’est jamais qu’une simple « question technique ». C’est toujours un compromis – la liberté ou l’ordre – et une mise en cause de valeurs et de problèmes plus profonds.
Fenêtre et activité : première ébauche
À quelles actions particulières et quelles sortes d’activités en général invitent ces deux systèmes ? À première vue, la superposition favorise une multi activité désordonnée, avec un utilisateur dispersé sur de multiples tâches déconnectées. À l’inverse, il semblerait que la juxtaposition privilégie un utilisateur concentré sur une seule activité complexe, composée de plusieurs sous-tâches. Est-ce aussi simple ? Il y a plusieurs façons de répondre à cette question : en interrogeant les concepteurs, en observant les utilisateurs, en décrivant les objets eux-mêmes.
Pour l’instant, je dois me contenter de la troisième solution, et, dans une moindre mesure, de la première (puisque les concepteurs ont laissé un certain nombre de traces écrites). Je ne propose, ici, qu’une lecture de ces interfaces, une description spontanée et intuitive, mais aussi désordonnée et incomplète.
Que peut-on faire avec des fenêtres juxtaposées :
- Structurer, disposer. L’utilisateur ne passe pas son temps à ouvrir et fermer des fenêtres, mais à aménager un espace clos. Il y a une véritable écologie de l’écran dans un système juxtaposé, parce que la ressource est rare et que les contraintes sont importantes. La disposition doit être pensée par rapport à un objectif particulier : que dois-je faire (activité principale, placée dans la colonne principale), de quoi ai-je besoin pour le faire (outils, placés dans de plus petits cadrans), quelles sont les autres tâches dont je ne peux me passer (client email ou de messagerie instantanée, etc.).
- Hiérarchiser un nombre réduit de tâches. Dans un système juxtaposé, la taille des fenêtres ne dépend pas de leur contenu, mais de leur emplacement (grande ou petite colonne sur un système comme Cedar) et du nombre de tâches qui s’« empilent » dans cette même colonne. L’utilisateur doit apprendre un mode de pensée hiérarchique, et constamment pondérer chaque action.
- Enregistrer des arrangements et les reproduire. Ces arrangements peuvent être retenus et reproduits afin de recréer un lieu de travail virtuel. L’arrangement n’est pas que la somme de ses fenêtres, il a une unité. Ça n’est pas une collection d’outils disjoints, c’est un outil en soi, à la manière d’un tableau de bord dont les cadrans font sens ensemble.
Que peut-on faire avec des fenêtres superposées :
- Ouvrir, fermer. Chaque fenêtre est indépendante. Son apparition ne modifie pas les autres, tout au plus elle les renvoie à l’arrière plan. Il n’y a pas d’écologie, mais une véritable consommation des fenêtres : on peut en avoir autant que l’on veut, mais, trop nombreuses, elles perdent de leur valeur, deviennent plus difficiles à manier. Là où l’assemblage juxtaposé formait une unité, correspondait à une activité en particulier, les fenêtres superposées n’ont pas nécessairement cette valeur. La dynamique d’ouverture et de fermeture est exploratoire : on suit une trace, un fil, chaque fenêtre conduit à une nouvelle. L’utilisateur peut nettoyer sur ses pas, fermer les fenêtres dont il n’a plus besoin au fur et à mesure de son parcours, ou il peut laisser des traces.
- Privilégier une tâche. L’activité n’est plus visible dans l’arrangement spatial, mais elle réapparait dans le déroulement temporel. L’utilisateur doit successivement faire passer au premier plan les fenêtres sur lesquelles il travaille – et une seule à la fois peut avoir ce privilège. L’assemblage juxtaposé texte en colonne 1 – courrier, notes et dictionnaire en colonne 2 se transforme en un ballet entre applications.
- Passer de l’une à l’autre. Ce ballet, cette dynamique rappellent la pratique du zapping. Un écran juxtaposé semble fait pour rester statique le plus possible : c’est un édifice dont la stabilité est gage de qualité. À l’inverse, le fenêtrage superposé invite au basculement : il est inscrit en lui qu’on ne peut pas faire deux choses en même temps, et qu’il faut sans cesse alterner.
Deux mondes, deux conceptions du travail, de la concentration et de la pensée humaine. L’un s’est imposé, l’autre subsiste comme on va le voir. Qui a choisi ?
La juxtaposition aujourd’hui
Le fenêtrage juxtaposé n’a pas disparu. S’il n’y a sans doute que plus que des utilisateurs de Linux4 pour faire tourner un gestionnaire de fenêtres entièrement juxtaposé, les idées et les problématiques subsistent. En 2006, lors d’un concours pour deviner l’interface de Mac OS X 10.5, alors encore secrète, un participant propose un système tout juxtaposé, intégrant des bureaux virtuels comme la plupart des systèmes existants. Plus proche de nous, Windows Seven facilite la juxtaposition côte à côte de deux fenêtres, une fonctionnalité qui a toujours existé d’une façon ou d’une autre au sein de Windows. Enfin, la dernière génération de systèmes d’exploitation pour téléphones portables pose le problème à nouveaux frais. Ces appareils, pour la plupart, n’intègrent plus de fenêtres.5 Les concepteurs d’interfaces sont donc conduits à penser en termes d’écrans et non plus de fenêtres indépendantes, en termes de division de l’espace plutôt qu’en terme de gestion du désordre par l’utilisateur. Ça ne vous rappelle rien ?
Au sens strict, il n’est pas ici question de fenêtres mais de systèmes de fenêtrage ou de gestionnaires de fenêtres (Window Managers) – tous les systèmes n’ayant pas la même architecture, les termes peuvent changer. Le gestionnaire de fenêtres est le programme qui se charge d’afficher les fenêtres et de gérer leur fonctionnement. Sur la plupart des ordinateurs, ce gestionnaire fait partie intégrante du système d’exploitation, mais pas toujours. Il en existe plusieurs pour Linux, par exemple, et l’utilisateur peut en changer. ↩︎
Allez-voir sur ce document, à la page 8 du pdf (via) : The NLS Display is divided into a number of rectangular display areas (DAs). […] DAs may overlap. subject to some rules about which strings will show in the regions of overlap. ↩︎
Bill Atkinson, alors employé d’Apple, avait vu lors de sa visite chez Xerox des fenêtres superposées et avait supposé que les ingénieurs du PARC avaient trouvé une solution au problème du rafraîchissement – comment changer le contenu d’une fenêtre à l’arrière-plan sans toucher à celle du premier-plan. Pensant qu’une solution existait, Atkinson s’y attèle et propose la sienne. En réalité, les ingénieurs de Xerox eux-mêmes pensaient le problème trop difficile à résoudre, et « trichaient » en ne rafraîchissant pas les fenêtres d’arrière-plan (Source : Moggridge 2006, p. 93). ↩︎
Wikipedia propose une longue liste de systèmes juxtaposés. J’ai joué un peu avec Ion et awesome. Il faut sans doute du temps pour s’habituer et prendre des habitudes de ninja, mais ce que j’ai vu m’a plu. Sans pour autant correspondre à mes habitudes de travail, mais bon. ↩︎
Sinon des boîtes de dialogue. ↩︎