交互设计领域有丰富的理论沉淀,最著名和经典的理论当属人机交互大师雅各布·尼尔森
 (Jakob Nielsen)博士在1995提出的尼尔森十大可用性原则( Jakob Nielsen’s Ten Usability
 Heuristics )
 1、反馈原则(Visibility of system status)
    系统应该在合理的时间、用正确的方式,向用户提示或反馈目前系统在做什么、发生了什
 么。
 人机交互的基本原则是,让系统和用户之间保持良好的沟通和信息传递。系统要告知用户发
 生了什么,预期是什么,如果系统不能及时向用户反馈合适的信息,用户必然会感到失控和
 焦虑,不知道下一步要做什么。
 以下是遵循反馈原则的一些常见设计案例。
 · 安装程序时显示进度条,并预估还需要多久结束。
 · 上传文件时显示进度条,并提示预估剩余时间。
 · 提交表单时,如果校验失败,则在填写有误的内容旁边提示错误原因。
 · 程序未响应时,系统会让用户选择是关闭程序还是等待程序响应,
 2、 隐喻原则(Match between system and the real world)
   系统要采用用户熟悉的语句、短语、符号来表达意思。遵循真实世界的认知、习惯,让信息
 的呈现更加自然,易于辨识和接受。
 在人机交互设计中,程序的沟通和表达、功能的呈现,都要用最自然的、用户容易理解的方
 式,避免采用计算机程序语言的表达方式。设计时要采用符合真实世界认知的方式,让用户
 通过联想、类比等方法轻松地理解程序想表达的含义。
 3、回退原则(User control and freedom)
 用户经常会不小心操作错误,需要有一个简单的功能,让程序迅速恢复到错误发生之前的状
 态。
 用户误操作的概率极高。对于误操作,软件系统应该尽量提供“撤销”“重做”或“反悔”的功能,
 让系统迅速返回错误发生之前的状态。当然,不是所有操作都是可以“反悔”的,比如,你可
 以撤销一笔错误的订单,但不能撤销一笔成功的转账交易。
 以下是遵循回退原则的常见设计案例。
 · 编辑类软件都提供撤销功能,例如Word、美图秀秀等。
 · 点击删除或关闭按钮后,会让用户进行二次确认。
 · 电商平台允许在一定的规则下取消订单。
 4 、一致原则(Consistency and standards)
 同样的情景、环境下,用户进行相同的操作,结果应该一致;系统或平台的风格、体验也应
 该保持一致。
 软件设计、产品设计中有很多约定俗成的规范,虽然没有明文规定,但大家都在遵守,因为
 用户已经习惯了这些规范。我们在进行设计时,应该遵循惯例,并且保持系统的一致感,不
 要盲目地标新立异。
 5 、防错原则(Error prevention)
   系统要避免错误发生,这好过出错后再给提示。
 进行设计时,首先要考虑如何避免错误发生,其次再考虑如何检查、校验异常。这样做一方
 面可以让问题更简单,另一方面可以让用户避免或减少无谓操作。
 例如,有些时候,为了防止用户重复提交或重复点击,第一次点击按钮后就将按钮置灰,直
 到处理完成才恢复。
 6、记忆原则(Recognition rather than recall)
让系统的相关信息在需要的时候显示出来,减轻用户的记忆负担。
 计算机应该减轻人们的记忆负担,而不是相反。例如,当切换页面时,不应该让用户记住不
 同页面的内容,而应该在合适的地方积极地呈现或提示之前的信息。
 例如,几乎所有的App和PC端的搜索引擎都会记录用户的搜索历史并呈现给用户,图6-16 是
 大众点评App的搜索页,可以看到上面的“搜索发现”是推荐类功能,下面的“最近搜索”则是保
 留的用户最近使用过的搜索关键词。
 7 灵活易用原则(Flexibility and efficiency of use)
   系统的用户中,中级用户往往最多,初级和高级用户相对较少。系统应为大多数人设计,同
 时兼顾少数人的需求,做到灵活易用。
 8 简约设计原则(Aesthetic and minimalist design)
 对话中不应该包含无关的或没必要的信息;增加或强化一些信息就意味着弱化另一些信息。
 重点太多,相当于没有重点。在视觉设计中,要掌握好“突出标记”的度,以及内容的呈现方
 式。
 9、容错原则(Help users recognize, diagnose, and recover from errors)
 错误信息应该用通俗易懂的语言说明,而不是只向用户提示错误代码;提示错误信息时要给
 出解决建议。
 对于很多运行时错误或异常,计算机程序都会返回某个错误代码,但是对于用户来讲,看到
 这些错误代码并不明白发生了什么,所以一定要将错误代码转换成用户能看懂的语句,并告
 诉用户解决的建议。
 10 、帮助原则(Help and documentation)
 对于一个设计良好的系统,用户往往不需要经过培训就能轻松上手使用,但是提供帮助文档
 依然是很有必要的。帮助信息应该易于检索,通过明确的步骤引导用户解决问题,并且不能
 太复杂。
  










