04

文 / 王越

Mac OS X 背后的故事(六)讲到,Cordell Ratzlaff新界面方案得到Steve Jobs的高度肯定,Steve Jobs让各开发组紧紧围绕在界面设计组周围,共同建造Mac OS X。此时,离Mac OS X第一个公共测试版的发布,仅有一年半时间。这时苹果的设计构想,还仅仅是个概念,在本篇中我们将展示Aqua的具体设计过程。

设计与软件的融合

开发分设计和软件两条路并行走,“两手抓,两手都要硬”。

设计是个有趣的领域。有些人认为,设计就是产品的外观看上去什么样。但其实,如果细想一下,你会发现设计其实是有关产品如何工作的学问。
——Steve Jobs

首先,苹果定下计划,并规划整个界面设计元素的方案,把设想通过可操作性强的材料让工程师来实现。

Cordell Ratzlaff每周都要和Steve Jobs开会,向他展示界面设计小组最新成果。任何大家现在见到的各界面控件,如菜单、按钮、进度条、Steve Jobs都一一过目,毫不马虎。针对每一个控件,Cordell Ratzlaff会要求拿出多套方案来,让Steve Jobs选出他中意的。Steve Jobs也会提出各种他自己的见解和改进建议,而Cordell Ratzlaff则会根据这些回馈不断修改,直到Steve Jobs满意为止。

与此同时,软件工程师也以越来越重的比例加入到这个设计行列中。

图形界面设计小组使用的设计软件是Macromedia Director。它能做出演示用的动画,可以演示打开、关闭窗口、下拉菜单等模拟效果,但这些并不是可供用户使用的最终软件。软件工程师需要把图形界面设计师的设计,变为一行行代码,运用到Mac OS X中。所以每次会议的Macromedia Director动画演示机旁,还会有一台计算机,预装了软件工程师转换的代码。当工程师们向Steve Jobs展示最新代码如何工作时,Steve Jobs会身体前倾,鼻子快贴到荧幕上,观察细微到“像素级别”来比较软件的表现和之前的设计是否完全一致。如果他有发现任何细微的差错,一阵类似“你们全是一帮白痴”的腥风血雨就会在办公室中展开。

设计整套方案是一个令人难以置信的漫长过程,尤其是遇到追求完美的Steve Jobs。Mac OS X中有一个控件叫滚动条(NSScroller)。当需要显示的内容长于当前控件大小时就会出现滚动条,可上下翻阅内容。这是一个非常不起眼的控件,大多数时间,用户甚至注意不到它的存在,甚至在十年后的今天它都被默认不显示了(关于Lion图形界面的改动受iOS思潮的影响我们今后会提到)。但哪怕是这种不起眼的细节,Steve Jobs都偏执地当个大项目来做。Mac OS X的界面设计是有史以来最复杂的一个,需要考虑诸多因素——比如所在窗口的活动与否,都会影响这个控件的颜色等属性。就滚动条而言,箭头的大小、位置的变化、颜色的启用等全都是活动的属性,牵一发而动全身。一根看似简单得不能再简单的滚动条,设计组花了整整六个月来修改。

当时,Mac OS X的用户界面有两个重大的设计目标:第一是让老用户没有压力地迁移过来,且倍感新界面的好用;第二是让那些从未摸过Mac的人尽快上手,并称赞这界面很好很强大。所以,整个界面设计保留了老Mac OS界面元素的设计理念,但同时又对很多有问题的老设计进行了革新。比如,在老版Mac OS中,各种系统设置选项是隐藏在不计其数的系统扩展、控制面板,以及很多系统组件中的。用户要想联个网,要去五六个地方设网络、设IP、设连接设密码,而在Mac OS X中,所有这些设置都被分门别类地规类到一个单一的程序——系统首选项(System Preferences),让用户“足不出户”,就能进行一切相关设置。

精简的狂热追求和大胆的设计创新

Apple偏爱最简化的设计,而往往满屏的窗口让Steve Jobs忍无可忍。又酷又炫的Dock横空出世,巧妙地解决了这个问题。Dock的设计源于Mac OS X的前身NeXTSTEP,但在Mac OS X中完全被重写,并重定义了它的功能。Dock提供用户一个放置常用软件图标、闲置窗口、文档的场所,Steve Jobs说“任何东西都能被拉进 Dock”。但Dock真正神奇的,是它犹如多拉A梦的口袋,有无限的承载能力。当放入Dock中的东西变多时,它会自动把横向宽度变长、图标变小,可承载几十个窗口。当窗口缩入和还原时,都配有“精灵”一样的动画——在Dock的图标多的时候,每个图标很小,用户就很难找到需要的——灵动且放大动画可以让用户能快速地找到所需。

