Hommage à Tony Krueger, à l’origine des vagues rouges et vertes sous les mots
(devblogs.microsoft.com)- Tony Krueger a contribué à la fonctionnalité de Microsoft Word qui signale immédiatement les problèmes d’orthographe et de grammaire par des soulignements ondulés rouges et verts, laissant ainsi une trace d’interface vue par presque tous les utilisateurs
- Dans les premières versions de Word, la vérification orthographique devait être lancée manuellement par l’utilisateur, et même l’Auto Spell Check restait une opération bloquante qui interrompait les tâches au premier plan comme l’enregistrement ou la fermeture, si bien que beaucoup d’utilisateurs la désactivaient
- Krueger a conçu une approche moins intrusive pour que la vérification n’interrompe pas l’utilisateur, en affichant les problèmes directement sous les mots sans attendre un lancement séparé
- Il a participé à Word 1.0, 1.1, 2.0, Word for OS/2, Word for Mac, Word 6.0 et à plusieurs versions ultérieures, et a également pris en charge le portage Windows de Chip’s Challenge
- Aujourd’hui, les vagues rouges, mais aussi vertes et bleues, se sont répandues dans les traitements de texte et bien au-delà, et le travail de Krueger demeure comme une interface de retour d’édition du quotidien
Tony Krueger et l’interface des soulignements ondulés de Word
- Tony Krueger est une personne dont les réalisations sont largement connues, alors que son nom l’est beaucoup moins
- Sur Wikipedia, il est mentionné comme la personne ayant porté Chip’s Challenge vers Windows pour le Windows Entertainment Pack
- Ce portage avait été réalisé en rétro-ingénierie, puis réimplémenté pour Windows sans disposer du code source de la version MS-DOS
- Le code qui a touché le plus grand nombre de personnes était cependant la fonctionnalité de signalement de l’orthographe et de la grammaire de Microsoft Word
Une empreinte laissée sur de nombreuses versions de Word
- Krueger a participé au développement de nombreuses versions de Word
- Word 1.0
- Word 1.1
- Word 2.0
- Word for OS/2
- Word for Mac
- Word 6.0 et plusieurs versions ultérieures
- Il est présenté comme quelqu’un qui pourrait détenir le record du « plus grand nombre de versions de Word publiées »
Pourquoi les premières vérifications orthographiques étaient contraignantes
- Dans les premières versions de Word, le Spell Check était une fonctionnalité que l’utilisateur devait lancer explicitement
- L’utilisateur devait attendre que le programme trouve toutes les fautes potentielles, puis traiter les mots un par un en décidant de l’action à effectuer pour chacun
- Word a ensuite introduit l’Auto Spell Check, qui exécutait à l’avance la vérification orthographique quand l’utilisateur était inactif
- L’idée était d’avoir les résultats prêts lorsque l’utilisateur appuyait sur le bouton Spell Check
- Mais l’Auto Spell Check restait malgré tout une opération bloquante qui empêchait encore l’utilisateur de passer à l’action suivante
- C’est aussi pour cette raison que beaucoup d’utilisateurs désactivaient cette fonctionnalité
- Si une vérification orthographique se lançait au moment où ils voulaient enregistrer le document et quitter, ils devaient attendre sa fin
L’introduction des vagues rouges et vertes
- Krueger a transformé la vérification orthographique en un mécanisme bien moins intrusif, afin qu’elle ne perturbe pas le travail au premier plan
- Lorsqu’un problème était détecté, Word dessinait immédiatement un soulignement ondulé rouge sous la faute potentielle, sans attendre que l’utilisateur lance Spell Check
- Par la suite, les erreurs grammaticales potentielles ont été signalées par un soulignement ondulé vert
- Cette approche est aujourd’hui visible dans presque tous les traitements de texte, et elle est aussi souvent utilisée en dehors de ceux-ci
- Les soulignements ondulés rouges, mais aussi verts et bleus, sont désormais très répandus
Ceux qui se souvenaient de cette fonctionnalité
- Krueger était un fan de la première heure du duo de magie et de comédie Penn and Teller
- Un ami et collègue a demandé après un spectacle aux deux artistes une photo dédicacée pour Tony, en leur disant qu’il faisait partie de l’équipe à l’origine des vagues rouges et vertes dans Word
- Penn Jillette a réagi d’une voix assez forte pour résonner dans tout le théâtre : “The red and green squiggles!? I love the red and green squiggles!”, et Teller a lui aussi approuvé en silence
- Krueger a reçu cette photo dédicacée comme cadeau d’anniversaire, et on ne savait pas très bien s’il était plus heureux de la photo elle-même ou du fait que Penn and Teller aimaient sa fonctionnalité
- Plus tard, dans la vidéo parodique Word Crimes de “Weird Al” Yankovic, le soulignement ondulé rouge de Word apparaît brièvement, et le même ami a obtenu une dédicace sur une capture d’écran de ce passage
La trace laissée
- Le soulignement ondulé rouge reste un retour d’édition quotidien qui aide les utilisateurs à repérer leurs erreurs
- Ce que Krueger a mis en place en premier s’est ensuite diffusé comme mode de signalement des erreurs textuelles dans de nombreux logiciels
2 commentaires
Commentaires sur Hacker News
Si l’on reste dans l’industrie qui fabrique du logiciel et qu’on laisse son nom dans le code source, on finit un jour par être retenu pour un produit ou une fonctionnalité totalement inattendus
Ce sur quoi on a le plus travaillé, et pour quoi on espérait être connu, est souvent oublié avec le temps. Le processus de création est entièrement sous notre contrôle, mais ce pour quoi on devient connu ne l’est absolument pas
Prowrite sur Amiga proposait la vérification orthographique en temps réel avant Word
Il y a peut-être eu d’autres programmes avec cette fonction avant, mais Prowrite traçait un soulignement ondulé rouge sous les mots incorrects
https://www.atarimagazines.com/compute/issue123/P215_1_REVIE...
Je n’ai pas non plus trouvé de capture d’écran montrant cette fonction. Avec la palette de couleurs d’AmigaOS 1.x, les couleurs standard étaient noir/blanc/bleu/orange, donc la ligne ondulée était probablement orange plutôt que rouge. À partir d’AmigaOS 2, c’était noir/blanc/gris/bleu pour l’effet 3D, donc la couleur de mise en évidence aurait peut-être dû être le bleu
Dans un environnement où l’on travaille en plusieurs langues, les soulignements ondulés sont souvent peu utiles
Le système essaie de deviner la langue du texte que j’écris, mais se trompe généralement, ce qui produit un bruit visuel contre lequel il faut lutter ou qu’il faut ignorer. Changer manuellement le paramètre de langue à chaque interaction est aussi bien trop pénible
Comme ce sont des styles de caractères, cela s’applique aussi bien à la position courante qu’à une sélection. Ça permet aussi de corriger une ligne couverte de soulignements ondulés quand on a oublié de régler la langue à l’avance. Sinon, on peut définir la langue de correction de tout le texte sur None pour supprimer complètement les diagnostics d’orthographe et de grammaire
Fait intéressant, l’article de Chen renvoie à la page Wikipedia comme preuve que Tony Krueger a réalisé le portage
Mais dans la version actuelle, la source de cette affirmation renvoie à son tour vers l’article de Chen
L’article de Chen disait que « Tony Krueger est retenu par Wikipedia comme la personne qui a porté … », puis ajoutait en note : « Le fait qu’il ait accompli cela sans code source est probablement moins largement documenté. Il a fait de l’ingénierie inverse de la version MS-DOS, puis l’a réimplémentée pour Windows. » Wikipedia a ensuite cité l’article de Chen pour cette information supplémentaire. Rien de problématique là-dedans ; c’est approprié, et je viens de modifier la citation pour qu’elle soit de nouveau explicite
Avant la modification, le jeu lui-même servait de source indiquant Tony et Ed Halley comme développeurs, mais la personne qui a ajouté l’anecdote de rétro-ingénierie depuis le blog de Chen a scindé la phrase de façon à ce que la citation concernant les noms des développeurs ne s’applique plus qu’à l’autre personne
https://en.wikipedia.org/w/index.php?title=Chip%27s_Challeng...
Il se contente de signaler ce que Wikipedia présente comme l’œuvre pour laquelle il est le plus connu, puis ajoute un autre point notable sur Krueger, à savoir les soulignements ondulés. Si l’on lit l’article de Chen en entier, on voit qu’il a aussi ajouté plus bas des détails sur le portage, donc il connaît clairement ce fait. On peut utiliser cet article comme source pour le portage. De telles chaînes circulaires de références existent bel et bien sur Wikipedia, mais cela ne semble pas être le cas ici
J’aime ce genre d’histoire. Parmi tant de bifurcations possibles, c’est précisément la ligne ondulée qui a été choisie, issue d’une décision improvisée prise par une seule personne, et cela a fini par changer complètement le monde
Je n’ai pas toujours aimé les soulignements ondulés, mais en tant que motif d’interface, ça mérite d’être reconnu
C’est l’un des indicateurs visuels les plus intuitifs et les plus faciles à comprendre pour dire : « il y a quelque chose qui ne va pas avec ce mot »
Rien qu’en voyant le titre soumis et le domaine microsoft.com, on sait toujours que c’est un billet de Raymond. Je l’adore vraiment
« Il a accompli cela sans code source » : bien sûr. On est sur HN, qui aurait besoin du code source ?
Cela dit, à sa place, j’aurais probablement cherché ou construit un émulateur plutôt que de faire de l’ingénierie inverse. On peut toujours recevoir des demandes de « portage » pour d’autres logiciels aussi. Le fait que nous ignorions le plus souvent qui est responsable des bonnes comme des mauvaises fonctionnalités des logiciels que nous utilisons est en réalité assez triste. Au cinéma, il est d’usage d’afficher un long générique à la fin, et j’aime le lire attentivement. Il devrait y avoir une culture équivalente dans le développement logiciel. Certains jeux le font, et quelques Easter eggs jouent aussi ce rôle
Ce serait formidable de pouvoir désactiver complètement le correcteur orthographique
Je sais que c’est une préférence très minoritaire, mais cela ne me dérange pas de vivre avec mes erreurs, et je n’ai pas envie d’« apprendre » sans cesse l’argot, les termes techniques ou les acronymes. Je me demande souvent comment les gens qui écrivent dans un anglais non standard s’en sortent aujourd’hui. J’ai du mal à imaginer que James Joyce aurait apprécié
Je ne suis même pas locuteur natif, donc cela m’aiderait sûrement, mais comme toi je n’aime pas qu’il se plaigne de chaînes que j’ai écrites intentionnellement ou les corrige automatiquement
Il me semble que Larry Constantine détestait vraiment les soulignements ondulés
Pour reprendre sa formule, quand on écrit, il faut toujours penser au mot suivant, mais les lignes ondulées attirent l’attention sur le mot déjà écrit. Elles crient : « Hé, écoute ! Tu crois vraiment savoir épeler ? C’est quoi ce “fatouos” que tu viens d’écrire ? », et continuent à vous harceler jusqu’à ce que vous vous arrêtiez pour cliquer sur le mot souligné et le corriger. C’est en pratique une forme primitive de Clippy
Word pourrait résoudre cela s’il avait deux modes comme vi. En mode écriture, rien ne viendrait interrompre le flux ; on écrirait simplement. Et dès qu’on appuie sur un bouton pour passer en mode édition, on pourrait alors déverser à volonté les lignes ondulées et les suggestions d’IA
Commentaires sur Lobste.rs
Et cette note de bas de page est assez incroyable : « Ce n’est sans doute pas très connu, mais il a réalisé le [portage de Chip's Challenge] sans le code source. Il a fait de la rétro-ingénierie de la version MS-DOS puis l’a réimplémentée pour Windows. »
Je viens de vérifier : Tony a travaillé chez Microsoft depuis 1989 jusqu’à la fin, ce qui fait un peu plus de 37 ans si je calcule bien
Puis je me suis dit qu’au début des années 90, il y avait probablement 4 à 8 Mo de RAM, donc on ne pouvait sans doute pas simplement charger toute la liste de mots anglais en mémoire. Et je ne sais pas ce qu’il en était du multithreading en C++ au début des années 90, mais c’était encore pénible à la fin des années 2000, donc ça a probablement été un problème assez délicat
Quant à la taille du dictionnaire, l’un des premiers correcteurs orthographiques est parvenu à faire tenir un dictionnaire anglais dans 64 Ko de RAM à la fin des années 1970 (voir Programming pearls de Jon Bentley). Avec un DAWG, un dictionnaire anglais de taille moyenne de 100 000 mots était compressé à 400 Ko, et la recherche de suggestions orthographiques était rapide : https://www.strchr.com/ternary_dags