Introduction
“About Face 3″(以下简称AF3)主要关注于交互设计(Interaction Design)。
术语“交互设计”最早出现于19世纪80年代中期。当时负责设计第一台笔记本电脑GRiD Compass的两位工业设计师Bill Moggridge、Bill Verplank首先使用了这个术语。但是直到10年后,甚至可以说到了AF的第二版于2003年出版后,这个词才成为广泛使用。
一个比交互设计应用更泛滥的词是用户体验(User Experience)。AF3中认为用户体验设计可以被划分为三部分:
- 内容(Content):内容如何结构,如何组织。这部分由信息架构(Information Architecture)负责。
- 形式(Form):由工业设计和视觉设计负责。
- 行为(Behavior):由交互设计负责。
按:这三部分同样符合“结构-表现-行为”这一模式。所以它们和Web技术之间有着同样的结构。
AF3认为一个好的产品团队需要四个部分的协作:设计、工程、市场、管理。其中设计决定产品的形式和行为;工程负责开发;市场面向客户;管理负责协调。
按:AF3整体的一个问题是:对设计有一种“报复式的强调”。AF3介绍的方法包含两大部分,主体部分是设计本身的原则、模式等等;但除此之外还涵盖了传统软工中的需求和分析。AF3的立论点是,设计和用户的目标密不可分,所以设计师必须极深地介入需求分析,甚至说由设计师来完成需求分析。从上面的团队组成和职责也可以看出,实际上这是一个由设计师主导的团队。
AF3提供一系列交互设计需要的:原则(Principle)、模式(Pattern)、过程(Process)。交互设计的质量依赖于语境(Context),即用户是谁、他们要做什么、他们的动机是什么。大而无当的原则可以让设计更简单,但不能让设计更好。
———————————
Chapter 1 Goal-Directed Design
工业设计师Victor Papanek定义设计为:“the conscious and intuitive effort to impose meaningful order”。
AF3认为面向人(human-oriented)的设计活动包括:
- 理解用户的愿望、需要、动机、语境
- 理解商业、技术和领域中的机会、需求和限制
- 使用以上知识构造满足以下要求的产品:其内容、形式、行为是有用的、可用的以及符合预期的,同时它在经济上是有利的,在技术也是可行的。
按:注意此处设计含义的泛化,内容已经成为设计的一部分。
糟糕设计的主要原因:
- 忽视用户;
- 满足需求和实现功能发生冲突(特别是开发人员同时负责设计的情况);
- 缺乏理解用户需求的过程(让用户参与设计流程不能解决问题,因为领域知识不等于设计知识)。
交互设计需要基于对用户的理解以及认知原则。因此目前广泛使用的面向任务(task)的开发过程达不成好的设计:理解用户的任务有助于对系统进行细分,但是不能帮助设计师理解用户为什么使用这个系统——即用户的目标。设计师的工作不仅仅是理解用户的任务,他们还需要辨识出最重要的用户,进而决定他们的目标是什么,以及为什么有这个目标。
按:再一次注意设计师只能的泛化。
AF3提出了“面向目标的设计过程(Goal-Directed Design Process)”,以下简称GDD。GDD方法首先专注于研究用户实际如何使用产品,进而把研究结果转化为设计方案。
GDD强调设计对产品的重要性。它认为设计既要辨识用户需求,又要关注产品的细节——换言之,设计即是产品定义。因此GDD要求设计师深度介入需求分析工作,理解用户的目标,并通过一系列系统化方法,通过使用模型,把需求转化为最终的设计。
GDDP方法包含六个主要步骤:
- 研究:通过定性的研究辨识出行为模式(behavior pattern)
- 建模:利用行为模式创建领域模型(domain model),以及角色模型(personas)——也即用户模型。前者主要包含流程信息,后者是具备不同动机、目标的用户组。
- 需求定义:联系角色与流程,生成语境场景(context scenario)——用故事板的形式描述用户如何使用产品。同时商业目标、品牌属性、技术限制也需要构建场景时加以考虑。
- 框架定义:定义产品行为(behavior)、视觉设计(visual design)以及物理形态(physical form)的基本框架。对于交互设计,另有两种方法对其进行指导——原则(自底向上)以及模式(自顶向下)。
- 精化(refine):丰富细节,验证覆盖度,产出设计规范。
- 开发支持:协助开发,必要时调整设计。
成功的交互设计必须时刻关于用户的目标。
交互设计不是猜谜。(Interaction design is not guesswork.)
———————————
Chapter 2 Implementation Models and Mental Models
实现模型指系统内部实现(每秒24格画面)。心智模型指用户看待系统的方式(图像在屏幕上移动)。
按:心智模型应该是心理学的一个术语,不清楚此处的应用是否准确。
实现模型和心智模型存在鸿沟。因此需要Represented模型,即(在数字产品中)设计师选择将程序功能暴露给用户的方式。
好的Represented模型更接近的心智模型(画面加速、减速),而开发人员进行设计的缺陷在于其设计结果常常更接近实现模型(每秒格数更多更少)。
机械时代和信息时代需要不同的Represented模型。使用机械产品模型作为信息系统的隐喻,往往会限制信息系统的设计。好的设计需要信息时代的思维模式。
———————————
Chapter 3 Beginners, Experts, and Intermediates
设计的一个难题是如何在统一的设计中兼顾初学者和专家。
然而大部分用户既不是初学者也不是专家,而是中等用户(Intermediates)。实际上,大部分初学者会很快变成中等用户,但是他们永远也不会变为专家。
开发人员设计的交互往往更适合专家(比如,列出所有可能的操作,不区分操作的优先级);市场人员则需要更适合初学者的交互(方便推广)。
设计需要为中等用户进行优化,这包括三方面内容:
- 初学者成为中等用户的学习曲线低——想象初学者聪明并且忙碌;
- 希望成为专家的用户不会遭遇障碍——专家积极地寻找并学习产品可能实现他们需求的方式;
- 永久性的中等用户(perpetual intermediates)能对产品保持满意——中等用户会使用手册;他们会很快区分出(对他们来说的)常用功能和不常用功能;他们通常知道高级功能的存在,虽然他们可能不知道如何使用高级功能。
———————————
Chapter 4 Understanding Users: Qualitative Research
按:本章提供的其实是一种广义的用户研究方法,该方法并不限于设计
定性的用户研究用来帮助设计师理解产品的领域、语境和限制,包括:
- 潜在用户的行为、态度、能力倾向(aptitude)
- 产品的领域——技术、商业和环境的语境
- Vocabulary and other social aspects of the domain in question(按:不理解)
- 已有产品的使用方式
定性研究需要回答的问题包括:
- 产品是如何介入用户生活的?
- 用户使用产品的目的是什么?以及完成这一目的的基本步骤有哪些?
- 哪些体验可能使用户产生兴趣?
- 用户目前完成工作所遭遇的问题有哪些?
定性研究包含以下工作:
—–
1. Stakeholder访谈:
- 新产品的设计需要从理解产品在商业和技术上的语境出发。
- Stakeholder包括:大老板们;经理;开发、商务等各部门的高手。
- 单独地访谈各个Stakeholder。
- 可能从Stakeholder得到的重要信息包括:产品的愿景、预算和Schedule、技术限制和机会、商业目的。
2. 领域专家(Subject matter expert)访谈:
- 需要,但是专家可能有偏见,因为:他们是专业用户;他们具备领域知识但不是设计师。
- 对于复杂和专业化的领域来说,领域专家访谈以及让专家持续介入设计过程是必须的。
3. 客户(Customer)访谈:
4. 用户(User)访谈:
- 用户是设计的聚焦之处
- 可能从用户更得到的信息包括:
- 现有(或类似)产品如何介入用户生活;
- 用户完成工作需要具备的领域知识;
- 目前产品支持以及不支持的功能;
- 用户使用产品的目的和动机;
- 用户心智模型(用户如何理解产品);
- 目前产品存在什么问题和给用户带来什么挫败感;
5. 用户观察:
- 用户访谈脱离了产品实际使用的环境。为了更好理解用户如何使用产品,可能的话需要进行用户观察以获得第一手资料。
- 可以采用一种将沉浸式观察和访谈相结合的方法:Ethnographic Interviews——用户在使用产品的同时接受访谈。本章后半段详细介绍了如何进行一次Ethnographic Interview。
6. 文字资料分析:分析各种文字资料,包括:市场计划、市场研究、用户调研、技术规范、竞争对手研究等等。
7. 已有产品、原型以及竞品分析
—–
其他常用的用户研究方法还有:焦点小组——脱离语境的数据未必反映真实情况、基于市场的用户分析(market demographics and market segments)——理解谁愿意买不等于得到好的设计、可用性和用户测试——在有备选方法后有意义、Card sorting、Task analysis。
———————————
Chapter 5 Modeling Users: Personas and Goals
角色模型(Personas)是作为研究结果的行为模式、心智模型以及用户目标的形式化。角色模型可以帮助设计师对用户分类,确定不同用户的需求,进而确定目标用户的类型——包含所有可能特性的产品,不能取悦任何人(a product with every possible feature pleases nobody)。
角色模型可以帮助设计师避免产品设计中一些常见的问题:
- 弹性(elastic)用户:每个设计师都对用户需求有不同的理解。最终用户需求成为所有人需求的并集;
- 主观设计:设计师按自己的目标、动机、心智模型来设计产品;
- 边缘情况:关注那些可能发生但不是目标用户需求的情况。
角色模型的一些基本要点:
- 基于用户研究结果;
- 每个用户模型被描述为一个人,但代表一组用户;
- 包含一组行为;
- 具备自身的动机;
- 除用户外,也可能是客户(customer personas)或者被服务者(served personas)——例如医疗设备的病人。
与传统软工方法中的用户角色(Role)相比,角色模型(personas)更关注用户的目标,更倾向用描述性的话语来表达自身。Personas可能是多个具有同样行为和目标的Role;也可能是对具有不同目标的同一Role的细分。
按:我在原书上标注了这段话,但现在看意义有限。因为书中并没有定义Role获取方法,所以没法精确说明Personas和Role的区别。
当不能通过研究获得严格的角色模型时,也可以使用靠猜想获得的临时角色模型(Provisional Personas)。但使用临时角色模型具有以下风险:
- 关注于错误的设计目标;
- 即使关注了正确的目标,也可能错失重要的行为;
- 难以容易说服不认同你观点的人;
- 错误的使用,可能导致他人不认同角色模型。
目标(Goals)对于角色模型至关重要。目标是用户行为的动机,其必须由研究数据中获得。每个目标需要能够用一句简单的句子来描述。
Norman提出了三个层次的认知加工(Cognitive Processing):
- 本能的(Visceral):及时的,在进一步交互之前,在视觉或其他感觉方面的反应;
- 行为的(Behavioral):简单的,日常的行为——这是人类最主要的活动;
- 反射的(Reflection):基于以前的经验,有意识的行为;
基于以上三个层次的认知,存在三种类型的用户目标(User Goals):
- 体验目标(Experience Goal):
- 与本能认知相关——用户想感受什么;
- 用户希望在使用产品时希望获得的感受。这类目标关注于,视听特征、交互感受(动画的流畅度、按钮“硬度”)、物理设计;
- 交互、视觉、工业设计师需要将这类目标转化为具备恰当感觉、情绪、音调的形式、行为、手势等;
- 面向本能的设计意味着在深入使用之前,对产品的第一感觉进行设计。
- 最终目标(End Goal):
- 与行为认知相关——用户想做什么;
- 用户使用产品完成功能的动机。这类目标关注于,产品交互设计、信息架构、功能方面的工业设计;
- 交互设计师需要以最终目标为基础设计产品的行为、任务、外观、感受;
- 面向行为的设计使产品的行为符合用户的行为、隐含假设以及心智模型。
- 生活目标(Life Goal):
- 与反射认知相关——用户想成为谁;
- 用户长期的期望、动机以及自我实现愿景。这类目标关注于,产品的总体设计、策略以及品牌;
- 交互设计师需要将生活目标转化为high-level的系统能力、设计概念以及品牌策略。生活目标很少直接指导具体细节的设计,但是这类目标必须时刻保持在脑海里;
- 面向反射的设计使产品与用户建立长期的联系。
除了用户目标外,设计还需关注客户目标(Customer goals)、商业与组织的目标(Business and organization goals)、技术目标(Technical goals)。
“好的设计”只有在用户为了某种目标使用产品时才有意义。成功的产品首先满足用户目标。
构造角色模型的步骤:
- 从访谈中辨识行为变量(behavioral variables),最常见的行为变量包括:
- 活动(Activities):用户做什么,以及频率和数量
- 态度(Attitudes):用户对产品领域和技术的看法如何
- 能力倾向(Aptitudes):用户的教育程度、受过何种训练、学习能力如何
- 动机(Motivations):用户为什么对产品领域感兴趣
- 技能(Skills):用户在产品领域技术方面的能力
- 通过访谈对象与行为标量进行映射,将访谈对象分组
- 通过分组辨识行为模式(behavior pattern),作为角色模型的基础
- 综合特征与目标:针对每个行为模式,参考访谈细节给出:
- 角色模型潜在的使用环境、典型使用场景、现有解决方案及其不足。
- 角色模型需要一个有意义的名字,以及一些简单的人物描述。
- 目标是角色模型定义中最重要的工作,其中最终目标(end goals)对设计用处最大。
- 一般来讲,一个角色模型会包含0-2个体验目标、3-5个最终目标、0-1个生活目标。
- 检查完备与冗余
- 扩展角色属性和行为的描述:描述应该是对角色模型日常生活的结论性概括,但不构成一个Short Story
- 指定角色的类型:
- 首要(Primary)角色:产品的每个界面对应一个首要角色;当没有唯一清晰的首要角色时,意味着:要么产品需存在多个首要角色,需要为每个首要角色进行单独设计;要么产品想做的事情太多了。
- 次要(Secondary)角色:次要角色的大部分需求可以被为首要角色设计的界面满足,但是他们还包含一些额外的,可以在不扰乱首要角色功能的情况下,被满足的需求。当存在多余3-4个次要角色时,可能意味着产品的边界不明。
- 补充(Supplemental)角色:潜在的,或者源于Stakeholder假设的角色。
- 客户(Customer)角色
- 被服务(Served)角色:不直接使用产品,但被产品直接影响的角色——例如医疗设备产品的病人。
- 无关(Negative)角色
在用户建模阶段,除角色模型外,还可以获得一些辅助的模型:
- 工作流(Workflow)模型:可能是角色模型级别的个人工作流,也可能是商业、组织级别的协同工作流。
- 制品(Artifact)模型:用户完成工作需要用到的或者产出的制品。
- 物理(Physical)模型:用户活动的物理环境。简单的物理环境可以直接在角色模型中说明,复杂的则需要单独的物理模型。
———————————
Chapter 6 The Foundations of Design: Scenarios and Requirements
在GDD方法中,从定性的研究数据到设计解决方案,通过四个不断迭代的步骤来完成:
- 通过研究数据以及角色模型,想象用户交互的场景(Scenario)
- 利用场景定义需求(Requirement)
- 利用需求定义基本的交互框架(Interaction Framework)
- 不断丰富框架的设计细节
场景(Scenario)作为设计中的概念最早由John Carroll在90年代提出。Carroll的基于场景的设计(Scenario-based Design)方法中,场景以故事的形式描述用户如何完成工作——类似于电影中的故事板,进而用于创建和演示设计方案。
AF3中的GDD方法与Carroll方法的不同之处在于:在场景获取之前,角色模型,特别是用户的目标已经明确;而场景的获取依赖于之前步骤生成的角色模型(Personas-based Scenario)。
GDD方法中定义了三类场景:
- 语境场景(Context Scenario),或曰“日常生活场景(Day-in-the-life Scenario)”:先于任何设计,只涉及活动、感觉、愿望。
- 关键路径产场景(Key Path Scenario):由语境场景精化得到,关注于最重要的交互,以及用户如何使用产品实现其目标(goal)。
- 验证场景(Validation Scenario)
场景和用例(Use cases)的不同在于:用例更加技术化,更具体地描述用户的每个操作以及系统的响应。用例的问题在于,一来用例没有详细定义系统(在设计层面上)的行为;二来用例没有优先级,因此更适合用来验证系统功能的完备。
需求(Requirement)定义产品是什么以及产品做什么。设计定义产品如何做。需求先于设计。需求不是功能(function)或者特性(feature),而是用户或者公司业务的需要(need)。
按:大白话,这也是我为什么说AF3的Part I与其说是设计方法,不如说是需求方法。
需求定义的步骤:
- 建立问题和愿景描述:
- 问题描述(Problem statements)反映了需要改变的现状,例如:公司X的客户满意度很低,因为用户没有适当的工具完成任务X、Y、Z以帮助他们实现目标G;
- 愿景描述(Vision statements)是问题描述的反面,例如:新设计的产品X可以使用户可以更好(精确、有效等等)地完成任务X、Y、Z,并解决现有的问题A、B、C,进而帮助用户完成目标G。新设计将会显著提高用户的满意度。
- 头脑风暴:对于产品的头脑风暴,目的是排除一些在研究阶段产生的思维定势。
- 辨识角色期望(Personas expectations):
针对每个首要和次要角色,需要辨识:
- 一些影响用户期望的因素,例如:态度、经验、社会身份、文化等等
- 对于使用产品体验的期望
- 对产品行为的期望
- 角色认为产品应该包含的基本元素以及数据
- 构建语境场景:
- 语境场景很像故事,其关注于用户活动、动机以及心智模型;
- 语境场景high-level地从用户的视角展示了产品使用模式(Usage pattern);
- 语境场景不关注产品和交互的细节;
- 语境场景不应该被已有产品所局限,假设任何想法都可以神奇地实现(Pretend the interfa is magic)。
- 按:大概是全书精化所在之一,书中的例子很有说明性,限于篇幅不再引用。
- 辨识需求:
需求由对象、行为和语境组成。 例如:在一个预约条目中(语境)直接给某人(对象)打电话(行为)。按:GDD强调这个需求应该是一个need,而不是task或feature。但仅以上面例子,我感到其中的差异很微妙。此外,这里的结构很像从场景中发现用例,再从用例中辨识名词(类)和动词(方法)的方法。需求可以被进一步划分为:
- 数据需求:需要被展示在系统中的对象和信息;
- 功能需求:在对象上执行的操作;
- 其他需求:其他一些需要,特别是限制。例如:商业需求、品牌体验需求、技术需求、客户和合作伙伴需求。
———————————
Chapter 7 From Requirements to Design: The Framework and Refinement
设计框架(Design Framework)定义了用户体验的整体结构。在此阶段不必考虑细节,只需要产生产品的Big Picture。纸面原型(Paper Prototype)可以作为本阶段讨论用的有效工具。设计框架包含三部分:
- 交互框架:使用场景和需求创建产品界面和行为的骨架
- 视觉设计框架
- 工业设计框架
定义交互框架的步骤:
- 定义产品形态(Web, Phone或者其他什么)、使用姿态、输入方式——这些定义依赖于需求定义中获取的语境场景
- 定义功能(functional)以及数据(data)元素:
- 定义时需要经常回顾场景、角色目标和心智模型;
- 将系统想象为一个“人”,有利于实现结构化的交互细节;
- 基于场景的设计方法是一种top-down不断细化的方法,而已有最佳实践的设计原则(Principle)和模式(Pattern)是对top-down方法一个补充;
- 除非非常明确的理由,不应该破坏已有的最佳实践。
- 确定功能的分组和层次:需要考虑角色的工作流程以及某个任务的相关任务
- 交互框架骨架(Sketch):
- 主要任务是画线框图
- 尝试多种布局
- 迭代
- 一开始建议使用白板直接绘图,当细节完善到一定程度后再使用CAD工具(Firework、Illustrator、Visio、PPT、OmniGraffle)
- 构造关键路径场景(Key Path Scenarios):
- 关注任务(task)级别
- 角色的目标(goal)必须在考虑范围内
- 使用故事板(storybroading)描述关键路径场景
- 步骤3-5可能存在一些变体,例如:
- 从功能出发的变体:先辨识关键路径,再分组,再创建骨架
- 从视觉出发的变体:先分组+骨架;再关键路径,回头检查分组是否和关键路径切合
- (按:我觉得显然应该从功能出发,因为这更不容易出现错误…… 当然可能是思维定势)
- 使用验证场景(Validation Scenarios)检查设计:
- 设计能否满足关键路径场景的变体
- 设计能否满足一些不频繁发生但必要的场景(Necessary use scenarios):不频繁意味着不需要诸如快捷键、用户定制等功能
- 设计能否满足边缘场景(Edge case use scenarios):边缘场景不应该被忽视,但是针对其的设计不应该影响其他场景
按:后面两部分没有很认真的看。
定义视觉设计框架的步骤:
- 开发视觉语言(Visual Language Studies):需要考虑角色的体验目标、产品品牌关键词、以及公司品牌
- 将视觉风格应用到原型
定义工业设计框架的步骤:
- 与交互设计师合作定义产品形态和输入方式
- 开发粗略原型
- 开发形式语言(Form Language Studies)