图形用户界面的风花雪夜(上)

朋友,或许你在读这篇文章之前刚刚用过电脑,你用它工作,用它学习,用它玩游戏,用它上网。觉得它挺有意思,或是觉得它怎么那么难用。但如果我们追溯历史,却发现我们的先辈们为今天的成果做出了巨大的努力。这种动机或许为生存,或许为乐趣,或许为科学研究,或许为国家利益。先辈们的喜怒哀乐,苦甜辛酸都浸淫在这个鼠标,或是那个机箱里面。让我们这些后人们就顺着这个系列的文章,来缅怀一下先辈对图形用户界面所做出的巨大努力吧!

 

纵观图形用户界面的出现,绝对不是偶然的,而是人类智慧的逐步积累,生产力逐步提高的结果。先辈们的想象力和激情,互助和学习等各种因素让图形用户界面逐步加速发展。根据Andries van Dam先生所说,人机交互的历史可以分为四个阶段:第一个阶段在1950年到1960年,计算机以批处理方式执行,主要的操作设备是打孔机和读卡机;第二个阶段从1960年一直到二十世纪八十年代早期,计算机以分时方式执行,主要的界面是命令行界面;第三个阶段大致从二十世纪七十年代早期直到现在仍然还在发展,主要的界面是图形用户界面,主要以鼠标操作那些使用桌面比喻的界面。界面元素有窗口,菜单,图标等等。第四个阶段除了有图形用户界面之外,如姿势识别,语音识别等等的先进交互技术的广泛应用。目前还处于孕育状态。

 

下面,我们就来跳跃性的谈谈图形用户界面的发展的一些逸闻趣事,就当是一种消遣了。

.雏形期的图形界面

“窗口”的概念由于在计算机系统中出现实时图形显示设备而诞生,这第一次出现在SAGE工程及Ivan Sutherland博士发明的Sketchpad程序中。

SAGE Project

二十世纪五十年代,美国为冷战而开发了一套空中防御系统,名字就叫半自动地面防空系统(Semi-Automatic Ground Environment)。这个SAGE系统将计算机系统与复杂的雷达通讯系统结合起来,来进行美国空中防御,并且在美国国土的23个雷达站之间传输数据。每个雷达站都有自己的计算机及备份系统。由于SAGE使用了阴极射线管(CRT)作为显示设备,光笔作为获取出现在监视屏幕上的可疑飞行物的详细内容的工具而使用。也就是说,当光笔点到屏幕上的某些区域,电脑会显示出更加细节的内容。当然这个系统在实际上根本就没有发现敌机,因为战斗从来没有发生过,但这个系统的构建为许多参与的公司诸如IBM等积累了丰富的软件系统开发经验。

 

