Inside Macintosh 麦金塔内部

作者: 安迪·赫茨菲尔德 日期: 1982年6月 人物: 史蒂夫·乔布斯、乔安娜·霍夫曼、兰迪·维金顿、比尔·阿特金森、克里斯·埃斯皮诺萨、卡罗琳·罗斯、史蒂夫·切尔尼科夫、布拉德·哈克、鲍勃·安德斯 主题: 文档、软件设计、Lisa 概要: 关于苹果第一代Macintosh的开发以及制造它的人的轶事: 开发人员文档对于我们的成功至关重要。 , 麦金塔内部 Inside Macintosh

The main difference between the Lisa and Macintosh projects was how they thought about other companies that make computer programs. The Lisa team was creating their own special kinds of software, like word processors and spreadsheets, all by themselves. So, at first, they didn’t think they needed to help other companies make their own programs. However, they planned to do it later on.

Lisa 和 Macintosh 项目之间的主要区别在于他们如何看待其他制作计算机程序的公司。
Lisa 团队正在自行创建自己的特殊软件,例如文字处理器和电子表格。
所以,一开始,他们并不认为需要帮助其他公司制作自己的程序。不过,他们计划稍后再做。

The Macintosh was different from the Apple II. The Apple II sold a lot more computers when a small company called Software Arts made a special program called Visicalc, which only worked on the Apple II. We wanted the people who liked our Macintosh idea to be able to add their own ideas and make it better. So, we thought it was very important to have good support for other companies that made software, from the very start.

Macintosh 与 Apple II 不同。
当一家名为 Software Arts 的小公司制作了一个名为 Visicalc 的特殊程序(该程序仅适用于 Apple II)时,Apple II 的计算机销量大幅增加。
我们希望那些喜欢我们的 Macintosh 想法的人能够添加他们自己的想法并使其变得更好。
因此,我们认为从一开始就为其他软件制造公司提供良好的支持非常重要。

It was not as easy to do as it sounded. Lisa thought a consistent look and feel between our programs was a good idea, because it was very important to us. Most developers who didn’t work for us had never used a graphical user interface before, so we had to explain the basics of how it worked. Back then, every program had its own special way of looking and working, and we weren’t sure if it was even possible to get other developers to follow our rules for a consistent look and feel.

这并不像听起来那么容易。丽莎认为我们的程序之间保持一致的外观和感觉是个好主意,因为这对我们来说非常重要。
大多数不为我们工作的开发人员以前从未使用过图形用户界面,因此我们必须解释其工作原理的基础知识。
当时,每个程序都有自己特殊的外观和工作方式,我们不确定是否有可能让其他开发人员遵循我们的规则以获得一致的外观和感觉。

At the beginning of 1982, our user interface was still being developed and improved. Not everyone on the team agreed on the best way to do things, especially in situations that we had not thought about before. It seemed like a good idea to write down our user interface guidelines and make sure we solve any problems we had. This would help us communicate with other developers who were working with our technology.

1982 年初,我们的用户界面仍在开发和改进中。
并非团队中的每个人都同意最好的做事方式,尤其是在我们之前没有考虑过的情况下。
写下我们的用户界面指南并确保我们解决遇到的任何问题似乎是个好主意。
这将有助于我们与使用我们技术的其他开发人员进行沟通。

One important deadline was a meeting with a third-party developer, Microsoft. We had to show them our first Macintosh prototypes and explain how the computer worked. The meeting was scheduled for late January 1982. To prepare for the meeting, we had a series of long, all-day meetings in early January 1982. We discussed our disagreements and worked together to create a shared understanding of the Macintosh user interface. We locked ourselves in a room until we finally agreed. The meeting was attended by Steve Jobs, Bill Atkinson, Joanna Hoffman, Chris Espinosa, Randy Wigginton (who used to work for Apple but now worked with us as a semi-independent developer), and me.

一个重要的截止日期是与第三方开发商 Microsoft 的会面。我们必须向他们展示我们的第一台 Macintosh 原型机并解释计算机的工作原理。这次会议定于 1982 年 1 月下旬举行。
为了准备这次会议,我们在 1982 年 1 月上旬召开了一系列长时间的全天会议。我们讨论了分歧,并共同努力对 Macintosh 用户界面达成了共识。
我们把自己锁在一个房间里,直到我们最终同意。出席会议的有史蒂夫·乔布斯、比尔·阿特金森、乔安娜·霍夫曼、克里斯·埃斯皮诺萨、兰迪·威金顿(他曾经在苹果公司工作,但现在作为半独立开发人员与我们一起工作)和我。

