细品RibbonX(1):MSOffice界面发展简史2009年03月23日,2:04下午(5人投票,平均:5.00outof5)引子功能区(Ribbon)是MicrosoftOffice的新一代用户界面,完全改变了Office界面风格。从推出以来就饱受争议,褒贬不一,我们估且不论其好坏,自待时间来评说,我们关注的是如何有效地使用功能区,如何掌控功能区,从而提升Office的使用效率。从现在开始,我将细细研究Ribbon及其开发,并形成一系列文章,与大家分享自已的学习成果。开始进入正题之前,让我们先花点时间来了解Office的界面发展史、熟悉新界面的核心——功能区(Ribbon)以及新界面中的一些组件,从而逐步进入Ribbon开发的世界。前言本文以MicrosoftOffice界面的历次发展和改进为线条,揭示了为什么在Office2007中引入全新的用户界面的一些原因。本文在JensenHarris的一系列文章的基础上编写,也参考了Office系统的帮助知识,大部分截图直接采用了原文中的截图,参考文章链接附后。JensenHarris是掌管MSOfficeUI开发团队的程序设计负责人,在Microsoft工作已近八年。开始的5年从事Outlook邮件和PIM设计程序,之后领导团队重新设计了发布在Office2003中的Outlook2003用户界面。在完成了Office2003后,来到Office用户体验团队工作。Office界面的源头Microsoft使用早期的Apple雏形开发了Word1.0,它于1984年发布在最初的Mac中。Multiplan和Chart也在512KMac下开发,最后它们于1985年合在一起作为MicrosoftExcel1.0发布:第一个在Macintosh上使用的轰动一时的零售程序。因此,早期的MicrosoftOffice程序根源于Mac,当然,也反映在用户界面上。作为Mac的第一个和最大的软件提供者,在最初的Macintosh上做的一些UI决定受Microsoft开发团队的要求影响。当然,Office图形化用户界面(特别是顶级菜单条)的最基本的轮廓有它在第一个Macintosh版本中的根源。Office界面的演变下面首先以Word为例,介绍Office用户界面的演进过程。(1)MicrosoftWord1.0forWindows于1989年发布,运行在Windows386上。Word1.0有一个应用程序级的菜单栏,这是从Mac的顶级菜单栏和显示在MicrosoftDOS程序底部菜单发展形成的。同时,Word1.0也包含了新的界面元素:工具栏(在MicrosoftExcel中首先使用过)。在Word1.0的界面中,看起来好像有两个工具栏,实际上仅仅上面的一栏称作工具栏。有趣的是,底部的按钮行称作“Ribbon”。Word1.0的界面如下图1所示。图1Word1.0界面(2)Word2.0于1992年投放市场,此时,Word用户界面的基本结构已经固定下来了,就像当前的Word2003一样。菜单栏为:文件、编辑、视图、插入、格式、工具、表格、窗口、帮助,下面是“常用”工具栏和“格式”工具栏。下图2所示为15年前设计的Word2.0界面,一直沿用到今天。图2Word2.0界面(3)Word6.0运行在当时流行的Windows3.1上,它的发布给Office市场带来了巨大的冲击,这也是Word与WordPerfect竞争的转折点。Word6.0中增加了一些新的用户界面:右击上下文菜单(right-clickcontextmenu)、标签选项卡对话框(tabbeddialogbox)、向导(wizard)、以及沿屏幕底部的工具条。Word6.0的工具栏数量从原来的2个增加到了6个,因为添加了新功能,菜单也变得更加丰富。Word6.0的界面如下图3所示。图3Word6.0界面(4)Word95是第一个32位Word应用程序版本,虽然它只是Word6.0的过渡版本,但也引入了受大多数人欢迎的一个小的创新的功能:带有红色曲线的下划线的拼写检查。有些人将Word95作为简单的、缩减的、互联网之前的最后一代文字处理器。图4Word95界面(5)Office97是一款轰动一时的产品,不仅对个人还是公司都带来了巨大的冲击,创下了软件销售的记录。Word97标志着一个新的超丰富生产力应用程序时期的开始。Office97引入了“命令栏”,一个完全定制的用户界面,实际上与菜单和工具栏相同。每个菜单和工具栏能够拖放到屏幕的任何地方,可以浮动或者停靠。但是可以认为,在Word97中最重要的用户界面(UI)是引入了层级菜单。而在所有以前的Word版本中,菜单是一个单独的项目列表,容易浏览和导航。而Excel从1-2-3复杂的用户界面(UI)中吸取了线索,已经引入了层级菜单,最后Excel模式成功了,于是Word97采取了多层次的层级菜单。Word97的界面如下图5所示。图5Word97界面Office97也引入了“Office助手”,它更像是为用户提供上下文的帮助而设置的。“Office助手”如图6所示。图6Office助手(6)Office2000引入了几个新的UI机制,即:“自适应菜单(AdaptiveMenus)”或“拟人化菜单(PersonalizedMenus)”。在菜单中首先显示的是最常用的菜单项(“短”菜单),而当光标停留在菜单中一会儿后,会自动展开显示所有的菜单项(“长”菜单),或者单击下方向下的双向箭头,也会展开显示所有的菜单项。并且,当用户使用菜单中不在默认的“短”菜单中的功能时,下次会自动将该菜单项添加到“短”菜单中。用户可以在“自定义”选项框中选中“始终显示整个菜单”关闭该功能。“自适应菜单”见图14所示。“压缩的工具栏(raftedtoolbars)”。两个或多个工具栏能够容纳在屏幕的同一行中,默认情况下,“常用”工具栏和“格式”工具栏“被压缩”在同一行中。由于在同一行中没有空间监控两个工具栏,因此最少使用的命令会在最后溢出的区域中,当用户使用该命令后又会出现在可见的工具栏空间中,就像“自适应菜单”一样。“压缩的工具栏”见图15所示。图7Word2000界面(7)在OfficeXP和Office2003中引入了任务窗格(TaskPane),在其中放置新的功能。图8OfficeXP界面图9Office2003界面为什么要改进界面正如JensenHarris先生所说,OfficeUI开发团队的目的就是帮助用户能够“无缝地”找到和使用Office中的功能。我想,这可能是界面不断改进的一个最主要的原因。(1)功能越来越多,用途也越来越复杂在Word2.0中,有不到100个命令,工具栏也是简单有效地复制了在菜单结构中能找到的功能,没有仅存在于工具栏中的任何其它功能,因此,当时的Word开发团队能够较容易地计划理想的菜单结构,并使它们组织得更有意义。在Word2.0的界面中能直接且快速地浏览菜单,因为大多数菜单少于10项,而且没有子菜单项。而Word6.0的工具栏数量从原来的2个增加到了6个。在Office97中,丰富的功能使它变得更复杂。其工具栏的数量迅速达到了18个,在顶级菜单中的命令数几乎增加了双倍。再以Word为例,其顶级菜单已满,虽然一些一直增加的功能仅仅能在工具栏中执行,但是一些功能仍然需要添加到菜单项中,可是已没有空间给它们了,而将命令添加到多级菜单中将为新的命令提供更多的空间,这样也能提供更多的功能,再加上在Excel中的成功应用。因此,在Word97中也引入了层级菜单。虽然功能越来越多,但用户的需求是无止境的。因此,Office的每个版本都使开发者集中精力开发新的功能,但这些新功能放在哪里呢?每次都很难决定这些新功能的位置。如果仍然按照以前的用户界面结构,则在Office2007中将有比Office2003多10倍的任务窗格,而在Word2007中则将发布约100个任务窗格。如何排列和组织呢?因此,任务窗格是最后一次试图找到调整老样式UI的一种方法。下面的图10和图11演示了从Word1.0到Word2003中所包含的顶级菜单项、工具栏和任务窗格的数据对比。图10Word各版本中的顶级菜单项数图11Word各版本中的工具栏和任务窗格数可以看出,在每个版本中功能数持续增加。下图采用饼图来演示Word在过去15年中的成长过程,可以很清楚地对比各版本Word所带有的功能。图12Word在每个版本中所添加的功能所占的比例(2)难以发现、查找和不方便使用一些命令前面提到过,在Word97中引入了层级菜单,但这也带来了一些不利的方面,即增加了复杂性。层级菜单使得用户难以浏览命令,每次都必须记住已访问过哪层菜单,没有访问过哪层菜单。曾经一个可视化的简单的菜单结构,现在由于带有分支结构而变得更复杂。浏览功能已不像查看商品列表,更像在研究一个复杂的数据结构。这样,对命令不仅难以查找,也不方便使用。在Office2000中的菜单栏和工具栏实质上都是充满的,这样在其中所添加的额外的项目只是整个结构中的很小的一部分,从一个版本到另一个版本时,用户根本不会注意到新添加的命令,也使得用户难以发现他们曾经要求的已添加到Office中的功能。总之,这种菜单结构使用户难以发现和使用新功能。OfficeXP引入的任务窗格试图通过在屏幕中增加一个新的矩形框并在其中放置新的功能。任务窗格完全是一个附加物,它不试图改变现有的菜单栏和工具栏结构,大多数传统的功能都在菜单和工具栏中,而在任务窗格中放置新的功能。PowerPoint开发团队在利用任务窗格方面做了大量的工作,一些传统的功能例如幻灯片切换也迁移到了任务窗格中。但增加的任务窗格并未改进用户界面,相反,用户又多了一个要查找功能的地方,给查找某个命令带来了不方便。图13任务窗格(3)越来越给人一种“臃肿的”感觉Office97是一个里程碑式的产品,增加了很多新的功能,但随之也给用户界面增加了复杂性,使人开始觉得Office是“雍肿的”。实际上,应用程序本身并不是“雍肿的”,至少,用户所需求的大量功能表明人们希望UI团队在这个空间做更多的事情。然而,菜单和工具栏开始显得与产品的丰富功能不太相称,这使用户界面开始感到臃肿。这样,在Office2000中引入了新的UI机制来减少这种“臃肿的”感觉,这也标志着最终在Office2007中重新设计新UI的开始。Office2000中的“自适应菜单”试图通过首先显示最常用的菜单项使顶级菜单更短,当用户使用菜单时,经常使用的菜单项将创建在“短”菜单中,而很少使用的菜单项会创建在“长”菜单中,如下图14所示。然而,自适应菜单是不成功的,实际上给界面添加了复杂性。首先,默认的“短”菜单中包含的菜单项是建立在“每个人在Office中仅仅使用同样的一些功能”假设的基础上的,但事实是,用户使用一个很广范围内的功能,而不仅仅限于“短”菜单中的功能,因此,某人的理想的“短”菜单并不代表着其它人也常常使用这样的“短”菜单。其次,如果用户不能在默认的“短”菜单中找到所需的功能,则必须浏览整个菜单,而这个过程需要先浏览“短”菜单,再单击下方的双向箭头浏览“长”菜单,而在“长”菜单中的菜单项在“短”菜单项之间,因此需要重新浏览,这使得工作效率降低。再次,自动定制的功能(即上次使用的菜单项将会出现在默认的“短”菜单中)也使得菜单项更混乱,因为开始时某菜单项在某个位置,之后某个时候它又不在那里了。因此,即使在Office2007中的一些应用程序(例如Publisher、Project和Visio)仍使用老的用户界面样式,但已关闭了默认的“自适应菜单”。图14自适应菜单Office2000中“压缩的工具栏”(如图15所示)也是为了减少“臃肿的”感觉,但与“自适应菜单”一样,也给用户界面添加了复杂性。命令的顺序不再固定,浏览功能也变得低效。图15压缩工具栏因此,大多数用户,特别是公司用户,关闭了这两项功能。OfficeXP和Office2003中的任务窗格