Em memória de Tony Krueger, que deixou as linhas onduladas vermelhas e verdes sob as palavras
(devblogs.microsoft.com)- Tony Krueger participou da criação do recurso do Microsoft Word que marca imediatamente problemas de ortografia e gramática com linhas onduladas vermelhas e verdes, deixando um traço de UI visto por praticamente todos os usuários
- Nas primeiras versões do Word, a verificação ortográfica precisava ser executada manualmente pelo usuário, e o Auto Spell Check também era uma operação bloqueante que impedia tarefas em primeiro plano, como salvar e sair, então muitos usuários a desativavam
- Krueger criou uma forma muito menos intrusiva para que a verificação não interrompesse o usuário e, quando um problema era encontrado, ele era marcado sob a palavra sem esperar uma execução separada
- Ele trabalhou no Word 1.0, 1.1, 2.0, Word for OS/2, Word for Mac, Word 6.0 e várias versões posteriores, além de ter sido responsável pelo porte de Chip’s Challenge para Windows
- Hoje, além das linhas vermelhas, as linhas onduladas verdes e azuis se espalharam por processadores de texto e outros softwares, e o trabalho de Krueger permanece como uma UI de feedback de edição do dia a dia
Tony Krueger e a UI das linhas onduladas no Word
- Tony Krueger é uma pessoa cujo trabalho é amplamente conhecido, mas cujo nome é relativamente menos lembrado
- Na Wikipedia, ele aparece como a pessoa que portou Chip’s Challenge do Windows Entertainment Pack para o Windows
- Esse porte foi feito por engenharia reversa e reimplementado para Windows sem o código-fonte da versão para MS-DOS
- O código que alcançou ainda mais gente foi o recurso de marcação de ortografia e gramática do Microsoft Word
Marcas deixadas em várias versões do Word
- Krueger participou do desenvolvimento de várias versões do Word
- Word 1.0
- Word 1.1
- Word 2.0
- Word for OS/2
- Word for Mac
- Word 6.0 e várias versões posteriores
- Ele é citado como alguém que possivelmente detém o recorde de “ter lançado o maior número de versões do Word”
Por que a verificação ortográfica inicial era incômoda
- Nas primeiras versões do Word, o Spell Check era um recurso que o usuário precisava executar explicitamente
- O usuário precisava esperar até que o programa encontrasse todos os possíveis erros de digitação e depois analisar cada palavra uma a uma para decidir como tratá-la
- O Word introduziu o Auto Spell Check, que executava a verificação ortográfica antecipadamente quando o usuário estava ocioso
- A ideia era deixar os resultados prontos quando o usuário clicasse no botão de Spell Check
- Mas o Auto Spell Check ainda continuava sendo uma operação bloqueante que impedia a próxima ação do usuário
- Esse também era o motivo de muitos usuários manterem esse recurso desativado
- Se a verificação ortográfica começasse bem na hora de salvar o documento e sair, era preciso esperar até ela terminar
A introdução das linhas onduladas vermelhas e verdes
- Krueger transformou a verificação ortográfica em algo muito menos intrusivo, para que não atrapalhasse o trabalho em primeiro plano
- Quando um problema era encontrado, em vez de esperar o usuário executar o Spell Check, o Word desenhava imediatamente uma linha ondulada vermelha sob o possível erro de digitação
- Depois, possíveis erros gramaticais passaram a usar uma linha ondulada verde
- Hoje, essa abordagem pode ser vista em quase todos os processadores de texto e também é usada com frequência fora deles
- Além do vermelho, linhas onduladas verdes e azuis também são amplamente usadas
Pessoas que se lembraram do recurso
- Krueger era fã de longa data da dupla de mágica e comédia Penn and Teller
- Um amigo e colega pediu aos dois, após um show, um autógrafo em foto para Tony, dizendo que ele fazia parte da equipe das linhas onduladas vermelhas e verdes do Word
- Penn Jillette reagiu com uma voz alta o suficiente para ecoar por todo o teatro: “The red and green squiggles!? I love the red and green squiggles!”, e Teller também concordou em silêncio
- Krueger recebeu a foto autografada como presente de aniversário, e não ficou claro do que ele gostou mais: da própria foto autografada ou do fato de Penn and Teller gostarem do recurso dele
- Anos depois, a linha ondulada vermelha do Word apareceu brevemente no vídeo-paródia Word Crimes de “Weird Al” Yankovic, e o mesmo amigo conseguiu um autógrafo em uma captura dessa cena
O legado que ficou
- A linha ondulada vermelha permanece como um feedback de edição cotidiano que aponta erros do usuário
- O trabalho pioneiro de Krueger acabou se espalhando depois como a forma de indicar erros de texto em vários softwares
2 comentários
Comentários do Hacker News
Se você continua na indústria de criação de software e deixa seu nome no código-fonte, um dia pode acabar sendo lembrado por um produto ou recurso totalmente inesperado
As coisas nas quais você mais se empenhou e pelas quais esperava ser conhecido acabam sendo esquecidas com o tempo. O processo de criar algo está completamente sob seu controle, mas pelo que você será conhecido está completamente fora dele
O Prowrite do Amiga oferecia verificação ortográfica em tempo real antes do Word
Talvez já existissem programas com o mesmo recurso antes dele, mas o Prowrite desenhava um sublinhado ondulado vermelho sob palavras erradas
https://www.atarimagazines.com/compute/issue123/P215_1_REVIE...
Também não consegui achar uma captura de tela desse recurso. Na paleta do AmigaOS 1.x, as cores padrão eram preto/branco/azul/laranja, então a linha ondulada provavelmente seria laranja, não vermelha. Depois do AmigaOS 2, com preto/branco/cinza/azul por causa do efeito 3D, talvez a cor de destaque tivesse que ser azul
Em ambientes onde se trabalha com vários idiomas, sublinhados ondulados muitas vezes são inúteis
O sistema tenta adivinhar o idioma do texto que estou escrevendo, mas quase sempre erra, e o resultado vira ruído visual com o qual preciso brigar ou simplesmente ignorar. Também é inconveniente demais ficar mudando manualmente a configuração de idioma a cada interação
Como são estilos de caracteres, funcionam tanto na posição atual do cursor quanto em um trecho selecionado. Então, mesmo se você esquecer de definir antes e acabar com uma linha cheia de ondulados, ainda dá para corrigir. Ou então dá para definir o idioma de revisão do texto inteiro como None e remover completamente as marcações de ortografia e gramática
Curiosamente, o texto do Chen aponta para a página da Wikipedia como evidência de que Tony Krueger fez o port
Mas na versão mais recente, a fonte desse trecho na página remete de volta ao próprio texto do Chen
O texto do Chen diz que “Tony Krueger é lembrado na Wikipedia como a pessoa que fez o port de …” e então acrescenta, em nota, que “o fato de ele ter feito isso sem código-fonte provavelmente não é tão amplamente documentado. Ele fez engenharia reversa da versão de MS-DOS e depois a reimplementou para Windows”. Depois disso, o artigo da Wikipedia passou a citar o texto do Chen para essa informação adicional. Tudo isso é normal e apropriado, e acabei de editar para deixar a citação clara de novo
Antes da edição, o próprio jogo servia como fonte para indicar Tony e Ed Halley como desenvolvedores, mas a pessoa que acrescentou a história da engenharia reversa no blog do Chen dividiu a frase e fez a citação dos nomes dos desenvolvedores passar a valer só para a outra pessoa
https://en.wikipedia.org/w/index.php?title=Chip%27s_Challeng...
Ele aponta o que a Wikipedia registra como o trabalho pelo qual Krueger é mais conhecido e então acrescenta outra coisa notável sobre ele, ou seja, os sublinhados ondulados. Se você ler o texto inteiro do Chen, verá que mais abaixo ele também adiciona detalhes sobre o port, então ele claramente conhece esse fato. É aceitável usar esse texto como fonte para o port. Às vezes essas cadeias circulares de referência realmente surgem na Wikipedia, mas este não parece ser o caso
Gosto desse tipo de texto. Entre tantas ramificações possíveis, justamente a linha ondulada foi a escolhida, e ainda por cima nasceu de uma decisão improvisada de uma pessoa só, mas acabou mudando o mundo por completo
Nem sempre gosto de sublinhados ondulados, mas como padrão de UI eles merecem reconhecimento
Está entre os sinais visuais mais intuitivos e fáceis de entender para indicar que “há algum problema com esta palavra”
Só de ver o título enviado e o domínio microsoft.com já dá para perceber que é sempre um texto do Raymond. Gosto muito dele
“Ele fez isso sem código-fonte”? Claro. Isto aqui é o HN, quem precisaria de código-fonte?
Dito isso, em vez de fazer engenharia reversa, eu provavelmente teria procurado ou criado um emulador. Afinal, podem pedir para “portar” outros softwares também. É realmente triste que, na maior parte do tempo, a gente não saiba quem foi responsável pelos bons e maus recursos do software que usamos. No cinema existe a tradição de mostrar créditos longos no final, e eu gosto de ler com atenção. O desenvolvimento de software também deveria ter essa cultura. Alguns jogos fazem isso, e alguns Easter eggs também cumprem esse papel
Seria ótimo poder desligar completamente o corretor ortográfico
Eu sei que é um gosto bem de nicho, mas não me importo de conviver com meus erros e não quero ficar “ensinando” gírias, termos técnicos e siglas toda hora. Muitas vezes me pergunto como as pessoas que escrevem em inglês não padronizado conseguem suportar isso hoje em dia. É difícil imaginar que James Joyce gostaria disso
Eu nem sou falante nativo, então certamente poderia me ajudar, mas compartilho da antipatia por ele reclamar de sequências que escrevi de propósito ou corrigi-las automaticamente
Lembro que Larry Constantine odiava profundamente o sublinhado ondulado
Como ele dizia, ao escrever você sempre precisa pensar na próxima palavra, mas a linha ondulada puxa sua atenção para a palavra que já foi escrita. Ela fica gritando: “Ei, escuta aqui! Você realmente acha que sabe soletrar? O que diabos é esse ‘fatouos’ que você acabou de escrever?” e continua enchendo até você parar, clicar na palavra sublinhada e corrigi-la. Na prática, é uma forma primitiva do Clippy
Isso poderia ser resolvido se o Word tivesse dois modos, como o vi. No modo de escrita, deixaria você escrever sem interrupção nenhuma; no momento em que apertasse um botão para mudar para o modo de edição, aí sim poderia despejar à vontade as linhas onduladas e as sugestões de IA
Comentários no Lobste.rs
E esta nota de rodapé é bem impressionante: “Talvez isso não seja amplamente conhecido, mas ele fez a [portabilidade de Chip's Challenge] sem o código-fonte. Fez engenharia reversa da versão para MS-DOS e a reimplementou para Windows.”
Acabei de conferir, e o Tony trabalhou na Microsoft desde 1989 até o fim; se a conta estiver certa, isso dá pouco mais de 37 anos de casa
Mas logo pensei que, no começo dos anos 90, a RAM devia ser de 4~8MB, então provavelmente não dava para simplesmente carregar a lista inteira de palavras em inglês na memória. Além disso, não sei como era o suporte a multithreading em C++ no início dos anos 90, mas ainda era desagradável até o fim dos anos 2000, então provavelmente era um problema bem complicado
Sobre o tamanho do dicionário, um dos primeiros corretores ortográficos conseguiu colocar um dicionário de inglês em 64KB de RAM no fim dos anos 70 (veja Programming pearls, de Jon Bentley). Usando DAWG, eles comprimiram um dicionário de inglês de porte médio, com 100 mil palavras, para 400KB, e a busca por sugestões ortográficas também era rápida: https://www.strchr.com/ternary_dags