叨唠两句

看了眼上篇内容写作时间,恍恍忽已过一月有余。抛去“加班多”等借口,剩下的无非是大写的“懒”字一个。
所幸马马虎虎算是“细读”了本书,得了空便记一记:或内容整理;或借题发挥;或感触罢了…

关于《About Face 4》(《交互设计精髓4》)

豆瓣链接:https://book.douban.com/subject/26642302/

这本书内容大致可以分为三个主题:

  • 设计原则
  • 设计模式
  • 设计过程

从整体上,这本书更类似于软件工程的敏捷实践。结合三个主题可以得出以下图:
image.png
从相似性来看,交互设计的工程自动化潜力也是一个值得思考的方向。

交互设计

复杂行为产品催生出交互设计学科。交互设计借鉴传统设计、可用性以及工程学科的理论和技术。但同时又有自己的方法和实践。

交互设计和用户界面设计

交互设计是一门设计学科。在一些场合,交互设计被认为等同于“用户界面设计”。用户界面设计应属于软件设计学科,以软件工程为焦点。而交互设计的焦点则是:如何设计行为。

交互设计和用户体验设计

用户体验(UX)设计有三个重叠的关注点:形态、行为和内容。交互设计的重点是行为设计,但也会关注行为与形态和内容之间的关联。

目标导向设计

实现模型和心理模型

实现模型是针对于软件/产品实现机制来讲。
心理模型(mental model)或者概念模型(conceptual model)是针对于用户使用产品的“感受”。
实现模型和心理模型的差异会非常大。用户了解具体的实现细节可能并不会对使用产品有太大帮助。
拿前端上滑渐变动画来讲,用户理解的是完整页面的自变化,而背后的实现却是多个可单一变化的片段组合而成。
很显然,用户界面的设计应基于用户心理模型,而非实现模型。

设计过程

  • 研究
    寻找行为模式
  • 建模
    人物模型:用户模型、客户模型
  • 需求定义
    情景场景剧本
  • 设计框架
    • 元素
    • 用户体验整体框架:导航序列、原则、流程、对象关系等
      基于模式的自上而下设计+基于原则的自下而上设计
    • 关键路径和验证场景
  • 设计细节

整体过程主要强调:

  • 目标
    设计是为了目标
    用户目标按照《情景化设计》可以划分为体验目标、最终目标、人生目标
    根据是否客户又可以分为客户目标、用户目标
  • 场景
    基于场景的设计

定性分析和定量分析

人类行为的复杂性无法依赖定量数据来理解,但是定性研究可以真实反映人类现实情况的复杂性。
定量分析有焦点小组、市场调研、消费心态学和行为变量等
定量分析可以帮助发现问题,进而指导定性分析设计,通过得到的行为模型再次反促进定量分析

在定性分析中,采取更多的是焦点小组、访谈等形式,也是建立人物模型假设的过程。
访谈方向可参考:

  • 目标导向:那些事是最重要的?
  • 系统导向:使用产品最多做的事情是什么?
  • 工程流程导向:早起第一件事是什么?之后?
  • 态度导向:不愿意做什么?

其次可使用的形式有可用性测试。
可用性测试的重点是衡量用户完成具体的、标准的任务的好坏程度,以及在此过程中遇到的问题。

人物模型

人物模型的作用更多的是统一设计流程中的对象,焦点和出发点。可类比为BPMN之于BPM,UML之于后端。
人物模型是针对具体情境的行为模式及具体动机或目标之上的合成模型。同时也有着可以转化各种角色用户的原型能力。
好处也是显而易见,以下问题经常遇到:

  • 弹性用户
  • 自我参考设计
    大家都是从自我的“用户”出发
  • 边缘功能设计
    边缘情况的过度考虑

设计行为和形式

设计原则与设计模式

