设计师能够很好地理解物理约束,但经常严重地误解人类心理的局限性。我们应以拥抱的态度来处理差错,探寻并理解引起差错的原因,重新设计系统,保证不再发生同样的问题,我们应当提供帮助而不仅仅是惩罚或责备。
何以出错
1 要求人们在任务和流程中做违背自然规律的事情;
2 行为中断;
3 对错误没有找到根本原因,即归咎为人为错误。
根本原因分析:追究问题根源直到发现单一的、潜在的原因,而且是深层原因。
——同类型理论有“五个为什么”
当发现人为差错可能是因素之一,要继续分析并找到为什么会发生差错,可以做些什么来防止它再次发生。
 ——可以理解为根本原因分析最终不是要输出差错影响因素,而是输出解决办法。
詹姆斯·里森原则:大多数事故的发生没有单一的原因,通常会有多个事情出错,或者多个事件,只有要它们中的任何一个没有发生,就不会发生事故。
——这个原则与根本原因分析看似相悖,说明了产品迭代的重要性和必然性
差错的两种类型:失误和错误
行动失误:执行了错误的动作
记忆失效性失误:丧失记忆,原打算做的行动没有做
违反规则性错误:犯错者恰如其分地分析了情况,但决定采取不正确的行动
缺乏知识性错误:由于不正确或不完善的知识,问题被误判
记忆失效性错误:在目标、计划或评价阶段有所遗漏
差错和行动的七个阶段
错误发生在设定目标或计划时,也发生在比较行动结果与预期目标时(第七阶段)
失误发生在执行计划的时候,或者发生在感知和解释结果时(第五六阶段)
失误的分类
最常见的与设计相关的三类失误如下:
撷取性失误(capture slips):指某个曾经的动作挤占了需要完成的动作,有经验和技巧的人比初学者更容易犯,设计师要避免有相同的起始步骤,然后再发散的流程。
 ——在我负责过的玩客云项目中,具有上传和下载两个流程,但都是同一个行为召唤按钮,后再细分目的类型,造成撷取性失误的概率很高,至少我自己就常犯,而下载与上传其实是完全不同的行为路径,因此建议下载功能与搜索功能糅合起来,因为有更相似的行为路径(当然这只是其中一个原因)。
描述相似性失误(description-similarity slips):差错发生在与目标相似的对象上。如果对目标的描述相当的含糊不清,就会发生该类失误。在设计不同目的的控制和显示设备时,设计师需要确认它们之间具有明显差异
 ——页面设计同理,对于头像是方是圆的争议,我觉得答案已经呼之欲出了,对于富媒体页面,用户可以更快区别圆形头像和方形图片,避免造成误会。
功能状态失误(mode errors):当设备有不同的状态,而相同的控件具有不同的含义(状态模式),就可能发生功能状态失误。设计师必须尽量避免模式控制的设计,如果必须这样做,则必须使设备能够明显地显示所激活的功能模式。再者,设计师必须经常设计出可以抵消干扰活动对已设定模式带来影响的系统。
 ——对于功能越来越多的设备或产品,为节省空间和成本,还有外观的考虑,模式控制是不可避免的。因此我觉得做开放性的平台,允许开发者开发茶酱,允许用户安装插件,是一个非常好的对应方法。即保证了产品的丰富度,更有效的节省空间,也减少了模式失误。另一个方法是细分产品,如豆瓣和豆瓣电影、豆瓣FM的关系。
记忆失效性失误:记忆中断,动作开始与动作完成之间介入了意外事件。防止此类失误可以用最少的步骤;提供生动有效的提醒;强制功能。不是所有的记忆失效错误可以找到简单的解决方案。因为设计师不能够控制系统之外的中断。
错误的分类
基于规则的错误:这是一个没有明显解决方案的艰难的挑战,设计师应提供尽可能多的指导,确保现状以一个连贯的和容易理解的形式呈现出来——最好是图像化;制定规则时尽可能多的考虑突发事件。
 ——定义顾名思义就能理解,不赘述了
——读到这里这里想到新手教育的重要性,应与不打扰用户的原则做取舍,常规方法是提供一键跳过,并提供回顾功能。从这里也受到启发,由场景触发的新手教育,最好是一个步骤,若有连续的教育步骤,一定要提供一键跳过功能。但个人觉得连续步骤的新手教育最好是在用户开始接触产品时,不会中断用户行为。这里还可以引发很多很多思考。
基于知识的错误:由于人本身知识的有限性,可建立人类与自动化机器的协同系统。
 ——emm……一种革命尚未成功,同志仍需努力的感觉
社会和习俗压力
社会压力强大而无处不在,克服它仅仅有好的设计还不够,需要不同的培训、奖励安全,并将其置于经济压力之上。
 ——这真的是人的主观意识犯错了
规避方法——
检查清单:可以增加行为的准确性和减少差错,特别是失误和记忆失效。尤其是协作执行的检查清单效果更好。但其经常会应为协作人之间的地位不平等而产生社会压力。
差错报告:减少差错发生的唯一方式就是承认它们的存在,收集关于差错的信息,从而为减少差错的发生做出相应的改变。而承认差错往往要承担一定的社会和习俗压力。
 ——以上两种方案都可以通过今天的电子技术缓解
还有一种错误是我们对信号的漠视、自我辩解。
为差错设计
1 了解差错的根本原因,通过设计以尽量减少这些诱因
——提供恰当的反馈,可以看到本书一直绕着交互基本原则这个中心点:可视性、示能、意符、映射、反馈、约束、概念模型。于是我也养成设计前中后都会依据这7个基本原则进行检查。
Mac系统偏好设置中的搜索反馈就是这一条设计原则的例子,但是它没有规避用户可能会犯的撷取性失误。
2 进行合理性检验。检查操作行为是否能够通过“一般性常识”的测试?
——重点是检查行动的后果和被执行对象,可以理解文件操作菜单中,“删除”永远是置于底层或是用强烈对比的红色标识。
3 设计出可以“撤销”操作的功能——“返回”以前操作,或者如果操作不能“返回”,则增加该操作的难度。
——单步撤销,多步撤销,都应考虑。
4 让人们易于发现一定会出的差错,以便容易纠正。
——可以理解为增加约束以阻止差错的发生,这也是我自己惯用的设计方法,在做设计需求前,就先提取约束条件,制定设计框架,放置“记忆失效”导致的失误。
5 不要把操作看出是一种差错;相反,帮助操作者正确地完成动作。应该将操作认为近似于预期目的。
——第五条有点拗口,我的理解是对于用户并没有按我们预想的行为路径操作时,应该去研究用户偏差操作行为背后的目的,然后去完善。也就是通过研究差错得到设计经验。
应对差错的设计原则
- 将所需的操作知识储存在外部世界,而不是全部储存在人的头脑中
- 利用自然和非自然的约束因素,例如物理约束、逻辑约束、语义约束和文化约束;利用强迫性功能和自然匹配的原则。
- 缩小动作执行阶段和评估阶段的鸿沟。在执行方面,要让用户很容易看到哪些操作是可行的。在评估方面,要把每一个操作的结果显示出来,使用户能够方便、迅速、准确地判断系统的工作状态。
——这一段也是对前面章节的总结陈述。

更多内容:

Back to Top