点击问题

我收到了很多关于上周评论的电子邮件在Safari和iTunes中点击虽然大多数读者同意我对Safari的普遍点击的嘘声评估,但是相当大的少数人不同意,他们妄想支持点击是应该做的事情。

Here’s why they’re wrong.

首先,让我们明确指出,点击并非完全没有价值我的论点是“点击完全糟透了”点击通过在某些情况下非常有用且适用(稍后会详细介绍)然而,我不同意的是,点击应该是系统范围内的默认行为普遍点击的案例如下:

  1. 前景窗和后台窗之间的区别是任意的,大多是不必要的,也是不自然的如果您的电视遥控器位于下方且被DVD播放器遥控器部分遮挡,您可以点击电视遥控器的外露按钮,而无需先将其置于“最顶层”计算机窗口为什么要以不同的方

  2. 因为点击是在现实世界中工作的方式,所以当计算机不支持它时,它会让初学者感到困惑,因为他们希望能够点击他们可以看到的任何控件。

乍看之下,这种思路听起来确实合理它几乎归结为用户应该只需点击他们可以看到的任何控件。

至于第1点,我的反驳是这种思路基于错误的假设主要是,前景窗口和后台窗口之间的区别是不必要的根本不是真的让我们回到远程控制类比The big difference between real-life remote controls and computer windows is that the real world isn’t application modal; a computer is将电视和DVD播放器与计算机应用程序进行比较并不是一个很好的类比,因为在现实世界中,没有“主动”应用程序。

最前面(或主动)应用程序的概念对于理解如何使用Mac绝对必不可少最前面的应用程序控制菜单栏并处理所有键盘输入,包括命令键快捷键最前面的概念窗口是相关的,同样重要您可以单击背景窗口(从而产生点击的可能性),但就是这样 - 您可以对计算机执行的所有操作都指向活动应用程序的最前面窗口。

Because the frontmost window is so important, it makes sense that it should be visually distinct from background windows假设你有几个应用程序在运行,你的显示器上有许多打开的窗口你休息一段时间后回来应该很容易一目了然地告诉您哪个应用程序,以及哪个窗口位于最前面。

但是,点击可以防止这种情况发生(An assumption I’m making here is that a background window’s appearance will reflect whether it supports click-through: the controls in windows that support click-through should look active because they are clickable; the controls in windows that do not support click-through should look inactive这在Mac OS上几乎总是如此。)当背景窗口看起来“启用”因为它们支持点击时,很难将它们与最前面的窗口区分开来而当背景窗口被禁用时 - 即它的按钮和控件变暗 - 它们看起来与最前面的窗口大不相同。

这是另一个原因盲目模仿现实世界没有做出良好的人机界面设计。

至于第2点 - 缺少点击让新手感到困惑 - 这是一个红色的鲱鱼如果背景窗口,缺乏点击可能会让初学者感到困惑看着就像他们支持点击但没有 - 但在Mac OS上并非如此如前所述,不支持点击的应用程序总是禁用后台窗口中的控件,这样它们看起来不可点击是的,这仍然需要新用户了解最前面的窗口和活动应用程序的概念,但这些是必要在Mac上实现基本流畅性的概念Thus, I think non-click-through is easier for novices, because the basic rule of thumb is easier to state: everything needs to happen in the frontmost window.

消除应用中心范式理念的狂热切向

Now of course, you could take a step back and say that the problem is that there shouldn’t be any distinction between different applications, that the user shouldn’t have to worry about这个程序那个应用程序而且应该只需要担心这样做这样做即您可以使用单一的统一环境,而不是使用大量不同的应用程序但如果这就是你想要的东西,那么你就无法争论一个相对较小的行为细节,比如点击 - 你在谈论革命。

Mac UI完全以应用程序为中心Apple的OpenDoc距离以文档为中心而不是以应用程序为中心,迈出了重要的一步But I never saw the appeal of OpenDoc; unlike many Mac users at the time, I was happy to see it fade awayI think the problem with OpenDoc was that it was attempting to build on top of the existing Mac OS, and it never made sense to me how a document-centric paradigm could mesh well with the Mac’s existing application-centric paradigm. So it’s not that I’m opposed to the general concept of a document- or task-centric user interface, but to succeed, you’d need to start from scratch and build a brand new environment如果您在现有的以应用程序为中心的环境中构建它,它将不起作用。

马修·托马斯赞同消除以应用为中心的范式的想法,基于典型用户对它感到困惑在这里,他描述了他工作的网吧的一个场景:

她说:
Hi! Can I print out a document from this disk, on one of your computers?
我:
当然什么形式 - ......呃......你用什么程序制作文件?
她说:
视窗。
我:
Windows? Er … Do you mean Microsoft Word?
她说:
是的,是的,就是这样。