设计原则(design principles)为设计有用而令人期待的产品、系统和服务提供向导。
设计模式(design patterns)则针对某些具体的设计问题给出一般方案。譬如针对结构模式,ios经典的用户界面结构等等。
交互设计原则大致可以分为:

  • 概念原则
  • 行为原则
  • 界面原则

媒介等同

之前从社会学的角度类比推导人和系统的交互是否可以构建成人和人的交互形式。而《媒介等同》这本书则直接从交互的角度发现了一些有趣的现象:人对待计算机以及其他交互产品之间的态度和反应方式如同人和人的交往。
人和人交往有被动与主动、脾气与性格、消极与积极、奖励和惩罚……
举个例子,人们对软件恣意收集个人信息并提供给其他产品时的厌恶感不正是被朋友大嘴巴子说给别人听的感受吗?
书中关于人对具有复杂交互性的产品/计算机等时的反应设定为出于本能的无意识行为。基于这点,一方面我们在设计交互时参考“拟人化”的方向来强化此类本能反应,这个也是交互发展过程中“拟物化”遇到的瓶颈问题。另外一方面我们也可用适用人的行为标准来定义计算机,定义产品,反过来验证产品的交互性能力。
关于第二点,后续会专门出一篇文章来详细推导和应用。

中级用户

书中关于中级用户的表达和描述个人还是非常赞同的。软件所能承载和留存的用户,按照熟悉程度/使用频率等大致可以划分为:新手用户、中级用户、专家用户。而三者的分配占比大部分也是符合正态分布曲线。那么对于一个正常的产品,留住中级用户,保持中级用户的粘性才是生存下去的必要条件。
基于这点,快速引导新手用户转变成中级用户则显得比较重要。交互上则需要兼顾新手用户的上手门槛,中级用户的方便使用和能力满足,不拒绝专家用户的诉求。

“负担”

这一部分恰好可以降低上面的新手用户门槛。
用户在使用产品时,会执行以下几类工作:

  • 认知工作——理解产品的行为、文本以及组织结构等
  • 记忆工作——记忆命令、密码,位置等
  • 视觉工作——从界面查找位置等
  • 肢体工作——点击鼠标等

书中提供一个点:将负担任务转变成目标导向任务。本质上其实是要求系统/产品变得聪明一些。
而负担又大致有以下:

  • 导航负担
  • 拟物化负担
    需要恰当地映射功能
  • 模态负担

交互设计的后隐喻时代

界面范式有三类:

  • 实现中心范式
  • 隐喻范式
  • 习惯用法范式

实现中心就不用多说了,完全就是基于实现模型而非用户心理模型的交互设计,早已成为过去时。
隐喻则需要人类的两种能力:本能和推理。譬如windows系统的文件夹,对于用户来讲是易于理解的,毕竟有现实生活的经验可以参考推理。但针对多重深度文件的查找情景是否适合,恐怕另当别论了。

撤销

这个点是挺有意思的一个主题。撤销肯定是有必要的一个功能,那么如何设计一个系统的撤销能力?
撤销的主体是用户的执行操作,用户的执行操作有可分为数据部分和过程部分。书中将包含数据的操作定义为渐增操作,过程部分定义为过程操作。
那么在设计撤销功能的时候就要考虑:

  • 是否要区分过程操作和渐增操作?
  • 是否要支持单步操作?
  • 是否要支持分组撤销?
  • 撤销结果是否要解释/通知用户?

视觉设计

视觉设计关注的是如何处理和安排可视元素,传达行为和信息。聚焦在清晰沟通。
视觉可操控的元素无非:大小、颜色、形状、方向、位置、纹理
从视觉界面角度:

  • 厘清视觉层次(视觉结构和流)——引入网格系统(模块化)等
  • 保持简单——界面在视觉上是高效的

从视觉信息角度:

  • 区域信息整合——内容的质量、相关性和完整性

设计模式

设计模式这一部分,书中针对桌面,移动设备,网页,控件几个主题较为详细的讲解。
对于前端来讲,则是针对页面元素的交互角度分类。整理之后大致如下:
image.png