We started by looking at the Lisa User Interface, but we wanted to make things simpler. We tried to get rid of anything that seemed too complicated. For example, we were happy to get rid of the triple-click feature. However, it was harder to agree on the design of scroll bars. After two and a half days of discussion, we thought we had mostly agreed on the design and decided that someone should write down our thoughts. Joanna wrote the first draft of the “Macintosh User Interface Guidelines” before our meeting with Microsoft the following week. We presented it at that meeting for the first time. Later, Chris Espinosa took over writing the guidelines and made changes as needed as we continued working on the project.

我们首先查看 Lisa 用户界面,但我们想让事情变得更简单。我们试图摆脱任何看起来太复杂的东西。
例如,我们很高兴摆脱了三次点击功能。然而,滚动条的设计很难达成一致。
经过两天半的讨论,我们认为我们已经基本同意了设计,并决定有人应该写下我们的想法。
乔安娜在下周与微软会面之前撰写了“Macintosh 用户界面指南”的初稿。
我们在那次会议上首次提出了它。后来,克里斯·埃斯皮诺萨 (Chris Espinosa) 接手编写指南,并在我们继续开展该项目的过程中根据需要进行了更改。

By April 1982, the User Interface Toolbox was almost ready for the first release to developers. This toolbox had the code for making GUI objects like windows, menus, buttons, and scrollbars. Since many developers didn’t know how to make GUIs before, it was important to write clear and helpful guides for them to use the toolbox. Chris Espinosa had already written good guides for using QuickDraw, so we started with a good foundation.

到 1982 年 4 月,用户界面工具箱几乎已准备好向开发人员发布第一个版本。
该工具箱包含用于制作 GUI 对象(如窗口、菜单、按钮和滚动条)的代码。
由于许多开发人员以前不知道如何制作 GUI,因此为他们使用工具箱编写清晰且有用的指南非常重要。
Chris Espinosa 已经编写了有关使用 QuickDraw 的良好指南,因此我们从一个良好的基础开始。

I talked to Chris about writing instructions for a toolbox. We decided to start by writing about the window manager. Chris chose a new employee, a young woman in her 20s, to help me write about the window manager’s instructions.

我和克里斯讨论了为工具箱编写说明的问题。
我们决定从写窗口管理器开始。
克里斯选择了一位新员工,一位 20 多岁的年轻女性,帮我写窗口经理的指示。

I spent some time with a writer, looking at some printouts of code and explaining the Window Manager API to her in detail. I was a bit nervous because I talked most of the time, and she didn’t ask any questions. But she promised to show me her first draft a few days later.

我和一位作家花了一些时间,查看了一些代码的打印输出,并向她详细解释了窗口管理器 API。
我有点紧张,因为大部分时间都是我说话,她没有问任何问题。
但她答应几天后给我看她的初稿。

A few days went by. Chris Espinosa gave me some documents about the Window Manager. He warned me that it was an early version and not to expect much. But when I started reading it, I was really disappointed. The important details, like what the window manager does and what it says in the comments, were right. But the explanations of each step didn’t make sense. It was clear that Chris didn’t understand some important computer code and memory management parts. Instead of asking for help, she just made up answers as she went along.

几天过去了。 Chris Espinosa 给了我一些有关窗口管理器的文档。他警告我这是一个早期版本,不要抱太大期望。
但当我开始读它时,我真的很失望。重要的细节,例如窗口管理器的作用以及注释中的内容,都是正确的。
但每一步的解释都没有意义。
很明显,克里斯不理解一些重要的计算机代码和内存管理部分。她没有寻求帮助,而是边走边想出答案。

I had a meeting with Chris that made me feel worried, but he helped calm me down and convinced me to give the writer another chance. I met with both of them and told them about the problems I had with her work so far. She seemed very happy and calm about it, saying she knows she doesn’t understand everything, and I will fix any mistakes. We had another longer meeting. I tried to explain the important ideas, like handles and regions, and went over the rules of the Window Manager again. This time, I asked her if she had any questions after each part. Despite my best effort to explain, it still seemed like she was having trouble understanding. But she didn’t seem worried about it at all.