二十年后,为什么我们仍然在应用程序和操作系统之间存在奇怪的区别?

但是,虽然MPT是正确的,用户对这种区别感到困惑,但更准确地说Windows用户对它感到困惑由于种种原因,不同应用程序之间的区别在Windows上远不如在Mac上明显(这也适用于过多的基于X-Windows的桌面环境,例如:KDE地精令人遗憾的是,模仿每一个重要的Windows UI范例都令人遗憾。但是

一方面,每个窗口都有自己的菜单栏锚定屏幕顶部的单个菜单栏可以为Mac带来比Windows强大的Fitts's Law优势(简而言之:您可以轻松地将鼠标指针放在Mac菜单栏中)即使闭着眼睛,by simply pushing your mouse “way up”; whereas in Windows, the menu bar is a very narrow horizontal strip)但Mac的单一菜单栏的另一个优点是它可以更容易地识别最前面的应用程序对于新用户来说,这是一个强大的概念,即只有一个最前面的应用程序You might have dozens of windows visible on screen, but there is always only one menu bar, in a known location; thus, you can always determine where you are (i.e哪个应用程序处于活动状态),快速浏览一下屏幕顶部。

另外,根据我的经验,大多数Windows应用程序看起来都非常相似 - 它们看起来都像是MS Office中的应用程序,所有这些应用程序都运行着比菜单栏更大的图标工具栏(And how long are they going to stick with the antiquated “floppy disk” icon for the Save button, anyway?) A personal example: After not having used Windows for about six years, I spent a few weeks using Windows XP at the end of last year我花了两周的时间才注意到在使用Outlook编写电子邮件时,我实际上是在使用Word换句话说,当我在Outlook中点击“回复”或“新邮件”时,邮件编辑器实际上是一个Word窗口,而不是Outlook窗口如果像我这样的接口书呆子需要两个星期才能注意到这一点,想象一下这种区别对于普通人来说有多么模糊。

从视觉上看,Windows范式比以应用程序为中心更加以窗口为中心(因此我认为这个名称是“Windows”。)Windows范例背后的整个想法只是你在屏幕上有一堆窗口(或最小化到任务栏)比较和对比Mac范例,即你有一堆运行的应用程序,并且应用程序有窗口On the Mac, you get a list of running applications — on OS 9, in the top-right application menu; on OS X, in the Dock — whereas on Windows, you get a list of open windows.

So the Mac paradigm enforces a three-level hierarchy: you’ve got the system, which runs applications, which display windowsThe Windows paradigm tries to eliminate the middleman, presenting a system, which displays windows — i.ethe idea is not that your windows belong to applications, but that they belong to the Windows system itselfThe problem with this is that it’s an illusion, in that Windows is still very much an application-centric system它只是没有喜欢它When it comes right down to it, Windows is almost every bit as application-centric as the Mac, but the Windows human interface attempts to disguise this, ostensibly to make things simpler.

微软和苹果在市场营销方面也有类似的分歧微软通常会提倡这样的想法Windows会这样做,和Windows就是这么做的而Apple大量推广Mac OS X附带的个人应用程序甚至微软的应用程序名称 - “Windows Movie Maker”,“Windows Messenger”,“Windows Media Player” - 在这个方向上都是一个不那么微妙的推动力。

即便如此,即使您已决定将以应用程序为中心作为理想GUI环境的主要概念范例,您仍需要某种方法来区分不同的任务革命的人类界面理论家,你说,用户不必担心他们所处的程序软件程序应该是幕后的实现细节,而不是用户需要注意的事情。

但是我说,好的但是你仍然需要一种方法让用户区分阅读电子邮件,网页浏览和从他们的CD收集中翻录MP3文件。

Apple选择在应用程序级别进行这些任务级别的区分,并且在我看来,这种区别在近20年来为Mac用户提供了极好的服务。微软试图模糊这种区别,我认为这个决定几乎也不能为Windows用户提供服务我这样说是因为根据我的经验,大多数Windows用户都在最大化模式下工作,一次只有一个巨大的全屏窗口,覆盖他们桌面的每个像素

这种一次一个窗口的工作空间是典型Mac用户的诅咒但由于上述Windows界面工作方式的差异,对于大多数Windows用户来说,Mac风格的多窗口平铺屏幕工作区是不可接受的I think this is clearly because it’s so much harder to establish context with multiple windows in Windows; whereas in maximized mode, even though it’s limiting in so many other ways, the current context is clear.

Mac OS通过强调最前面的窗口和活动应用程序来强化当前环境这使Mac用户可以轻松地同时在屏幕上使用多个窗口另一方面,Windows不再强调最前面和后台窗口之间的差异,并模糊了应用程序和窗口之间的区别因此,大多数Windows用户选择一次只在屏幕上使用一个窗口,因为这是使用Windows的唯一方法,以便当前上下文清晰。

在Windows中使用多个窗口时遭受的惩罚之一是无处不在的点击不只是按钮和菜单,而是几乎所有东西例如,文本编辑字段:如果在后台编辑窗口中单击,则不仅要将窗口置于前面,还要将该文档中的插入点移动到单击的位置。如果您想要做的就是激活窗口Windows IE支持点击,如果您碰巧点击后台窗口中的链接,它将遵循该链接如果您只想激活窗口以阅读它正在显示的文档,那就太激怒了之前你点击了。

简而言之,对于Windows风格的普遍点击,如果您的目的只是为了从后面到前面带一个窗口,您需要非常仔细地点击虽然大多数普通人都没有有意识地考虑点击等概念,但是在Windows上体验如此令人反感的事实是他们选择以最大化的全屏模式运行应用程序的原因。

因此,点击式支持者可能反驳说他们并不赞成无处不在点击,一个Windows,但在某些地方只是选择性点击像Safari一样,它支持工具栏和书签栏中的点击,但不支持浏览器内容But then doesn’t this defeat the argument that support click-through is somehow “more consistent”?

Clique扔了

多窗口GUI系统可以有三个关于点击的政策,按照申诉顺序列出:

  1. 默认情况下关闭,例外。
  2. 默认情况下启用,关闭异常。
  3. 无政府状态 - 每个应用程序都建立自己的点击指南。

猜猜哪一个描述了Mac OS X的当前状态?

一些读者写道,建议Mac OS X的点击率不一致是Cocoa和Carbon差异的结果。这不是真的。是的,默认情况下,在Cocoa应用程序的工具栏中启用了click-through,是的,它在Finder的工具栏中被禁用,而Finder是一个Carbon应用程序。

但开发人员可以在Cocoa工具栏中禁用点击(事实上​​,布伦特西蒙斯最近在这方面做出了这样的改变NetNewsWire的测试版。)鉴于此,也不会解释Safari的工具栏点击Safari不使用标准的Cocoa工具栏

至于Finder,它可以作为理智点击策略的典型代表虽然Finder明智地不支持工具栏按钮的点击,但它支持点击以拖放文件和文件夹图标因此,您可以单击背景Finder窗口中的图标并将其拖动到另一个窗口,而无需先激活该窗口(这对OS X Finder来说并不陌生 - 很长一段时间它都在经典的Finder中得到支持。)

Click-through works for Finder icons not just because it’s convenient, but also because there is very little downside; it’s non-invasive如果您只是尝试激活背景Finder窗口但碰巧点击图标,那么最糟糕的情况是您将该窗口的选择更改为点击图标,这很少是一个问题(这在Mac OS 9上从来都不是问题,因为旧的Finder只允许在一个窗口中一次维护选择If you had an icon selected in window A, then selected an icon in window B, the selected icon in window A would be deselected automatically.) Whereas if the OS X Finder allowed for click-through in its toolbar, you could easily inadvertently change the contents of the window by clicking on a toolbar button while trying only to activate the window.

简而言之,在背景窗口中为按钮启用点击功能可以说最多的是它可以为您节省一点点额外的鼠标点击在大多数情况下,无论如何,您点击的窗口都会出现在前面然而,不利方面可能很重要Safari的另一个例子是它的下载窗口:

Safari的下载窗口

请注意“清除”按钮,它支持点击如果您将“下载”窗口置于屏幕底部,尤其是左下角,则只需将窗口置于正面而无意中单击此按钮但是,如果你不幸的话,那么你就会清除你想要查看的列表(并且它不可撤销。)

使用默认情况下启用了点击的策略,开发人员有责任识别每次点击可能带来危险的控件例如Apple Mail支持其工具栏中的点击,但出于显而易见的原因,它会禁用“删除”按钮(这是“点击更加一致”谬论的又一个漏洞,因为对于典型用户来说,为什么Mail的Compose和Reply按钮支持点击,但删除按钮不支持。)

But where to draw the line for “dangerous”? What about the merely annoying? An inadvertent click on the Back button in Safari probably doesn’t qualify as dangerous, but it can be frustrating如果按钮导致脱机计算机连接到Internet?

更好的是默认策略,其中默认情况下点击是关闭的,并且仅在没有打算点击时很少或没有下行的例外情况下启用因此,在大多数情况下,按钮不适合点击但可拖动的对象,如Finder中的文件和文件夹图标(以及类似的应用程序,如FTP程序),都是。