图表  1 SAGE 系统的原型 Whirlwind I,由麻省理工学院开发,这个系统中已经使用光笔和显示器了。(图片来源:www.answers.com

Sketchpad

1963年,由Ivan Sutherland在完成博士毕业论文而开发的程序Sketchpad是一个具有历史意义的里程碑。它改变了人机交互界面的历史。Sketchpad被认为是计算机辅助设计(CAD)程序的鼻祖,也被认为是图形用户界面的出现的一个标志程序。在他的博士论文里,Ivan Sutherland论证了计算机图形图像可以用来作为人机界面的一个手段,这光是美学的需要,也是技术发展的目的。

 

Sketchpad是第一个完全意义上使用图形用户界面的程序。它使用了xy座标系定点系统及光笔输入方法。并且,程序中首先使用“对象(object)”和“实例(instance)”概念,朝向面向对象编程迈出了一步。其中最主要的想法便是一个图形显示对象可以产生许多个具体实例;改变了这个图形显示对象之后其他的实例也因此改变。另一个发明便是用户在图形描绘过程中可以动态改变一个具体选择的几何图形属性。比如说,改变线段的长度或者两条直线相交的角度等等。

二.智慧的碰撞

Douglas Engelbart先生和On-Line 系统

在以发明了鼠标而著名(还有一个叫William的英国合作伙伴)的科学家Douglas Engelbart的参与下,国际斯坦福研究院(Standford Research Institute International, SRI International)在二十世纪六十年代开发了On-Line系统(NLS)。在这个系统中,使用了鼠标外设及多窗口系统。当然,美国发明家Douglas Engelbart先生得到了Vannevar Bush先生在1945年开发多memex桌面信息机器的启发。Memex也是一个很有意思的系统,这个系统甚至启发了后来的Ted Nelson先生发明超媒体和超文本。

 

图表  2 On-Line System (1968) (图片来源:www.answers.com

 

Douglas Engelbart此人也值得一说,他因发明鼠标而广为人知,但就是他领导的小组发明了超文本,网络计算机,图形用户界面的前身等。他也是使用计算机和网络手段来解决日益复杂问题的推崇者。有趣的是,现在叫鼠标的这个东西曾经有一个名字叫“bug”,不过后来被人们忘却了而已。可惜的是,这个鼠标的发明者从来就没有因为发明鼠标而获得专利费,因为鼠标专利在1987年已经过期,也因为鼠标在那时还是个不太顶用的玩意,而且,当时的鼠标运行机理也和最初的专利申请有所不同了。

 

 

科学家Douglas Engelbart

 

 

图表 4 Douglas的中年时代

 

Douglas的生平也让人觉得人生无常。1970年,Douglas获得了他的双金属滚轮外面以木头外壳包装的鼠标专利(专利名称叫“为显示系统定位提供的XY定点器)之后,他主持的项目受到美国国防部高级研究计划署(ARPA)的支持,他致力于在线交互及人机界面方面的研究。所以,他所在的国际斯坦福研究院的两台主机(ARCUCLA)成为Internet鼻祖ARPANET的两个节点,而且ARC还成为第一个网络信息中心而闻名。但是,命运总是捉弄人,1976年之后,Douglas Engelbart先生进入了人生的低谷(当时他45岁),他由于一些不幸及误解,使得他的几个最好的研究伙伴离开了他,也因为越战失败之后国际斯坦福研究院得到的项目经费减少以及管理层又不同意他的研究方法,后来竟然被后来者解雇了,这样他离开了他自己亲手创建的研究中心。再到后来,他住的房屋也失火。一直到1978年,一个叫Tymshare的公司聘用了他,但仍然很不顺利,他仍然未能够受到重用,这种情况一直持续到1986年。

 

尽管从1980年以后,他的发明日渐闪光,但直到1996年,他才获得Yuri Rubinsky Memorial Aword, 1997年获得Lemelson-MIT Prize(获得50万美元的奖金)以及图灵奖。后来在2001年他还获得英国计算机社会(British Computer Society)的Lovelace Medal奖。也就是说,他在七十多岁后才重新拥有科学家的光环。

 

一个语言学家Benjamin Lee Whorf认为,语言的复杂度控制说话者的思维能力,而这种思维能力又反过来控制这个人的语言能力。Douglas在此之上,有一个哲学推理,是说我们现有的技术控制我们对这些信息的描述方法,这种方法反过来又控制我们开发新技术的能力。我认为这是对的,也是一个很有咱们马列主义辩证思想特色的观点。

Xerox PARC

Douglas Engelbart先生的工作直接促进了施乐帕罗奥托研究中心(Xerox Palo Alto Research Center, PARC)的进步。在上世纪末七十年代初,国际斯坦福研究院几位人员(我猜就是那几位背叛Douglas Engelbart先生的研究者)加入了PARC,他们组成的PARC小组搞定了WIMPWindow, icon, menu, pointing device)范例(WIMP Paradigm)。WIMP范例在人机交互领域代表了这些元素如窗口,图标,菜单,定点设备的交互模式。所以说WIMP范例是由施乐帕罗奥托研究中心发明而由苹果公司在1984年让它逐步走入寻常百姓家的。

Xerox PARC(图片来源:www.answers.com

 

创建于1970年的施乐帕罗奥托研究中心是施乐公司的研究机构中的领头羊,座落在美国加里福利亚帕罗奥托城。施乐帕罗奥托研究中心中诞生了许多现代计算的元素,诸如图形用户界面的许多概念,鼠标,所见即所得(WYSIWYG)文本编辑器,激光打印机,桌面计算机,Smalltalk编程语言及集成开发环境,Interpress与分辨率无关的图像页面描述语言, PostScript的先驱),以及以太网。

 

言归正传,WIMP范例首先使用在Xerox Alto试验计算机上,最终在1981年在Xerox 8010(官方名字),俗称Xerox Star的工作站上产品化。据称,由施乐帕罗奥托研究中心开发的Xerox Alto开启了个人计算机的先河,它也是第一次使用图形用户界面及桌面隐喻(Desktop metaphor)的计算机。它有128K内存(可扩展到256K),2.5的硬盘,有一个小冰箱那么大。它有一个黑白(就两种颜色,没有其它灰度颜色)显示器,键盘,一个使用方法和我们现在的鼠标方向有特别差异(它是水平方向操纵鼠标,显示器的光标却垂直运动)的三键鼠标,还有一个叫5-key chord keyset(早就被淘汰了)的东西。后两个东西是从SRIOnLine System借来的。这个计算机的外设很多,很丰富。它所安装的软件是用BCPL语言编写的,后来还用了一些诸如MesaModula的计算机语言。在图像渲染方面,它发明了位传送技术,也叫BitBlt 技术。尽管Xerox Alto没有商品化,但也制造了几千台,由各大学校使用,而且它的孙子辈产品就促成了Sun公司的成立。笔者在这儿啰嗦这么多,就因为它是个人计算机的爷爷辈东西,而且先辈们的创新的确渗透了很多智慧,值得我们后人们敬仰和怀念。

 

再说Xerox Star吧。这个也是一个革命性的产品,最终在1981年得到商品化。这个产品里面使用了虚拟机的概念(就是为前面提到的Mesa编程语言准备的)。这个计算机里面发明了许多概念,比如WYSIWYG,以太网等前面都说过了。还有一件有意思的与之相关联的事情,就是据说苹果电脑的创始人Steve Jobs就是参观了Xerox PARC之后,让他的图形界面上多了桌面和图标这两样东西的。从这个传说就可以看出还是毛爷爷说得好:好好学习,天天向上。

三.苹果公司的前期历史

历史学家们对现代图形用户界面的功劳究竟是Xerox PARC多一些还是苹果公司多一些是众说纷纭,但有很多事实表明苹果公司在图形用户界面方面的确是做出了瞩目贡献。苹果公司至少发明了窗口可以重叠,实现了窗口的自动重绘(Self-reparing),图标可以拖放,窗口有固定的菜单条,下拉菜单以及文件管理器中的文件对象可以直接操作等等。比如用户可以将文件或者文件夹对象拖到垃圾里面就可以删除该对象。当然,这些都应该归功于苹果公司的第31号员工Jef Raskin领导的麦金塔什团队的共同努力(其中就包括一些前Xerox PARC的小组成员)。

 

至于苹果公司的诞生,其动人的故事和微软不相上下,都是非常具有传奇色彩的。呵呵,这里就废话几句了。

 

在苹果公司创建之前,Steve Wozniak是一个供职于HP的员工,也是一个电脑黑客。每天下班之后就带着比他小五岁的朋友Steve Jobs搞点小名堂,赚点外快,比如说写点小游戏什么的。在那个时候,他们从一本名字叫《大众电子》(Popular Electronics)的杂志上看到一篇如何制作自己的电脑终端的文章之后就开始鼓捣自己的电脑了。

图表  5 两个SteveSteve Wozniak Steve Jobs(右))。Wozniak的电子工程能力
Jobs的个人信条及魅力创造了一代神话。照片上的两个人正举着Apple公司的
第一代计算机AppleI的主板。(图片来源:www.answers.com

 

图表  永远要心疼自己的孩子,要知道,孩子的未来是最有前途和希望的。Apple I代是相当简陋的,但只有伟大的父母才知道辛勤的培育是孩子的未来最有利的保障。
(图片来源:www.answers.com

 

              

图表  7 苹果那种唯美的信条让大众所崇拜,这是苹果公司
历史上所采用过的几个logo图案(图片来源:www.answers.com

 

 

1976年的愚人节Apple公司成立了,创始人除两个Steve之外还有Mike Markkula。在年末的时候,在加利福利亚州的十个零售店就有Apple I出售了。1977年,标价为1298美元Apple II发售了,它有4K的内存,而且具有开发的系统结构第三方厂商可以在其上开发自己的产品。从此,Apple II就成为了许多学校家庭所具有的设备,苹果公司由此而兴盛。在1980年,苹果公司公开上市,它打破了1956年由福公司所创下的上市公司筹钱记录,它也在瞬间创造了更多的百万富翁。Apple II是一款成功的产品,它后来的升级版本如Apple IIe Apple IIg等在上世纪末还依然辛勤工作在很多学校里。

Apple Lisa

Apple Lisa的研发工作开始于1979年,由Jef Raskin带领,最终于1983年完成。这是计算机历史上出现的第一个含有集成软件及图形界面的商业个人计算机。作为苹果公司的一个失败产品,尽管它有创新的图形界面,但它具备了产品失败的所有因素:设计超前,价格昂贵(1983年一月它就卖9995美元),而且速度缓慢。这种机型在1983年就装了96K内存,而在1990年之后,标配少于96K内存的个人计算机还依然时行。

 

Apple Lisa的操作系统技术领先,它支持多任务,虚拟内存。但它的所拥有的低速软盘存储器让虚拟内存的速度无法发挥。它有两种用户模式:Lisa办公系统(Lisa Office System)及开发模式(Workshop)。它的办公系统是GUI界面的,开发模式中也配备了图形界面的编辑器。

 

那时候,能够买这种机器的单位就是那些中型或者大公司。每个中等规模的单位有那么一至两台Apple Lisa,再配上一台Apple点阵打印机,大家共享着使用。尽管速度是慢了点,但它打印的图表相比其它同类产品可是应了现代一句广告词“爽歪歪”。

 

在美国犹他州的一次填地运动中,苹果公司做出了巨大贡献,他们将一大批此类“超前于时代,永远没有赶上潮流的”高科技产品埋入地下,这件事情大概发射在1986年。

 

图表  8  Apple Lisa (图片来源:www.answers.com

 

在由Jef Raskin带领的另一个团队的努力下,就在Apple Lisa开始商业销售之后的第二年,即19841月,苹果公司推出了他们具有历史意义的第一代麦金塔什机Macintosh 128K,这里面也已经融入了Lisa采用的很多先进技术。Macintosh 128K是所有Mac机的祖宗,所以比起今天的Mac X来的确是少儿级的作品。甚至以今天的标准,它的性能有点可笑和简单,但它的确是个人计算机发展史上第一个成功的商业化图形用户界面系统。它那可爱的小盒子告诉我们丑小鸭变成天鹅的机会还是很多的。 

 

 

  

图表  9 Macintosh 的初始界面。图片来源:(http://toastytech.com/guis/guitimeline2.html

Macintosh里也采用了桌面隐喻的概念,文件的图标看起来就类似“纸张”的图形,而文件目录则用“文件夹”的图形。而在桌面上,还有一组称为“附件”应用程序快速访问图标。用户通过这些图标可以快速打开最常用的应用程序,如计算器,记事本和时钟等等。而图标对象的拖放功能更是表现得淋漓尽致。

如果说上述这些功能或多或少有来自Xerox Star的影响的话,Jef Raskin提出的“菜单键盘快捷键”的概念,则是Apple的创举。这使得原来习惯于纯键盘操作的用户也能融入到这个新的图形化界面中来。这也成为了日后所有的GUI系统的标准概念之一。如今使用电脑的人大概没有几个人不掌握几个常用的快捷键吧。

所有这些都使得Macintosh电脑成为了消费者眼中最不可思议的东西,因为他们从来没有见过类似的东西。然而即便是这样,Macintosh电脑并没有在个人电脑市场上取得重大的胜利。相反,IBM所推出的采用依旧是命令行方式操作,基于DOS系统的PC机在市场上占据了第一的位置——因为Macintosh电脑实在是太超凡脱俗,整个系统都是基于GUI的;而当时绝大部分的应用软件都还是基于命令行接口(command Line Interface, CLI)的方式,要将这些软件完全迁移到Macintosh电脑上工程实是在太浩大了。

也许是历史往往就是这样捉弄人,创造了奇迹的苹果电脑的功亏一篑,没有能称霸PC世界。而后冒出的Windows,才彻底改变了命令行接口(CLI)的统治地位当然这是后话了。

Macintosh系统在后来发布了比较重要的版本有System 7,也是从这个版本起Macintosh更名为Mac OS。而到2001年,苹果电脑更是推出了惊世骇俗的Mac OS X。欲知后果,请听下回分解。

posted on 2007-05-10 22:04 darkstax 阅读(1785) 评论(0)  编辑 收藏 引用 所属分类: 人机界面

<2007年5月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

随笔分类(17)

随笔档案(19)

文章分类(27)

文章档案(28)

新闻分类

新闻档案(15)

相册

收藏夹

c

版面相关

积分与排名