HISTOIRE DE L'INTERFACE HUMAIN-MACHINE

 ©2002 texte, images d'écrans et photos Jean Bellec

Retour histoire informatique  
mise à jour du 02 nov. 2005

On ne traitera ici que de l'interface des êtres humains avec les ordinateurs et on ne s'appesantira pas sur les autres éléments voisins tels que magnétophones, appareils photos, téléviseurs, voitures etc. qui mériteraient probablement d'être étudiés parallèlement. On ne traitera pas du problème plus général de l'histoire de l'évolution des applications dans leurs relations avec les utilisateurs.

Les premiers ordinateurs (et ceci s'est retrouvé quelque peu sur les premiers micro-ordinateurs, tels les Micral N, Altair) n'avaient comme interface externe que deux boutons: un bouton RESET et  un bouton START. Le premier remettait à zéro l'état de la machine, le second mettait en marche "le" programme. D'autres appareils (lecteur de cartes perforées, lecteur de bande perforée) servis séparément par l'opérateur donnaient à l'ordinateur les instructions nécessaires.

L'interface humain-machine des téléviseurs et des moniteurs (appelée OSD On Screen Display) est intéressante à noter par sa simplicité matérielle généralement trois boutons et ...sa complexité d'utilisation. Elle utilise la caractéristique de "time-out" soit pour valider une entrée ... soit pour annuler une sélection. Le caractère peu fréquent  des retouches des réglages de brillance, couleur... assure que le mode d'emploi est à redécouvrir à chaque utilisation. 
Il est fréquent de rencontrer sur les OSD des montres, appareils audio-visuels des menus circulants où les options sont appelées, chacune à leur tour, par la pression sur un bouton; l'ordre des options et parfois l'appellation de leur fonction n'ont généralement rien d'instinctif. Pour faire des économies, le concepteur a restreint les possibilités en ne permettant pas la navigation dans les deux sens. Il existe, par exemple, des horloges qui nécessitent 59 appuis pour retarder l'heure d'une seule minute. Plus généralement la correction d'une erreur de frappe est pour le moins fastidieuse.
Ce genre d'interface existe aussi sur les véhicules et aura probablement contribuer à dévaluer l'électronique embarquée ans les automobiles.
La cause de ces disfonctionnements est en général la recherche du coût minimum en adoptant des écrans très petits et en diminuant au maximum le nombre de boutons.

En général, la première génération d'ordinateurs incluait des outils complémentaires (série de switches ou de boutons) pour entrer des données complémentaires et affichages de résultats sur des lampes. Une machine comme le Gamma 30 utilisait la plupart du temps ce type d'interface.
RCA/Bull Gamma 30 (Aconit)

pupitre de l'IBM 360/67 de l'IMAG (Aconit)
Le pupitre du S/360 d'IBM offrait à l'opérateur un ensemble similaire. En grande partie pour des raisons de coût ces pupitres spécialisés se sont raréfiés à partir de la fin des années 1960. 

 Ramenés à un affichage de quelques chiffres hexadécimaux, ils ont été relégués à l'intérieur des armoires des machines et connus seulement du personnel de maintenance du constructeur.

Si sur la génération 1960, on fit un usage de boutons afficheurs comportant une ou plusieurs lampes et des caches de couleur multiple, la pression sur les coûts les fit disparaître et le sens des rares afficheurs devint dépendant du contexte. Encore heureux, quand le bouton RESET n'a pas aussi disparu, remplacé par l'interrupteur général de courant. L'impact sur la fiabilité de ces coupures de courant épargna quelque peu cette solution extrême sur les grands ordinateurs.

 

Lorsque la multiprogrammation est apparue à la fin des années 1950, le reporting par des résultats par recopie des tableaux lumineux montra vite ses limites et le besoin d'un listing sur une machine à écrire s'imposa (Gamma 60). D'autre part les boutons RESET et START devaient être émulés pour chaque programme séparément. La machine à écrire utilisée à cette fin fut aussi utilisée en entrée à cette fin et un interpréteur de commandes commença à faire partie du système d'exploitation alors naissant.

Cette architecture commença à poser des problèmes lorsque de plus en plus de messages émis par les programmes étaient dirigés vers la machine à écrire. Ces messages pouvaient empêcher l'opérateur d'envoyer des commandes. Le même phénomène se rencontra dans les systèmes time-sharing qui au début étaient particulièrement dédiés à la mise au point de programmes. C'est ainsi que naquit l'invention du BREAK qui forçait la priorité de l'interpréteur de commandes.

En fait le signal BREAK trouve son origine dans l'interruption qui permettait à un téléimprimeur (Teletype) de faire savoir à son interlocuteur de se mettre en réception –et bien entendu d'interrompre l'émission- en coupant le courant (le télégraphe marche en boucle de courant) pendant ¼ de seconde. La touche BRK existait sur les téléimprimeurs Teletype 33 et 35 KSR et ASR utilisés dans les premiers systèmes time-sharing. 
C
f http://www.multicians.org/thvv/7094.html  
Lorsque les protocoles de transmission ne permettaient pas une transmission "analogique" du signal BRK, le signal devait être émulé au niveau d'un message interprété par les couches les plus basses de l'interpréteur de commandes, par exemple en reconnaissant la séquence de caractères $*$BRK dans les produits propriétaires Bull.

Une alternative au RESET assuré par la commande Break est l'utilisation de time-out où une commande est "automatiquement" annulée lorsque le temps de réponse de l'opérateur dépasse un certain temps. Ce type d'interface rencontré dans le système local des téléviseurs et des écrans, aussi qui peuvent exister aussi dans le systèmes (cf. double-click) présente des contraintes sévères d'adaptation de l'opérateur. Ils sont néanmoins inévitables et sont utilisés dans la vie courante dans des systèmes automatisés (désarmement des alarmes ) ou non  (péremption des chèques, dates limites des impôts...) Ils exigent des soins particuliers pour s'assurer que les time-out ne soient dépendants que du temps passé sans être influencé par la vitesse de traitement ou d'autres facteurs ignorés de l'utilisateur.

.

C'est ainsi que s'est stabilisée la définition du CLI command level interface née sur les systèmes time-sharing et reprises dans les systèmes d'exploitation des stations de travail (mode CONSOLE d'UNIX) ainsi que sur CP/M et MS/DOS. Cette interface subsiste encore aujourd'hui plus ou moins apparente. L'interface "console" a été souvent complétée par l'emploi de "touches de fonction" qui complétait l'ensemble de caractères et diminuait le nombre de frappes nécessaires ainsi que les erreurs de frappe dans les "noms de commandes" qui conduisaient souvent à des réactions aberrantes du système d'exploitation.

