3.9 图形用户界面(Graphical User Interfaces)

2022-10-02
5分钟阅读时长

3.9.1 增强人类智力(Augmenting Human Intellect)

GUI 的先驱是道格拉斯·恩格尔巴特(Douglas Engelbart),他在二战期间阅读了布什(Vannevar Bush)关于 Memex 的文章,深受启发。

服役结束后的 1955 年他在 UCB 取得博士学位,在 1962 年发布了一份名为「增强人类智能」(Augmenting Human Intellect)的开创性报告。

在这份报告中,他认为人类所面临的问题比解决问题的能力增长得更快,因此有必要寻找一种增强智力的方式。其构想计算机不仅完成自动化的工作,也可以成为未来知识型的员工,用以应对复杂问题的工具。

受到伊凡·苏泽兰(Ivan Sutherland)的几何画板(recently demonstrated Sketchpad)的启发,恩格尔巴特决定动手将愿景变为现实。

在这个过程中,恩格尔巴特意识到他需要引入新的外设来完成他所希望搭建的程序。

“We envisioned problem-solvers using computer-aided working stations to augment their efforts.They required the ability to interact with information displays using some sort of device to move (a cursor) around the screen.”

“我们设想人们用计算机辅助工作站来增强工作,用户需要和屏幕上的信息互动,用某种设备在屏幕上移动(光标)。

1964 年,恩格尔巴特和比尔·英格利希(Bill English)设计出了第一个计算机鼠标(mouse)。1968 年,他在秋季计算机连联合会议中展示了他的系统 oN-Line System,这次演示被视为所有 demos 的祖先(the mother of all demos)。

在时长为 90min 的演示中,恩格尔巴特展现了现代计算机的许多功能,如位图图像、视频会议、文字处理、实时协作编辑文件等;以及现代图形界面的的原型,如鼠标与多窗口(但窗口无法重叠)。

因构想过于超前,该系统在商业上失败了,但对计算机研究者的影响巨大,恩格尔巴特因此在 1997 年获得图灵奖。

3.9.2 Xerox

Xerox Alto

因冷战结束,政府资金减少,恩格尔巴特团队中的许多人进入了施乐公司新成立的"帕洛阿尔托研究中心”(Palo Alto Research Center),即 Xerox PARC。

1973 年,他们在这里开发了第一台真正的图形用户界面(Graphical User Interfaces, GUI)计算机——Xerox Alto(施乐奥托)。其特点在于将 2D 的屏幕当作“桌面”(desktop),就像拿起桌面上的文件一样:用户打开多个程序,程序位于单个框内名为窗口(window),窗口可以重叠;同时还提供了桌面配件,比如计算机和时钟,配件可以自由移动。

WIMP 界面

Xerox Alto 并非对现实桌面的完美照搬,而是使用桌面这种隐喻,称为「桌面隐喻」(the Desktop Metaphor)。界面的设计可以使用多种方法,而 Alto 团队采用了窗口,图标,菜单和指针来做,因此称为 WIMP 界面(Windows, Icons, Menus, Pointer interface)。

现在大部分的 GUI 都采用 WIMP 界面,同时还提供了一些基本部件和可复用的基本元素,比如按钮,打勾框,滑动条和标签页。

事件驱动编程

之前的实例中,代码均为从上到下依次执行,但在 GUI 中代码可以在任意时间执行以便于响应事件,这称为「事件驱动编程」(even-driven programming),用户触发事件——点击按钮、选一个菜单项、按下键盘或滚动窗口——后,代码运行。

Xerox Star system

Xerox Alto 仅制作了 2000 台用于内部使用或是送给大学实验室,但从未进行商业出售。后来 PARC 团队不断完善软硬件后,于 1981 年发布了「施乐之星系统」(Xerox Star system),该系统扩展了桌面隐喻:

  • 文件 = 纸,存放于文件夹中,放置于桌面或是数字文件柜里。
  • 使用了来自编辑打字机文件中的术语,如剪切、复制、粘贴。
  • 提出了现在文字处理软件中常见的“所见即所得”(What-You-See-Is-What-You-Get , WYSIWYG),即无论你在计算机上做什么,文件打印出来应该长得一样。

施乐之星也如同恩格尔巴特的 oN-Line System 一样,因构想超前和售价高昂未能取得商业成功。同年,价格低廉的 IBM PC 席卷市场。

3.9.3 Mac OS

1979 年 12 月,施乐之星出货前一年半,史蒂夫·乔布斯去施乐公司参观。与谣传的苹果偷走创意相反,是施乐公司主动找到苹果希望合作。施乐还在苹果备受瞩目的首次公开募股(IPO) 前购入了苹果 100w 美元股份,其中的一个额外条款是"公布一切施乐研究中心正在进行的酷工作"。

受到 Xerox PARC 在位图显示器上使用鼠标进行直观操作的启发,史蒂夫和随行的工程师继而开发了新功能,比如菜单栏和满了会膨胀的垃圾桶,于 1983 年发布了苹果第一款有 GUI 和鼠标的产品 Apple Lisa,售价约为 2.5w 美元。尽管比起施乐之星更为便宜,但仍然在市场上失败了。

而苹果的另一个项目——于 1984 年发布的 Macintosh,在开售百天卖了 7w 台,大获成功。但随着最初的热潮消退,因软件生态的落后,苹果公司卖的 Apple II 比 Macs 多得多。

后来,其他个人电脑竞争者紧随其后提供了原始但能用的图形界面,价格仅有 Macs 几分之一,消费者和 PC 软件开发者也为之埋单。

随着苹果的财务状况日益严峻,以及和苹果新 CEO 约翰·斯卡利 的关系日益紧张,史蒂夫乔布斯被赶出了苹果公司。

3.9.4 Windows

1984 年 Macintosh 发布的后几个月,微软发布了 Windows 1.0,它也许不如 Mac OS 漂亮,但让微软在市场中站稳脚跟并奠定了统治地位。十年内,95% 的个人计算机上都有微软的 Windows。

Windows 早期版本都是基于 DOS,其设计时没想过运行图形界面。Windows 3.1 之后,微软推出了面向消费者的 GUI 操作系统 Windows 95。

Windows 95 提供了精美的界面且提供了 Mac OS 没有的多任务和受保护内存,同时还引入了像是开始菜单、任务栏和 windows 文件管理器等现在仍然常见的 GUI 元素。

当然,微软在 Windows 之前也曾推出过 Microsoft Bob 这样基本仿照现实的操作系统,其并没有获得成功。如今存活下来的 GUI——无论是 Windows,Mac,Linux 或其他——几乎都是施乐奥托 WIMP 界面的变化版,这是自然选择后的结果。