作者:ConanXin
知乎文章编号:46445499
创建于:2018-10-10 8:15:12
修改于:2018-10-11 3:33:01
编译自:1985年IEEE综览上的一篇介绍PARC的文章——Inside the PARC: the `information architects'
1969年末,施乐公司董事长C. Peter McColough告诉纽约安全分析师协会(New York Society of Security Analysts),施乐公司决心开发“信息架构”,以解决“知识爆炸”带来的问题。传说McColough随后求助于研究与开发高级副总裁Jack E. Goldman,并说,“好吧,去建立一个实验室,了解下我刚才的意思。”
Goldman的说法不同。1969年,施乐刚刚收购了一家大型计算机制造商科学数据系统(SDS)。“当施乐收购SDS的时候,”他回忆道,“我很快走进Peter McColough的办公室,说,‘瞧,既然我们从事数字计算机业务,我们最好有一个研究实验室!”
无论如何,结果就成立了加州的施乐帕洛阿尔托研究中心(PARC),这是我们这个时代最不寻常的企业研究机构之一。PARC是施乐公司三个研究中心之一;另外两个在纽约的韦伯斯特和加拿大的多伦多。雇佣了大约350名研究人员、经理和后勤人员(相比之下,AT&T公司拆分前的贝尔实验室雇佣了大约25000名员工)。PARC已经成立15年了,产生或培育的一些技术所带来的发展,包括了:
20世纪70年代中期,世界前100名计算机科学家中有近一半在PARC工作,该实验室在其他领域拥有类似的实力,包括固态物理和光学。
一些研究人员说,PARC是20世纪60年代和那十年的人民权利哲学的产物,提高生活质量。该中心成立于1970年,与其他主要的工业研究实验室不同;它的工作并没有与其公司母公司的产品线捆绑在一起。与大学研究实验室不同,PARC有一个统一的愿景:它将致力于开发“信息架构”。
这句话的起源不清楚。McColough将其归功于他的讲稿撰写人。讲稿撰写人后来说,他和McColough都没有对这句话有具体的定义。
所以,几乎每个在PARC成立之初就加入的人,对该中心的章程有着不同的看法。这有其优点。由于项目不是从上面分配的,研究人员组成了他们自己的小组;对一个项目的支持取决于项目的策划者能让多少人参与其中。
“这句话是‘Tom Sawyer’,”James G. Mitchell回忆道,他于1971年从已不存在的伯克利计算机公司加入了PARC,他现在是帕洛阿尔托Acorn研究中心的研究副总裁。“有人会认为某件事确实很重要。他们会开始研究,组成小组,然后试图说服其他人和他们一起做这件事。”
当Goldman成立PARC时,他的第一个决定是让他的老朋友George E. Pake来管理它。Pake是密苏里州圣路易斯华盛顿大学的执行副校长、教务长和物理学教授。Pake做出的第一个决定就是雇佣当时在犹他大学的Robert Taylor,帮助他为计算机科学和系统科学实验室招聘工程师和科学家。
Taylor曾担任ARPA(美国军方高级研究计划局)信息处理技术办公室主任,上世纪60年代中后期,他和其他人资助了计算机研究的全盛时期。
PARC从一个小组织开始——可能不到20人。其中9个人来自伯克利计算机公司,这是一家小型的大型计算机公司,Taylor曾试图说服施乐公司收购它,作为启动PARC的一种方式。(BCC的许多人负责SDS 940的设计,1968年,施乐公司收购了科学数据系统的计算机。)
20名PARC员工住在一栋租来的小楼里,“用着租来的椅子,租来的办公桌,上面放着4个按钮的电话机,没有前台,”David Thornburg回忆说,他于1971年从研究生院毕业后加入PARC的综合科学实验室。该组织认为应该有自己的计算机。
Mitchell说:“没有机器,就进行语言研究和编译器研究有点困难”。他们想要的计算机是数字设备公司(DEC)的PDP-10。
艾伦·凯(Alan Kay)回忆道:“在Datamation[杂志]的广告中,施乐的SDS和DEC之间存在着竞争。”1970年末,他从斯坦福大学人工智能实验室来到PARC做研究员。“当我们想要一台PDP-10时,施乐公司设想一名摄影师在PARC实验室拍到DEC的盒子会怎样,所以他们说,‘用Sigma 7怎么样?’”
“我们认为要花三年时间为Sigma 7做好操作系统,而我们可以在一年内构建一个完整的PDP-10。”
结果就搞出了MAXC(Multiple Access Xerox Computer),它模拟了PDP-10,但是使用了半导体动态RAMs代替内核。MAXC在硬件和软件上投入了大量精力,作为ARPAnet上的一个节点,它保持了持续可用性的历史记录。
MAXC对许多发展至关重要。英特尔公司生产了用于MAXC设计的1103动态存储芯片,获得了最初的收益。凯(Kay)回忆道:“当时从英特尔购买的1103存储芯片大部分都不起作用”。因此,PARC的研究人员Ghuck Thacker制作了一个为MAXC筛选芯片的芯片测试器。该测试器的后期版本,基于Alto个人计算机,也是在PARC开发的,最终被英特尔在其生产线上使用。
而且MAXC为PARC提供了构建计算机的经验,这对PARC中心是有好处的。“如果我们买了PDP-10,我们需要的三个能力就无法获得”,PARC早期的实验室经理回忆道。“我们需要开发一个供应商社区——完成设计布局、印刷电路板等等——唯一的方法就是用一个项目来推动这件事。我们还需要半导体存储器,这是PDP-IOs没有的。我们认为我们需要了解更多关于可编微程序机器的知识,尽管我们没有使用这些功能。”
MAXC为PARC设置了一种模式:构建自己的硬件。这让研究人员有了必须变成现实的愿景——至少在小范围内。
凯说:“最初的创始人发誓,我们绝不会做一个不是为100个用户设计的系统。这意味着如果是分时系统,你必须在其中运行100人;如果是一种编程语言,那么100个人必须在不用一直握着的情况下进行编程。如果是个人计算机,必须能够建造100台。”
这种构建工作系统的政策不是唯一的研究方法;Mitchell回忆说这是PARC争论的焦点。
“系统研究需要构建系统,”他说。“否则,你不知道你的想法是否好,或者实施起来有多困难。但是有人认为,当你在构建东西的时候,你并没有在做研究。”
自构建MAXC以来,该中心已经制作了几十个硬件和软件系统的原型——原型有时是数以千计。
美国开发的第一台个人计算机通常被认为是MITS Altair,它于1976年作为业务爱好者的套件出售。几乎在同一时间,Apple I也可以买得到,同样以套件的形式。
但是到那年年底,也有200台Alto个人计算机在日常使用中,其中第一台是在1973年建造的。当PARC计算机科学实验室的研究人员正在完成MAXC,并开始使用它时,他们在系统科学实验室的同行们正在用Nova 800处理器和高速字符生产器组装一台分布式计算机系统。1972年9月,PARC计算机科学实验室的研究人员Butler Lampson和Chuck Thacker找到了系统科学实验室的艾伦·凯,问道:“你有经费吗?”。
凯告诉他们,他有大约25万美元专用于购买更多的Nova 800和字符生成的硬件。
“你想让我们给你造一台计算机吗?”Lampson问凯。
“我非常乐意,”凯回答。1972年11月22日,Thacker和Ed McCreight开始建造Alto。据报道,施乐公司的一名高管坚称开发一个大型的硬件系统需要18个月的时间,这激怒了Thacker。当Thacker争辩说他能在三个月内做到这一点时,他立下一个赌注。
花了三个多月的时间,但超出时间并不多。1973年4月1日,Thornburg回忆道,“我走进了原型Alto所在地下室,线路连接在一个装满Novas的架子上,看到Ed McCreight坐在椅子上,显示屏左上角写着‘Alto lives’”。
凯说Alto被证明是“满足了Lampson的需求,Thacker的需求,以及我的需求。Lampson想要一台500美元的PDP-10,”他回忆道。“Thacker想要一台速度快10倍的Nova 800,我想要一台可以随身携带、孩子们可以使用的机器。”
Alto之所以能这么快被建成,是因为其简单性。凯回忆道,处理器“仅仅是一个计时器”——在1973年的原始集成电路技术中,只有160个芯片。这种架构可以追溯到TX-2,它是在20世纪50年代后期由麻省理工学院林肯实验室用32个程序计数器建造的。拥有16个程序计数器的Alto,将在任何给定时刻从具有最高优先级的计数器中获取其下一条指令。执行多个任务不会产生额外开销。当机器绘制屏幕显示时,动态存储器每2毫秒刷新一次,键盘被监控,信息被从磁盘传进和传出。优先级最低的任务是运行用户的程序。
原型是成功的,更多的Altos被建造。对用户界面、计算机语言和图形的研究开始认真进行。Lampson、Thacker和其他项目的策划者获得了第一批模型。许多PARC的研究人员投入进来以加快生产进度,但是似乎从来没有满足需求。
“有一个实验室在生产Altos,周围全是电路板,任何人都可以进去工作,”Daniel H.H. Ingalls回忆说,他现在是加利福尼亚州库比蒂诺Apple Computer公司的首席工程师。
仍然在施乐公司工作的Ron Rider,“在Alto无法获得的时候,他有一台Alto”,Bert Sutherland回忆说,他于1975年加入了PARC,担任系统科学实验室的经理。“当我问他是怎么得到的,他告诉我,他去了各个实验室,收集了人们给他的零件,然后自己组装起来了。”
按照今天的标准,Alto不是一台特别强大的计算机。但是,如果几台Altos与文件服务器和打印机连接在一起,结果就看起来像是未来的办公室。
PARC成立之前——1966年,在斯坦福大学,就已经讨论了本地计算机网络的想法。Larry Tesler,现任苹果公司面向对象系统的经理,毕业于斯坦福大学,当该大学考虑购买IBM 360分时系统时,他还在校园里。
“我和其中一个人建议他们购买100台PDP-ls,并把它们连接到一个网络中,”Tesler说。“一些顾问认为这是个好主意;耶鲁的一位顾问Alan Perlis,告诉他们这是应该做的,但是斯坦福大学中以IBM导向的人认为购买分时系统会更安全。他们错过了发明本地网络的机会。”
所以PARC最终又有收获了另一项第一。在建造Alto的同时,Thacker设想了以太网,一种以尽可能简单的方式连接机器的同轴电缆。它部分基于夏威夷大学于20世纪60年代末,开发的一个分组无线网络Alohanet。
凯说:“Thacker说同轴电缆只不过是捕获以太,所以这一部分在Robert Metcalfe和David Boggs出现之前就已经确定好了——这将是分组交换,而且将是一个碰撞型网络。但是Metcalfe和Boggs花了一年的时间来研究如何做这件该死的事情。(Metcalfe后来在加州山景城成立了3Com公司;Boggs现在在加州洛斯阿尔托斯的DEC Western Research工作。他们两人拥有以太网的基本专利。)
“我一直认为Boggs是一名业余无线电操作员这一事实很重要,”Sutherland说。“这对以太网的设计方式有很大影响,因为以太网从根本说上不能可靠地工作。这就像公民波段无线电,或者任何其他类型的无线电通信,从根本上来说,这是不可靠的,就像我们对电话的看法一样。因为你知道它基本上不起作用,所以你做了所有的防错性程序设计——‘再说一遍,这是乱码’协议,这是为无线电通信设计的。这使得最终的网络功能非常可靠。”
“Boggs是个业余无线电爱好者,知道你可以通过不可靠的媒介进行可靠的通信。我经常想知道如果他没有那个背景会发生什么,”Sutherland充道。
以太网建成后,使用起来相当简单:一台想要发送消息的计算机会等待,并查看电缆是否畅通。如果是畅通的,机器会将信息放在一个以收件人地址开头的数据包中发送。如果两个消息发生冲突,发送它们的机器会各自等待一段随机时间,然后再试一次。
网络的一个创新用途与人们相互发送信息无关;它只涉及机器之间的通信。因为在那些日子里,动态存储芯片是如此的不可靠,所以没有做其他事情的时候,Alto也会进行存储检查。Thornburg说,它对发现坏芯片的反应非常显著:“它会发出一条信息,告诉你哪台Alto坏了,哪个插槽有坏掉的电路板,哪行和哪列有坏掉的芯片。我发现这一点的原因是,有一天修理工过来告诉我说,‘任何时候你准备好了关机,我需要修理你的Alto’,我甚至不知道出了什么问题。”
在开发以太网的同时,未来办公室的另一个关键因素是激光打印机。毕竟,没有有效打印的手段,可以显示多种样式文档的屏幕和能够将文档从一个地方传送到另一个地方的网络有什么用?
激光打印机的想法来自施乐的纽约韦伯斯特研究实验室,这个想法的支持者是Gary Starkweather。当时的研究副总裁Goldman回忆说,他当时的想法是用激光把信息,以数字形式绘制到复印机的硒鼓或皮带上。Starkweather向负责高级开发业务产品组的副总裁George White汇报。
“George White找到我,”Goldman说,“听着,Jack,我找了一个叫Gary Starkweather的了不起的人,他用激光将视觉信息打印出来,当然是用的施乐机器。这对施乐来说是一个多么理想的概念。但是我不认为他在Rochester会有什么发展;没有人会听他的,他们不会做任何非常领先的事情。你为什么不把他带到帕洛阿尔托的新实验室?”
新任命的PARC经理Pake抓住了这个机会。Starkweather和其他一些来自Rochester的研究人员被转移到帕洛阿尔托,并启动了PARC的光学科学实验室。Starkweather和Ron Rider制造的第一台激光打印机EARS(Ethernet-Alto-Research character generator-Scanning laser output terminal),开始打印Altos生成的文档,并于1973年通过以太网发送给它。
Thornburg说,EARS并不完美。它有一个动态字符生成器,当字符和图形进入时,可以为它们创建新的模式。如果页面中没有大写的“Q”,字符生成器将通过不生成大写“Q”的模式来节省内部储存器。但是如果页面中包含一个非常复杂的图片,那么字符生成器就会用尽模式;“无法打印的图纸中存在一定程度的复杂性,”Thornburg回忆道。
尽管有这些缺点,激光打印机仍然比当时用的行式打印机、电传打印机和传真打印机有了巨大的进步,Goldman推动其尽快实现商业化。但是施乐公司拒绝了。事实上,PARC历史上的一个痛点是,母公司似乎无法利用研究人员的发展。
1972年,当Starkweather建造第一个原型时,劳伦斯利物莫国家实验室为了推动这项技术,提出了五台激光打印机的投标申请。但是Goldman无法说服施乐光电系统分部报告的那位高管(其背景是会计和财务)允许投标。原因是:如果激光打印机像复印机一样经常需要修理,施乐公司可能会在合同有效期内损失15万美元,尽管最初的证据表明,打印所造成的磨损比复制要少得多。
1974年,当John Ellenby领导的一小群PARC研究人员,开始从施乐复印机部门购买二手复印机并在其中安装激光头时,激光打印机才首次在PARC之外面世。John Ellenby建造了Alto II,Alto II是Alto的生产线版本,他现在是加州山景城Grid Systems公司的副总裁。由此产生的打印机被称为Dovers,在施乐公司内部和大学里被使用。Sutherland估计制造有几十台这样的打印机。
他回忆道:“他们把打印机所有的光学仪器都去掉了,然后把它们送回复印机部门”。他说,即使在今天,他也会收到来自大学的激光打印文件,在这些文件中他可以识别出Dover字体。
也是在1974年,纽约Rochester施乐总部的产品审查委员会,终于就公司应该生产哪种电脑打印机做出了决定。Goldman表示:“一群对技术一无所知的马屁精正在做出决定,在做出决定前一周,我看到它正走向CRT技术”。(施乐公司的另一个小组开发了一种打印系统,通过在特殊的阴极射线管上显示的文本,会聚焦在复印机的硒鼓鼓上并打印出来。)
“那是星期一晚上。我征用了一架飞机,”Goldman回忆道。“我对策划副总裁和营销副总裁的说,‘你们两个跟我走。调整你们周二的计划。今晚你们跟我一起去PARC。我们将回来参加周三上午8 : 30的会议’。我们晚上7点左右出发,1点到达加利福尼亚,那里的时间是10点,上帝保佑,PARC的伙伴们做了一个漂亮的演示,展示了激光打印机可以做什么。
“如果你在和市场营销或策划的人员打交道,让他们亲身体验一下。所有的图表和幻灯片都没用,”Goldman说。
产品审查委员会选择了激光技术,但是有延期。“他们不会让我们在7000系列就把它们拿出来,”Goldman说,他指的是Ellenby的团队使用的老式打印机。“相反,他们坚持要推出新的9000系列,这个直到1977年才推出。”
从纯粹的经济角度来看,施乐公司在PARC的第一个十年投资回报,来自于激光打印机的利润。这也许有些讽刺,因为未来办公室的一个愿景是无纸化。
“我认为PARC产生的纸张比任何其他办公室都多,因为按下一个按钮,你可以打印30份任何报告”,前PARC技术人员、VLSI Technology公司的用户设计技术副总裁Douglas Fairbairn观察到,“如果报告长达30页,那就是1000页,但仍然只需要几分钟。然后你说,‘我想要那张照片在另一页’,那是另外1000页。”
到20世纪70年代中期,大多数PARC研究人员办公室里的Altos,可以根据他们的需求来定制。Richard Shoup的Alto一个有彩色显示器。Taylor的Alto有一个扬声器——每当他收到电子邮件时,就会播放“The Eyes of Texas Are Upon You”。
而且,自Alto在PARC被广泛使用以来的10年间,人们已经发现,个人计算机既可用于娱乐,也可用于工作。PARC的研究人员是最早一批发现这一点的人。
“晚上,每当我在帕洛阿尔托的时候,”Goldman说,“我会去实验室看艾伦·凯创造一款游戏。这早在电子游戏出现之前,这些孩子一直在创造这些东西,直到午夜,凌晨1点。”
Sutherland说:“我喜欢观察一些第一次,施乐在全国范围内举行了第一次电子抽奖活动。在施乐,我收到了我的第一个电子垃圾邮件,第一个电子工作验收,和第一个电子讣告。”
当施乐914复印机在20世纪60年代初问世时,“我是一个复制狂,”Lynn Conway说,他于1973年从Memorex公司加入PARC,现在是密歇根大学的副院长兼电子工程和计算机科学教授。“我喜欢制作东西并分发出去,例如地图——各种各样的东西。在1976年的施乐环境中,突然之间,你可以创造出很多东西。”
几十个俱乐部和兴趣小组在网络上成立了。不管PARC员工的爱好或兴趣是什么,他或她都可以找到一个可以通过电子方式分享兴趣的人。许多严肃的工作也是通过电子方式完成的:如报告、文章,有时整个设计项目都是通过网络完成的。
所有这些电子通信的一个副作用是忽视了外表和其他外身份的伪装。
John Wamock说:“PARC的人倾向于拥有非常强烈的个性,有时在设计会议上,这些个性比技术内容来得更强一些。”他于1978年从Evans & Sutherland公司加入PARC,他在那里从事高速图形系统的工作。通过电子邮件工作消除了设计阶段的个性问题。电子交互对软件研究人员特别有用,他们可以来回发送代码。
Warnock现在是加州帕洛阿尔托Adobe Systems公司的总裁,描述了Interpress的设计,一种打印协议:“其中一名设计师在匹兹堡,一名在费城,我们有三人在这个地区,一对夫妇在加州埃尔塞贡多。这个设计几乎完全是通过邮件系统远程完成的;只有两次,我们都是在同一个房间里聚在一起。”
电子邮件对于跟踪团队项目也非常重要。
1972年从BBN公司加入PARC的Warren Teitelman说:“真正有用的能力之一是,保存一系列关于特定主题的信息,以便你可以参考。”他目前是山景城Sun Microsystems的编程环境经理。Teitelman补充道:“或者,如果有人来晚了,他们不了解来龙去脉,你可以通过向他们发送所有信息来让他们了解最新情况。”
但电子邮件有时在PARC会失控。有一次,Teitelman在一周不联系后,他登录系统,在他的邮箱中发现了600封邮件。
任何参加过商务会议的人都知道,今天的办公室包括图形和文本。1970年,现在是Aurora Systems公司董事长的Shoup,开始在PARC研究新的方法,在未来的办公室里以数字方式创建和处理图像。他的研究开创了电视图形领域,并为他和施乐赢得了艾美奖。
Shoup回忆道:“很快就明白了,如果我们想做光栅扫描系统,我们应该做到与电视标准兼容,这样我们就可以很容易地获得监视器、照相机和录像机。”1972年初,他构建了一些简单的硬件来生成抗锯齿线条,到1973年初,这个名为超级绘画(Superpaint)的系统完成了。
AIvy Ray Smith回忆说,这是世界上第一个完整的带有8位帧缓冲器的绘图系统,他曾在PARC的Superpaint工作,不久将成为加州圣拉斐尔皮克斯公司的副总裁兼首席技术官;这也是第一个使用多种图形辅助工具的系统:简单动画的颜色查找表,用于输入的数字化平板电脑,直接在屏幕上混合颜色的调色板。该系统还有一个实时视频扫描仪,这样真实物体的图像可以被数字化,然后进行操作。
Shoup说:“我在这个系统上做的第一件事是一些抗锯齿的线条和圆圈,因为我写了一篇关于这个主题的论文,但没有完成这些例子。但是当我提交论文并被接受时,用来做例子的机器还没有制造出来。”
到1974年年中,额外的软件增强了Superpaint,允许它执行各种各样的技巧,Smith刚刚完成了被称为细胞自动机理论的数学分支的博士工作,他被雇来帮助这台机器进行测试。他用Superpaint制作了一盘名为“Vidbits”的录像带,后来在纽约现代艺术博物馆展出。
六个月后,他与PARC的最初合同到期,没有续签。Smith虽然失望,但并不惊讶,因为他发现并不是每个人都喜欢用电脑画画。
“彩色图形实验室是一个狭长的房间,有七扇门通向里面,”他回忆道。“你必须通过它去很多其他地方。大多数人走过时,会看着屏幕并停下来——即使是最老套的东西,也从来没有见过。自行车彩色地图以前从未见过。但也有一些人会经过而不会停下来。我想不出人们怎么能穿过那个房间,而从不停下来看看。”
除了其他人对视频图像漠不关心外,还有一个原因可能是Smith的离开。在一场公开的电视节目中,很多观众第一次看到Superpaint,这是洛杉矶KCET电台制作的节目“Supervisions”。“它只是用了几次才能产生很少的色彩循环效果,”Shoup回忆道。但是施乐对于在节目中未经授权使用系统并不感到愉快。“Bob Taylor整整一下午和Alvy [Smith]坐在一起,Alvy按下录像机上的擦除按钮,从录像带的每个副本中删除了施乐的徽标,”Shoup继续道。(这是委员会看到的其中一个录像带,授予了施乐公司艾美奖。)
Shoup留在了PARC,得到了凯的研究小组的支持,而Smith则继续前行,获得了国家教育协会的资助,从事计算机艺术。他得到了纽约理工学院的支持,在那里他帮助开发了Paint,这成为Ampex Video Art(AVA)和N.Y. Tech’s Images的基础,现在仍然在使用这个系统。
当Shoup独自在PARC从事Superpaint时,Smith并不是唯一一个在全国范围内寻找帧缓冲区的Superpaint迷。David Miller,现在被称为David Em,和David DiFrancesco是第一批用像素绘画的艺术家。当Em失去了对Superpaint的访问权时,他开始了长达一年的寻找帧缓冲区的探索,最终他进入了加州的喷气推进实验室。
最后,在1979年,Shoup离开了PARC,创办自己的公司来制造和销售paint系统——Aurora 100。他承认,在设计Aurora方面,他并没有取得任何技术上的飞跃,这只是他在PARC的第一代系统的商业化的第二代版本。
Shoup说:“我们为下一代制造的基于Aurora的机器,与我们七八年前在PARC思考的事情直接相关。”
Aurora 100现在被公司用来进行内部培训电影和演示图形。今天,成千上万的艺术家正在用像素绘画。仅在旧金山,1985年的Siggraph艺术展就收到了4000个参赛作品。
大多数知道鼠标是电脑外设的人,认为它是苹果公司发明的。行家会纠正他们,说这是施乐PARC开发的。
但实际上鼠标出现在PARC之前。“我在1966年看到了鼠标被用作指示设备的演示,”Tesler回忆说。“加州门洛帕克斯坦福国际研究所的Doug Englebart发明了它。”
在PARC,Tesler开始证明鼠标是个坏主意。“我真的不相信它,”他说。“我认为光标键要更好。”
“我们测试了一些从未见过电脑的人。在三四分钟内,他们愉快地使用光标键编辑完。那时,我正准备向他们展示鼠标,并证明他们通过鼠标选择文本的速度比使用光标键要快。然后我要证明他们不喜欢这样。”
“事与愿违。我会让他们花一小时使用光标键,这让他们真正习惯了这些光标键。然后我会教他们如何使用鼠标。他们会说,‘这很有趣,但我认为我不需要了。’然后他们会玩一会儿鼠标,两分钟后他们再也不碰光标键了。”
在Tesler的实验之后,大多数PARC研究人员接受了鼠标作为Alto的合适外设。一个不喜欢鼠标的人是Thornburg。
“我不喜欢鼠标,”他说。“这是Alto最不可靠的组件。我记得去PARC修理室的时候——那里有一个鞋盒用来装好的鼠标,还有一个50加仑的圆桶来装坏的鼠标。而且这东西很贵——对大众市场来说太贵了。”
“虽然我不介意用鼠标进行文本操作,但我认为这完全不适合画画。旧石器时代,人们停止用石头绘画,这是有原因的:石头不是合适的绘画工具;人们转向使用棍棒。”
一直在PARC从事材料研究的冶金学家Thornburg,开始研究替代的指向装置。1977年,他发明了一款触摸平板电脑,并将其连接到一台Alto上。大多数看过它的人都说:“这很好,但它不是鼠标,”Thornburg回忆道。他的触控平板最终成了一款产品:Koalapad,这是一款售价不到100美元的家用电脑外设。
“很明显施乐公司不想用它做任何事情,”Thornburg说。“他们甚至没有申请专利保护,所以我告诉他们Td喜欢它。经过大量的兜售后,他们说OK。”
Thornburg于1981年离开施乐,在Atari工作了一段时间,然后与另一名前PARC员工一起创办了一家公司——现在是Koala Technologies,来制造和销售Koalapad。
与此同时,尽管Tesler接受了鼠标作为指向装置的需求,但他对SRI的鼠标工作方式并不满意。“左手有一个五键按键组,右手有一个三键鼠标。你会用左手敲击一两个键,然后右手用鼠标指向某个东西,然后鼠标上有更多的按钮来确认你的命令。一个命令需要六到八次击键,但是你可以让双手同时操作。专家可以非常快速地完成任务。”
SRI系统的模式非常复杂。在有模式的系统中,用户首先指出他想做什么——例如删除操作。这将使系统处于删除模式。然后,计算机等待用户指出他想要删除什么。如果用户改变主意并尝试做其他事情,除非他首先取消删除命令,否则他做不到。
在非模态系统中,用户首先指向他想要改变的显示部分,然后指出应该对其做什么。他可以整天指着东西,不断地改变主意,而且从来不需要执行命令。
让普通用户的情况变得更复杂(但是对于程序员来说更有效率),每个键的含义都有所不同,这取决于系统所处的模式。例如,“J”表示滚动,“I”表示插入。如果用户试图“插入”,然后在不取消第一个命令的情况下“滚动”,他最终会在文本中插入字母“J”。
PARC的大多数程序员都喜欢SRI系统,并开始在他们的项目中进行调整。“有很多人认为这是完美的用户界面,”Tesler说。“每当有人建议改变它时,他们都会受到怒目而视的欢迎。”作为程序员,他们对这个事实没有异议,键盘响应同时按下的键的组合,这些键以二进制符号表示字母表。
Tesler开始测试非程序员的界面。他教新聘的秘书如何操作这台机器,并观察她的学习过程。“显然以前没有人这样做过,”他说。“她在用鼠标和按键上有很多问题。”
Tesler主张更简单的用户界面。“唯一和我意见一致的人是艾伦·凯(Alan Kay),”他说。凯支持Tesler尝试在Alto上编写无模式文本编辑器。
尽管当今大多数流行的计算机使用无模式软件,Macintosh可能是最好的例子,但是Tesler的实验没有解决这个问题。
“MacWrite、Microsoft Word和Xerox Star都是以复杂模式的项目开始的,”Tesler说,“因为程序员不相信用户界面可以灵活的、有用的和可扩展的,除非它有很多模式。事实证明,这并不是通过说服来实现的,顾客抱怨说,他们喜欢极简无模式的编辑器,没有比这个编辑器更好的功能了,因为这个编辑器有他们想不出如何使用的所有功能。”
同样简化无模式的编辑器也适用于PARC的编程语言和环境。为了寻找一种孩子们可以使用的语言,可以经常看到凯(Kay)在幼儿园和小学学生中测试他的工作。
凯的目标是Dynabook:一台简单、便携的个人电脑,可以满足一个人的信息需求,并为创造力提供一个渠道——写作、绘画和音乐创作。Smalltalk是Dynabook的语言。它基于在编程语言Simula中所倡导的类的概念,以及通过请求动作的消息进行通信的交互对象的想法,而不是直接对数据执行操作的程序。
Smalltalk的第一个版本是由凯、Ingalls和另一个PARC研究员Ted Kaehler之间一次偶然对话的结果。Ingalls和Kaehler正在考虑写一个语言,凯说,“你可以在一个页面上写一个。”
他解释道,“如果你看一下Lisp解释器本身,这些东西的内核非常小。Smalltalk的内核甚至可能比Lisp更小。”
凯回忆说,这种方法的问题在于,“Smalltalk是双重递归的:在你对参数做任何事之前,你就已经在使用函数了。”在这个语言第一个版本Smalltalk-72中,控件被尽快传递给了对象。因此,在Smalltalk中写一个简洁的Smalltalk定义非常困难。
“写10行代码花了大约两周的时间,”凯说,“很难看出这10行代码是否有效。”凯花了两周的时间每天在早上4:00到8:00进行思考,然后和Ingalls讨论他的想法。当凯完成后,Ingalls在Nova 800上用Basic语言编写了第一个Smalltalk,因为那是当时唯一可用的语言,具有良好的调试功能。
因为语言非常简单,所以开发程序甚至整个系统的速度也相当快。凯说:“Smalltalk的规模很大,你可以出去喝一两罐啤酒,然后回来,然后两个人会在一个下午互相激励,完成一个完整的系统。”从一次下午的开发中,重叠的窗口(windows)出现了。
窗口的概念起源于Sketchpad,这是由麻省理工学院的Ivan Sutherland在20世纪60年代早期开发的交互式图形程序;Evans&Sutherland公司于20世纪60年代中期在一台图形机上实现了多个窗口。但是PARC的Diana Merry于1973年在Alto上实现了第一个多重重叠窗口。
“我们都认为Alto显示器非常小,”凯说,“很明显,如果没有大显示器,你必须有重叠的窗口。”
窗口之后出现了位图动画(Bitblt)的概念——将数据从存储器的一部分到另一部分的块传输,对字边界的对齐没有限制。Alto电脑的主要设计者Thacker,实现了一个名为CharacterOp的功能,将字符写入Alto的位图屏幕,Ingalls扩展了该功能,使其成为一个通用的图形工具。Bitblt使重叠窗口变得更简单,而且还使各种图形和动画技巧成为可能。
Ingalls回忆道:“1975年初,我给所有PARC的Smalltalk系统,做了一个演示,使用Bitblt来做菜单和重叠的窗口及东西。后来有一群人找到我,说‘你是怎么做的?我能得到Bitblt的代码吗?’不到两个月,这些东西就在整个PARC中得到使用。”
尽管闪光和令人印象深刻的,Smalltalk-72“是一个死胡同”,Tesler说,“这是模棱两可的。你可以阅读一段代码,而不能分辨出哪些是名词,哪些是动词。你无法快速完成,而且无法编译。”
Smalltalk的第一个编译版本,写于1976年,标志着强调儿童可以使用的语言的结束。Ingalls说,这种语言现在是“一个成熟的编程环境,我们有兴趣输出它,并让它广为人知。”
Smalltalk的下一个主要版本是Smalltalk-80。凯不再争辩说任何语言都应该足够简单,以便孩子可以使用。Tesler说,Smalltalk-80从最早版本的Smalltalk相反方向走得太远:“它变得如此极端,使其可编辑、统一、可读,它实际上变得难以阅读,你肯定不想教孩子这个。”
凯看着Smalltalk-80说:“它不能被儿童使用是非常糟糕的,因为那是Smalltalk的目标。它又回归到数据结构型的编程,而不是模拟型的编程。”
当凯的小组正在为各年龄阶段的儿童开发一种语言时,PARC内的一组人工智能研究人员正在改进Lisp。Lisp是由Warren Teitelman和Daniel G. Bobrow带到PARC的,他们来自马萨诸塞州剑桥的Bolt, Beranek, & Newman公司,在那里Lisp作为ARPA社区的一个服务被进行开发。在PARC,它被重新命名为Interlisp,增加了一个名为VLISP的窗口系统,并开发了一套强大的程序员工具。
在PARC的计算机科学实验室,研究人员正在开发一种功能强大的系统编程语言。经过几次迭代,该语言成了Mesa——一种模块化语言,它允许多个程序员同时从事一个大型项目。关键在于接口的概念——程序中的模块是做什么,而不是它如何工作的。每个程序员都知道其他模块被授权做什么,并且可以调用它们来执行特定的功能。
另一个主要特征是Mesa强大的类型检查功能,它阻止了程序员在需要实数的情况下使用整数变量,或者在需要字符串的情况下使用实数——并且防止bugs从程序的一个模块传播到另一个模块。
这些概念后来被广泛用作模块化编程语言的基础。“Ada[美国国防部的标准编程语言]和Modula-2的很多想法来自于PARC的编程语言研究,”现任Adobe Systems公司的执行副总裁Chuck Geschke表示。事实上,Modula-2是计算机科学家Niklaus Wirth在PARC休假后写的。
尽管PARC研究的成功可能超过了它所取得的成就,但就像任何组织一样,它无法摆脱一些失败。前PARC研究人员最常举的例子是Polos。
Polos是分布式计算的一种替代方法。当Thacker和McCreight设计Alto的时候,PARC的另一个团队正在12个一组的Data General Novas上工作,尝试在机器之间分配功能,这样一台机器可以处理编辑,一台机器处理输入和输出,另一台机器处理文件归档。
Sutherland说:“使用Altos,每个人所需要的东西都是放在每台机器上的。Polos试图用不同的方式来实现——从功能上进行分割。”
当Polos开始工作时,Alto电脑正在整个PARC中推广,所以Polos被关闭了。但是它有来生:Sutherland在施乐的其他部门中分发了12个Novas,它们是PARC Alto网络上的第一个远程网关,Polos显示器被用作PARC的终端,直到1977年它们才被废弃。
另一个重要的PARC失败项目是光学字符阅读器和传真机组合。这个想法是开发一个系统,可以打印混合文本和图形的页面,识别文本本身,并以ASCII码传输字符,然后使用效率较低的传真编码方法发送其余的内容。
微软公司应用程序开发经理Charles Simonyi说:“这非常复杂,相当疯狂。在这个项目中,他们有这个不可思议的硬件,相当于一个10000行Fortran程序。”不幸的是,当时相当于成千上万行的Fortran程序,意味着成千上万个独立的集成电路。
从事OCR项目的Conway说:“虽然我们在算法和架构方面取得了实质性进展,但很明显,当时的电路技术在经济上是不可行的。”该项目于1975年被取消。
基本上,PARC的研究人员在象牙塔里工作了前五年;虽然项目还处于初级阶段,但几乎没有时间做其他事情。但是到了1976年,随着每张桌子上都有一台Alto,以及电子邮件是中心的一种生活方式,研究人员渴望看到他们的作品被朋友和邻居们使用。
凯回忆说,当时,PARC和施乐其他部门正在使用大约200台Altos;PARC建议施乐在市场上推出一款量产版的Alto:Alto III。
凯说:“1976年8月18日,施乐拒绝了Alto III。”
因此,研究人员没有将他们的项目移交给制造部门,而是继续使用Alto进行工作。
“这就是我们失败的原因,”凯说。“我们没有扔掉Altos。施乐管理层早就被告知,PARC的Altos和Kleenex一样,三年后就会没有了,我们需要一套新的东西,速度要快10倍。但是当这一决定性时期到来时,没有资本了。”
“我们在加州的Pajaro Dunes举行了一次会议,名为‘让我们烧掉磁盘组(Let's burn our disk packs)’。我们可以感觉到二阶导数的进步对我们来说是负面的,”Kay说。“我真的应该去扔掉每个人的磁盘。”
PARC员工没有开始全新的研究方向,而是专注于将他们过去研究项目的成果作为产品推向市场。
每隔几年,施乐公司就会召集来自世界各地的所有管理人员,讨论公司的发展方向。在1977年,佛罗里达州博卡拉顿举行的会议上,PARC研究人员展示了他们已经建立的系统。
被指派参加博卡拉顿演示的PARC工作人员,投入了他们的心血、灵魂和许多施乐的钱到这项工作中。设计和建造了布景,在好莱坞的摄影棚里进行了排练,Altos和Dovers被肆意的在好莱坞和帕洛阿尔托之间运输。在博卡拉顿的礼堂举办这个展览,花了整整一天的时间,而且必须从当地机场租一辆特殊的空调卡车,来使机器保持冷却。但是对于施乐公司的大部分员工来说,这是第一次与PARC的“eggheads”相遇。
“PARC对公司的其他人来说是一个非常奇怪的地方,”Shoup说。“不仅是加利福尼亚,而且是书呆子。被认为是奇怪的电脑人,留着胡子,不洗澡也不穿鞋,深夜里长时间盯着他们的终端,与任何其他人都没有关系,基本上都是反社会的书呆子。坦率地说,我们中的一些人给人留下了这种印象,就好像我们在公司其他人之上。”
要让施乐的其他成员认真对待PARC研究人员及其工作,有一些困难。
“演示进行得非常顺利,战斗胜利了,但病人死了,”Goldman说。施乐高管不仅看到了Alto、以太网和激光打印机,他们甚至还展示了日语文字处理器。“但公司无法将它们推向市场!”Goldman说。(到1983年,公司确实推出了日本版的Star电脑。)
施乐难以将PARC的进展推向市场的一个原因是,直到1976年,还没有一个研发机构从PARC中获取研究原型并将其转化为产品。
“一开始,技术转让的方式并不明确,”Teitelman说。“我们采取了一种超然的观点,认为会有人捡起这些技术。直到后来,这个问题才得到真正的关注。”
即使是研发机构,要让施乐公司的高管接受产品也是一场艰苦的战斗。其中一个例子是Notetaker计算机,由Smalltalk小组的研究员Adele Goldberg构思的,他现在是美国计算机协会的主席,目前仍在PARC工作。“可怜的Adele,”Tesler说。“我们其他人都参与进来,并不断重新定义这个项目。”
Notetaker最终成为一台可以装在飞机座位下基于8086的计算机。它采用电池供电,运行Smalltalk,并有一个由Thornburg设计的触摸屏。“我们有一个定制的显示器,我们有纠错存储器,我们通常只会为真实产品做很多定制工程,”Notetaker的首席硬件设计师Fairbaim说。
“在我离开PARC的最后一年,”Tesler说,“我带着Notetaker在全国各地飞来飞去,与施乐高管交谈。这是第一台在机场运行的便携式电脑。施乐公司的高管们做出了各种承诺:我们将购买2万台,只需与弗吉尼亚州的这位高管谈谈,然后再与康涅狄格州的这位高管谈谈。公司如此分散,他们从未一起开会。一年后,我准备放弃。”
施乐可能还没有准备好用便携式电脑,但其他公司已经准备好了。Osborne I于1981年推出的,大约九个月前,据报道Adam Osborne参观了PARC,在那里,显著展示了Notetaker的照片。
当PARC的一些先驱者在20世纪70年代中期开始感到焦虑时,其他人才刚开始寻找未来办公室神奇工具的用途。其中一位是Lynn Conway,他利用Alto、网络和激光打印机开发了一种设计集成电路的新方法,并将这种方法传播给全国几十个机构的数百名工程师。
当Bert Sutherland于1975年加入系统科学实验室担任经理时,他带着加州理工学院的教授Carver Mead“走进PARC,制造一些混乱”。Mead是半导体设计专家,他在20世纪60年代末发明了MESFET(金属半导体场效应晶体管)。
Conway回忆道,Sutherland曾致力于将计算机图形应用于集成电路布局,所以他很自然地考虑将像Alto这样先进的个人计算机应用于IC设计。由于OCR-Fax项目的挫败,Conway本人被吸引到了集成电路设计中,在这个项目中,她构思了一种简洁的架构,只能实现机架和设备机架。但是这些机架可能会变成一些芯片,只要它们能被知道应该做什么和应该如何组合的人进行设计。
“Carver Mead在PARC举办了为期一周的集成电路设计课程,”Fairbaim回忆道。“Lynn Conway和我真的很兴奋,并且真的想做点什么。”
Conway说:“然后,很多事情真的做成了。”
“当Carver和我就计算和设备领域发生的事情相互交流时,他能够解释一些在英特尔内部进化的基本的MOS设计方法。我们开始寻找方法,以推广[那些设计师]已创造的结构。”Conway解释说,她和Mead不仅仅只使用计算机工具进行设计,而是使设计方法更简单,并为改进的方法构建工具。
“从75年中期到77年中期,事情从一件零碎的小事情——Bert想要做的一系列项目之一——发展我们掌握一切,带着例子,现在是时候写了。”
在不到两年的时间里,Mead和Conway已经开发出可扩展设计规则、重复结构以及现在被称为结构化VLSI设计的其他概念——到了他们可以在一个学期内教授它的程度。
如今,100多所大学教授结构化VLSI设计,并且用它构建了成千上万种不同的芯片。但是在1977年夏天,Mead-Conway技术未经测试——事实上被轻视了。他们怎么能让它被接受呢?
“1976-1977年PARC环境的神奇之处在于它的力量感;突然间,你可以创造出很多东西,并制造出很多东西。不仅仅是一张纸,而是整本书,”Conway说。
这正是她和她的同伴所做的。Conway说:“我们只是自行出版了《VLSI系统简介》,如果你不仔细看,你可能会认为这是一个完全合理、经过验证的东西。”
它看起来像一本书,Addison-Wesley同意将其作为一本书出版。Conway坚持说没有Altos,这是不可能发生的。“知识本来会零碎分散,总是模糊不清——我们不可能产生这样一种纯粹的形式,也不可能如此迅速地产生。”
Conway在VLSI项目的最后阶段使用最多的一个工具是网络:不仅是PARC内部的以太网,还有连接PARC和全国数十个研究站点的ARPAnet。Conway说:“回想起来,我清楚的一点是,人们无法理解我们拥有强大的无形武器。PARC的环境让我们有能力战胜那些认为我们疯了或者试图阻止我们的人;否则,我们就不会有勇气像我们那样去做了。”
1979年,也就是艾伦·凯想要像扔“面巾纸”一样扔掉Altos的三年后,Dorado,这样一台功能强10倍的机器,终于看到了光明的一天。
“它应该是由其中一个开发机构建造的,因为他们将在他们的一些产品中使用到它,”Severn Ornstein回忆道,他是Dorado的设计师之一,现在是帕洛阿尔托的负责社会责任的计算机专业人员(Computer Professionals for Social Responsibility)主席。“但是他们决定不这样做,所以如果我们的实验室要拥有它,我们将不得不自己建造。我们经历了一段漫长的痛苦时期,在那个时期我们中没有一个人真的想要做这件事。”
Omstein说:“那时Taylor正在管理实验室,整件事处理得非常巧妙。他从来没有直接扭过任何人的胳膊;他主持了这项工作,并在这个过程中保持秩序,但他确实让实验室明白这是必须做的事情。这也确实是一件好事,因为很难让Dorado活过来。损失了很多。”
Omstein回忆说,最初,设计者们使用了一种新的电路板技术——所谓的多线技术,将单根电线连接到一块板上进行连接,这是一个错误的开始。但是Dorado板对于多线技术来说太复杂了。当第一台Dorado运行的时候,很多人都在想是否会有第二台。
“Butler Lampson的信念很重要,”Ornstein说。“他是唯一一个相信它可以大量生产的人。”
事实上,即使在Dorado被重新设计为使用印刷电路板而不是多线电路板,并且Dorado开始大量生产之后,它们仍然很少见。一位前PARC经理回忆道:“我们从来没有足够的预算让Dorados充满整个社区,他们每年都会消耗掉一些,所以到1984年,仍然不是每个人都有Dorado。”
那些用过的人都很羡慕。“我有自己的Dorado,”John Warnock说。“Chuck Geschke是一名经理;他没有得到一台。”
“我有一台陈旧的Alto和一张纸,”Geschke说。
Dorado的出现让研究人员可以利用位图显示和个人电脑的所有其他优势,他们的项目用Alto操作太困难。“我们试图将Lisp放在Alto上,这真是一场灾难,”Teitelman回忆道。 “当我们有了Dorado时,我们花了八九个月的时间讨论了我们希望在编程环境中看到的东西,它将结合Mesa、Lisp和Smalltalk。” 结果就是Cedar,现在被公认为是最好的编程环境之一。
“Cedar把Lisp的一些优点放到了Mesa中,比如垃圾收集和运行时类型检查,”Acorn的Mitchell说道。垃圾收集是一个过程,通过该过程可以回收程序不再使用的内存空间;运行时类型检查允许程序确定其参数的类型——无论是整数、字符串还是浮点数——相应地选择它对它们执行的操作。
Interlisp是Teitelman培育了15年的语言,也被移植入Dorado,这是一项研究工作的基础,这项研究工作现已发展成为PARC的智能系统实验室。
PARC的Smalltalk小组已经习惯了他们的Altos,然后建造了另一台小型计算机Notetaker,在处理Dorados的时候遇到了一些麻烦。
Ingalls回忆说:“在早期,我们让Smalltalk在一台Alto上运行,我必须把我的Alto带回家,但是施乐公司机器的发展方向,与让人们容易将机器带回家的发展方向相反。下一台机器,Dolphin,不方便携带,Dorado也是不可能的——它是一条喷火龙。”