另外,起初版本的Dock中每个图标都是正方形的方块,被换成半透明的背景,看得人垂涎欲滴。这些经典的设计,影响了整整一代图形界面设计者,被各山寨界面抄了一遍又一遍,甚至又活在当今的Ubuntu Linux的Unity和 Windows 7中。

Apple追求清爽甚至到了发疯的地步,在最初版的 Mac OS X Public Beta中,每个窗口有一个按钮,只要按下,除了当前窗口外,其它一切都会飞入Dock。因此,只要一键,“整个世界都清静了”。而在后来每个版本的Mac OS X中,都有大的更新来防止窗口或其他界面元素的堆积。10.3时代的Exposé10.5时代的StackSpaces,10.6时代的Exposé和Dock相结合双管齐下,到 10.7时代的Mission Control,都是用来解决果面精简这一个问题的。

而很多传统的界面控件也被赋予了新的含义。比如 Steve Jobs觉得,“最大化”一个窗口没有实际意义,而且把整个窗口最大化,也会挡住后面的窗口(直到2011年,Apple用“全屏”来重新定义传统的“最大化”)。而Mac OS X没有所谓的“最大化”,取而代之的是自动计算后调整窗口到所需大小的“最适化按钮”。而关闭一个窗口的含意也不该是关闭一个程序,而只应是结束目前的内容。Apple的许多设计都格外具有魄力,完全重写了界面设计的教科书。当然,有许多地方Apple确实做得矫枉过正,比如Apple一直是我见过的只有拖住右下角才能改动窗口大小的唯一系统。这个置用户于不顾的狂妄设计,一直在十年后发布的 Lion中,才得以改变。

Steve Jobs一直是界面设计的重要顾问。他有时候会提出一些看似稀奇古怪的意见,但往往最终又被证明是好的。比如,有一次他在会上指出,窗口左上角的“关闭”、“最小化”、“最适化”三个按钮的颜色都是一样的灰色,不容易区分他们。他建议把三个按钮变成交通灯的颜色,并且当鼠标移到附近时,显示出相应的图形指示。当Cordell Ratzlaff一群人听到这个主意后面色大变,认为简直是计算机图形设计史上最好笑的段子——谁会把电脑当交通灯使啊。不过改完后,他们对Steve Jobs心悦诚服——“红灯给用户一个终止的警示,这个窗口要被关掉;黄灯表示这个窗口要被放入等待队列,以便以后再通行;最适化则是给这个窗口大开绿灯”——这样高明的比喻,使 Cordell Ratzlaff对Steve Jobs崇拜得五体投地。
18个月转瞬即逝,“你们就是一群白痴”的骂声依旧清晰,而此时的 Mac OS X的图形界面,已今非昔彼。

“语静声息。我走上舞台。依着那打开的门,我试图探测回声中,蕴涵着什么样的未来。”(北岛翻译的帕斯捷尔纳克的《哈姆雷特》)。

18个月后的2000年1月,新世纪的钟声刚刚敲响,Steve Jobs镇定地走上 MacWorld大会的舞台,独领风骚的新世纪的经典大作Aqua,此时,就要被他揭开帷幕

作者王越,美国宾夕法尼亚大学计算机系研究生,中国著名TeX开发者,非著名OpenFOAM开发者。

 Mac OS X 背后的故事系列更多精彩内容

本文选自《程序员》杂志2011年11期,更多精彩内容敬请关注11期杂志

《程序员》杂志订阅火热进行中

转播到腾讯微博

----->立刻申请加入《程序员》杂志读者俱乐部,与杂志编辑直接交流,参与选题,优先投稿

4 Responses to “Mac OS X 背后的故事(七)Cordell Ratzlaff 引发的 Aqua 革命(下)”

  1. can. 说道:

    沙发?
    我觉得这个系列可以和吴军的《浪潮之巅》相媲美了,期待下文~

  2. 阿齐兹柳 说道:

    有个小错误。Exposé 是 10.3 Panther 时期加入的新特性而不是 10.4~ 另外虽然这个 é 不好打,但正式名称里就是有上标的,好歹也弄对了吧 :-)

  3. Yue Wang 说道:

    @阿齐兹柳

    感謝更正。謝謝!我會通知編輯盡快更改。

  4. 钢盅郭子 说道:

    太精彩了!

    继李维《Borland 传奇》、吴军《浪潮之巅》后的又一部精彩的「IT 大史记」啊

请评论

preload preload preload
京ICP备06065162