Une évolution qui n'eut guère de suite fut l'interpréteur de commandes interactif au niveau de chaque caractère où le système remplissait lui-même les fins de mots et facilitait la correction des erreurs. Cette formule fit le succès du langage PAF et des commandes de la CAB500. Cette solution n'était applicable que lorsque l'interpréteur de commandes était le programme principal de la machine –situation qui ne se retrouvera que sur les micros 15 ans plus tard.

 

Au milieu des années 1970, les écrans, grâce en partie à une technologie de base dérivée de la télévision –raster technology- devinrent moins onéreux et beaucoup plus fiables que les machines à écrire. C'est ainsi que les "glass teletypes" remplacèrent les machines à écrire de manière quasi transparente au logiciel. Bien entendu, les messages à conserver devaient être archivés et imprimés séparément. Les terminaux DEC VT100 et leurs émulateurs restèrent les dispositifs standards de UNIX pendant les années 1980.

En parallèle, pour ne pas bloquer tout le système en cas de panne mécanique sur l'imprimante associée à la console, la plupart des systèmes ont proposé l'enregistrement des messages de l'opérateur sur un journal (fichier log) sur disque, permettant de résoudre hors ligne et à distance certains des problèmes rencontrés.

 

Les paramètres des commandes devinrent de plus en plus nombreux à mesure que les systèmes d'exploitation devenaient de plus en plus "compréhensifs" ;>) Le remplacement des valeurs optionnelles par des virgules ne résolvaient pas tous les problèmes et le "state of the art" à la fin des années 1970 devint celui des commandes par menu où les paramètres étaient insérés par l'opérateur. Plusieurs variantes de ce système où le nom du paramètre et même le format des données était affiché à côté de la zone d'entrée: les appareils à l'écran non-adressable où chaque paramètre est rentré à son tour,-par exemple l'interface Minitel, et ceux –plus ou moins inspirés du 3270 IBM où un écran adressable permet de saisir plus aisément plusieurs champs en une interaction. 
Ces facilités furent utilisées relativement pour l'usage interne du système d'exploitation. Elles furent d'abord rodées dans l'environnement des programmes utilisateurs transactionnels. Pour GCOS7, c'est d'abord une extension du langage de description des transactions (PREFORMS) qui devança le système de menus  GCL de GCOS7.

