Lec-3 交互设计原则与目标

不知道为什么没有 Lec-2,往年这个标题是 Lec-2 来着,但是今年老师发的 PPT 直接跳过 2 了。具体什么情况无从知晓,因为上课根本没听嘛。


交互框架

交互框架是提供理解或定义某种事务的一种结构。

说白了,就是给交互建模得到的框架。

ECC 框架 - 执行 / 评估活动周期

一种具体的交互框架。PPT 上说是最有名的。

模型基础

ECC 定义了活动的四个组成部分:

  • 目标(Goal)
  • 执行(Execution)
  • 客观因素(World)
  • 评估(Evaluation)

目标就是交互要达到的目的,意图可以理解为实现目标的一系列活动。一个目标可以对应多个意图。目标≠意图(Intention)

图示

图中,每个循环代表一个动作。

执行阶段:

  • 形成目标
  • 形成意图
  • 明确动作
  • 执行动作 评估阶段
  • 感知系统状态
  • 解释系统状态
  • 评估输出

作用与意义

ECC 模型可以解释为什么有些交互设计得有问题。因为我们可以从两个阶段进行分析了。

在执行阶段出现问题,叫执行隔阂

  • 用户为达到目标而做出的动作,与系统允许的动作之间有差别

评估阶段,评估隔阂

  • 系统状态的实际表现,与用户预期之间有差别

因此,我们分别能从两个阶段知道:

  • 如何才能够使用户简单地确定哪些活动是被允许的
  • 如何确定系统是否处于期望的运行状态等问题 也即 ECC 模型的意义所在。圆上这段第一句话了。

扩展 ECC 模型

EEC模型不能描述人与系统通过界面进行的通信。

图示

扩展 ECC 模型将交互抽象成了语言的翻译过程。

S I O U 意义如下:

$S$$U$$I$$O$
系统用户输入输出
内核(核心)语言任务语言输入语言输出语言

箭头表示翻译过程;图示左侧是系统,右侧是用户。

作用

让设计人员更好地设计系统(废话),具体来说,要简化两个过程的翻译:

执行阶段:

  • 应保证从输入到系统的翻译是容易的。即 $I\rightarrow S$ 过程。 评估阶段:
  • 应保证用户观察系统输出是容易的。即 $O\rightarrow U$ 过程。

设计目标

可用性目标

背景

省流:用户在变,用户的观念在变,开发方式在变。

这能考?

指标

易学性、易记性、安全性、效用性和高效率。

应该很重要。

易学性 learnability

使用系统的难易。

关键问题是:用户准备花多少时间学习并能够执行某种任务

请君脑补一下学习曲线的图。

易记性 memorability

记住如何使用的难易。

易记性的影响因素大致如下:

  • 意义:使用有意义的图标、命令名和菜单;
  • 位置:将特定对象放在某个特殊位置;
  • 分组:对事物按照逻辑进行恰当的分组;
  • 惯例:尽可能使用通用的对象或符号;
  • 冗余:使用多种感知通道对信息进行编码。

以及使用启发。即通过用户已有的经验帮助提高易记性。e.g. Adobe 全家桶

效用性 utility

产品是否提供了正确的功能。

比如,计算器只能算加减法(

高效率 efficiency

产品对用户执行任务的支持程度

人话,就是用户的熟练度完成任务效率的关系。

注意,并不是指产品的运行效率!!!

(这图年龄估计比我大了。。。)

安全性 safety

避免用户发生危险和陷入不好的情形

  • 第一个层面和工效学相关,如在特殊环境中允许远程操控计算机
  • 第二个层面指帮助任何用户在任何情况下避免因偶然执行不必要的行动而造成的危险
    • 减少按钮等组件被误启动的风险
    • 提供出错时的恢复方法

用户体验目标

这主要包括用户使用交互系统的主观满意度。

用户体验 vs 可用性

  • 主观 vs 客观
  • 矛盾:二者有时不可兼得。

许多玩家喜欢找最具挑战、非简单的游戏:违反可用性 设计 既安全又有趣的过程控制系统 是不可能的。

矛盾如何化解-超越可用性

  • 应该更多地关注用户体验而非可用性
  • 以说服为目的的设计关键主要是采用巧妙和令人愉快的方式令人信任和感到舒服

简易可用性工程

理解就行

以提高产品的可用性为目标的先进的产品开发方法论。

过程

完整过程(直接忽略):

  • 了解用户
  • 竞争性分析
  • 设定可用性目标
  • 用户参与的设计
  • 迭代设计
  • 产品发布后的工作

简化过程(四种主要技术):

  • 用户和任务观察
    • 了解产品的目标用户
  • 场景(scenario)
    • 一种简便易行的原型
    • 水平原型:重界面整体性,轻功能深度
    • 垂直原型:重功能深度,轻界面整体性
  • 简化的边做边说(thinking aloud)
    • 最有价值!(上课的时候就做了)
  • 启发式评估
    • 让多个不同的人来进行经验性评估
    • 5名专家能够发现约80%的可用性问题

设计规则

设计规则是经验性的,需要灵活运用。

基本规则

  • 可学习性:新用户能用它开始有效的交互并能获得最大的性能
  • 灵活性:用户和系统能以多种方式交换信息
  • 健壮性:在决定成就和目标评估方面对用户提供的支持程度

黄金规则

  • 尽可能保证一致:一致性让界面变得熟悉和可预测。
  • 符合普遍可用性:充分考虑用户操作的熟练程度(例如新手用户和专家用户)、年龄范围、身体状况(如是否有残疾)等多方面的不同需求。
  • 提供信息丰富的反馈:对常用操作,则反馈信息可以相对简短;对不常用操作,系统的反馈信息就应该丰富一些。
  • 设计说明对话框以生成结束信息:让用户知道什么时候他们已经完成了任务。
  • 预防并处理错误:用户错误能够在清晰的指导下进行恢复。
  • 让操作容易撤销:减轻用户的焦虑情绪,并鼓励用户尝试新的选项。
  • 支持内部控制点:鼓励用户成为行为的主动者而不是响应者。
  • 减轻短时记忆负担:界面显示尽可能简单,要确保提供用户足够的学习代码、记忆操作方法和操作序列的时间,并提供适当的在线帮助信息。

十条启发式规则

重要

  1. 系统状态的可见度:对于用时较长的操作(如,长于 3−5 秒),需要给出显式的反馈;
  2. 系统和现实世界的吻合:界面上的语言要使用用户熟悉的词汇、短语和概念,信息应当遵循自然的逻辑顺序出现;
  3. 用户享有控制权和自主权:对于由于错误而做出的选择,提供一个“返回方法”;
  4. 一致性和标准化:产品内部对同一功能使用的术语和形式一致;
  5. 避免出错:产品应当经过精细设计,减少高危操作,避免用户犯错;
  6. 依赖识别而非记忆:用户应当经常被提示,而不是被要求记住;
  7. 使用的灵活性和高效性:充分考虑不同类型用户的使用偏好和使用技巧;
  8. 审美感和最小化设计:少即是多;
  9. 帮助用户识别、诊断和恢复错误:提供明确的错误信息,以及用户可以采取的行动,而不是错误代码;
  10. 帮助和文档:提供帮助和文档,以便用户可以找到所需的信息。文档的表述应当是非技术的。