处理它

上周我联系了TantekÇelik的“人机界面设计的三个假设“,我将其描述为”出色的分析......关于软件是什么感觉使用起来更轻松,更有趣。“

Some of the feedback I got from DF readers on Çelik’s essay was negative, but the complaints were mostly about the way it was written, couched in a sort of academic-ese (e.g.: “The inverse geometric relationship results from the compounding of two asserted inverse linear relationships”).

But don’t let those dashes of formality turn you off; I’m convinced that Çelik’s premises are insightful and very important切尔克写道:

More specifically, all other things being equal, the cognitive load required to complete an action or task in a human computer interface is directly (probably linearly) proportional to the number of clicks and keystrokes required to complete that action or taskCognitive load can be roughly defined as “how mentally easy/hard it feels to do something”.

示例:即时通讯某人vs通过电子邮件发送To instant message (IM) someone, you merely:

  1. 切换到您的IM客户端
  2. 双击他们的名字
  3. 输入你的信息
  4. 按回车

四个步骤只有三个,如果你已经“进入”你的IM客户端Not counting typing the message itself of course which is the “content” you wanted to communicate anyway brings it down to only two steps. Thus only two gestures of user interface overheadTo email someone, you have to:

  1. 切换到您的电子邮件客户端
  2. 从界面中选择“New / Compose Message”
  3. type the recipient’s name (autocomplete in most email programs typically helps to reduce this to 3-4 keystrokes)
  4. type tab or return to go to the next field (typically another to or cc field)
  5. 键入选项卡或再次返回以转到主题字段
  6. 想一个主题(或理想地跳过它)
  7. 输入主题(或理想地跳过它)
  8. 键入选项卡或再次返回以转到邮件正文字段
  9. 输入你的信息
  10. 点击发送

Ideally, assuming no subject (which is atypical), and only typing 3 letters to autocomplete the recipients name, this comes to a total of TEN steps, more than 3× as much interface overhead as using instant messagingI assert that this is why sending email feels so much more heavyweight than instant messaging someone.

这个例子对我来说很重要,因为我发现自己多次这样做 - 通过AIM发送一些值得通过电子邮件发送的内容但是,我建议以不同于Çelik的方式测量事物首先,一旦你已经打字,同一文本字段中的额外击键并不重要。

Çelik的技巧是计算行动,或者,如果你愿意的话动词但我怀疑它是名词这增加了认知负荷例如,按Tab键切换到新字段不会添加到负载这个领域本身就很重要。

我会列举Çelik这样的例子发送IM:

  1. Double-click name in buddy list.
  2. 在聊天窗口文本字段中键入消息。

发送电子邮件:

  1. 创建一个新的消息窗口。
  2. 在“收件人”字段中键入名称。
  3. 跳过CC字段。
  4. 在“主题”字段中键入主题。
  5. 输入消息。
  6. 发送消息。

我的计数方法可以简化为“处理一些特定的用户界面元素”对于IM:

  1. 处理好友列表。
  2. 处理新聊天窗口中的文本字段。

电邮:

  1. 处理创建一个新的消息窗口。
  2. 处理To字段。
  3. 处理CC领域。
  4. 处理the Subject field.
  5. 处理消息内容文本框。
  6. 处理发送消息并关闭消息窗口。

我不认为发送IM是一个步骤,因为它不觉得你必须处理任何事情您只需在输入消息后敲回Return键即可最后,是的,你将不得不处理你创建的聊天窗口(或标签),但在发送消息之前你不必处理它(And in fact, in most cases, your expectation is that you’ll soon get a response in that window.) Whereas with an email message, you must click a Send button or invoke a command-key sequence, either of which feels like a separate item to deal with.

任何经验法则本质上都是不精确的并非所有这些步骤都具有相同的权重发送电子邮件的步骤#3 - 跳过CC字段 - 比输入邮件主题的认知负荷要小得多但它确实携带一些加载,即使您只是按Tab键跳过它想象一下,如果每个消息窗口中都有五个CC字段要跳过或100这是一个小小的事情,但它并非一无是处回复中的主题字段也是如此 - 您不必考虑并键入a主题,但你仍然必须处理在前往邮件正文的途中跳过该字段。

这项技术可以很好地解释为什么我鄙视在iCal中输入事件的原因:

iCal 2.0.5中事件输入字段的屏幕截图

我的典型用法:

  1. 在月视图中双击事件的日期。
  2. 输入事件名称。
  3. 标签位置过去。
  4. 选项卡过去“全天”复选框。
  5. Tab过去几个月。
  6. Tab过去的一天。
  7. 标签过去一年。
  8. 输入小时。
  9. 输入分钟。
  10. 交换上午/下午。

其中一些步骤是可变的如果您使用鼠标而不是键盘,则不必使用“Tab past”字段,但您必须单击非常小的目标如果事件在偶数小时开始并且AM / PM字段已经正确,则可以在#8处停止。

比较和对比37signals中日历功能的事件输入UI背包

Basecamp的事件输入字段的屏幕截图

我的典型用法:

  1. 在月视图中双击事件的日期。
  2. 输入事件的时间和名称。

您不必处理“添加事件”按钮,因为您可以在输入事件的时间和名称时点击“返回”键,就像发送IM一样。

这不是关于“简单”vs“hard”,这是用于描述用户界面的笨拙,不精确的单词简单什么? Easy to learn? Easy to understand? Easy to remember how to use? Easy meaning “simple”?

iCal的事件输入UI没有任何复杂或混乱对于每个数据项的特定字段,它更多明显比背包更多 - 但仅适用于首次使用者,这是优化的错误案例但对我来说,iCal的日期输入界面显然很明显更差更糟糕的是,之所以可以通过它强迫你处理大约10个用户界面元素,而不是2个背包来表达原因。

但是,如果仅计算鼠标单击次数和按键次数,则可能会为每个UI达到类似的计数要在iCal上午9:30开始进入名为“早餐”的活动,需要21次击键并双击:

  1. 双击日期。
  2. 键入“早餐”,标签6次,“9”,标签,“30”,标签,“a”。

在背包中,它需要16次击键和双击:

  1. 双击日期。
  2. 输入“9:30a早餐”,返回。

相比之下,通过简单地计算击键和鼠标点击次数,它看起来并没有什么差别,这是非常误导的I’m annoyed every single time I enter a date in iCal; I actually enjoy entering them in Backpack它与上坡和下坡之间的差异一样明显。

计算您必须使用的用户界面元素处理产生的比较反映了两种设计的实际吸引力。