多样性
支持替代的交互方式。
让用户选择一个适合特定情形的交互方式。每一种交互设备都是为了特定的用户使用而优化设计的,没有一个唯一的交互方式是在任何情况下都是最好的。例如,具有语言识别能力的软件能帮助快速地输入文字,或者是在不能用手操作的环境下会很有用,而手写输入笔会对希望画草图的人很有用。
多样性
支持替代的交互方式。
让用户选择一个适合特定情形的交互方式。每一种交互设备都是为了特定的用户使用而优化设计的,没有一个唯一的交互方式是在任何情况下都是最好的。例如,具有语言识别能力的软件能帮助快速地输入文字,或者是在不能用手操作的环境下会很有用,而手写输入笔会对希望画草图的人很有用。
简单
不要为了功能而采取折衷的可用性。
界面的组织不要按功能模块的思维来划分和拼凑,不要认为代码实现上是独立的两个对象,在界面上就要对应两个对象,而是以用户的工作任务和流程分析来组织。
满意
让用户感觉到进度和完成。
让用户感觉到连贯的进度和完成。立即报告动作的结果;任何加在用户任务上的延迟都会影响用户对系统的信心。即时的反馈可以让用户评估结果是否满足自己的期望,如果不满足,则可马上采取其它替换措施。例如,当用户选择一个新的字体样式,应用了字体改变的文本应该马上发生变化。然后用户可以决定是否保留改变。
安全
不要让用户轻易接触到危险的操作。
尽量不让用户犯错。让用户不能轻易接触危险的操作的责任在设计者的身上。界面应该自动地或根据请求提供视觉上的提示,提醒信息,选择列表和其它辅助手段。上下文的帮助和代理能提供额外的协助。帮助信息应该简单、清晰,并且是面向任务的。
个性化
允许用户对界面进行个性化设置。
允许用户按个人需要和想法裁剪界面。没有两个用户是绝地相同的;用户的背景、兴趣、动机、经验程度和物理能力都不同。个性化能帮助用户对界面感觉更舒服。
明显
让对象和控件明显、直觉的、显而易见的。
在界面使用体现现实的技术。对象和概念在面向对象的界面里应该类似它们在现实世界的样子。当可能的时候,应该尽量避免对象的人造体现。
熟悉
基于用户已有的知识来设计界面。
让用户基于已有的关于软件系统的知识来使用新的系统。一个用户友好的系统能让用户学习新的概念和技巧,通过完成一个任务并应用到更广泛的任务。换而言之,用户不需要学习不同的技巧来执行相类似的任务。
鼓励
让动作可以预见并可以恢复。
确保软件系统的每个动作都是可以产生可预计的结果的。尝试理解用户的期望、任务、目的。使用术语和图像帮助用户理解需要完成一个任务要操作的对象和对象关系。
鼓励用户探索系统,尝试操作,查看结果,撤销或删除操作。如果功能操作不会造成不可返回的后果的话,用户就会对操作的界面感到舒服和自信。
有效
让所有对象在任何时候都是可用的。
让用户可以在任何时候以任何次序在同一个视图使用所有的对象。例如,windows的打开文件对话框允许用户在打开对话框视图中访问所有对象。