我与克里斯的会面让我感到担心,但他帮助我平静下来,并说服我再给作家一次机会。
我会见了他们两人,并向他们讲述了迄今为止我在她的工作中遇到的问题。
她对此显得非常高兴和平静,说她知道自己并不明白一切,我会改正任何错误。我们又开了一次更长的会议。
我试图解释重要的想法,例如句柄和区域,并再次回顾了窗口管理器的规则。
这次,我在每个部分之后都问她是否有任何问题。尽管我尽了最大努力解释,但她似乎仍然无法理解。
但她似乎一点也不担心。

The second version of the document was just as bad as the first one, and I felt very sad about it. I put a lot of effort into it, but it didn’t seem to matter. Chris got upset and defensive when I talked to him about it. I thought it was impossible to get good documentation for the toolbox. But then, a few days later, Chris came to my office with a smile on his face.

第二版的文件和第一版一样糟糕,我对此感到非常难过。
我付出了很多努力,但似乎并不重要。
当我和克里斯谈论这件事时,他感到不安和防御。我认为不可能获得该工具箱的良好文档。
但几天后,克里斯带着微笑来到我的办公室。

“We’ve hired a new writer,” he said. “She has experience as a programmer, and I think she will do a better job with technical details. Her name is Caroline Rose. I will give her the task of writing about the window manager and see what you think.”

“我们聘请了一位新作家,”他说。 “她有作为程序员的经验,我认为她在技术细节上会做得更好。她的名字叫Caroline Rose。我会给她写关于窗口管理器的任务,看看你的想法。”

The next week I met with Caroline for the first time. She was very different from the previous writer. When I started explaining the first task, she asked me many questions. She didn’t mind saying “I don’t understand” and kept asking until she was sure she got it. She even asked me questions I didn’t know the answer to, like what happens when certain rules are broken. During our meeting, I had to keep the computer code open on my screen so I could find the answer to her questions quickly.

接下来的一周,我第一次见到了卡罗琳。她与之前的作家有很大不同。当我开始解释第一个任务时,她问了我很多问题。
她不介意说“我不明白”,并不断地问,直到她确定自己明白为止。
她甚至问了我一些我不知道答案的问题,比如违反某些规则会发生什么。
在我们的会议期间,我必须让计算机代码在屏幕上保持打开状态,以便我可以快速找到她问题的答案。

I soon realized that if Caroline didn’t understand something, it meant that the design needed to be changed. Many times, I told her to come back the next day after she asked a good question. Then, I fixed the problem she found. I started thinking about what questions she might ask before I wrote the code, which made me work harder to make it clear.

我很快意识到,如果卡罗琳不明白某些事情,就意味着设计需要改变。
很多次,她问了一个好问题后,我就告诉她第二天再来。
然后,我解决了她发现的问题。我在写代码之前就开始思考她可能会问什么问题,这让我更加努力地把问题说清楚。

At first, we gave developers the raw documentation part by part, just as it was written. Later, we decided to put all the information together into one big book called “Inside Macintosh”. It was very long, almost 1,000 pages, spread across three books, mostly written by Caroline with help from a few other people. Steve Jobs wanted the first edition to be perfect, so we used the best papers and binding we could find. But making something look great takes time, and the people who liked Macintosh were eager to get the complete guide to developers as soon as possible.

起初,我们按照编写时的样子,逐个部分地向开发人员提供原始文档。
后来,我们决定将所有信息整理成一本大书,名为《Inside Macintosh》。
它很长,几乎有 1,000 页,分为三本书,大部分是由卡罗琳在其他几个人的帮助下写的。
史蒂夫·乔布斯希望第一版是完美的,所以我们使用了我们能找到的最好的纸张和装订。
但让东西看起来很棒需要时间,喜欢 Macintosh 的人渴望尽快获得完整的开发人员指南。

Someone finally came up with an idea. Apple agreed to publish a free, thin book about computers (called Inside Macintosh) on cheap paper. They will send a copy to every computer developer for free. The book is thin and not very good quality, so it’s been nicknamed the “phone book” edition. Despite this, many developers still bought the better-quality, thick book when it came out a few months later.

终于有人想出了一个主意。苹果公司同意以廉价纸张免费出版一本有关计算机的薄书(名为《Inside Macintosh》)。
他们将免费向每位计算机开发人员发送一份副本。
该书很薄,质量也不是很好,所以被戏称为“电话本”版。
尽管如此,几个月后,当这本质量更好、更厚的书出版时,许多开发者仍然购买了它。
目录