Every little thing in a graphical user interface that we take for granted today, no matter how small, was thought up by someone, at some point. Case in point: the little red squiggly lines underneath misspelled words. In one form or another, these are everywhere now, and have just become a regular staple of every single text editing field we encounter every single day and don’t stop to think about. Still, they were invented by someone, and we happen to know exactly who that was: Tony Krueger.
In early versions of Word, the Spell Check feature was something that you explicitly invoked, and then you had to sit and wait while the program looked for all your potentially-misspelled words, and then showed them to you one at a time for a decision on what to do for each one. Word did introduce an Auto Spell Check feature to run spell check when the user was idle, so that when you hit the Spell Check button, the results were ready to go. However, the Auto Spell Check was still a blocking operation. As a result, a lot of users turned it off because it always seemed to decide “Now would be a good time to spell-check the document” just as you wanted to do something, forcing you to wait for the spell check pass to complete before you could, say, save and exit.
Tony made the spell checker much more unobtrusive so that it didn’t interfere with your foreground work. And when it found a problem, instead of waiting for you to trigger a spell check, it immediately drew red squiggles under potentially-misspelled words (and later green squiggles under potential grammatical errors).
↫ Raymond Chen at The Old New Thing
Tony Krueger passed away recently, after, among other things, having worked on an dizzying number of Microsoft Word releases. Imagine coming up with something that seems to basic and elementary to us now, and seeing it spread pretty much everywhere. I wonder what it must feel like to have invented something that seems so simple, most people don’t even realise they use it every single day.

I remember being so happy to see the improved spellchecker, and the grammar checker, in Word 97. It was such an improvement over Word 6! Being a child, it was just part of technical progress I expected and didn’t think much about. RIP Krueger, thank you for this great feature.
I still wonder what sort of algorithm makes this kind of thing possible. Does anyone know his thoughts on today’s “AI”-powered tools, like Grammerly and LanguageTool?
Angel Blue01,
The very early spell checkers used dictionaries (which is still in use one way or another).
The vocabulary checker though took a longer route. They started with part of speech analysis, and simple sentence taggers / parsers, Went onto sequence models like LSTM, and later, after “attention is all you need” was published moved to BERT, Bidirectional Encoder Representations from Transformers.
Today they use much more advanced versions of LLMs. And, yes BERT is an LLM and has been in use since 2018.
Remember, BERT is an “Encoder”. The modern ones are “Decoders”
Which mean they not only detect grammar issues, they will also offer on the fly suggestions on completion and corrections.
I remember the switch from 2003 to 2007.
The german spellchecker took a nosedive back than.
I don’t know what they changed, but you could throw any german compound-word at the old spell-checker and it recognized it correctly.
The new one not so much…
smashIt
I find that firefox’s spell checker performs poorly in english. It detects misspelled words well enough, but often suggests the wrong words to fix the mistake. And when I don’t pay it enough attention, sometimes I submit posts with firefox’s incorrect fix. I suspect nobody’s actively working on FF spell check algorithm, but it could use some improvement.
Alfman,
I can’t definitely say, but it is possible they went lazy, and bundled syntax checks with LLMs that do grammar checks as well
And this is not their strong suit.
(They have a limited vocabulary, and are designed to accept misspellings as part of their routine)
Fuzzy matching is one of those problems in CS that makes developers lose their heads when trying to think about it.
You can reduce the number of candidates by to score by scooping the most likely candidates first. In essence a pre filter, but with known performance characteristics. Its all about how you index your dictionary
The time has passed and we’re still using spell checkers even in freely available Word processors