为什么说Mac OS X的菜单栏是糟糕的设计

Mac OS X 的顶部常驻一行菜单栏,可以分成三部分:苹果图标,当前活动应用程序的名称和功能,以及附加图标。

这样的设计是 Mac 的特色之一,首先说一下它的优点。Mac 菜单栏的优点可以获悉当前正在运行的程序名称嗯,谁叫 Dock 上面没有任何提示呢。但是这个特性还不能 100% 确保灵,见下面的缺点。让程序的快捷键有统一的实现每一个菜单项的功能,如果有对应的快捷键,那就会显示在最右边。而且当你按这个快捷键的时候,包含这个功能的菜单还会闪一下。

搜索命令这一点我觉得是最大的优点。因为 Mac 程序的设计理念之一是把所有功能都塞到菜单栏中,所以当你找不到一个功能的时候可以尝试在“帮助”菜单中搜索命令。当搜索到的时候,它还会告诉你这个命令究竟在什么位置。

保持主界面简洁菜单栏是一个丢没地方放的命令的地方。开发者可以把不常用的所有功能都丢到菜单栏中,保持主界面简洁。但是下面我将会指出 Windows 用了更好的方案解决这个问题。Mac 菜单栏的缺点这是本文的重点,整体而言,我认为 Mac 在处理菜单栏方面做得不够好。占用空间只要你不是运行全屏的应用程序, Mac 的菜单栏就会一直显示,即使当前的应用程序不需要菜单。自定义空间小据我所知,系统标准的菜单栏中的项目只有三类:普通菜单项、复选菜单项和子菜单。当然“帮助”菜单里的那个搜索框是个例外,但我没见过程序可以自定义地把一个文本框放到一个别的地方。比方说, Chrome 的主界面的工具按钮出现的菜单中,“编辑”和“缩放”都有自定义的控件,但却无法在系统的菜单栏中实现。

与程序主体割离这是相对严重的一个设计问题。一个程序的功能却分布在两个独立的地方。更糟糕的一种情况是当使用多显示器时,菜单栏永远显示在一个主显示器上,这样就会出现程序主界面在一个屏幕上、菜单栏在另一个屏幕上的现象。无法在主界面访问程序所有功能程序的部分功能隐藏在菜单栏中。如果菜单栏集成在程序主界面中,那即使程序并不是前端活动的,也可以点一下鼠标访问到该程序的菜单。但是现在这种设计中,必须点一下非活动程序的窗口,再在菜单栏里面找。附加菜单项无法隐藏“附加菜单项”相当于 Windows 的通知区域,但是 Mac 并没有提供一个隐藏不常用的菜单项的机制。当当前程序的菜单项较多的时候,附加菜单项就会被强制隐藏,而且除了切换到一个菜单项少点的程序之外没有别的好办法。当无 Dock 项的时候无法使用这样说有点抽象,这是一个例子: Sparrow 这个邮件客户端的有一个选项是“是否在 Dock 中显示”,如果选是的话,那它只要在后台运行就会在 Dock 中常驻一个图标,即使没有打开窗口。因为我让它在附加菜单中显示图标,所以 Dock 中的图标可以不用了。但是如果这样的话,就算打开了主窗口也不会在 Dock 中显示图标,更糟糕的是切换到 Sparrow 的窗口后,菜单栏还是上一个程序的内容。如下图所示, Sparrow 明明是当前活动窗口,但菜单栏显示的还是切换到 Sparrow 之前的那个程序的项目。

那么 Windows 是怎么设计的?“苹果”菜单是如何处理的首先是位于菜单栏最左边的“苹果”菜单。观察一下其中的项目就会发现,这些功能都集成在 Windows 的“开始”菜单中,而且 Windows 的安排更合理。

比方说,“关于这个 Mac”是一个很少用到的功能,人们不会时不时就点一下这个菜单看看自己的 Mac 是什么版本、处理器内存配置如何。在 Windows 中,如果用户偶尔真想查看本机信息,那么点“开始”,然后右键点“计算机”、“属性”就可以了,或者直接在“开始”菜单中搜索更快。考虑到这个功能的使用频率,总体而言几乎不会增加多少麻烦。这里的重点是:“苹果”菜单处在一个非常重要的位置,无论什么时候,只要不是运行全屏的程序,它都会显示。所以,它里面放的东西应当是最重要最常用的。附加菜单项是如何处理的这就是“通知”区域。不想要的图标可以隐藏。

程序功能菜单是如何处理的在 Windows 中,每个程序可以根据自己的需要选择菜单的模式。主要有以下几种:标准的菜单栏这种模式是从 Windows 1.0 就有的。一些简单的程序,比如记事本和计算器等,用的还是这样的模式。

隐藏的菜单栏Windows Explorer 、 Internet Explorer 、 Windows Live Messenger 这些程序,平时是没有菜单栏的,但是如果按一下 Alt 就会出现一个菜单栏。在这样的程序中,往往菜单栏里面提供的功能在程序界面的其他地方也可以访问,菜单栏只是高阶用户的一个隐藏功能。

Ribbon UIRibbon UI 是 Office 2007 的特色功能,后来也应用到了 Windows 7 的画图、写字板和 Windows Live 的 Writer 、 Mail 等程序里面。 Ribbon UI 提供了丰富的元素类型,而且只占用有限的屏幕空间,是菜单和工具栏的结合。

Ribbon UI 也不缺乏快捷键提示,只要按一下 Alt ,就会出现非常到位的一步一步的屏幕提示:

当世界给草籽重压时,它总会用自己的方法破土而出。

为什么说Mac OS X的菜单栏是糟糕的设计

相关文章:

你感兴趣的文章:

标签云: