1-10列出了10个经验准则。11节进行总结,即如何以可用性经验准则为基础,对用户界面进行有系统的审查,以发现可用性问题(即经验性评估方法)
5.1简洁而自然的对话
用户界面应当尽量简洁,减少用户的学习成本和查找时间,也可以降低用户误解的可能性。
给出默认状态 并允许根据自己的需要和喜好进行排列。
图形设计和颜色
利用图形结构法则帮助用户理解界面构成。
在字符界面中可以使用大写字母吸引注意力,但是大学会降低10%的阅读速度。
如何在界面设计中使用颜色:1、不过度使用颜色。2、确保界面在色盲用户情况下也可以正常使用。3、颜色应当仅仅用于区分和强调目的,而不是用于提供信息特别是量化信息。
少即是多
1、屏幕上显示的信息:不要在屏幕上堆砌不太重要的内容,有些内容甚至没必要出现在当前这一屏。
对于的信息会让新手困惑,也会减慢熟练用户的速度。
2、程序中的功能选项和交互机制:每当给系统增加一项功能,用户就需要多学习一些东西,多花费一些时间。根据用户的熟练程度提供适合的交互方式,比如快捷键适合中间用户和专家用户。
导览教程和覆盖层教程就适合新手用户。
5.2使用用户的语言
用户界面中的词汇使用用户语言而不是面向系统的术语。对话尽可能使用用户的母语而不是外语,包含非语言元素。避免使用词汇的非标准含义。面向专业领域用户的产品,应该使用专业术语。从用户的角度描述,比如你确定要删除吗?。系统不应该强制用户按照系统定义的命名规则给对象取名。
如何使用用户语言:让用户对一个可能的名字清单投票,这个清单可以来自开发者建议、这永兴专业人员建议、用户建议。
采用投票生产的词汇让系统更容易被用户掌握,也能让用户根据使用系统的相关知识指导操作新任务。
还可以试着让用户定义别名。
映射和隐喻
为实现面向用户的对话,一种比较常见的做法是力争让计算机显示的信息和用户关于信息的心理模型一致。是这两者一致可以使用映射或者隐喻。
为找到适合的映射,首要进行任务分析,然后使用一些方法比如 观察用户、顺序回想、卡片分类、相似性打分等。
用户界面隐喻可用来在产品和用户理解的现实参照系统之间建立起一种对应。但有时隐喻会误导用户,或者将用户对产品的理解局限于隐喻获得的知识。所以不要让“使用用户的语言”所表示的含义超出用户的预期。注意不同文化的差异。
5.3将用户的记忆负担减到最小
计算机擅长精确记忆,应当让计算机代替用户记忆。让用户识别比回忆要简单。基于识别的用户界面。依赖用户关心对象的可见性。
给用户提供默认值而不是完全重新键入。给出输入格式。使用计算机产品的通用命令。
5.4一致性
同样的命令和操作要产生同样的效果。
同样的信息在所有屏幕和对话框中显示的位置和形式一致。
在一定程度上遵循用户界面标准,就可以在多个方面更容易实现一致性。(第8章 4.6节)
在系统的任务和功能结构上要考虑一致性。
5.5反馈
系统应该不断告诉用户目前系统正在做什么,如何响应用户输入,在操作正确时给出反馈,不必出错时才给反馈。
系统反馈不应当使用抽象和通用词汇,而是应该重述或者改述用户的输入以提示现在正在干什么。
响应时间:
0.1s--响应及时
1s--有响应
10s--意识到响应变慢,后走神,但能拉回来
10s以上-用户注意力不在这里了
响应时间应当尽可能短,但是也不能太快让用户的眼镜跟不上计算机的反馈
如果无法立即给出反馈,要用进度指示器给用户提供连续反馈。超过10s就要用进度指示器,无法使用的情况下,也要有一些显示系统正在运行的状态提示。2-10s的响应,就不需要进度提示了。
系统错误:
系统出错时,应当给出友好的信息反馈。
5.6清楚地标识退出
为了让用户感觉自己可以对系统对话完全掌握,无论何时都应当给用户提供一种方便的退出方式。
除此之外,还要提供撤销,在整个系统中应当支持使用同一命令来撤销任何状态,而不是局限于撤销某一类特定操作。
退出和撤销可以鼓励用户探索。
如果系统无法再10s内完成任务保证用户注意力,就应当允许用户中断计算机并取消操作。
退出和撤销应该在界面上可见。
5.7快捷方式
提供给中间用户和专家用户。
提前输入(?)
应当允许用户在大的信息空间,能够立即跳转到想去的位置。允许用户为那些他认为特别重要的位置自定义名字,以减轻用户的记忆负担。
应当允许用户重用之前步骤的操作输入。记录用户经常打开的文件、位置、记录上一次操作的数据等也是利用交互历史提供快捷访问的方式。
提供默认值也是一种快捷方式,(也可以减小用户记忆负担)
5.8好的出错信息
出错信息应当遵循一下4个简单原则:
1、出错信息应当用清晰的语言来表达,而不是使用难懂的代码。信息中面向开发的信息或错误代码要放在用户可理解的内容后面。
2、语言精练准确,不是空泛模糊的。
3、应当对用户解决问题给出建设性意见。方法是猜测用户真正想表达什么。
4、出错信息应当友好,不要威胁或者责备用户。
系统应当备好错误恢复机制,比如允许用户侧小错误命令产生的结果,允许他们编辑并重新提交以前的命令,而不是从头输入。
多层次消息
不需要在消息中包含所有可能有用的信息,使用简短的消息以方便用户快速阅读。提供获得更多信息的按钮,为专家用户提供帮助。对弈难理解词汇可以提供链接到帮助系统、教学指南等。
5.9避免出错
设计系统避免用户进入容易犯错的状态。
通过用户测试、实际使用中对错误进行记录来获得 错误出现的频率和严重程度,再针对这些用户错误重新设计系统来消除这些错误。
执行危险操作前请求用户确认。不要过于频繁使用确认对话框,这可能导致用户形成回答习惯,而在没有阅读的情况下点下致命确认按钮。
5.10帮助和文档
(有些apps和网页中也有帮助)
大部分用户不阅读文档,更愿意尝试使用产品。只有当用户碰到不可解决的麻烦,并且需要立即得到帮助的时候,才会看。
需要给帮助和文档提供好的、面向任务的搜索查询工具。
帮助和文档要简单易查,不能过于复杂。
多数用户快速浏览来寻找可能有用的信息,而不是细细阅读。写作质量非常重要,包括信息的组织方式、文字的可读性。文档中的信息正确,符合当前版本。
使用文档的一种模型:
用户和帮助系统交互分为3阶段:查找、理解、应用
索引中不仅要包含本系统术语,也要包含面向用户任务的术语以及大量同义词。同义词中应当包含竞争对手对于相同概念的词汇。提供全文搜索和相关主题的链接。
内容部分避免使用专业术语,要以用户执行任务的顺序和方式书写。
用户可能会跳着看,因此每个部分尽可能自成一体。
可以包含例子,例子更好理解。
最好能让用户一边参照指令,一边执行,而不用记忆。将指令尽可能写成一步步操作更容易理解。
最简化帮助文档:
只提供用户开始使用系统执行常见任务时所需的必要信息。以及帮助用户识别错误状态,从常见错误中恢复。
5.11经验性评估
经验性评估通过观察界面来指出其中哪些设计好、哪些设计不好。理想情况下,人们可以根据确定的规则进行评估。但是可用性准则太多,大多数人可能仅仅依据他们自己的直觉和常识来进行经验性评估。
经验性评估的目标就是发现用户界面设计中的可用性问题。通常由一小组评估人员来检查界面,并判断界面与已知可用性准则(经验)的符合程度。多个评估人员独立评估 的评估结果更好更全面一些,建议5个,至少3个。可以是书面评估结果,也可以是口头。
经验性评估不同于传统用户测试。评估过程中,评估者遇到问题,观察者可以提示。除了暂时性界面。
大项目可分为几个小的评估过程
建议评估者至少使用界面2次
可以对还未开发的原型进行经验性评估
使用经验性评估方法获得的结果是关于界面的一个可用性问题清单,其中每一个问题都包含有评估者认为系统设计所违背可用性原则的注释信息。经验性评估不会提供可以修正可用性问题的系统化方法,也无法估计重新设计后可能达到的质量。
为了提供设计建议,可以在评估后增加交流过程。参与者为评估者、观察者、设计人员。集中讨论如何针对主要的可用性问题和设计问题来重新设计。
经验性评估是高效的可用性工程方法。
评估者知识影响:
评估者个体差异会影响独立评估结果。同时具有可用性专业知识以及相关界面领域知识的专家用户会获得最佳结果。
如果无法找到足够多的可用性专业人员,可以考虑:
1、让撰写技术文档和帮助文档的专家来参加经验性评估。
2、协作式可用性步进评审方法:参加经验性评估的人员包括 用户代表、产品开发人员、可用性专家。让每个评估者单独初步评估,然后再小组讨论。一次评估一个屏幕,然后在评估下一个。