交互设计目标与原则
- 交互设计目标
- 可用性目标
- 易用性(learnability)
- 高效率(efficiency)
- 易记性(memorability)
- 少出错(errors)
- 主观满意度(satisfaction)
- 用户体验目标
- 问题引入
- 用户体验
- 简易可用性工程
- 可用性度量
- 常用方法
- 注意事项
- 使用效率度量
- 易学性度量
- 易记性度量
- 错误率度量
- 满意度度量
- 四种主要技术
- 用户和任务观察
- 场景
- 边做边说法
- 启发式评估
- 交互设计原则
- 基本设计原则
- 可学习性
- 灵活性
- 健壮性
- Shneiderman的八条“黄金规则”
- 尽可能保证一致
- 符合普遍可用性
- 提供信息丰富的反馈
- 设计说明对话框以生成结束信息
- 预防并处理错误
- 让操作容易撤销
- 支持内部控制点
- 减轻短时记忆负担
- Nielsen的十项启发式规则
- 系统状态的可见度
- 系统和现实世界的吻合
- 用户享有控制权和自主权
- 一致性和标准化
- 避免出错
- 依赖识别而非记忆
- 使用的灵活性和高效性
- 帮助用户识别、诊断和恢复错误
- 帮助和文档
- 审美感和最小化设计
交互设计目标
可用性目标
可用性目标不仅涉及人与之正在发生交互作用的系统,还包括系统对使用它的人所产生的作用。
易用性(learnability)
- 指使用系统的难易,即系统应当容易学习,从而用户可以在较短时间内应用系统来完成某些任务
- 易用性是最基本的可用性属性
易学性对应系统学习曲线的开头部分 :“10分钟法则”
高效率(efficiency)
- 当用户学会使用产品之后,用户应该具有更高的生产力水平(效率)
- 效率指熟练用户到达学习曲线上平坦阶段时的稳定绩效水平
易记性(memorability)
解释
- 用户在学会使用软件后应当容易记忆
- 学会某个系统后,应能够迅速回想起它的使用方法
影响因素
位置:将特定对象放在固定位置
分组:对事物按照逻辑进行恰当的分组
惯例:尽可能使用通用的对象或符号
冗余:使用多个感知通道对信息进行编码
启发
良好组织,使用用户已有的经验帮助提高易记性
少出错(errors)
解释
人是会犯错误的
- 有些错误会被用户发现并纠正
- 有些错误会带来灾难性后果
措施
- 保证导致灾难性后果错误的发生频率降到最低
- 保证错误发生后迅速恢复到正常状态
主观满意度(satisfaction)
解释
- 用户对系统的主观喜爱程度
- 某些情况下,系统的娱乐价值比完成任务的速度更为重要
观念的转变
传统软件质量观
- 侧重内部效率和可靠性
- 如程序代码运行时的效率以及灵活性、可维护性
人机交互软件质量观
- 转向用户视角
用户体验目标
问题引入
随着新技术渗透到人们的日常生活中,人们对产品有了更多的要求 ,到底什么样的产品才是用户愿意使用和购买的?
让用户感到满意并留下愉快主观感受的产品更可能被多次使用
用户体验
- 用户在与系统交互时的感觉
- 为儿童创建的网站应该要有趣并且引人入胜
- 面向年轻人的网站则应该更注重时尚感和趣味性
- 较可用性目标主观
- 可用性可能对用户体验带来阻碍
简易可用性工程
以提高产品的可用性为目标的先进的产品开发方法论
借鉴了许多不同领域的方法和技术
强调以人为中心来进行交互式产品的设计研发
可用性度量
常用方法
- 选择一些能够代表目标用户群体的测试用户
- 让这些用户使用系统执行一组预定的任务
- 比较任务的执行情况
- 针对多维属性
取每个可用性属性的平均值
查看整体分布情况
举例
主观满意度度量举例: - 在1~5分的5分制情况下平均值至少为4
- 或至少50%的用户给系统打5分
- 或给系统打1分的用户不超过5%
注意事项
- 度量一定要针对特定的用户和特定的任务进行
- 用户对不同任务的可用性结果预期可能不同
- 测试前要明确一组具有代表性的测试任务
使用效率度量
并不是所有用户都能够迅速达到最终的绩效水平
- 用户自身的原因
- 少量系统的操作十分复杂
同样要区分不同的用户群体(以有经验的用户为例)
- “有经验”较为正规的衡量方式是通过使用系统的小时数来定义的
- 先使用,然后度量其绩效水平
- 或为用户绘制学习曲线
- 当发现用户的绩效水平在一段时间内不再提高时,就认为已经达到了该用户的稳定绩效水平
易学性度量
- 可用性属性中最容易度量的属性:
找一些从未使用过系统的用户
能够代表系统的目标用户
区分没有任何计算机使用经验的新手用户和具有一般计算机使用经验的用户
统计他们学习使用系统直至达到某种熟练程度的时间 - 特定熟练程度
用户能够完成某个特定的任务
或用户能够在特定的时间内完成一组特定任务
易记性度量
用户分类:
- 新手用户,熟练用户,非频繁使用用户
- 对非频繁使用用户进行测试最能体现系统的易记性
度量方法:
- 对在特定长时间内没有使用系统的用户进行标准用户测试,记录下这些用户执行特定任务所用的时间
- 对用户进行记忆测试,如在用户完成一个应用系统的特定任务后,让用户解释各种命令的作用
错误率度量
错误:
通常指不能实现预定目标的操作
度量:
- 在用户执行特定任务时通过统计这种操作的次数
- 可以在度量其他可用性属性的同时来度量
错误分类:
- 错误发生后能够被用户立刻纠正,不会对系统带来灾难性的影响,往往会被包含在使用效率的统计当中
- 不易被用户发现,从而可能造成最终结果存在问题,设计人员在设计时也应该将其发生的频率降到最低
满意度度量
满意度度量评价都是主观的:
- 以询问用户的方式进行度量更合适
- 为减少单个用户评价的主观性,把多个用户的结果综合起来取其平均值
度量通常在用户测试完成后进行 :
- 要求用户通过简单的调查问卷对系统打分
- 可以使用1-5或1-7的Likert度量尺度或语义差异尺度作为打分标准
- 一定要在用户使用系统执行真实的任务之后再来询问他们的看法
调查问卷的设计
- 通常设计得较为简短 ,以保证最高的结果返回率
- 以1-5或1-7的Likert度量尺度或语义差异尺度作为打分标准,得分越高,说明认可的程度越高 ,研究发现1-5分的评价尺度的中值是3.6分(1分最低,5分最高)
- 不论采用什么样的评价尺度,都应当在大规模测试前进行小规模试点测试
Likert度量尺寸:
对于下面系统的陈述,请指出您同意或不同意的程度:
- “很容易学会怎样使用这个系统”
- 不同意 1 2 3 4 5 同意
- “使用这个系统是一段让人很沮丧的经历”
- “这个系统可以帮助达到很高的生产效率”
- “担心使用该系统获得的结果存在错误”
- “使用该系统工作让人感觉很愉快”
语义差异尺度标准:
请在最能够体现您对这个系统印象的位置上做标记:
- 愉快 — — — — — — — 气恼
- 完善 — — — — — — — 不完善
- 合作 — — — — — — — 不合作
- 简单 — — — — — — — 复杂
- 快速 — — — — — — — 慢速
- 安全 — — — — — — — 不安全
四种主要技术
完整的可用性工程过程
- 了解用户
- 竞争性分析
- 设定可用性目标
- 用户参与的设计
- 迭代设计
- 产品发布后的工作
简化
- 用户和任务观察
- 场景(scenario)
- 简化的边做边说(thinking aloud)
- 启发式评估
用户和任务观察
了解产品的目标用户是可用性工程的第一个步骤
要直接与潜在用户进行接触,不要满足于间接的接触和道听途说
场景
- 场景是一种简便易行的原型工具
- 通过省略整个系统的若干部分来减少实现的复杂性
- 水平原型:减少功能的深度并获得界面的表层
- 垂直原型:减少功能的数量而对所选功能进行完整实现
- 可以是纸质模型,也可以是简单的RAD原型
边做边说法
- 让真实用户在使用系统执行一组特定任务的时候,讲出他们的所思所想
- 最有价值的单个可用性工程方法
- 可了解用户为什么这样做,并确定其可能对系统产生的误解
- 实验人员需要不断地提示用户,或请他们事先观摩
启发式评估
- 研究表明,能够发现许多可用性问题,剩下的可以通过简化的边做边说方法来发现
- 为避免个人的偏见,应当让多个不同的人来进行经验性评估
问题:究竟需要多少个测试专家参与?
n个测试专家能够发现的可用性问题数量
- N ( 1 − ( 1 − L ) n ) N(1-(1-L)^n) N(1−(1−L)n)
- N:设计中存在的可用性问题的总数
- L:单个参与者所能够发现的可用性问题的比例 (经验取值约为31% )
结论:
5名专家能够发现约80%的可用性问题,被认为是最恰当的可用性测试用户数量
建议将测试分阶段进行
交互设计原则
- 这些规则大多来源于提出者的经验和总结
- 不是完美无缺的,甚至有些会相互矛盾
- 在具体使用时,必须根据实际情况进行调整和细化
基本设计原则
可学习性
可学习性是有关交互式系统的特性,使新用户在初始时明白如何应用交互式系统,其后如何获得最大程度的性能。
影响可学习性原理的总结:
灵活性
灵活性表示终端用户和系统交互信息方式的多样性。
健壮性
在一个工作或任务范围内,一名用户应用计算机是为了达到一些目标,交互的健壮性包括支持目标成功获得和评估的特性,即在决定成就和目标评估方面对用户提供的支持程度
Shneiderman的八条“黄金规则”
注:important
- 尽可能保证一致
- 符合普遍可用性
- 提供信息丰富的反馈
- 设计说明对话框以生成结束信息
- 预防并处理错误
- 让操作容易撤销
- 支持内部控制点
- 减轻短时记忆负担
尽可能保证一致
- 一致性让界面变得熟悉和可预测
- 因为一致性可能包括界面设计的方方面面,如术语的一致性、操作序列的一致性,以及颜色、布局和字体的一致性等,所以这条规则是应用中最常被违反的
符合普遍可用性
充分考虑用户操作的熟练程度、年龄范围、身体状况(如是否有残疾)等多方面的不同需求 。
专家用户
缩写或快捷键操作,以丰富界面可感知的系统质量
新手用户
尽可能提供引导性的帮助信息,帮助用户完成特定的交互任务
提供信息丰富的反馈
对常用操作,则反馈信息可以相对简短
对不常用操作,系统的反馈信息就应该丰富一些
途径:界面对象的可视化表现
设计说明对话框以生成结束信息
- 目的:
让用户知道什么时候他们已经完成了任务 - 作用:
使用户产生完成任务的满足感和轻松感
有助于让用户放弃临时的计划和想法
预防并处理错误
预防措施:将不适当的菜单选项功能以灰色显示屏蔽,以及禁止在数值输入域中出现字母字符等。
处理措施:当错误出现时,系统应该能够检测到错误,并提供简单的、有建设性的、具体的指导来帮助用户进行恢复操作。
注:提示、备份、恢复、不要抱怨用户
让操作容易撤销
减轻用户的焦虑情绪,并鼓励用户尝试新的选项。
撤销的操作可以是一个单独的数据输入操作,也可以是一组操作。
支持内部控制点
鼓励用户成为行为的主动者而不是响应者
措施:
- 避免模态对话框
- 避免很长的引导序列
- 提供出口:取消、重做、放弃等
减轻短时记忆负担
出发点:
人凭借短时记忆存储的信息是非常有限
措施:
- 界面显示尽可能简单
- 依赖于识别而非记忆
- 不同显示页面的风格应该统一
- 尽可能减少在窗口之间的移动
- 并且要确保提供用户足够的学习代码、记忆操作方法和操作序列的时间
- 提供适当的在线帮助信息
Nielsen的十项启发式规则
1.系统状态的可见度
2.系统和现实世界的吻合
3.用户享有控制权和自主权
4.一致性和标准化
5.避免出错
6.依赖识别而非记忆
7.使用的灵活性和高效性
8.审美感和最小化设计
9.帮助用户识别、诊断和恢复错误
10.帮助和文档
系统状态的可见度
对于预期超过3-5秒的活动,向用户提供状态反馈
系统和现实世界的吻合
系统应使用用户的语言,而不是使用面向系统的术语。
用户享有控制权和自主权
对于由错误做出的选择,请提供“返回方式”。
一致性和标准化
- 不要在不同的地方对同一功能使用多个单词/名称
- 提示、菜单和用户指南中的一致术语
- 使用没有歧义的图标/图像
- 在整个应用程序中保持一致的颜色、布局、大小写和字体
避免出错
依赖识别而非记忆
使用的灵活性和高效性
对于新手用户,提供简单(尽管更长)的交互
对于高级/经常使用的用户,提供:快捷键、特殊键、宏…
帮助用户识别、诊断和恢复错误
错误信息应以普通语言表示(无代码),准确指出问题,建设性地提出解决方案。
帮助和文档
- 必须提供帮助/手册/用户指南
- 用户指南的语言和格式应使用简单、标准的术语
注:如标准格式、提供搜索、书籍隐喻、链接的使用
审美感和最小化设计
- 不要在对话框中放置太多不相关的信息
- 使用标准和普遍接受的控件(滑块、按钮等)
- 选择适合屏幕显示的字体/大小,以最大限度地提高可读性