Thunderscan 雷霆扫描

作者: 安迪·赫茨菲尔德 日期: 1984年6月 人物: 汤姆·皮特里、维克多·布尔、比尔·阿特金森、安迪·赫茨菲尔德 主题: 3rd 方开发商、硬件设计、软件设计、技术 概要: 关于苹果第一代Macintosh的开发以及制造它的人的轶事: 巧妙的设备将打印机转变为扫描仪 , 雷霆扫描 Thunderscan

My first job at Apple, which I started in August 1979, was writing special software for a printer called Silentype. The Silentype printer was a small and affordable thermal printer that worked with the Apple II computer. Apple got the technology from a local company called Trendcom. Apple made the printer better by using the computer to do most of the work instead of using a special controller board like Trendcom did. This made the printer less expensive.

我于 1979 年 8 月开始在苹果公司工作,第一份工作是为名为 Silentype 的打印机编写特殊软件。 Silentype 打印机是一款小型且价格实惠的热敏打印机,可与 Apple II 计算机配合使用。
苹果公司从一家名为 Trendcom 的当地公司获得了这项技术。 Apple 通过使用计算机来完成大部分工作,而不是像 Trendcom 那样使用特殊的控制器板,从而使打印机变得更好。这使得打印机的成本降低了。

The only other engineer working on the project was Victor Bull. He designed the hardware and was in charge of the project. Victor was very smart, didn’t talk much, and was easy to work with. I learned a lot from him about how thermal printers work and how things work at Apple. Because we worked well together, we finished the project quickly. The Silentype was shipped in November 1979, just four months after I started working on it.

参与该项目的唯一另一位工程师是维克多·布尔 (Victor Bull)。他设计了硬件并负责该项目。维克多很聪明,话不多,而且很容易相处。我从他那里学到了很多关于热敏打印机的工作原理以及苹果公司的工作原理的知识。
因为我们合作得很好,所以我们很快就完成了这个项目。 Silentype 于 1979 年 11 月发货,距离我开始研究它仅四个月。

In May 1984, I got a surprise phone call from Victor Bull. It had been a couple of years since we last spoke. At the time, Victor was working for a small company called Thunderware with his friend Tom Petrie. They made a product called Thunderclock, which was a simple calendar and clock for the Apple II. Victor thought I might be interested in making software for a new Macintosh product that Thunderware was making. He didn’t want to tell me more over the phone. He invited me to come visit them to see what it was all about.

1984 年 5 月,我意外地接到了维克多·布尔 (Victor Bull) 打来的电话。自从我们上次谈话以来已经有几年了。当时,Victor 和他的朋友 Tom Petrie 在一家名为 Thunderware 的小公司工作。
他们制作了一款名为 Thunderclock 的产品,这是 Apple II 的简单日历和时钟。 Victor 认为我可能有兴趣为 Thunderware 正在开发的一款新的 Macintosh 产品制作软件。他不想在电话里告诉我更多。他邀请我去拜访他们,看看到底发生了什么。

I drove from my house in Palo Alto to Thunderware’s office in Orinda, which took about an hour. When I got there, I met Vic and his partner, Tom Petrie. Before they showed me something, I signed a special paper that said I would not tell anyone some things. Then, they took me to a back room and showed me a demonstration of what they do.

我从帕洛阿尔托的家开车到 Thunderware 在奥林达的办公室,花了大约一个小时。当我到达那里时,我遇到了维克和他的搭档汤姆·皮特里。
在他们给我看东西之前,我签署了一份特别文件,说我不会告诉任何人一些事情。然后,他们带我到后面的房间,向我展示了他们的工作。

The most popular printer for Apple computers, like the Apple II and Macintosh, was called ImageWriter. It was a printer that could print pictures and was made by a Japanese company called C.Itoh Electronics. Apple sold it to their customers. Almost every Macintosh owner bought an ImageWriter because it was the only printer that Apple supported. Tom did a demo (a show-and-tell) with an ImageWriter printer connected to an Apple II computer. At first, it looked like the printer was printing something, but when I looked closer, I saw that it was actually printing a picture of a cat instead of paper. The usual part that makes the printer work was replaced with a special device that came from the Apple II computer and had a long cord attached to it.

