In memory of the man who put red and green squiggles under words
In memory of the man who put red and green squiggles under words
纪念那位为文字加上红色和绿色波浪线的人
I recently learned of the passing of someone whose work nearly everybody knows, but nobody knows his name. Tony Krueger is remembered in Wikipedia as the person who ported the game Chip’s Challenge to Windows for the Windows Entertainment Pack.¹ But that’s probably not the code he wrote that touched the most people. 我最近得知了一位人士的离世,他的工作几乎每个人都熟悉,但却鲜有人知晓他的名字。在维基百科中,Tony Krueger 被记录为将游戏《Chip’s Challenge》移植到 Windows 娱乐包(Windows Entertainment Pack)中的那个人¹。但这可能并不是他所编写的、影响最深远的代码。
Tony worked on Word 1.0, 1.1, 2.0, then on Word for OS/2 and Word for Mac, then returned to Word 6.0 and several versions beyond that. He probably holds the record for “most versions of Word shipped.” Tony 曾参与 Word 1.0、1.1、2.0 的开发,随后又参与了 Word for OS/2 和 Word for Mac 的工作,之后又回归参与了 Word 6.0 及后续多个版本的开发。他可能保持着“发布 Word 版本最多”的纪录。
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 版本中,拼写检查功能需要用户手动触发。触发后,你必须坐等程序扫描所有可能拼错的单词,然后逐一向你展示,让你决定如何处理每一个错误。
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. Word 后来引入了“自动拼写检查”功能,在用户空闲时运行,这样当你点击拼写检查按钮时,结果就已经准备好了。然而,自动拼写检查仍然是一个阻塞操作。因此,许多用户将其关闭,因为它总是在你想要操作时突然决定“现在是检查文档的好时机”,迫使你必须等待检查完成,才能进行保存或退出等操作。
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). Tony 对拼写检查器进行了改进,使其变得更加隐蔽,不会干扰你的前台工作。当它发现问题时,不再等待你手动触发检查,而是直接在可能拼错的单词下方画出红色波浪线(后来又在潜在的语法错误下方画出绿色波浪线)。
Tony was an early fan of the magic/comedy team Penn and Teller. A friend and colleague attended a show and hung out afterward to ask the duo to sign a photo for his friend Tony. “He was on the team that did the red and green squiggles in Word.” Upon hearing this, Penn Jillette announced in his stentorian voice which filled the entire theater: “The red and green squiggles!? I love the red and green squiggles!” Teller silently concurred. Tony 是魔术喜剧组合 Penn and Teller 的早期粉丝。他的一位同事在观看演出后,在后台请求这对组合为他的朋友 Tony 签名留念。“他就是那个在 Word 里制作红绿波浪线团队的成员。”听到这话,Penn Jillette 用响彻整个剧院的洪亮嗓音宣布:“红绿波浪线!?我爱死红绿波浪线了!”Teller 也默默表示赞同。
Tony received that autographed photo for his birthday, and it wasn’t clear which he was more happy about, the autographed photo or the fact that Penn and Teller loved his feature. Many years later, “Weird Al” Yankovic recorded a parody video titled Word Crimes, in which the Word red squiggles make a brief appearance. That same friend got “Weird Al” to autograph the screen shot. Tony 在生日时收到了那张签名照,很难说他更高兴的是那张照片,还是 Penn and Teller 喜爱他所开发的功能这件事。多年后,“怪人奥尔”扬科维奇(“Weird Al” Yankovic)录制了一段名为《Word Crimes》的恶搞视频,其中 Word 的红色波浪线短暂出现。那位朋友又找“怪人奥尔”在视频截图上签了名。
Today, there are red (and even green and blue) squiggles in nearly every word processor, and often outside word processors. Tony did it first. The next time a red squiggle catches one of your mistakes, say thanks to Tony. I think he’d appreciate it. 如今,几乎所有的文字处理器中都有红色(甚至绿色和蓝色)波浪线,甚至在文字处理器之外也随处可见。Tony 是第一个做到这一点的人。下次当红色波浪线指出你的错误时,请向 Tony 说声谢谢。我想他会感到欣慰的。
¹ Probably not as widely documented is that he accomplished this without the source code: He reverse-engineered the MS-DOS version and then reimplemented it for Windows. It must have been quite challenging to come up with a method of indicating a possible misspelling that was 1, just obtrusive enough for you to notice it without getting overly distracting when you wanted to ignore it, and 2, didn’t look like any formatting one would ever want to actually apply to one’s document. It definitely hit that sweet spot right on, and like much good design hides how much work and testing it must have taken to come up with it and just seems obvious in retrospect. Thank you, Tony! ¹ 可能鲜为人知的是,他是在没有源代码的情况下完成这项工作的:他通过逆向工程分析了 MS-DOS 版本,然后将其重新实现为 Windows 版本。要设计出一种既能引起用户注意,又不会在用户想要忽略时造成过度干扰,且看起来不像任何用户会主动应用的文档格式的标记方法,这一定极具挑战性。它确实精准地找到了那个平衡点,就像许多优秀的设计一样,它掩盖了背后所付出的巨大努力和测试,以至于事后看来显得理所当然。谢谢你,Tony!
A few months ago, reading “Hardcore Software”, Steven Sinofsky’s autobiography, I learnt about the introduction of the squiggles in Word 95. Back then, Sinofsky was in the Office division (but he wasn’t head of it yet). IIRC, when they first implemented the feature, the first thing they tried was a single red underline. But it soon was found too easy to mistake for a common underline, specially with red text. Someone (maybe Tony Krueger himself) came with the idea of a zigzag line, and the rest, as they say, is history. 几个月前,在阅读 Steven Sinofsky 的自传《Hardcore Software》时,我了解到了 Word 95 中引入波浪线的经过。当时,Sinofsky 还在 Office 部门(但尚未担任负责人)。如果我没记错的话,他们最初实现该功能时,尝试的第一种方案是单条红线。但很快发现它太容易与普通的下划线混淆,特别是在红色文本中。有人(也许就是 Tony Krueger 本人)提出了锯齿状线条的想法,正如人们所说,剩下的就是历史了。