Un perfectionnement de l'utilisation des écrans adressables a été la définition d'une "boîte de dialogue" associant aux champs command et paramètres une liste des options par menu-déroulant, un contrôle du type des paramètres (champs numériques, dates...) et à distribuer dans le terminal un contrôle de la présentation. En pratique, il faudra attendre le milieu des années 1990 pour voir normaliser des langages - Javascript par exemple - adaptables à plusieurs types de terminaux et de systèmes.

 

L'interface "menus" inclut aussi le plus souvent un choix des commandes par simple sélection dans une liste des commandes autorisées par le contexte. Ces choix sont tous visibles, dans un menu déroulant (Xerox, puis MacIntosh et Windows) ou dans un menu déroulant privilégiant la fréquence de référence (Microsoft Office 2000). C'est au début des années 1980 que IBM a proposé le standard CUA (partie de SAA) qui standardise le fameuse première ligne FILE, EDIT, DISPLAY…HELP que presque tous les constructeurs ont adopté.   
Le gros avantage de ce type d'interface est de contribuer à unifier l'interface des programmes d'application diminuant d'autant le processus d'apprentissage des utilisateurs.

Assez rapidement le système de base de SAA fut complété par l'adoption de menus en cascade, ou sous-menus.

Il faudrait aussi noter que certaines interface homme-machine s'inspirent de la solution utilisée dans les machines à écrire à mémoire des années 1960 (ex: IBM, Olivetti) qui est de préparer une séquence de caractères dans une mémoire tampon et ensuite de l'insérer à l'endroit voulu comme paramètre.

Plusieurs applications contemporaines sont de ce type:

-l'interface des FMS (flight management system computer) des avions civils modernes et probablement aussi les militaires où les paramètres sont entrés après frappe dans une zone d'édition. A chaque champ est associé un bouton sur le bord de l'écran. Cette solution évite l'usage de la souris ou du joystick peut-être plus difficile à utiliser dans un environnement secoué.
-l'interface IME (input method editor)des langages non-européens et plus particulièrement le chinois, japonais et coréen où l'édition des caractères complexes se fait dans une zone spéciale en bas de l'écran. La frappe se faisant en alphabétique (pinyin chinois ou romanji japonais)  ou en syllabique (hiragana japonais). Cette méthode n'est guère utilisée que pour les paramètres les noms de commandes étant soit par menu soit en anglais.

