7 User Centered Design

本章节总结全书观点。以用户为中心的设计,也是作者一直在提倡的。

好的设计应该:

  • 让用户能够确定可以执行哪些操作
  • 让所有的东西(概念模型与反馈etc.)可见
  • 让状态易于评估
  • 使用自然映射(意图与行为之间、动作与结果之间、可见信息与状态的解释之间……)

太长不看版:让用户知道可以做什么、然后做这个行为之后发生了什么。

应该利用好那些自然特性和限制,让人易于学习并理解。

七个化繁为简的准则

1. 同时利用世界中的知识与头脑中的知识

当外部世界又足够的提示信息时,有利于用户更好地使用产品。这些外部信息是需要与头脑中的知识相对应,并形成自然映射的。

但是有一点需要注意:一些人对于某些产品拥有更多头脑中的知识,因此不能让过多的外部信息干扰了他们的使用。

三种概念模型:用户模型、设计者模型、系统映像

用户手册的作用

系统映像:instruction manuals + documentation + interface

现实中,手册都是设计者设计完成、拼死累活之后随便写的,时间也不够。

但在理想状态下,应该先开始写用户手册,再一边设计一边修改用户手册,并不断找人模拟测试。当然,大多数人都很懒,即使用户手册再好也未必会看,所以还是把重点放在交互界面上吧。

2.简化任务结构

从心理学的角度来讲,人类的限制:

短期记忆(STM):人的短期记忆很弱(顶多五件东西),所以如有必要,应添加一些可以辅助记忆的外部功能。

长期记忆(LTM):为了让人记得更牢固,知识最好是有联系、能够用逻辑来解释的。还有就是人类的长期记忆可能并不准确,这个时候外部世界存在的信息就十分有必要了。

关于技术给任务结构带来的简化,作者的建议如下:

1)不改变任务流程本身,只提供心智上的辅助

从某种程度上来说,许多手机内置的app都算,比如闹钟日历记事本提醒事项……

2)利用科技进行可视化,进而更好地得到反馈、加强控制

举个例子吧,显示器。还有近几年很是火热的数据可视化,无数个软件的所谓dashboard(听说阿里云把这个翻译成大盘,想想各种什么大阳线3K线也是这种应用吧hhh)

以上两种建议都没有改变任务本身,只是在执行层和评估层添加了辅助。虽然有人认为过多的辅助会让人失去相应能力,但作者认为可以把时间用来做更高层的创意工作。

3)保持任务本身不变,但自动化

自动化本身有争议:一方面,它能够将人们从繁琐的细节中解放出来,减少精神负担;另一方面,自动化让人在某些方面失去了对产品本身的控制。

平衡好这两方面很困难。最好的解决方案是让用户自行抉择(类似于上一章讲到的两个不同的系统)。

4)改变任务的本质

from deep wide structure to shallow narrow structure

比如电子表,该变了原本圆盘与指针的基本结构,直接显示用数字表示的时间。

5)不要过度自动化而造成“失控”

过度自动化的坏处:

  1. 让人缺少相关的能力,一旦自动化失灵,用户就会不知所措,这在一些情况下是致命的,比如飞机自动驾驶
  2. 有的时候默认的自动化配置并不是用户所需的,而他们也无能为力
  3. 人类沦为机器的奴隶,无法控制全局

控制分为比较低层的控制(事无巨细的那种,比如用笔画画、手作家具)与较高层的控制(电脑命令行),各有不同的用途。

3. 让事情可视化,从而弥补执行与评估之间的陷阱

符合意图:让人知道该做什么

符合预期:让人知道有什么效果

4. 正确的映射

  • 意图与行为之间
  • 行为与效果之间
  • 系统的真实状态与交互界面(视觉听觉触觉等)之间
  • 实际状态与用户意图之间

控制的顺序、位置或者动作的方向,与操作之间有着可以类比的自然关系。

行为的反馈与用户的预期之间也有这类似的联系,让反馈易于理解,进而促进用户的评估。

比如图表(还是可视化)。

5. 利用(自然与人工)限制的力量

从而减少可能的操作数量

6. 关注易错性的设计

  • 考虑到可能会发生的错误
  • 将错误当作「朝向正确操作的尝试」并试图补救
  • 加入能够撤销的机制
  • 可探索系统
  • 利用好forcing fuctions

7. 要是别的都不行,就标准化

将行为、结果、布局、显示统统标准化,最好是搞一个国际标准,比如国际标准时间、国际标准历法、键盘etc.

标准化的时机很重要:太早,技术不成熟,之后会造成很多麻烦;太晚,不同的系统还要相互兼并,到底把哪一个作为统一标准的母板也很难有定论。

科技与标准往往是相互需要的(比如汽车 电脑)

标准渐渐地会成为文化限制的一部分

刻意将任务变难

不是所有的产品都一定要讲究易用性,有些产品就是要设定一定的门槛。

比如危险器械、暗门、儿童会误触的东西等。

当然,任务说是要变难,但也没必要把每一个环节都变难。只需要把刚好想要隔绝的人群挡住就好。

具体如何操作,可以从逆向角度使用之前总结的「提高产品易用性」的要点:

  • 让东西不可见
  • 使用不自然的映射
  • 让动作对于某一类群体难以做到
  • 需要精确的时间把控和操作
  • 不提供反馈
  • 在评估环节提供不自然的映射

不过有时,这些设计也会带来副作用。比如防止儿童跑出门去玩的门,可能在火灾的时候就成为了障碍——正确的方法也许是,提供一个可以开门的按钮,但开的时候会引发警报。

设计游戏也需要将任务变难,但要平衡好以下几个要素:挑战(challenge)、享受(enjoyment)、崩溃(frustration)、好奇(curiosity)。

还有一个有趣的现象是,「看起来简单的产品用起来不一定简单」。这很容易理解,和可控部分的数量可执行的操作数量有关。

一个产品要是看起来简单,那么操作在很大程度上都要交给用户,因此需要长久的学习。

(一个引战的话题:钢琴可以弹的键很多,小提琴就四根弦,但入门的话,小提琴要更难一点?)

在可执行操作的总数相同的情况下,当控制越少,单个控制就要承载越多的功能——一个控制对应一个可执行操作是最易于用户理解的。

可是按钮太多了该怎么办?

要么分组,让用户更好地理解;要么将平时不用的控制隐藏,有需要的话再调用(比如在不常用的按键上方安置一个挡板)。

设计与社会

日常的几乎所有物件,都会对我们的生活有着深切的影响,并且这个影响是很难在一开始就预测到的。

题外话:科技的快速发展是否与外部记忆设备的扩展有关?这样人们可以将更少的时间用来记忆(尤其是抽象化、原本无法在外部世界留下信息的内容),因为有需要就去找就行了。

设计与政治有关。至少在西方资本主义社会,一个设计的好坏与市场需求有着紧密联系。生产者需要创造人们想要买的需求。因此易用性有时反而并不是排在第一位的。

有的时候,产品难用并非因为这个东西本身就很难,只是他们的逻辑、映射等毫无规律可言,或者对操作精度的要求过高——这些问题都可以通过恰当的设计来解决。

设计者还应该建立正确的防范错误的机制,减少错误操作,或者让它们可被弥补,并且有错误反馈。(利用好各种限制、forcing functions、可视化)