HN Debrief

In memory of the man who put red and green squiggles under words

  • Design
  • Product
  • Programming
  • Software History

Raymond Chen’s post is a tribute to Tony Krueger, a Microsoft engineer whose most widely felt contribution was the now-familiar red and green squiggles under spelling and grammar mistakes in Word. The piece uses that detail to make a larger point about software history. A single local UI choice, made by someone most users will never know, can harden into a universal convention that shapes how billions of people read and write on computers.

If you ship interface defaults, treat them like durable infrastructure. Small visual choices can outlive entire products, and the failure mode is usually not "ugly" but "constant low-grade friction" for everyone outside the default user profile.

Discussion mood

Warm about the tribute and admiring of how one small interface idea became universal. The main frustration came from users saying modern spellcheck implementations, especially for multilingual writing, have turned a once-elegant cue into noisy, often wrong interference.

Key insights

  1. 01

    Software rarely preserves its credits

    The tribute hit a nerve because most software hides the people who made the parts users actually remember. Commenters pointed out that movies only got long credits after labor fights, and software never built that norm outside games and Easter eggs like Excel 97’s hidden credits. That makes stories like this less sentimental than corrective. Without them, the public record of who shaped everyday computing is mostly lost.

    If your product has durable user-facing craft in it, document who did it while the team is still around. Internal histories, release notes, and visible credits do real preservation work that corporate memory usually will not.

      Attribution:
    • Lendal #1
    • coldpie #1
    • nonfamous #1
    • jll29 #1
    • mananaysiempre #1
  2. 02

    Multilingual users expose the wrong product model

    The strongest practical criticism was not about squiggles themselves. It was that many applications still assume a person writes in one language at a time, or that the typing language should track the interface locale or keyboard layout. Firefox got praise for allowing multiple dictionaries at once, which shows the underlying cue still works when the product models real behavior instead of an imaginary monolingual user.

    If your software accepts text, test it with bilingual and jargon-heavy workflows before calling spellcheck done. Support multiple active dictionaries and decouple proofing language from UI settings wherever possible.

      Attribution:
    • _whoDis #1
    • amadeuspagel #1
    • capitainenemo #1
    • LtWorf #1
    • streetfighter64 #1
    • netsharc #1
  3. 03

    Real-time checking predates the famous squiggle

    What stood out here was the self-correction. A commenter remembered ProWrite on the Amiga as having red squiggles first, then booted old versions in FS-UAE and verified that the program actually used screen blinking for live spelling errors. That sharpens the history. Continuous spellchecking was not the breakthrough being mourned. The breakthrough was finding a visual signal subtle enough to stay on all the time without stopping people from writing.

    When evaluating feature originality, separate the underlying capability from the interaction design that made it stick. The part users keep for decades is often the presentation layer, not the core algorithm.

      Attribution:
    • sien #1 #2
    • rob74 #1
  4. 04

    Generic text widgets spread the convention wider

    One commenter claimed credit not for inventing squiggles, but for pushing them down into KDE’s generic text widgets in 2003 so apps like KMail could use inline spellcheck outside word processors. That is an important second step in how conventions spread. A UI pattern becomes truly ubiquitous when it moves from a flagship app into shared controls that every developer gets by default.

    If you want a product behavior to become standard, implement it in the platform layer, not just one app. Shared components are how local ideas turn into ecosystem norms.

      Attribution:
    • andsoitis #1
    • wheels #1
    • giancarlostoro #1

Against the grain

  1. 01

    The idea may have been inevitable

    Several people pushed back on treating the squiggle as a singular stroke of genius. Teachers had long marked errors with colored underlines, and once word processors needed a non-destructive way to flag mistakes without colliding with existing formatting, there were only so many workable options. That does not erase Krueger’s contribution, but it does reframe it as excellent execution and timing rather than an unimaginable invention.

    Be careful about over-assigning uniqueness to interface conventions that solve an obvious constraint set. The leverage may come from shipping the right default at the right moment, not from inventing a wholly new visual language.

      Attribution:
    • applfanboysbgon #1
    • LtWorf #1
    • jojobas #1
  2. 02

    Word already has a writing mode

    The complaint that squiggles interrupt drafting by pulling attention backward met a practical rebuttal. Word has long had a toggle that turns real-time spelling and grammar marking off, then back on for review. The bigger issue is discoverability, not missing capability. People often live with bad defaults because the product buries the mode switch.

    When users ask for a different workflow, first check whether the feature exists but is effectively invisible. Hidden controls create the same pain as missing features and deserve the same product attention.

      Attribution:
    • orthoxerox #1
    • sbuttgereit #1

In plain english

Citogenesis
A form of circular reporting where a claim enters Wikipedia or another source without solid evidence and is later cited elsewhere as if it were verified.
FS-UAE
A software emulator used to run old Amiga computers and their programs on modern machines.
KDE
An open source desktop environment and software platform for Linux and other Unix-like systems.
KMail
The email application that is part of the KDE desktop environment.
UI
User interface, the visual and interactive parts of software that people directly use.

Reference links

Reference and sourcing

Retro software and interface history

Computing history and emulation

  • SWEET16
    Referenced as an example of early interpreted bytecode systems in the subthread about emulation versus porting.
  • The Ultimate Apollo Guidance Computer Talk
    Another example brought up to show constrained systems using interpreted or mixed execution models.

Related people and design context