|
|||||||||||||||||||||||||||||||||||||||||||||||
|
La liste des contributeurs à cet article : Jeff Johnson et Teresa L. Roberts (US WEST Advanced Technologies), William Verplank (IDTwo), David C. Smith (Cognition, Inc.), Charles Irby et Marian Beard (Metaphor Computer Systems), Kevin Mackey (Xerox Corporation). Une version de cet article est parue dans IEEE Computer, septembre 1989 et également dans le livre Human Computer Interaction: Toward the Year 2000 de Morgan Kaufman. Les figures utilisées dans cette page Web ne sont pas de très bonnes reproductions, mais elles sont lisibles [Dave Curbow]. Résumé Le Xerox Star a eu un impact significatif sur l'industrie informatique. Dans cette rétrospective, plusieurs concepteurs du Star décrivent en quoi le Star était et est unique, ses antécédents historiques, comment il a été conçu et développé, comment il a évolué depuis son introduction et, enfin, quelques leçons apprises. Introduction En avril 1981, Xerox a lancé le système d'information 8010 "Star". L'introduction de Star a été un événement important dans l'histoire de l'informatique personnelle car elle a changé les notions de la manière dont les systèmes interactifs devaient être conçus. Plusieurs concepteurs de Star, dont certains étaient responsables de la conception originale et d'autres qui ont conçu des améliorations récentes, décrivent dans cet article l'origine de Star, ce qui le distingue et comment la conception originale a changé. Ce faisant, nous espérons corriger certaines idées fausses sur Star que nous avons vues exprimées dans la presse spécialisée et relater certaines des leçons que nous avons apprises de l'expérience de sa conception (voir note *1). Dans cet article, le nom "Star" fait généralement référence à la fois à Star et à son successeur, ViewPoint. "ViewPoint" est utilisé pour désigner le produit actuel. Dans cet article, nous commencerons par décrire Star comme un système statique : nous expliquerons ce que Star était censé être et nous énumèrerons et analyserons les aspects qui l'ont rendu - et dans certains cas le rendent encore - unique. Ensuite, nous décrirons comment Star est né et comment il a changé depuis son lancement. Enfin, nous discuterons de ce que nous avons appris de l'expérience de la conception et de la construction de Star. Ce qu'est Star Star a été conçu comme un système de bureautique. L'idée était que les professionnels d'une entreprise ou d'une organisation disposeraient de postes de travail sur leurs bureaux et les utiliseraient pour produire, récupérer, distribuer et organiser des documents, des présentations, des mémos et des rapports. Tous les postes de travail d'une organisation seraient connectés via Ethernet et partageraient l'accès aux serveurs de fichiers, aux imprimantes, etc. Les concepteurs de Star ont supposé que les utilisateurs ciblés s'intéressaient à leur travail et pas du tout aux ordinateurs. Par conséquent, un objectif important de la conception était de rendre "l'ordinateur" aussi invisible que possible aux utilisateurs. Les applications incluses dans le système étaient celles dont les professionnels de bureau étaient censés avoir besoin : documents, graphiques commerciaux, tableaux, base de données personnelle et courrier électronique. L'ensemble était fixe, toujours chargé et automatiquement associé aux fichiers de données, éliminant ainsi le besoin pour les utilisateurs de se soucier d'obtenir, d'installer et de démarrer la bonne application pour une tâche ou un fichier de données donné. Les utilisateurs pouvaient se concentrer sur leur travail, sans se soucier de concepts tels que les logiciels, les systèmes d'exploitation, les applications et les programmes. Une autre hypothèse importante était que les utilisateurs de Star seraient des utilisateurs occasionnels, plutôt que des personnes qui passaient la plupart de leur temps devant la machine. Cette hypothèse a conduit à l'objectif de rendre Star facile à apprendre et à mémoriser. Lorsque Star fut lancé pour la première fois en 1981, son écran en mode point ("bitmap"), ses fenêtres, son interface pilotée par la souris et ses icônes étaient uniques sur le marché. Ces caractéristiques étaient évidentes et le distinguaient clairement des autres ordinateurs. Mais bientôt, ces caractéristiques furent adoptées par d'autres. Aujourd'hui, les fenêtres, les souris et les icônes sont plus courantes. Cependant, l'interface utilisateur claire et cohérente de Star tient bien plus à ses détails qu'à ses fonctionnalités brutes. Nous énumérons ici les fonctionnalités qui, selon nous, font de Star ce qu'il est, classées selon leur niveau dans l'architecture du système, les niveaux étant : machine et réseau, gestionnaire de fenêtres et de fichiers, interface utilisateur et éditeur de documents. Au niveau de la machine et du réseau Informatique personnelle distribuée - Bien que ViewPoint soit disponible dans une configuration autonome, Star et ViewPoint ont été conçus principalement pour fonctionner dans un environnement informatique distribué. Cette approche combine les avantages et évite les inconvénients des deux autres approches principales de l'informatique interactive : les systèmes à temps partagé et les ordinateurs personnels autonomes. Les systèmes à temps partagé, qui prévalaient dans les années 1960 et 1970, permettaient à de nombreux utilisateurs de partager des ressources coûteuses comme des imprimantes et de grandes bases de données et contribuaient à garantir la cohérence des données qui devaient être utilisées par de nombreux utilisateurs. Les inconvénients du partage de temps sont que tous les utilisateurs dépendent du fonctionnement continu de l'ordinateur central et que la réponse du système se dégrade à mesure que le nombre d'utilisateurs augmente. Les ordinateurs personnels, qui ont remplacé le partage de temps comme principal mode d'informatique interactive, ont l'avantage, comme l'a dit un chercheur de Xerox PARC, "de ne pas être plus rapides la nuit". De plus, un ensemble d'ordinateurs personnels est plus fiable que des terminaux connectés à un ordinateur centralisé : les problèmes système sont moins susceptibles de provoquer un arrêt total du travail. Les inconvénients des PC sont bien sûr l'inverse des avantages du partage de temps : les entreprises qui utilisent des PC autonomes constatent généralement une prolifération d'imprimantes, des bases de données incohérentes et des données non échangeables. La solution, mise au point par les chercheurs de Xerox (voir "Histoire du développement de Star", ci-dessous) et incarnée dans Star, consiste à connecter des postes de travail personnels à un réseau local et à attacher des ressources partagées (par exemple, des serveurs de fichiers, des serveurs de bases de données, des imprimantes) à ce même réseau. Souris - Un système informatique interactif doit permettre aux utilisateurs d'indiquer les opérations qu'ils souhaitent et les données sur lesquelles ils souhaitent que ces opérations soient effectuées. Les utilisateurs des premiers systèmes interactifs spécifiaient les opérations et les opérandes via des commandes et des descripteurs de données (par exemple, des numéros de ligne de texte). À mesure que les terminaux d'affichage vidéo se sont répandus, il est devenu évident qu'il était souvent préférable pour les utilisateurs de spécifier les opérandes - et parfois les opérations - en les pointant sur l'écran. Il est également devenu évident que les applications graphiques ne devaient pas être contrôlées uniquement via un clavier. Dans les années 1960 et 1970, de nombreux périphériques de pointage différents ont été inventés et testés : le stylo optique, la boule de commande, la manette, les touches de curseur, la tablette à numériser, l'écran tactile et la souris. Comme d'autres périphériques de pointage, la souris permet de sélectionner facilement des objets et de déclencher des zones sensibles sur l'écran. La souris diffère des écrans tactiles, des crayons optiques et des tablettes de numérisation en ce qu'elle est un périphérique de pointage relatif : le mouvement du pointeur sur l'écran dépend du mouvement de la souris, plutôt que de sa position. Contrairement aux crayons optiques, aux manettes et aux tablettes de numérisation, la souris (et le pointeur correspondant sur l'écran) reste en place lorsque l'utilisateur la lâche pour faire autre chose. Pour obtenir des performances de suivi de la souris satisfaisantes, la souris est gérée à un niveau très bas. Sur certains postes de travail, le suivi de la souris est géré dans le système de fenêtres, ce qui fait que le pointeur de la souris bouge souvent sur l'écran et peut même se figer pendant quelques secondes, selon ce que fait le système. La souris est un périphérique de coordination oeil-main, donc si le pointeur est en retard, les utilisateurs continuent à déplacer la souris, et lorsque le système rattrape son retard, la souris se déplace au-delà de la cible de l'utilisateur. Cela était considéré comme inacceptable chez Xerox. Le Star utilise une souris à deux boutons, contrairement à la souris à un bouton utilisée par Apple et à la souris à trois boutons utilisée par la plupart des autres fournisseurs. Bien que les prédécesseurs du Star développés au Xerox PARC utilisent une souris à trois boutons, les concepteurs du Star voulaient réduire le nombre de boutons pour éviter toute confusion sur la fonction de chaque bouton. Les fonctions invoquées via le bouton central de l'Alto sont, dans le Star, invoquées d'autres manières. Pourquoi les concepteurs du Star se sont-ils arrêtés à deux boutons au lieu de réduire le nombre à un, comme l'a fait Apple ? Parce que les études qu'ils ont menées auprès d'utilisateurs éditant du texte et d'autres documents ont montré qu'une souris à un seul bouton éliminait les erreurs de confusion des boutons uniquement au prix d'une augmentation des erreurs de sélection à des niveaux inacceptables. Affichage en mode point - Jusqu'à récemment, la plupart des terminaux d'affichage vidéo étaient en mode point. Ces écrans permettent de réaliser d'importantes économies de mémoire d'affichage, ce qui, lorsque la mémoire était chère, rendait les terminaux plus abordables. Dans les années 1970, les chercheurs de Xerox PARC ont décidé que la mémoire deviendrait de moins en moins chère et qu'un écran en mode point valait de toute façon le coût. Sur la base de ce principe, ils ont développé l'Alto, qui avait un écran de 8,5 pouces de large et 10,5 pouces de haut. Comme l'Alto, l'écran du Star a une résolution de 72 pixels par pouce. Le choix de ce chiffre s'explique par deux raisons. Tout d'abord, il y a 72 points d'impression par pouce, ce qui permet une interface fluide avec le monde de la composition et de la typographie. Ensuite, 72 pixels par pouce est une résolution suffisamment élevée pour permettre la lecture d'une large gamme de graphismes et de tailles de caractères (jusqu'à environ huit points) sur l'écran (voir la figure 1), mais pas au point de surcharger la mémoire, comme l'aurait été un écran ayant une résolution d'imprimante de 300 points par pouce. La taille et la densité des pixels sont les mêmes horizontalement et verticalement, contrairement à de nombreux écrans graphiques pour PC, ce qui simplifie le logiciel d'affichage et améliore la qualité de l'image. Au niveau du gestionnaire de fenêtres et de fichiers Fenêtres - Il est désormais courant que les systèmes permettent à plusieurs programmes d'afficher simultanément des informations dans des zones distinctes de l'écran, plutôt que d'occuper chacun la totalité de l'écran. Star a été le premier système commercial à offrir cette fonctionnalité. Certains systèmes de fenêtrage permettent aux fenêtres de se chevaucher. D'autres systèmes ne le font pas : la taille et la position des fenêtres sont ajustées par le système au fur et à mesure de leur ouverture et de leur fermeture. Le système de fenêtrage de Star pouvait chevaucher les fenêtres et le faisait souvent (par exemple, les feuilles de propriétés étaient affichées dans des fenêtres qui chevauchaient les fenêtres d'application). Cependant, les concepteurs de Star ont observé lors des premiers tests que les utilisateurs passaient beaucoup de temps à ajuster les fenêtres et les ajustaient généralement de manière à ce qu'elles ne se chevauchent pas. Pour cette raison, et parce que l'écran de 17 pouces de Star était suffisamment grand pour qu'il n'y ait pas autant de besoin de fenêtres qui se chevauchent que dans les systèmes ayant moins d'espace d'écran, les concepteurs ont décidé que les fenêtres d'application devaient être contraintes de manière à ne pas se chevaucher. Cependant, en raison de la reconnaissance ultérieure qu'il existe des situations dans lesquelles les fenêtres d'application qui se chevauchent sont préférables et d'une réduction de la taille d'écran standard à 15 pouces (avec un écran de 19 pouces en option), les contraintes sont devenues facultatives dans ViewPoint, le successeur de Star, le paramètre par défaut étant que les fenêtres d'application peuvent se chevaucher. Applications intégrées - Ce terme à la mode dans le secteur a été utilisé pour décrire de nombreuses choses ; ici, il signifie que le texte, les graphiques, les tableaux et les formules mathématiques sont tous modifiés à l'intérieur des documents. Dans de nombreux autres systèmes, différents types de contenu sont modifiés dans des fenêtres d'application distinctes, puis coupés/collés ensemble. Par exemple : un dessin MacDraw placé dans un document Microsoft Word ou Aldus PageMaker ne peut plus être modifié ; l'original doit plutôt être réédité avec MacDraw, puis remplacé par l'ancien dessin dans le document. Même Star n'est pas totalement intégré au sens où nous l'entendons ici. Par exemple, bien que l'éditeur de graphiques structurés d'origine, le nouveau et les éditeurs de tableaux et de formules fonctionnent tous dans des fichiers texte, les feuilles de calcul et les dessins à main levée sont actuellement édités dans des fenêtres d'application distinctes et transférés dans des documents, où ils ne sont plus entièrement modifiables. ![]() Figure 1 - Image de l'écran ViewPoint. L'affichage bitmap de Star, autrefois unique sur le marché, est désormais beaucoup plus courant. Un tel affichage permet l'édition WYSIWYG, l'affichage de polices à espacement proportionnel, le texte et les graphiques intégrés et les interfaces utilisateur graphiques. Métaphore du bureau - Contrairement à tous les systèmes conventionnels et à de nombreux systèmes basés sur les fenêtres et la souris, Star utilise une analogie avec les bureaux réels pour rendre le système facile à apprendre. Cette analogie est appelée "la métaphore du bureau". Pour citer un article précédent sur Star : Le fait d'avoir des fenêtres et une souris ne fait pas d'un système une incarnation de la métaphore du bureau. Dans un système de métaphore du bureau, les utilisateurs traitent principalement des fichiers de données, sans se rendre compte de l'existence des programmes. Ils "n'appellent pas un éditeur de texte", ils "ouvrent un document". Le système connaît le type de chaque fichier et avertit le programme d'application concerné lorsqu'un fichier est ouvert. La plupart des systèmes, même ceux à fenêtres, utilisent une métaphore d'outils, dans laquelle les utilisateurs traitent principalement les applications comme des outils : ils démarrent un ou plusieurs programmes d'application (par exemple, un traitement de texte, un tableur), puis spécifient un ou plusieurs fichiers de données à éditer avec chacun. Ces systèmes n'associent pas explicitement les applications aux fichiers de données ; la charge de le faire - et de s'assurer de ne pas essayer de modifier un fichier de feuille de calcul avec l'éditeur de texte ou vice-versa - incombe aux utilisateurs. Différents types de fichiers sont distingués par convention utilisateur, généralement via des extensions de nom de fichier (par exemple, "memo.txt"). Star évite aux utilisateurs d'avoir à garder une trace de quel fichier de données correspond à quelle application. SunView est un exemple de système de fenêtres basé sur la métaphore des outils plutôt que sur celle du bureau. Ses utilisateurs voient une collection de fenêtres de programmes d'application, chacune étant utilisée pour éditer certains fichiers. Smalltalk-80, Cedar et divers environnements Lisp utilisent également la métaphore des outils plutôt que celle du bureau. Cela ne signifie pas que la métaphore du bureau est supérieure à celle des outils. La métaphore du bureau a été conçue pour la bureautique et l'édition. Elle peut ne pas être appropriée pour d'autres applications (par exemple, le développement de logiciels). Cependant, on peut affirmer qu'orienter les utilisateurs vers leurs données plutôt que vers des programmes d'application et utiliser des analogies avec le monde physique sont des techniques utiles dans n'importe quel domaine. L'inconvénient de l'affectation de fichiers de données à des applications est que les utilisateurs souhaitent parfois manipuler un fichier avec un programme autre que l'application "affectée". De tels cas doivent être traités dans Star de manière ad hoc, alors que des systèmes comme Unix permettent d'exécuter presque n'importe quel fichier via une grande variété de programmes. Les concepteurs de Star estiment que, pour son public, les avantages de permettre aux utilisateurs d'oublier les programmes l'emportent sur cet inconvénient. Commandes génériques - Une façon de simplifier un système informatique est de réduire le nombre de commandes. Star atteint la simplicité sans sacrifier la fonctionnalité en ayant un petit ensemble de commandes génériques qui s'appliquent à tous les types de données : Déplacer, Copier, Ouvrir, Supprimer, Afficher les propriétés et Même ("Same" - Copier les propriétés). Ces commandes sont appelées via des touches de fonction dédiées sur le clavier de Star. Chaque type d'objet de données interprète une commande générique d'une manière qui lui est appropriée. Une telle approche évite la prolifération de commandes spécifiques à un objet et/ou de modificateurs de commande que l'on trouve dans la plupart des systèmes, par exemple, Supprimer un caractère, Supprimer un mot, Supprimer une ligne, Supprimer un paragraphe, Supprimer un fichier. Les modificateurs de commande sont nécessaires dans les systèmes dans lesquels la sélection est seulement approximative. Par exemple, dans de nombreux systèmes, l'objet d'une commande est spécifié par une combinaison de l'emplacement du curseur et du modificateur de commande, par exemple, "Supprimer un mot" signifie : "supprimer le mot sur lequel se trouve le curseur". Les modificateurs sont inutiles dans Star car la sélection exacte des objets des commandes est facile. Dans de nombreux systèmes, le grand nombre de commandes spécifiques à un objet est rendu encore plus confus par l'utilisation de synonymes d'un seul mot au lieu de modificateurs de commande pour des opérations similaires sur différents objets. Par exemple, selon que l'objet de la commande est un fichier ou un texte, la commande à utiliser peut être Retirer ("Remove") ou Supprimer ("Delete"), Dupliquer ("Duplicate") ou Copier ("Copy), et Trouver ("Find") ou Rechercher ("Search"), respectivement. Un choix judicieux des commandes génériques peut encore réduire le nombre de commandes requises. Par exemple, on pourrait penser qu'il est nécessaire d'avoir une commande générique "Print" pour imprimer divers éléments. Le fait que Print s'applique à tous les objets de données éviterait le piège dans lequel tombent certains systèmes en ayant des commandes séparées pour imprimer des documents, des feuilles de calcul, des illustrations, des répertoires, etc., mais cela n'est néanmoins pas nécessaire. Dans Star, l'impression est invoquée via la commande Copy : les utilisateurs copient simplement ce qu'ils veulent imprimer sur une icône d'imprimante. Aucune commande Print n'est nécessaire. De même, la fonction "Send Mail" est gérée via "Move" : en déplaçant un document vers la corbeille d'envoi. Bien entendu, tout ne peut pas être effectué via des commandes génériques. Certaines opérations sont spécifiques à un objet. Par exemple, un mot peut être mis en italique, mais l'italique n'a aucun sens pour un triangle. Dans Star, les opérations spécifiques à un objet sont fournies via des touches de fonction "logicielles" ("soft") dépendantes de la sélection et via des menus attachés aux fenêtres d'application. Les utilisateurs de Star contrôlent le système en manipulant des éléments graphiques à l'écran, des éléments qui représentent l'état du système et des données créées par les utilisateurs. Le système ne fait pas de distinction entre les entrées et les sorties : tout ce qui est affiché (c'est-à-dire la sortie) par le système peut être pointé et utilisé par l'utilisateur (c'est-à-dire l'entrée). Lorsque Star affiche un répertoire, il n'affiche pas -- contrairement à MS-DOS et Unix -- une liste des noms des fichiers du répertoire, il affiche les fichiers eux-mêmes afin qu'ils puissent être manipulés par l'utilisateur. Les utilisateurs de ce type de système ont le sentiment d'opérer directement sur les données, plutôt que par l'intermédiaire d'un agent : c'est comme si l'on allait chercher soi-même un livre dans une bibliothèque plutôt que de demander à quelqu'un de le faire. Un autre principe connexe est que l'état du système est toujours reflété sur l'écran. Rien ne se passe "dans le dos de l'utilisateur". Il n'est pas nécessaire de manipuler le système pour comprendre ce qui se passe ; on peut le comprendre par inspection. L'un des concepteurs de Star a écrit : Icônes et gestion des fichiers avec icônes - Les utilisateurs d'ordinateurs ont souvent du mal à gérer leurs fichiers. Avant l'existence de Star, une secrétaire de Xerox se plaignait de ne pas pouvoir suivre les fichiers sur son disque. Une inspection de son système a révélé des fichiers nommés : memo, memo1, memo071479, letter, etc. Nommer des éléments pour les suivre est déjà assez gênant pour les programmeurs, mais complètement contre-nature pour la plupart des gens. Star atténue ce problème en partie en représentant les fichiers de données via des images d'objets de bureau appelés "icônes". Chaque fichier de données d'application dans le système est représenté par une icône. Chaque type de fichier a une forme d'icône caractéristique. Si un utilisateur recherche une feuille de calcul, son oeil peut ignorer les boîtes aux lettres, les imprimantes, les documents texte, etc. De plus, Star permet aux utilisateurs d'organiser les fichiers de manière spatiale plutôt que par le biais de noms distinctifs. Les systèmes dotés de répertoires hiérarchiques, tels qu'Unix et MS-DOS, fournissent une sorte abstraite d'organisation de fichiers "spatiale", mais l'approche de Star est concrète. Les fichiers peuvent être conservés ensemble en les plaçant dans un dossier ou simplement en les regroupant sur le bureau, modélisant ainsi la manière dont les gens organisent leur monde physique. Étant donné que les fichiers de données sont représentés par des icônes et que les fichiers sont distingués par leur emplacement et spécifiés par leur sélection plutôt que par leur nom, les utilisateurs peuvent utiliser des noms tels que memo, memo1, letter, etc. sans perdre la trace de leurs fichiers aussi facilement qu'ils le feraient avec la plupart des systèmes. Les systèmes avec affichage par point, fenêtrés et basés sur la souris devenant de plus en plus courants, l'utilisation du terme "icône" s'élargit pour désigner tout symbole non textuel sur l'écran. En anglais standard, "icône" ("icon") est un terme désignant des statues ou des images religieuses censées contenir certains des pouvoirs des divinités qu'elles représentent. Il serait plus cohérent avec sa signification normale si "icône" était réservé aux objets ayant un comportement et des propriétés intrinsèques. La plupart des symboles graphiques et des étiquettes sur les écrans d'ordinateur ne sont donc pas des icônes. Dans Star, seules les représentations de fichiers sur le bureau et dans les dossiers, les boîtes aux lettres et les tiroirs de fichiers sont appelées "icônes". Peu de modes - Un système possède des modes si les actions de l'utilisateur diffèrent en termes d'effets ou de disponibilité dans différentes situations. Larry Tesler a soutenu que les modes dans les systèmes informatiques interactifs sont indésirables car ils limitent les fonctions disponibles à un moment donné et obligent les utilisateurs à suivre l'état du système afin de savoir quel effet leurs actions auront (voir référence 3). Bien que les modes puissent être utiles pour guider les utilisateurs dans des procédures inconnues ou pour gérer des activités exceptionnelles, ils doivent être utilisés avec parcimonie et précaution. Star évite les modes de plusieurs façons. L'une d'entre elles est l'utilisation extensive de commandes génériques (voir ci-dessus), qui réduit considérablement le nombre de commandes nécessaires, ce qui signifie que les concepteurs n'ont pas besoin d'attribuer une double fonction (c'est-à-dire des significations différentes dans différents modes) aux contrôles physiques. Une deuxième façon consiste à permettre aux applications de fonctionner simultanément : lorsqu'ils utilisent un programme (par exemple, un éditeur de documents), les utilisateurs ne sont pas dans un mode qui les empêche d'utiliser les capacités d'autres programmes (par exemple, le gestionnaire de bureau). Une troisième façon pour Star d'éviter les modes est d'utiliser une syntaxe de commande nom-verbe : les utilisateurs sélectionnent un opérande (par exemple, un fichier, un mot, une table), puis invoquent une commande. Dans les systèmes conventionnels, les arguments suivent les commandes, soit sur une ligne de commande, soit en réponse à des invites. Le fait qu'un système utilise une syntaxe nom-verbe ou verbe-nom a beaucoup à voir avec le degré de modalité dont il est doté. Dans un système nom-verbe tel que Star, la sélection d'un objet avant de choisir une commande ne met pas le système en mode : les utilisateurs peuvent décider de ne pas invoquer la commande sans avoir à "échapper" à quoi que ce soit ou peuvent sélectionner un autre objet sur lequel opérer. Bien que les modes soient évités dans Star, le programme n'est pas complètement sans mode. Par exemple, les commandes Move et Copy nécessitent deux arguments : l'objet à déplacer et la destination finale. Bien qu'il existe des façons moins modélisées de concevoir Move et Copy, ces fonctions nécessitent actuellement que l'utilisateur sélectionne l'objet à déplacer ou à copier, appuie sur la touche Move ou Copy, puis indique la destination à l'aide de la souris. Pendant que Star attend que l'utilisateur pointe vers une destination, il est en mode Move ou Copy : d'autres utilisations de la souris sont exclues. Ces modes sont cependant relativement inoffensifs car : 1) l'état du système est clairement indiqué par la forme du curseur, et 2) ils sont entrés et sortis par un utilisateur au cours de l'exécution d'un plan mental unique, ce qui rend peu probable que le système soit dans le "mauvais" mode lorsque l'utilisateur commence sa prochaine action. Les objets ont des propriétés - Les propriétés permettent aux objets du même type de varier en apparence, en présentation et en comportement. Par exemple, les fichiers ont une propriété "Nom" ("Name"), les caractères ont une propriété "Famille de police" ("Font family"), les paragraphes ont une propriété "Justifié" ("Justified"). Les propriétés peuvent avoir différents types de valeurs : la propriété Name d'un fichier est une chaîne de texte ; la propriété "Taille" ("Size") d'un caractère peut être un nombre ou un choix dans un menu ; la propriété "Justifié" ("Justified") d'un paragraphe est ON ou OFF. Dans Star, les propriétés sont affichées et modifiées sous des formes graphiques appelées feuilles de propriétés. Les systèmes basés sur les propriétés sont rares. La plupart des systèmes informatiques, même aujourd'hui, permettent aux utilisateurs de définir des paramètres pour la durée d'une session interactive ou pour la durée d'une commande, mais pas pour des objets de données particuliers. Par exemple, les titres des documents WordStar ne se souviennent pas s'ils sont centrés ou non ; le fait qu'une ligne soit centrée ou non est déterminé par la manière dont le programme a été défini lors de la saisie de la ligne. De même, les répertoires sous Unix ne se souviennent pas si les fichiers doivent être listés dans l'ordre alphabétique ou temporel ; les utilisateurs doivent redéfinir l'ordre d'affichage qu'ils souhaitent à chaque fois qu'ils invoquent la commande "ls". Divulgation progressive - On a dit que "les ordinateurs promettent les fontaines de l'utopie, mais ne délivrent qu'un flot d'informations" (voir référence 4). En effet, de nombreux systèmes informatiques submergent leurs utilisateurs de choix, de commandes à mémoriser et de résultats mal organisés, dont une grande partie n'a aucun rapport avec ce que l'utilisateur essaie de faire. Ils ne font aucune supposition sur ce que l'utilisateur veut et sont donc conçus comme si toutes les actions possibles de l'utilisateur étaient également probables et comme si toutes les informations générées par le système présentaient le même intérêt pour l'utilisateur. Certains systèmes atténuent quelque peu le problème en fournissant des paramètres par défaut pour simplifier les tâches censées être courantes. Star va plus loin dans la résolution de ce problème en appliquant un principe appelé "divulgation progressive". La divulgation progressive impose que les détails soient cachés aux utilisateurs jusqu'à ce qu'ils les demandent ou aient besoin de les voir. Ainsi, non seulement Star fournit des paramètres par défaut, mais il masque les paramètres que les utilisateurs ne sont pas susceptibles de modifier jusqu'à ce qu'ils indiquent qu'ils souhaitent les modifier. Cette conception repose sur des hypothèses implicites concernant les propriétés qui seront modifiées le moins fréquemment. La divulgation progressive est utilisée dans les feuilles de propriétés. Certains objets possèdent un grand nombre de propriétés, dont la plupart ne sont pertinentes que lorsque d'autres propriétés ont certaines valeurs (voir la figure 2). Par exemple, dans la feuille de propriétés de mise en page, il n'y a aucune raison d'afficher toutes les propriétés pour spécifier le contenu et la position de l'en-tête courant, à moins que l'utilisateur ne spécifie réellement que le document doit contenir des en-têtes courants. Un autre exemple de divulgation progressive est le fait que les propriétés affichées dans Star sont temporaires, affichées à la demande. Dans certains systèmes, les propriétés de la sélection en cours sont affichées à tout moment - via des codes intégrés dans le texte ou dans une zone de l'écran réservée à cet effet - même si l'utilisateur n'y prête généralement aucune attention. ![]() Figure 2 - Divulgation progressive. Les feuilles de propriétés de Star, comme le reste de l'interface, utilisent un principe connu sous le nom de "divulgation progressive" pour éviter de submerger les utilisateurs d'informations. En général, les utilisateurs n'ont pas besoin de voir les propriétés d'un objet : ils ont seulement besoin de voir et éventuellement de modifier le style qui lui est attribué. Les utilisateurs ne voient les propriétés d'un objet que sur demande. De plus, même lorsqu'un utilisateur définit une feuille de propriétés pour afficher les propriétés d'un objet, comme illustré ci-dessus, certaines informations sont masquées jusqu'à ce que l'utilisateur demande à les voir. Par exemple, il n'est pas nécessaire d'encombrer la feuille de propriétés illustrée ci-dessus avec des cases pour saisir des nombres pour les valeurs "Autres" de hauteur de ligne, d'espacement avant le paragraphe ou d'espacement après le paragraphe jusqu'à ce que l'utilisateur ait effectivement défini la propriété sur "Autre". Cohérence - Comme Star et toutes ses applications ont été conçues et développées en interne, ses concepteurs ont eu plus de contrôle sur son interface utilisateur que ce n'est généralement le cas avec les systèmes informatiques. Comme les concepteurs ont prêté une attention particulière aux détails, un très haut degré de cohérence a été atteint. Le bouton gauche de la souris sélectionne toujours ; le bouton droit étend toujours la sélection. Les zones sensibles à la souris donnent toujours un retour d'information lorsque le bouton gauche est enfoncé, mais ne prennent jamais effet tant que le bouton n'est pas relevé. L'accent est mis sur la qualité du graphisme et de la conception de l'écran : les fenêtres, les icônes et les feuilles de propriétés sont inutiles si les utilisateurs ne peuvent pas les distinguer facilement de l'arrière-plan ou les unes des autres, ne peuvent pas voir facilement quelles étiquettes correspondent à quels objets ou sont submergés par un encombrement visuel. Pour garantir que Star présente les informations de manière aussi perceptible et utile que possible, Xerox a engagé des graphistes pour déterminer l'apparence et le placement des objets à l'écran. Ces concepteurs ont appliqué divers principes écrits et non écrits à la conception des en-têtes et des bordures des fenêtres, de l'arrière-plan du bureau, des boutons de commande, des menus contextuels, des feuilles de propriétés et des icônes du bureau. Les principes les plus importants sont les suivants :
Éditeur de documents WYSIWYG - Dans les limites de la résolution de l'écran, les documents Star s'affichent tels qu'ils seront imprimés, y compris les caractéristiques typographiques telles que le gras, l'italique, l'espacement proportionnel, les familles de polices variables, les exposants et les caractéristiques de mise en page telles que les graphismes intégrés, les numéros de page, les en-têtes et les pieds de page. C'est ce que l'on appelle communément "Ce que vous voyez est ce que vous obtenez" ou "WYSIWYG". Star adhère à ce principe même dans les domaines où d'autres éditeurs de documents "WYSIWYG" ne le font pas. Par exemple, les formules mathématiques sont créées et modifiées dans des documents à l'aide d'un éditeur WYSIWYG qui possède des connaissances intégrées sur l'apparence et la disposition des symboles mathématiques. Un signe de racine carrée possède un emplacement pour une expression et grandit lorsque l'expression devient grande (voir la figure 7). Dans la plupart des systèmes, les formules mathématiques sont créées soit en assemblant des caractères spéciaux pour créer des symboles mathématiques, soit en utilisant une notation spéciale en ligne (par exemple, sqrt(sigma(1, n, (x*3)/2))) pour représenter la formule qui sera finalement imprimée. Les formules créées avec de tels systèmes nécessitent généralement plusieurs cycles d'impression-édition pour être correctes. ![]() Figure 7 - Édition de formules WYSIWYG. Les formules mathématiques sont éditées dans Star de manière hautement WYSIWYG, contrairement à la plupart des systèmes, dans lesquels les formules sont spécifiées via des expressions en ligne ou en les construisant à partir de morceaux dans une police de caractères spéciale. Star utilise des codes de caractères à 16 bits pour permettre au système de gérer de manière fiable les langues européennes ainsi que le japonais, qui utilise plusieurs milliers de caractères. Tous les systèmes Star et ViewPoint disposent de fonctionnalités linguistiques intégrées en français, allemand, italien, espagnol et russe. La fonctionnalité en japonais a été développée dans le cadre de l'effort de conception original de Star et a été lancée au Japon peu après les débuts de Star aux États-Unis. Depuis lors, de nombreux autres caractères ont été ajoutés, couvrant le chinois, l'arabe, l'hébreu et presque toutes les langues européennes. Comme l'explique dans plusieurs articles Joe Becker, le concepteur des capacités multilingues de Star, la gestion de nombreuses langues du monde nécessite plus qu'un jeu de caractères étendu. (voir références 5,6,7). Des schémas de frappe intelligents et des algorithmes de rendu sophistiqués sont nécessaires pour fournir une capacité multilingue qui satisfasse les clients. Le document est le coeur du monde et l'unifie - La plupart des ordinateurs personnels et des postes de travail n'accordent aucun statut particulier à une application particulière. Des dizaines d'applications sont disponibles, la plupart étant incompatibles entre elles, tant au niveau du format des données que de l'interface utilisateur. Star, au contraire, part du principe que l'utilisation principale du système est de créer et de maintenir des documents. L'éditeur de documents est donc l'application principale. Toutes les autres applications existent principalement pour fournir ou manipuler des informations dont la destination finale est un document. Ainsi, la plupart des applications sont intégrées à l'éditeur de documents (voir "Applications intégrées", ci-dessus), fonctionnant dans des cadres intégrés aux documents, et les applications qui ne font pas partie de l'éditeur de documents gèrent le transfert de leurs données vers les documents. Histoire du développement de Star Après avoir décrit ce que sont Star et ViewPoint, nous allons décrire leur origine et comment ils ont été développés. La figure 8 illustre cette histoire en montrant les systèmes qui ont influencé Star et ceux qui ont été influencés par lui. ![]() Figure 8 - Comment les systèmes ont influencé les systèmes ultérieurs. Ce graphique résume comment les différents systèmes liés à Star se sont influencés les uns les autres au fil des ans. Le temps progresse vers le bas. Les doubles flèches indiquent les successeurs directs (c'est-à-dire les versions suivantes). De nombreuses "flèches d'influence" sont dues à des concepteurs clés qui ont changé de poste ou qui ont appliqué des concepts issus de leurs recherches universitaires aux produits. Bien que Star ait été conçu en tant que produit en 1975 et lancé en 1981, de nombreuses idées qui y ont contribué sont nées de projets remontant à plus de trois décennies. Memex - L'histoire commence en 1945, lorsque Vannevar Bush, concepteur des premières calculatrices et l'un des conseillers scientifiques du président Roosevelt, écrivit un article décrivant sa vision des utilisations de l'électronique et des technologies de l'information. À une époque où les ordinateurs étaient nouveaux, de la taille d'une pièce et utilisés uniquement pour le calcul militaire, Vannevar Bush envisagea un ordinateur de bureau personnel destiné à des applications non numériques et l'appela Memex. En raison d'une technologie insuffisante et du manque d'imagination des autres, les idées de Vannevar Bush restèrent lettre morte pendant quinze ans. SketchPad - Dans les années 1960, les gens ont commencé à prendre l'informatique interactive au sérieux. L'un d'eux était Ivan Sutherland. Il a construit un système graphique interactif appelé Sketchpad qui permettait à un utilisateur de créer des figures graphiques sur un écran cathodique à l'aide d'un crayon optique. Les formes géométriques que les utilisateurs plaçaient sur l'écran étaient traitées comme des objets : après avoir été créées, elles pouvaient être déplacées, copiées, rétrécies, agrandies et tournées. Elles pouvaient également être assemblées pour créer des objets plus grands et plus complexes qui pouvaient ensuite être utilisés comme des unités. Sketchpad a influencé l'interface utilisateur de Star dans son ensemble ainsi que ses applications graphiques. NLS - Dans les années 1960, Douglas Engelbart a également mis en place un programme de recherche au Stanford Research Institute (aujourd'hui appelé SRI International) pour étudier l'utilisation des ordinateurs "pour augmenter le savoir du travailleur" et l'intellect humain en général. Lui et ses collègues ont expérimenté différents types d'affichages et de périphériques d'entrée - inventant la souris lorsque d'autres périphériques de pointage se sont révélés inadéquats - et ont développé un système communément appelé NLS (voir note *2). NLS était unique à plusieurs égards. Il utilisait des écrans cathodiques alors que la plupart des ordinateurs utilisaient des télétypes. Il était interactif (c'est-à-dire en ligne) alors que presque tout le calcul était par lots. Il était orienté plein écran alors que les quelques systèmes interactifs étaient orientés ligne. Il utilisait une souris alors que tous les autres systèmes interactifs graphiques utilisaient des touches de curseur, des crayons optiques, des manettes ou des tablettes de numérisation. Enfin, il était le premier système à organiser les informations textuelles et graphiques en arborescences et en réseaux, ce que l'on appellerait aujourd'hui un "processeur d'idées" ou un "système hypertexte". The Reactive Engine- Tandis que Douglas Engelbart et ses collègues développaient des idées, dont certaines ont fini par se retrouver dans Star, Alan Kay, alors étudiant diplômé, faisait de même. Sa thèse, The Reactive Engine, contenait les germes de nombreuses idées que lui et d'autres ont ensuite concrétisées dans le langage Smalltalk et l'environnement de programmation, ce qui, à son tour, a influencé Star. Comme les concepteurs de NLS, Alan Kay a réalisé que les applications interactives n'ont pas besoin de traiter l'écran comme un "télétype en verre" et peuvent partager l'écran avec d'autres programmes. Xerox PARC En 1970, Xerox a créé un centre de recherche à Palo Alto pour explorer les technologies qui seraient importantes non seulement pour le développement ultérieur de la gamme de produits Xerox alors existante (c'est-à-dire les copieurs), mais aussi pour l'expansion prévue de Xerox dans le secteur des systèmes de bureau. Le centre de recherche de Palo Alto (en abrégé "PARC") était organisé en plusieurs laboratoires, chacun consacré à la recherche fondamentale et appliquée dans un domaine lié aux objectifs ci-dessus. Les noms et l'organisation des laboratoires ont changé au fil des ans, mais les sujets de recherche sont restés les mêmes : science des matériaux, physique du laser, circuits intégrés, CAO/FAO, interface utilisateur (pas nécessairement avec les ordinateurs) et informatique (y compris les réseaux, les bases de données, les systèmes d'exploitation, les langages et les environnements de programmation, les graphismes, les systèmes de production de documents et l'intelligence artificielle). Les chercheurs du PARC étaient friands du slogan "La meilleure façon de prédire l'avenir est de l'inventer". Après quelques premières expériences avec des systèmes à temps partagé, ils ont commencé à chercher une nouvelle approche de l'informatique. Parmi les membres fondateurs du PARC se trouvait Alan Kay. Lui et ses collègues connaissaient NLS et appréciaient son approche novatrice de l'interaction homme-machine. Bientôt, le PARC a embauché plusieurs personnes qui avaient travaillé sur NLS et a signé en 1971 un accord avec SRI pour accorder une licence à Xerox pour l'utilisation de la souris. Alan Kay et d'autres étaient dévoués à une vision d'ordinateurs personnels dans un environnement distribué. En fait, ils ont inventé le terme "ordinateur personnel" en 1973, bien avant que les micro-ordinateurs ne déclenchent ce que l'on a appelé la "révolution de l'ordinateur personnel". L'un des résultats de la recherche d'une nouvelle approche a été l'Alto. L'Alto était un mini-ordinateur doté d'un disque dur amovible de 2,5 mégaoctets (les disquettes n'existaient pas à l'époque) et de 128 à 256 ko de mémoire. Contrairement à la plupart des machines de l'époque, l'Alto disposait également d'un jeu d'instructions microprogrammable, d'un écran graphique par point "pleine page" (10,5x8,25 pouces ; 600x800 pixels), d'environ 50 ko de mémoire d'affichage à grande vitesse et d'une souris. Le premier Alto fut opérationnel en 1972. Au début, seule une demi-douzaine d'Alto furent construits. Après la mise à disposition de logiciels exploitant les capacités de l'Alto, la demande pour ces machines augmenta considérablement, s'étendant au-delà de PARC à Xerox dans son ensemble et même à des clients externes. Finalement, plus d'un millier d'Alto furent construits. Ethernet - Un autre produit de cette nouvelle approche fut l'Ethernet. Grâce à ses protocoles de communication standardisés et en couches, Ethernet permet de connecter des ordinateurs de manière beaucoup plus flexible qu'auparavant. Peu après la construction des premiers Alto, ils ont été mis en réseau. Au fil du temps, le réseau s'est étendu à des milliers de postes de travail (Alto et successeurs d'Alto) au sein de l'organisation mondiale de Xerox, ce qui a permis à Xerox d'acquérir des millions d'heures d'expérience en matière d'ordinateurs personnels et de serveurs en réseau. Smalltalk - Alan Kay a été l'un des principaux défenseurs de l'Alto. Son groupe de recherche sur l'apprentissage (LRG) a commencé à utiliser l'Alto pour construire des prototypes d'un système informatique personnel "du futur" : une machine portable qui fournirait, plutôt qu'un ensemble d'applications, les éléments de base nécessaires aux utilisateurs pour créer les outils et les applications dont ils ont besoin pour résoudre leurs propres problèmes de traitement de l'information. Les technologies nécessaires pour construire un ordinateur portable avec la puissance du "DynaBook" (comme s'appelait le système envisagé) n'étaient pas disponibles à l'époque, et le sont toujours. Les prototypes développés par le groupe d'Alan Kay ont évolué vers le langage et l'environnement de programmation Smalltalk. Ils ont encore promu la notion d'informatique personnelle, ont été les pionniers d'environnements de programmation complets et interactifs, et ont affiné et solidifié les concepts de programmation orientée objet qui n'existaient que sous une forme vestigiale dans les systèmes précédents. Plus important encore pour Star, ils ont démontré la puissance des affichages graphiques en mode point, de la saisie pilotée par la souris, des fenêtres et des applications simultanées. C'est le lien le plus visible entre Smalltalk et Star, et c'est peut-être la raison pour laquelle de nombreuses personnes croient à tort que Star a été écrit en Smalltalk. Pygmalion - Le premier grand programme écrit en Smalltalk fut Pygmalion, le projet de thèse de doctorat de David Smith. L'un des objectifs de Pygmalion était de montrer que la programmation d'un ordinateur ne doit pas nécessairement être une activité textuelle : elle peut être accomplie, avec le système approprié, en interagissant avec des éléments graphiques sur un écran. Un deuxième objectif était de montrer que les ordinateurs peuvent être programmés dans le langage de l'interface utilisateur, c'est-à-dire en montrant ce que l'on veut faire et en faisant en sorte que l'ordinateur s'en souvienne et le reproduise. L'idée d'utiliser des icônes - des images qui permettent aux utilisateurs de les manipuler et, ce faisant, d'agir sur les données qu'elles représentent - est venue principalement de Pygmalion. Après avoir terminé Pygmalion, David Smith a travaillé brièvement sur le projet NLS au SRI avant de rejoindre l'équipe de développement Star chez Xerox. Bravo, Gypsy et BravoX - Au même moment où LRG développait Smalltalk pour l'Alto, d'autres personnes au PARC, principalement Charles Simonyi et Butler Lampson, écrivaient un système avancé d'édition de documents pour celui-ci : Bravo. Parce qu'il utilisait abondamment l'écran par point de l'Alto, Bravo était sans conteste l'éditeur de texte le plus WYSIWYG de son époque, avec le soulignement à l'écran, la mise en gras, l'italique, des familles et tailles de polices variables et des caractères à largeur variable. Il permettait de diviser l'écran, de sorte que différents documents ou différentes parties du même document pouvaient être édités en même temps, mais ne fonctionnait pas dans un environnement fenêtré tel que nous utilisons le terme aujourd'hui. Bravo était largement utilisé au PARC et chez Xerox dans son ensemble. En 1976-1978, Charles Simonyi et d'autres ont réécrit Bravo, en y incorporant de nombreuses idées d'interface utilisateur nouvelles qui circulaient à l'époque au PARC. L'une de ces idées était l'absence de mode, promue par Larry Tesler (voir référence 3) et illustrée par le prototype d'éditeur de texte Gypsy de Larry Telser. Ils ont également ajouté des styles, améliorant la capacité des utilisateurs à contrôler l'apparence de leurs documents. La nouvelle version a été appelée BravoX. Peu de temps après, Charles Simonyi a rejoint Microsoft, où il a dirigé le développement de Microsoft Word, un descendant direct de BravoX. Un autre membre de l'équipe BravoX, Tom Malloy, est allé chez Apple et a écrit LisaWrite. Draw, SIL, Markup, Flyer et Doodle - Les capacités graphiques de Star (c'est-à-dire ses dispositions permettant aux utilisateurs de créer des images graphiques à incorporer dans des documents, par opposition à son interface utilisateur graphique) doivent beaucoup à plusieurs éditeurs graphiques qui ont été écrits pour les machines Alto et ultérieures. Draw, de Patrick Beaudelaire et Bob Sproull, et SIL (pour Simple Illustrator) étaient les successeurs intellectuels de Sketchpad de Sutherland (voir ci-dessus) : des éditeurs d'objets graphiques qui permettaient aux utilisateurs de construire des figures à partir de formes géométriques et de textes sélectionnables, déplaçables et extensibles. À leur tour, les capacités de cadres graphiques de Star sont dans une large mesure un successeur intellectuel de Draw et de SIL. Markup était un éditeur de graphiques bitmap (c'est-à-dire un programme de dessin) écrit par William Newman en BCPL pour l'Alto. Flyer était un autre programme de dessin, écrit en Smalltalk pour l'Alto par Bob Flegel et Bill Bowman. Ces programmes ont inspiré Doodle, un programme de dessin écrit pour une machine ultérieure par Dan Silva. Doodle a finalement évolué vers l'application Free-Hand Drawing de ViewPoint. Dan Silva a ensuite écrit Deluxe Paint, un programme de dessin pour Amiga et PC. Impression laser - Les fonctions graphiques sophistiquées d'un poste de travail ne sont guère utiles sans les capacités d'impression papier qui les accompagnent. l'impression laser, inventée au PARC, a fourni les capacités de base nécessaires, mais il fallait trouver un moyen pour que les ordinateurs puissent décrire les sorties vers les imprimantes laser de manière uniforme. À cette fin, Bob Sproull a développé le langage de description de page Press. Press a été largement utilisé au PARC, puis développé davantage pour devenir Interpress, le langage de description de page produit de Xerox et le langage dans lequel Star encode les sorties d'imprimante. Certains des développeurs d'Interpress ont ensuite formé Adobe Systems et développé PostScript, un populaire langage de description de page. Laurel et Hardy - Un réseau de postes de travail personnels suggère le courrier électronique. Bien que le courrier électronique n'ait pas été inventé au PARC, les chercheurs du PARC (principalement Doug Brotz) l'ont rendu convivial pour la première fois en créant Laurel, un outil orienté affichage pour l'envoi, la réception et l'organisation du courrier électronique. L'expérience de l'utilisation de Laurel, qui doit son nom à un arbre, a inspiré d'autres personnes à écrire Hardy, du nom de Laurel, pour une machine qui succède à Alto. Laurel et Hardy ont joué un rôle déterminant pour inciter les non-ingénieurs de Xerox à utiliser le courrier électronique. L'utilisation du courrier électronique s'est encore répandue lorsque Star et ViewPoint se sont répandus dans toute la société. Aujourd'hui, les employés de Xerox dépendent fortement du réseau mondial de courrier électronique de l'entreprise pour communiquer, à la fois dans le cadre professionnel et autre, avec d'autres employés. OfficeTalk - Un autre programme Alto qui a influencé Star était OfficeTalk, un prototype de système de bureautique écrit par Clarence "Skip" Ellis et Gary Nutt. OfficeTalk gérait les tâches de bureautique standard et suivait les "tâches" au fur et à mesure qu'elles passaient d'une personne à l'autre dans une organisation. L'expérience avec OfficeTalk a fourni des idées à Star en raison des applications cibles similaires des deux systèmes. La dette que Star doit à l'Alto et à son logiciel peut être mieux résumée en citant les concepteurs originaux, qui ont écrit en 1982 : Star Pour développer Star et d'autres produits de bureautique, Xerox a créé le département de développement des systèmes (SDD). Le SDD a été doté en personnel par transfert de personnes d'autres services de Xerox, y compris PARC, ainsi que par des recrutements extérieurs. Ainsi, contrairement à ce qui a souvent été déclaré dans la presse spécialisée, Star n'a pas été développé au PARC, mais plutôt dans une organisation de développement de produits distincte. Lors de la création de SDD, il a été décidé d'utiliser Mesa, un dialecte Pascal de "puissance industrielle" conçu au SRI et développé au PARC, comme langage de programmation principal. SDD a géré le développement et la maintenance de Mesa du Computer Science Laboratory (CSL) du PARC, libérant ainsi le CSL pour développer le successeur de Mesa dans le domaine de la recherche, Cedar. Matériel Star - Star est souvent présenté comme s'il s'agissait d'un ordinateur. En fait, Star est un ensemble de logiciels (voir note *3). Cependant, l'utilisation du nom Star pour désigner la machine est compréhensible puisque la machine a été conçue en conjonction avec le logiciel pour répondre aux besoins de la conception du logiciel. Cela contraste fortement avec l'approche habituelle, dans laquelle le logiciel est conçu pour les ordinateurs existants. La station de travail de la série 8000 était basée sur un processeur microcodé conçu par Xerox spécialement pour exécuter le code objet produit par le compilateur Mesa. En plus d'être microprogrammé pour exécuter Mesa, le processeur fournissait des opérations de bas niveau pour faciliter les opérations d'affichage. Par exemple, l'opération BitBlt pour manipuler des matrices rectangulaires de pixels d'écran est implémentée sous la forme d'une seule instruction. À la vente, la machine était configurée avec au moins 384 ko de mémoire réelle (extensible à 1,5 Mo), un disque dur local (10, 29 ou 40 Mo), un écran 17 pouces, une souris mécanique, un lecteur de disquette 8 pouces et une connexion Ethernet. Le prix initial était de 16 500 $ avec le logiciel. Bien que la machine ait été conçue pour exécuter Star, elle exécutait également d'autres logiciels. En plus de la vendre comme station de travail 8010 "Star", Xerox la vendait comme machine serveur et comme station de travail Interlisp et Smalltalk. Logiciel Star - Bien que Star ait incorporé des idées de plusieurs de ses prédécesseurs, il a fallu un effort de conception colossal pour rassembler toutes ces idées - ainsi que de nouvelles idées - afin de produire une conception cohérente. Selon les concepteurs d'origine, "... c'était un véritable défi de mettre de l'ordre dans les différentes interfaces utilisateur de l'Alto" (voir référence 1). Environ trente années-personnes ont été consacrées à la conception de l'interface utilisateur, des fonctionnalités et du matériel. Pour favoriser l'uniformité des spécifications ainsi qu'une conception réfléchie et uniforme, les concepteurs de Star ont développé un format strict pour les spécifications. Les applications et les fonctionnalités du système devaient être décrites en termes d'"objets" que les utilisateurs manipuleraient via le logiciel et d'"actions" que le logiciel fournissait pour manipuler les objets. Cette analyse "objets et actions" était censée être à un niveau assez élevé, sans tenir compte de la manière dont les objets seraient réellement présentés ou de la manière dont les actions seraient réellement invoquées par les utilisateurs. Une spécification complète a ensuite été rédigée à partir de la version "objets et actions". Cette approche a obligé les concepteurs à réfléchir clairement à l'objectif de chaque application ou fonctionnalité et a favorisé la reconnaissance d'opérations similaires dans les spécifications, permettant de gérer ce qui aurait pu sembler être de nouvelles opérations via des commandes existantes. Lors de sa création, SDD était répartie sur deux sites : le sud de la Californie (El Segundo) et le nord de la Californie (Palo Alto). Peu de personnes étaient prêtes à changer d'emplacement, ce qui laissait à SDD le choix entre perdre de nombreux ingénieurs compétents ou faire preuve de créativité. La direction de SDD a choisi la voie créative : elle a mis l'Ethernet en marche, a mis les machines de développement des deux sites sur un réseau, a connecté les deux sites via une ligne louée de 56 kbit/seconde, a encouragé l'utilisation intensive du courrier électronique pour les communications professionnelles et a développé des outils pour faciliter le développement distribué et multipartite. Comme on pouvait s'y attendre au vu des origines de Star, la plupart des travaux de conception et de prototypage ont été réalisés à Palo Alto, tandis que la majeure partie de la mise en oeuvre a été réalisée à El Segundo. Bien que cette séparation ait été gérée de manière créative, certains concepteurs de Star pensent aujourd'hui qu'elle a causé des problèmes qui n'ont pas été surmontés par l'utilisation intensive du courrier électronique. Par exemple, les implémenteurs n'ont pas tiré grand profit du prototypage effectué au PARC. Le processus de développement a été décrit en détail ailleurs (voir référence 6) et ne sera pas répété ici. Il suffit de dire que l'effort de développement de Star :
Étant donné que la machine sur laquelle Star fonctionnait avait été développée en parallèle avec le logiciel, elle n'était pas disponible dès le début pour être utilisée comme plate-forme de développement logiciel. Les premiers prototypes et développements ont été réalisés sur des machines de recherche Alto et les machines de recherche suivantes développées au PARC. Bien que le langage Mesa fonctionnait sur ces machines, les aides au développement pour les programmeurs Mesa faisaient défaut. Lorsque la station de travail de la série 8000 fut disponible, le groupe systèmes de SDD commença à développer un environnement de développement adapté. Lorsqu'il fut disponible, l'environnement de développement, connu en interne sous le nom de "Tajo" et en externe sous le nom de "Xerox Development Environment" (XDE), et les nombreux outils écrits pour y fonctionner furent rapidement adoptés par les programmeurs de SDD. Au fur et à mesure que Star fut amélioré, de nombreuses bonnes idées de Tajo furent adoptées. ViewPoint ViewPoint Software - Peu après la sortie de Star, les concepteurs et les implémenteurs se sont rendu compte que ce logiciel présentait de sérieux problèmes en termes de performances, de maintenance et d'améliorations. Son haut degré d'intégration et de cohérence de l'interface utilisateur avait été obtenu en le rendant monolithique : le système "connaissait" toutes les applications et toutes les parties du système "connaissaient" toutes les autres parties. Il était difficile de corriger les problèmes, d'ajouter de nouvelles fonctionnalités et d'augmenter les performances. L'architecture monolithique ne se prêtait pas non plus à un développement distribué et multipartite. Cela a créé une pression pour réécrire Star. Bob Ayers, qui avait été fortement impliqué dans le développement de Star, a réécrit l'infrastructure du système selon le modèle Tajo plus flexible. Il a construit, au-dessus du système d'exploitation et du gestionnaire de fenêtres de bas niveau, une "boîte à outils" pour créer des applications de type Star. Le transfert de données entre différentes applications était géré dans la nouvelle infrastructure via des protocoles stricts impliquant la sélection de l'utilisateur, ce qui rendait les applications indépendantes les unes des autres. L'interface utilisateur orientée objet, qui nécessite que le système associe les applications aux fichiers de données, a été préservée en permettant aux applications de s'enregistrer auprès du système au démarrage, en lui indiquant à quel type de fichier de données elles correspondent et en enregistrant les procédures de gestion des événements du clavier et de la souris et des commandes génériques. La cohérence de l'interface utilisateur a été favorisée en intégrant de nombreuses normes dans la boîte à outils des applications. L'organisation de développement a complété la boîte à outils, puis a porté ou réécrit les applications et utilitaires existants pour qu'ils fonctionnent dessus. Parmi les autres modifications logicielles, citons :
Matériel ViewPoint - En plus de la révision du logiciel, Xerox a mis à jour le matériel en concevant un tout nouveau véhicule pour ViewPoint : la station de travail 6085. La nouvelle machine a été conçue pour tirer parti des progrès des circuits intégrés, des réductions des coûts de mémoire, des nouvelles technologies de disque et des nouvelles normes de conception de clavier, ainsi que pour assurer la compatibilité IBM PC. La station de travail 6085 est équipée d'un processeur Mesa plus un processeur compatible IBM PC en option, d'un mégaoctet de mémoire réelle (extensible à 4 Mo), d'un disque dur (de 10 à 80 Mo), d'un écran de 15 ou 19 pouces au choix, d'une souris optique, d'un nouveau clavier, d'un lecteur de disquettes de 5,25 pouces et, bien sûr, d'une connexion Ethernet. Le coût de base était initialement de 6340 $ avec le logiciel ViewPoint. Comme le 8010, le 6085 est vendu comme véhicule pour Interlisp et Smalltalk ainsi que pour ViewPoint. Modifications récentes de ViewPoint - ViewPoint 2.0 a récemment été publié, ajoutant de nombreuses fonctionnalités pertinentes pour la PAO. Celles-ci incluent :
Prêtez attention aux tendances du secteur En partie enthousiasmés par ce qu'ils faisaient, les chercheurs du PARC et les concepteurs de Star n'ont pas prêté suffisamment attention à "l'autre" révolution des ordinateurs personnels qui se produisait en dehors de Xerox. À la fin des années 1970, Xerox avait sa propre tradition technique puissante (c'est-à-dire des stations de travail en réseau pilotées par souris avec de grands écrans bitmap et de multiples applications simultanées), ce qui a rendu les concepteurs de Star aveugles quant à la nécessité d'aborder le marché via des PC autonomes bon marché. Le résultat était un produit très peu familier. De nos jours, bien sûr, de tels systèmes ne sont plus inhabituels. Le développement de Star et ViewPoint a nécessité le développement de plusieurs technologies de mise en réseau, de communication avec les serveurs, de description de pages pour les imprimantes laser et de développement de logiciels. À l'époque où elles ont été développées, ces technologies étaient uniques dans l'industrie. Xerox a choisi de les garder propriétaires par crainte de perdre son avantage concurrentiel. Avec le recul, nous pouvons dire qu'il aurait peut-être été préférable de rendre ces technologies publiques, ou du moins de les commercialiser rapidement, afin qu'elles deviennent des normes industrielles. Au lieu de cela, des approches alternatives développées par d'autres entreprises sont devenues les normes industrielles. La participation actuelle de Xerox au développement de diverses normes industrielles (par exemple, Open Look) indique sa volonté d'inverser cette tendance. Faites attention à ce que veulent les clients La révolution de l'ordinateur personnel a montré qu'il est vain d'essayer d'anticiper toutes les applications que les clients voudront. Star aurait dû être conçu dès le départ pour être ouvert et extensible par les utilisateurs, comme l'était l'Alto. Rétrospectivement, l'extensibilité a été l'une des clés de la popularité de l'Alto. Le problème n'était pas que Star manquait de fonctionnalités, mais qu'il n'avait pas les fonctionnalités que les clients voulaient. Un exemple est l'absence initiale d'une application de tableur. Les concepteurs n'ont pas su apprécier l'importance de cette application, qui a peut-être été plus importante encore que le traitement de texte pour étendre la révolution de l'ordinateur personnel au-delà des ingénieurs et des amateurs vers les entreprises. Réalisant finalement que la fermeture de Star était un problème, Xerox l'a remplacé par ViewPoint, un système plus "ouvert" qui permet aux utilisateurs de choisir les applications dont ils ont besoin, notamment un tableur et un logiciel IBM PC. Apple Computer a tiré la même leçon de son ordinateur Lisa et l'a remplacé de la même manière par un modèle moins cher doté d'une architecture logicielle plus ouverte : le Macintosh. Sachez qui sont vos concurrents Le prix initial par poste de travail de Star était proche de celui des mini-ordinateurs à temps partagé, des traitements de texte dédiés et d'autres installations informatiques partagées. Star était cependant en concurrence avec les PC basés sur des micro-ordinateurs pour l'espace de bureau. ViewPoint a corrigé ce problème : le 6085 coûte à peu près le même prix que ses concurrents. Établir des objectifs de performance fermes Les concepteurs de Star auraient dû établir des objectifs de performance, les documenter dans les spécifications fonctionnelles et s'y tenir tout au long du développement de Star. Lorsque les objectifs de performance ne pouvaient pas être atteints, les fonctionnalités correspondantes auraient dû être supprimées. Au lieu de la vitesse, l'interface utilisateur aurait dû être conçue pour être plus réactive. En concevant le système pour gérer les entrées utilisateur de manière plus intelligente, les systèmes peuvent être rendus plus réactifs sans nécessairement les obliger à exécuter les fonctions plus rapidement. Ils peuvent fonctionner de manière asynchrone par rapport aux entrées utilisateur, en utilisant des processus d'arrière-plan, en suivant les actions importantes de l'utilisateur, en retardant les tâches sans importance (par exemple, l'actualisation des zones non pertinentes de l'écran) jusqu'à ce que le temps le permette, en ignorant les tâches demandées par les premières actions de l'utilisateur mais rendues inutiles par les actions ultérieures. ViewPoint utilise désormais des processus d'arrière-plan pour augmenter sa réactivité. Évitez les organisations de développement géographiquement dispersées Avoir une organisation de développement divisée entre Palo Alto et El Segundo était probablement une erreur, moins pour des raisons de distance en soi que par manque de connaissances communes en informatique de type PARC. Cependant, l'effet négatif de la distance sur la communication a certainement été un facteur. Ne soyez pas dogmatique à propos de la métaphore du bureau et de la manipulation directe La manipulation directe et la métaphore du bureau ne sont pas la meilleure façon de faire les choses. Il est parfois préférable de mémoriser et de taper plutôt que de voir et de pointer. Par exemple, si un utilisateur souhaite ouvrir un fichier parmi plusieurs centaines dans un répertoire (dossier), le système doit permettre à l'utilisateur de saisir son nom plutôt que de l'obliger à faire défiler le répertoire pour essayer de le repérer afin de pouvoir le sélectionner. De nombreux aspects de Star étaient corrects Bien que certains aspects de Star auraient peut-être dû être traités différemment, la plupart des aspects de la conception de Star décrits au début de cet article ont résisté à l'épreuve du temps. Il s'agit notamment de : Interface utilisateur à base d'icône, à manipulation directe et orientée objet - l'époque des langages de commande cryptiques et des dizaines de commandes à mémoriser par les utilisateurs (à la Unix et MS-DOS) devrait être révolue depuis longtemps. Commandes génériques et cohérence en général - Même Macintosh pourrait apprendre quelques leçons à cet égard : il utilise "Dupliquer" pour copier des fichiers au sein d'un disque mais le glissement des icônes pour les copier sur plusieurs disques, sans parler du Copier-Coller pour copier quoi que ce soit d'autre. Périphérique de pointage - Bien que les touches de curseur présentent certains avantages et auraient certainement renforcé l'attrait commercial de Star (comme elles l'ont fait pour ViewPoint), les concepteurs de Star maintiennent que le système repose principalement sur la souris. Cela n'implique pas un engagement envers la souris en tant que telle, mais plutôt envers tout périphérique de pointage permettant un pointage et une sélection rapides. À mesure que les interfaces évolueront à l'avenir, les écrans tactiles haute résolution et d'autres périphériques plus exotiques pourraient remplacer les souris comme périphériques de pointage de choix.
Star a eu une influence incontestable sur la conception des systèmes informatiques. Par exemple, le Lisa et le Macintosh auraient pu être très différents si les concepteurs d'Apple n'avaient pas emprunté des idées à Star, comme le montre l'extrait suivant d'une entrevue des concepteurs du Lisa par le magazine Byte : Des éléments de l'approche métaphorique du bureau peuvent également être observés dans de nombreux autres systèmes. L'histoire présentée ici montre cependant que les concepteurs de Star n'ont pas inventé le système à partir de rien. Tout comme il a influencé les systèmes qui lui ont succédé, Star a été influencé par les idées et les systèmes qui l'ont précédé. Il est difficile d'empêcher la diffusion de bonnes idées une fois qu'elles sont évidentes pour tous, en particulier dans ce secteur. Star n'était donc qu'une étape - certes importante - dans un processus d'évolution qui se poursuivra chez Xerox et ailleurs. C'est ainsi que cela doit se passer. Références
Avant Xerox
|