Apple 计算机(如 Apple II 和 Macintosh)最流行的打印机称为 ImageWriter。这是一台可以打印图片的打印机,由一家名为 C.Itoh Electronics 的日本公司制造。
苹果公司把它卖给了他们的客户。几乎每个 Macintosh 用户都购买了 ImageWriter,因为它是 Apple 支持的唯一打印机。
Tom 使用连接到 Apple II 计算机的 ImageWriter 打印机进行了演示(演示和讲述)。起初,打印机看起来像是在打印什么东西,但当我仔细观察时,我发现它实际上打印的是一只猫的图片,而不是纸张。
使打印机正常工作的常用部件被替换为来自 Apple II 计算机的特殊设备,并附有一根长电线。

Their new product, Thunderscan, is a simple and cheap way to make an ImageWriter printer scan pictures. You replace the ribbon cartridge with a special light sensor and add some special software. The printer’s moving parts (stepper motors) are very precise, so they can make the scanned pictures very clear. And the best part is that Thunderscan is under $200, which is much cheaper than similar scanners that cost over $1000! I really liked the smart idea and how it saves money by using software to make it work. However, there were also some problems with it.

他们的新产品 Thunderscan 是一种使用 ImageWriter 打印机扫描图片的简单且廉价的方法。
您可以用特殊的光传感器替换色带盒并添加一些特殊的软件。
打印机的运动部件(步进电机)非常精密,因此可以使扫描的图片非常清晰。
最棒的是 Thunderscan 价格不到 200 美元,比售价超过 1000 美元的同类扫描仪便宜得多!我真的很喜欢这个聪明的想法以及它如何通过使用软件使其发挥作用来节省资金。
然而,它也存在一些问题。

The big issue was that Thunderscan could only gather data from one line at a time. This made it much slower than regular printing, because it could only do one line at a time. The print head can do nine lines at once. This made scanning take a very long time, sometimes over an hour to scan a whole page. Thunderscan would never be fast.

最大的问题是 Thunderscan 一次只能从一条线路收集数据。这使得它比常规打印慢得多,因为它一次只能打印一行。
打印头一次可以打印九行。这使得扫描需要很长时间,有时扫描整页需要一个多小时。 Thunderscan 永远不会很快。

Another problem was that the picture being taken and shown by Tom Petrie’s Apple II program was not good. Tom and Vic said their scanner could capture pictures with 32 different shades of light, but the Apple II and Macintosh computers could only show one shade of gray per pixel. The program had to make up for this by using patterns of black and white dots to show different shades of gray. It looked like Tom was using a simple way to make the image, which threw away most of the important details and made the picture look bad. It was hard to tell if the picture was as good as Tom and Vic said it would be.

另一个问题是 Tom Petrie 的 Apple II 程序拍摄和显示的照片效果不佳。 Tom 和 Vic 表示,他们的扫描仪可以捕获 32 种不同色调的光的图片,但 Apple II 和 Macintosh 计算机每个像素只能显示一种灰度。
该程序必须通过使用黑白点图案来显示不同的灰色阴影来弥补这一点。
看起来汤姆使用了一种简单的方法来制作图像,这抛弃了大部分重要的细节,使图像看起来很糟糕。很难说这张照片是否像汤姆和维克说的那么好。

Tom and Vic asked me to write software for a special kind of scanner called Thunderscan, which would work with the Macintosh computer. They wanted to know if I would do it. I said I would think about it and get back to them. As I thought about it, I got more excited about the idea of Thunderscan for the Macintosh. I realized that even if it scanned slow, it wouldn’t be a big problem if the pictures it took were good quality. Tom showed me a prototype, but it didn’t look that great. I think the problem wasn’t with the scanner itself, but with the software they were using on an old computer called Apple II. The Macintosh is much faster, so it could take better pictures. I also knew a better way to make gray-scale pictures, which would be fun to try. Note: I kept the original text’s technical details about the scanners and computers, but explained them in simpler language to make it easier to understand.

汤姆和维克让我为一种名为 Thunderscan 的特殊扫描仪编写软件,该扫描仪可以与 Macintosh 计算机配合使用。他们想知道我是否愿意这样做。我说我会考虑一下然后再回复他们。
当我思考这个问题时,我对 Macintosh 上的 Thunderscan 的想法感到更加兴奋。我意识到,即使扫描速度很慢,如果拍摄的照片质量好的话也不是什么大问题。
汤姆给我看了一个原型,但看起来不太好。我认为问题不在于扫描仪本身,而在于他们在一台名为 Apple II 的旧计算机上使用的软件。 Macintosh 速度更快,因此可以拍出更好的照片。我还知道一种制作灰度图片的更好方法,尝试起来会很有趣。
注:我保留了原文中有关扫描仪和计算机的技术细节,但用更简单的语言进行了解释,以便更容易理解。

