今天继续计算机速成课Crash Course的系列讲解。
更多技术文章,全网首发公众号 “摸鱼IT” 锁定 -上午11点 - ,感谢大家关注、转发、点赞!
计算机速成课Crash Course - 26. 图形用户界面 (qq.com)
我们上集最后,谈了苹果在1984年发布的 Macintosh,这是普通人可以买到的,第一台带图形用户界面的计算机,还带一个鼠标。
那时的计算机全是命令行,图形界面是个革命性进展。
不必记住或猜正确的命令,图形界面直接显示了,你可以做什么,只要在屏幕上找选项就行了。
这是一个"选择并点击"的界面,突然间计算机更直观了,不只是爱好者或科学家能用计算机,任何人都可以用计算机解决问题。
人们认为是 Macintosh,把图形用户界面(GUI)变成主流,但实际上图形界面是数十年研究的成果。
前几集,我们讨论了早期的交互式图形程序,比如 Sketchpad 和太空战争,都是1962年制作的,但都是一次性项目,不是整合良好的体验。
现代图形界面的先驱,可以说是 道格拉斯·恩格尔巴特。
让我们进入思想泡泡~~
二战期间,恩格尔巴特 驻扎在菲律宾做雷达操作员,他读了万尼瓦尔·布什 的 Memex 文章,这些文章启发了他。
当他海军服役结束时,他回到学校,1955年在 UCB 取得博士学位,他沉溺于新兴的计算机领域。
他在1962年一份开创性报告中汇集了各种想法,报告名为:"增强人类智力",恩格尔巴特认为,人类面临的问题,比解决问题的能力增长得更快,因此,找到增强智力的方法,似乎是必要且值得一做的目标。
他构想计算机不仅做自动化工作,也可以成为未来知识型员工,应对复杂问题的工具。
伊凡·苏泽兰 的"几何画板",进一步启发了 恩格尔巴特,他决定动手把愿景变为现实,开始招募团队来做 oN-Line System,他意识到如果只有键盘,对他想搭建的程序来说是不够的。
用他的话说:"我们设想人们用计算机辅助工作站来增强工作,用户需要和屏幕上的信息互动,用某种设备在屏幕上移动[光标]"
1964年,和同事比尔·英格利希的共同努力下,他创造了第一个计算机鼠标,尾部有一根线,看起来很像老鼠,因此"鼠标"这个名字沿用了下来。
谢了思想泡泡~~
1968年,恩格尔巴特在"秋季计算机联合会议"展示了他的系统,这次演示被视为如今所有演示的祖先。
演示有90分钟,展现了现代计算机的许多功能:包括位图图像、视频会议、文字处理和 实时协作编辑文件,还有现代图形界面的原型,比如鼠标和多窗口- 不过窗口不能重叠。
远远先于那个时代,就像其它"跨时代"的产品一样,它最终失败了,至少商业上是这样,但它对当时的计算机研究者影响巨大。恩格尔巴特 因此获得1997年图灵奖。
政府资金在 1970 年代初开始减少,我们在两集前说过(第24集:冷战和消费主义)那时,恩格尔巴特团队里的许多人,包括比尔·英格利希,去了施乐公司新成立的"帕洛阿尔托研究中心",更为人熟知的名字是 Xerox PARC。
他们在这里开发了第一台带真正 GUI 的计算机:施乐奥托于1973年完成,为了让计算机易于使用,需要的不只是花哨的图形,还要借助一些人们已经熟悉的概念,让人们不用培训就能很快明白如何使用。
施乐的答案是将2D屏幕当作"桌面",就像桌面上放很多文件一样,用户可以打开多个程序,每个程序都在一个框里,叫"窗口"。
就像桌上的文件一样,窗口可以重叠,挡住后面的东西,还有桌面配件,比如计算器和时钟。
用户可以把配件在屏幕上四处移动,它不是现实桌面的完美复制,而是用桌面这种隐喻,因此叫"桌面隐喻"
有很多方法来设计界面,但 Alto 团队用窗口,图标,菜单和指针来做,因此叫 WIMP 界面,如今大部分图形界面都用这个。
它还提供了一套基本部件,可复用的基本元素,比如按钮,打勾框,滑动条和标签页,这些也来自现实世界,让人们有熟悉感。
GUI 程序就是这些小组件组成的,让我们试着写一个简单例子。
首先,我们必须告诉操作系统,为程序创建一个窗口,我们通过 GUI API 实现,需要指定窗口的名字和大小,假设是 500×500 像素。
现在再加一些小组件,一个文本框和一个按钮,创建它们需要一些参数。
首先要指定出现在哪个窗口,因为程序可以有多个窗口,还要指定默认文字,窗口中的 X,Y 位置以及宽度和高度。
好,现在我们有个看起来像 GUI 程序的东西,但它还没有功能。
如果点 Roll 按钮,什么也不会发生,在之前的例子中,代码是从上到下执行的,但 GUI 是 "事件驱动编程",代码可以在任意时间执行以响应事件。
这里是用户触发事件,比如点击按钮,选一个菜单项,或滚动窗口,或一只猫踩过键盘,就会一次触发好多事件!
假设当用户点 Roll 按钮,我们产生1到20之间的随机数,然后在文本框中,显示这个数字,我们可以写一个函数来做。
我们还可以让它变有趣些,假设随机数是 20,就把背景颜色变成血红色!
最后,把代码与"事件"相连,每次点按钮时都触发代码,那么,要设置事件触发时,由哪个函数来处理。
我们可以在初始化函数中,加一行代码来实现,我们要处理的,是"点击"事件,然后函数会处理这个事件。
现在完成了。
可以点按钮点上一整天,每次都会执行 rollD20 函数,这就是程序背后的原理。
在编辑器里点 粗体 或菜单里选 关机,一个处理该事件的函数会触发,希望不会随机到 20。
好,现在回到施乐奥托!大约制作了2000台奥托,有的在施乐公司内部用,有的送给大学实验室,从来没有商业出售过。
然而,PARC 团队不断完善硬件和软件,最终于1981年发布了 施乐之星系统,施乐之星扩展了"桌面隐喻"。
现在文件看起来就像一张纸,还可以存在文件夹里,这些都可以放桌面上,或数字文件柜里,这样来隐喻底层的文件系统。
从用户角度来看,是一层新抽象!
施乐卖的是印刷机,但在文本和图形制作工具领域也有领先。
例如,他们首先使用了"剪切""复制""粘贴"这样的术语,这个比喻来自编辑打字机文件。真的是剪刀"剪切" ,然后胶水"粘贴" 到另一个文件。
然后再复印一次,新文件就是一层了,看不出编辑的痕迹。
感谢计算机的出现!
文字处理软件出现后,这种手工做法就消失了,Apple II 和 Commodore PET 上有文字处理软件,但施乐在这点上走的更远。
无论你在计算机上做什么,文件打印出来应该长得一样,他们叫这个"所见即所得"。
不幸的是,就像恩格尔巴特的 oN-Line System,施乐之星也领先于那个时代,销售量不高,因为在办公室里配一个,相当如今20万美元。
IBM 同年推出了 IBM PC,之后便宜的"IBM兼容"计算机席卷市场,但 PARC 研究人员花了十几年做的这些,没有被浪费。
1979年12月,施乐之星出货前一年半,有个人去施乐公司参观,你可能听说过这个人:史蒂夫·乔布斯,这次参观有很多传闻。
许多人认为,乔布斯和苹果偷走了施乐的创意,但那不是事实。
事实上是施乐公司主动找苹果,希望合作,最终施乐还买了苹果的一百万美元股份,在苹果备受瞩目的 首次公开募股(IPO) 前买的。
但一个额外条款是:"公布一切施乐研究中心正在进行的酷工作",史蒂夫知道他们很厉害,但他完全没预想到这些。
其中有个演示是,一个清晰的位图显示器上,运行着施乐公司的图形界面,操作全靠鼠标直观进行。
史蒂夫后来说:"就像拨开了眼前的一层迷纱,我可以看到计算机产业的未来。"史蒂夫和随行的工程师回到苹果公司,开始开发新功能,比如菜单栏和垃圾桶,垃圾桶存删除文件,满了甚至会膨胀 - 再次使用了隐喻。
苹果第一款有图形界面和鼠标的产品,是 1983 年发行的 Apple Lisa,一台超级先进的机器,标了"超级先进"的价格,差不多是如今的 25000 美元。
但在市场上同样失败,幸运的是,苹果还有另一个项目:Macintosh,于 1984 年发布,价格大约是如今的6000美元 - Lisa 的四分之一。
它成功了,开售100天就卖了7万台,但在最初的狂潮后,销售额开始波动,苹果公司卖的 Apple II 比 Mac 多。
一个大问题是:没人给这台新机器做软件,之后情况变得更糟,竞争对手赶上来了,不久,其它价格只有 Mac 几分之一的个人计算机,有了原始但可用的图形界面。
消费者认可它们, PC 软件开发者也认可,随着苹果的财务状况日益严峻,以及和苹果新 CEO 约翰·斯卡利 的关系日益紧张,史蒂夫乔布斯被赶出了苹果公司。
几个月后,微软发布了 Windows 1.0,它也许不如 Mac OS 漂亮,但让微软在市场中站稳脚跟,奠定了统治地位,十年内,95%的个人计算机上都有微软的 Windows。
最初,Mac OS 的爱好者还可以说,Mac 有卓越的图形界面和易用性,Windows 早期版本都是基于 DOS,而 DOS 设计时没想过运行图形界面。
但 Windows 3.1 之后,微软开始开发新的,面向消费者的 GUI 操作系统,叫 Windows 95,这是一个意义非凡的版本,不仅提供精美的界面,还有 Mac OS 没有的高级功能,比如"多任务"和"受保护内存"。Windows 95 引入了许多,如今依然见得到的 GUI 元素,比如开始菜单,任务栏和 Windows 文件管理器。
不过微软也失败过,为了让桌面更简单友好,微软开发了一个产品叫 Microsoft Bob。
将比喻用到极致,现在屏幕上有了一个虚拟房间,程序是物品,可以放在桌子和书架上,甚至还有噼啪作响的壁炉和提供帮助的虚拟狗狗。
你看到那边的门没?是的,那些门通往不同房间,房间里有不同程序。
你可能猜到了,它没有获得成功,这是一个好例子,说明如今的用户界面是自然选择后的结果。
无论你用的是,Windows,Mac,Linux 或其他 GUI,几乎都是施乐奥托 WIMP 的变化版,一路上,人们试了各种做法并失败了,一切都必须发明,测试,改进,适应或抛弃。
如今,图形界面无处不在,使用体验一般只是可以接受,而不是非常好,你肯定体验过差劲的设计。
比如下载了很烂的 App,用过别人糟糕的手机,或者看到过很差的网站,因此,计算机科学家和界面设计师会继续努力工作,做出更好更强大的界面,朝着恩格尔巴特"增强人类智能"的愿景努力。
我们下节课见。
以上内容就是 26. 图形用户界面 的内容,感兴趣的同学记得点赞、关注、转发、收藏哦!
我会不定期发布课程的讲解!
更多技术文章,全网首发公众号 “摸鱼IT” 锁定 -上午11点 - ,感谢大家关注、转发、点赞!