-l'emploi  de l'écriture manuscrite par les Palm PC et les Tablet PC (sous le noms de graffiti ou d'autres similaires) reprend le principe de l'IME en permettant à l'utilisateur de composer et d'éditer dans un tampon les paramètres de la commande.

Une version similaire –du point de vue architecture, mais évidemment pas du point de vue opérabilité- est l'utilisation de la commande vocale pour entrer commandes et paramètres. Elle est cependant sensible à l'environnement et apparaît encore réservée à des utilisateurs particuliers.

  Les dispositifs de pointage sont nés sur des systèmes spéciaux paramilitaires et ont été introduits dans le public à la fin des années 1970 avec Xerox –encore expérimental- et les jeux vidéo. Joystick et souris furent utilisés sur des écrans adressables –qu'ils soient adressables au caractère ou du type bit-map. Ce type d'interface est souvent appelé GUI "graphic user interface". L'avantage des écrans bit-map sur les écrans caractères est essentiellement d'ordre esthétique: ils permettent l'affichage avec des polices différentes et de dessiner des entourages à chaque zone. Ils permettent aussi l'affichage de dessins. Parmi les dessins, un "widget" [le mot widget est utilisé dans la communauté IHM pour désigner un windows-gadget, un outil pour manipuler des objets] important, inventé autant que je sache au Xerox PARC, fut l' icône, dessin symbolique représentant un objet (programme, commande, fichier) qui, sur des clicks sur les boutons de la souris, permet de lancer des travaux sans agir au clavier.

L'adoption du mécanisme de fenêtre de taille adaptable posa le problème du mapping entre le fenêtre définie par l'usager et l'image proposée par le programme. La plupart du temps la fenêtre ne couvre qu'une partie de l'espace offert par le programme, d'où la nécessité de pouvoir déplacer la fenêtre sur cet espace. Il y eut longtemps un débat pour savoir si l'action de l'opérateur était de déplacer le document derrière une fenêtre fixe ou de déplacer la fenêtre devant le document. La plupart des programmes ont choisi la seconde solution, mais pas tous, en particulier pas ni Adobe (Acrobat Reader) ni tous les programmes d'affichage de cartes. Le widget de déplacement est celui des barres verticales et horizontales d'"ascenseurs".
Un autre problème a été de naviguer dans une séquence d' images (que ce soit des slides de présentation, des albums de photos ou un film d'images animées, ou même des articles d'une base de données). Le mécanisme qui a été introduit au milieu des années 1980 est celui du widget magnétoscope avec ses icônes de marche avant, arrêt et retour rapide aux extrémités. Évidemment, le même widget a été utilisé pour le son.

L'interface graphique nécessite en principe l'utilisation d'un dispositif de pointage séparé du clavier. Cependant, le prix élevé de ces dispositifs jusqu'aux années 1990 fit qu'il était possible de se servir des flèches du clavier et de touches de raccourci (utilisant la touche CTRL ou pomme du Mac comme préfixe). L'utilisation simultanée de trois touches compliqua encore l'usage des GUI sans le dispositif de pointage dont le prix de revient diminua sensiblement.


Apple Macintosh (Aconit)

Des guerres de religion eurent lieu sur les boutons de la souris: Steve Jobs de Apple se présenta comme le chantre de la simplicité avec la souris à un bouton, ce qui généralisa l'usage du double click. Les designers de programmes de CAO furent les chantres de la souris à 3 boutons. Microsoft se convertit à une utilisation généralisée du click-droit. En parallèle, se déroulèrent des procès sur la brevetabilité des icônes mettant aux prises Apple, Xerox, Microsoft, IBM et Hewlett-Packard.

On notera que des essais de perfectionnement de la manipulation de la souris ont été introduits par logiciel dans les pilotes de souris, comme l'attraction "magnétique" du curseur vers les boîtes de réponse ou le "prépositionnement" du curseur sur la réponse escomptée. Ces perfectionnements restent le plus souvent optionnels.

D'autres solutions alternatives à la souris existent comme la molette de navigation dans les menus simples (menus des PDA ou bornes de délivrance des tickets de métro) ou écran tactile (ex: bornes muséographiques). Ce solutions sont réputées plus abordables pour les "ignares du mulot", elles présentent souvent des avantages de robustesse qui compensent un interface plus frustre.

Par contre, il faut noter un abandon presque total du "light-pen" une des solutions nées des applications radar des années 1960 et utilisables même avec les écrans du type oscilloscope. Un problème d'ergonomie physiologique pour des écrans le plus souvent verticaux semble en être le responsable.

Il est encore difficile de se prononcer sur les tablettes graphiques séparées de l'écran qui ne sont pas sensibles à ce problème. Elles présentent l'avantage d'une similitude de mouvements avec l'écriture manuscrite avec les risques d'égarer le crayon sans fil ou de le faire tomber lorsqu'on reprend le clavier, le crayon avec fil présentant par ailleurs d'autres inconvénients. On peut noter quelques problèmes potentiels: la liaison entre crayon et la tablette se fait par radio, et ne nécessite pas de contact physique; dans certains cas, c'est un avantage, mais le pointeur peut s'envoler aux limites de l'écran et nécessite une enquête pour la retrouver. La conversion "intelligente" de l'écriture manuscrite pose le problème d'une adaptation dynamique du dictionnaire au langage de l'utilisateur qui sera souvent amené à mêler des mots étrangers à son discours manuscrit.

  Le perfectionnement essentiel apporté par le Xerox PARC fut le traitement multi-fenêtres qui a permis à plusieurs applications de se dérouler en parallèle interfaçant avec un même opérateur sur des fenêtres différentes (recouvrables ou non) d'un même écran. Il s'agit là des interfaces de X-Windows, du Mac et de Windows qui ne diffèrent que cosmétiquement (autant que je sache).

Un élément de l'interface homme-machine non directement visible mais néanmoins essentiel est le presse-papiers, réserve de mémoire servant au déplacement des objets. Cette entité est indispensable aux opérations (coupe-copier/coller) entre fenêtres.

Les fenêtres sont maintenant flottantes, c'est à dire que l'opérateur peut les replacer en un endroit quelconque de l'écran ou même en dehors dans un écran virtuel. Ce mécanisme d'écran virtuel est souvent mal connu de l'utilisateur Windows et requiert sur les systèmes Unix un mécanisme spécifique.

Une fois l'interface multi-fenêtres acquise, les primitives de dessin établies dans le système d'exploitation se trouvèrent disponibles aux applications Windows et permirent des applications plus conviviales. Le problème de la spécification des  paramètres se trouva simplifiée non seulement par les "menus déroulants" contextuels mais aussi par les barres d'outils qui permirent de limiter l'usage du clavier pour beaucoup d'applications.

 Sans que la structure interne de l'interface de commande soit sensiblement modifiée, il devint possible de piloter complètement des applications de CAO sans utiliser le clavier. Les menus déroulants ont été complétés vers 1995 par des onglets, souvent plus esthétiques et qui sont un embryon d'une navigation 3D, ou du moins d'un bureau multi-couches.

Un des objets les plus utilisés dans l'interface humain-machine est le fichier. La représentation initiale des noms de fichiers par un abrégé en 8 caractères (plus le type) fut complétée sous Windows 95 par des noms longs plus descriptifs introduits d'abord sur Unix et le Mac. de plus en plus l'option d'afficher des vignettes des fichiers images s'est répandue dans les programmes de gestion de fichiers.

La panoplie des widgets de base de Windows s'est enrichie au début des années 1990 par l'introduction des curseurs horizontaux et verticaux, des cadrans circulaires redonnant aux commandes un "look" analogique dont l'avantage principal est de rendre les entrées au clavier dans certains programmes d'application quelque peu marginal. Bien entendu des programmes comme les simulateurs de vol utilisent tous ces "controls", mais en introduisent des supplémentaires via des processus asynchrone se déroulant en parallèle avec le programme principal.

Le système de fenêtres  rectangulaires que l'on pouvait croire définitif a donné l'apparence d'être contourné au moyen d'un jeu sur les transparences et à un replacement des "controls" de façon à donner aux fenêtres des apparences circulaires ou des formes variées inspirées des matériels réels "tendance" offerts aux jeunes des années 1990. Bien entendu, ce sont sûrement les programmes d'application multimédia (vidéo et surtout son) qui ont bénéficié de cette mode. L'interface humain / machine n'en a pas toujours bénéficié, car l'utilisateur est amené à se perdre dans des boutons égarés dans des paysages psychédéliques où il est difficile de retrouver le menu FILE ou même la commande d'arrêt. Mieux, ces programmes disposent souvent d'une décoration et d'un placement modulaire que chaque utilisateur peut modifier via un "éditeur de skins".

Des compléments importants sont arrivés avec l'introduction des navigateurs Web (initialement au CERN, puis avec Mosaic pour la version graphique). L'apport essentiel est l'introduction de l'hypertexte liant potentiellement le monde entier à l'interface homme-machine).

Une addition faite dans les navigateurs, à l'occasion de leur concurrence féroce de la fin du XXe siècle et qui n'est pas sans poser de problèmes à l'utilisateur, est le mécanisme des pop-ups windows, l'accès volontaire à une page par l'hypertexte entraîne l'affichage de fenêtres dont certaines n'affichent même pas d'icônes de réduction ou d'arrêt ou se régénèrent d'elles-mêmes en cas d'arrêt. Les pop-up windows sont néanmoins utiles pour afficher l'Aide ou une fenêtre de saisie. Dans le même ordre d'idée la proposition, dans une fenêtre pop-up, de reconnection immédiate à Internet pour mise à jour (gratuite ou payante) d'un logiciel fait partie des déviations de la vague Internet.

Dans le cas d'une utilisation Web, on notera aussi les applications du type PUSH : les chaînes de diffusion d'informations qui présentent les mêmes avantages et inconvénients que leurs ancêtres machines d'opérateurs des années 1960 (risque de saturation, cacophonie  et richesse de fonctions).

Enfin, une dimension supplémentaire de l'interface commence à apparaître : au lieu d'en "bureau" surface en deux dimensions, certaines applications sont en train de permettre une troisième dimension en permettant à l'utilisateur de modifier l'aspect de l'écran en modifiant le point de vue. Les programmes de simulation d'une interface en 3D, comme un cockpit d'avion, sont parmi les premiers) expérimenter cette variante qui pourrait être étendue à d'autres applications où l'écran est trop encombré par des widgets inutiles dans le contexte actuel, mais qui ont besoin d'être retrouvés rapidement par l'opérateur.
Le dispositif de pointage dans un environnement 3D n'est pas encore normalisé, mais on peut penser que la souris multi-boutons à molette constitue un dispositif acceptable sinon très intuitif.

Un aspect dont on parle depuis longtemps mais qui nécessite du temps pour devenir opérationnel est l'interface vocale. Les ordinateurs ont été capables de "parler" à partir du début des années 1960. Cette interface est devenue opérationnelle dans des systèmes transactionnels utilisant en entrée le clavier téléphonique; on les rencontre tous les jours dans les PABX d'entreprise. Cependant en sortie on rencontre des messages préenregistrés avec une composition automatique des nombres.
Parallèlement, la lecture d'un texte par l'ordinateur à l'aide d'un dictionnaire de prononciation est devenue opérationnelle à la fin des années 1970 et s'est trouvée disponible sur les premiers ordinateurs personnels un peu plus tard. Cela a permis l'usage de l'ordinateur aux mal-voyants.
L'entrée par reconnaissance vocale est disponible également depuis les années 1970  mais sous forme expérimentale. Outre le problème d'accentuation propre à chaque individu, on rencontre celui du bruit environnant. L'isolation du locuteur par reconnaissance stéréophonique n'est pas encore au point et seuls des mots élémentaires (comme des commandes ou des chiffres) peuvent être identifiés en environnement bruyant variable. Beaucoup de travail reste à faire pour développer un ordinateur pouvant se passer d'un bouton marche et même d'un clavier.

Remarques

On ne s'est pas intéressé ci-dessus aux systèmes d'exploitation non traditionnels et dérivés des études de Xerox PARC. Ces systèmes orientés objet (tels Smalltalk) dont une partie s'est introduite dans nos systèmes de micro-ordinateurs. Ces systèmes reconnaissent que les "objets" (comme des fichiers) par construction reconnaissent que seulement certaines "méthodes" peuvent s'appliquer à eux dans le contexte présent. ces méthodes peuvent être choisies par l'opérateur, par exemple par click droit sur un objet sélectionné par simple passage du curseur sur son icône. Il s'agit là d'une deuxième génération de systèmes d'exploitation à fenêtres qui s'est seulement généralisée dans la seconde moitié des années 1990

Dans les systèmes, l'interface opérateur décrite ci-dessus est souvent accompagnée d'une interface de plus bas niveau destinée aux techniciens de maintenance. Par exemple, l'interface de configuration du BIOS des PC n'utilise qu'un code interprétant des menus relativement peu explicites. Il n'y a guère que de raisons historiques à ces variations. En général ces interfaces sont pérennisées par le fait que différents systèmes d'exploitation utilisent cette machine et qu'il est nécessaire de maintenir le système quel que soit l'OS même celui le plus économe de ressources (taille mémoire par exemple).

Les systèmes distribués où l'état du dialogue est conservé en totalité ou en partie dans plusieurs systèmes interconnectés, Il est très important qu'une mise en cohérence de ces états puisse être faite, ce qui n'est pas le cas pour le "plug and play" de Microsoft qui attend la fermeture correcte du système pour enregistrer l'état des périphériques remarqués au démarrage.

Il existe un appareil très répandu dont les défauts de l'interface humain-Machine risquent d'avoir des conséquences sociologiques non négligeables: il s'agit des téléphones portables utilisés pour transmettre des SMS et dont le seul clavier numérique a des impacts directs sur l'orthographe: des messages comme "kickkc ma bkn" ne sont pas tout à faits inoffensifs. L'utilisation sur les modèles plus perfectionnés d'une IME avec dictionnaire est une solution pour diminuer cet inconvénient du portable.