My friend and colleague Bill Atkinson was a great photographer. He also liked to play with digital pictures and try to make them look better. He would often talk to anyone who would listen about what he was working on, so I learned a lot about making gray scale pictures just by being around him. Over time, Bill’s method of making gray scale pictures changed. At first, he used an “ordered dither” method, which was like a special grid with different settings. Later, he liked to use a modified version of an algorithm called “Floyd-Steinberg”. This method uses a mistake-correcting system to spread the error to nearby pixels.

我的朋友兼同事比尔·阿特金森是一位出色的摄影师。他还喜欢摆弄数码照片并尝试让它们看起来更好。
他经常与任何愿意倾听他正在做的事情的人交谈,所以只要在他身边,我就学到了很多关于制作灰度图片的知识。随着时间的推移,比尔制作灰度图片的方法发生了变化。
起初,他使用了“有序抖动”方法,就像具有不同设置的特殊网格。后来,他喜欢使用一种名为“Floyd-Steinberg”的算法的修改版本。
该方法使用纠错系统将错误传播到附近的像素。

I phoned Thunderware and told them I was interested in working on software for Macintosh computers, for Thunderscan, and they agreed to pay me a fee for each unit sold. I went back to Orinda where I met Tom and Vic, who gave me lots of information about the scanner and some sample code that Tom had written for Apple II computers. For the next few months, I visited Orinda once a week, usually on Thursdays, to show Tom and Vic what I had done, discuss any problems that came up, and decide what to do next. We also talked about the business deal, but we didn’t officially sign a contract until the software was almost finished. Then, we agreed on a royalty of $7.50 per unit.

我给 Thunderware 打电话,告诉他们我有兴趣为 Macintosh 计算机开发 Thunderscan 软件,他们同意为每售出一个单元向我支付一定的费用。
我回到奥林达,在那里遇到了 Tom 和 Vic,他们给了我很多有关扫描仪的信息以及 Tom 为 Apple II 计算机编写的一些示例代码。
在接下来的几个月里,我每周访问奥林达一次,通常是在星期四,向汤姆和维克展示我所做的事情,讨论出现的任何问题,并决定下一步该做什么。我们也谈到了商业交易,但直到软件快完成后我们才正式签署合同。
然后,我们同意每单位 7.50 美元的特许权使用费。

Tom and Vic had already faced and solved many difficult problems to make scanning work. For example, the ImageWriter printer wasn’t designed to move one scan line at a time. If they tried that, the paper would bunch up and cause distortion. Tom and Vic found a solution by telling the printer to move up three steps and then back two steps. This kept the paper in place properly. They also discovered different ways to detect when a scan line was starting or ending, and they figured out how long it took the printer to respond to a command by doing many experiments.

汤姆和维克已经面临并解决了许多难题,以使扫描工作顺利进行。例如,ImageWriter 打印机的设计目的不是一次移动一根扫描线。如果他们尝试这样做,纸张就会堆积起来并导致扭曲。
汤姆和维克通过告诉打印机向上移动三步然后后退两步找到了解决方案。这使纸张保持正确的位置。
他们还发现了检测扫描线何时开始或结束的不同方法,并且通过进行大量实验找出了打印机响应命令所需的时间。

It took about a week to make the basic scanning work on the Macintosh computer. Then, it took a few extra days to make the gray scale pictures using Bill’s special dithering method. There were some problems with the printer and the software not working together correctly, but after we fixed them, I was happy and surprised by how well the pictures turned out. I even got a little carried away and scanned every picture I could find that would fit through the printer, just to see how good it looked.

在 Macintosh 计算机上完成基本扫描工作大约需要一周时间。然后,又花了几天时间,用比尔特殊的抖动方法制作了灰度图。
打印机和软件存在一些问题,无法正常协同工作,但在我们修复这些问题后,我对照片的效果感到高兴和惊讶。
我什至有点得意忘形,扫描了我能找到的每一张适合打印机的图片,只是为了看看它看起来有多好。

At the start, I made a important decision for the design. I wanted to keep the gray scale data so that it could be used for more flexible image processing. This was important because the Thunderscan photos were 5 bits per pixel, which was unusual at the time. It allowed users to adjust the brightness and contrast of specific parts of the image, making it easier to see details that were hidden. This decision also helped later when we added the ability to print photos in gray scale on Postscript printers.

一开始,我对设计做出了一个重要的决定。我想保留灰度数据,以便可以用于更灵活的图像处理。
这很重要,因为 Thunderscan 照片每像素 5 位,这在当时是不寻常的。
它允许用户调整图像特定部分的亮度和对比度,从而更容易看到隐藏的细节。
当我们添加在 Postscript 打印机上打印灰度照片的功能时,这个决定也很有帮助。

My favorite thing I created for Thunderscan was a way to scroll through big documents. These documents were too large to fit in the window, so I added a feature that let you scroll through them by dragging a special tool. But it was hard to scroll to the very edges of the document because you had to drag the tool a long way. So, I made a new feature called “inertial” scrolling. When you pushed the image with the tool, it would keep moving at a speed that slowed down over time. This feature needed some adjustments, but soon it worked well and it was fun to quickly move around big documents by pushing them.

我为 Thunderscan 创建的最喜欢的东西是滚动浏览大文档的方式。这些文档太大,无法容纳在窗口中,因此我添加了一项功能,让您可以通过拖动特殊工具来滚动浏览它们。
但很难滚动到文档的最边缘,因为您必须将工具拖动很长一段距离。
所以,我做了一个新功能,叫做“惯性”滚动。当您使用该工具推动图像时,它会以随着时间的推移而减慢的速度继续移动。
此功能需要一些调整,但很快就运行良好,并且通过推送大文档来快速移动它们很有趣。

The most difficult thing to make better was making the scanner move back and forth. At first, Thunderscan only moved from left to right, but this took a lot of extra time because it had to go all the way back to the left after each scan line. We thought we could make it go twice as fast if we could make it move in both directions, but it was hard to make the scan lines match up properly when they were scanned in opposite directions. In the end, we made it so that you could choose to make the scanner move back and forth, but this would mean giving up a little bit of quality for speed.

最难改进的是让扫描仪来回移动。起初,Thunderscan 只从左向右移动,但这花费了很多额外的时间,因为它必须在每条扫描线之后一路回到左侧。
我们认为如果我们可以让它在两个方向上移动,我们可以让它的速度提高一倍,但是当扫描线以相反的方向扫描时,很难使其正确匹配。最后,我们做到了让您可以选择让扫描仪来回移动,但这意味着为了速度而放弃一点质量。

I finished writing the software in November 1984. After a short break, I started working on something else. Then, I took my finished software, called Thunderscan, and shipped it in December 1984. The software was popular from the beginning. More and more people started buying it. The sales went from around 1,000 copies a month to over 7,500 copies a month at its best in 1987. For a little while, Thunderscan was the cheapest and best scanning software for Macintosh computers. However, it was also a bit slow. This might have frustrated some users. Over the next few years, I made three big updates to the software. These updates made the scanning better and added new features like printing in gray tones and showing images in gray tones on the Macintosh II.

我于 1984 年 11 月完成了该软件的编写。短暂休息后,我开始做其他事情。然后,我拿出了我的成品软件,名为 Thunderscan,并于 1984 年 12 月发布了它。该软件从一开始就很受欢迎。
越来越多的人开始购买。销量从 1987 年的每月 1,000 份左右增至 7,500 份,最高时为每月 7,500 份。
有一段时间,Thunderscan 是 Macintosh 计算机上最便宜、最好的扫描软件。不过,也有点慢。这可能会让一些用户感到沮丧。在接下来的几年里,我对软件进行了三项重大更新。
这些更新使扫描变得更好,并添加了新功能,例如以灰色调打印和在 Macintosh II 上以灰色调显示图像。

Eventually, flat bed scanners became as good as and even better than Thunderscan in terms of cost, quality, and ease of use. During its lifetime, Thunderscan was able to sell around 100,000 units and help many people improve their documents. It did this by allowing users to easily scan high-quality images with their Macintosh computers at a low cost.

最终,平板扫描仪在成本、质量和易用性方面变得与 Thunderscan 一样好,甚至更好。 Thunderscan 在其生命周期内销售了大约 100,000 台,并帮助许多人改进了他们的文档。
它通过允许用户以较低的成本轻松地使用 Macintosh 计算机扫描高质量图像来实现这一点。
目录