A10.02.1Mode (interaction design)设计研究

模式:同一操作在不同状态下产生不同结果

别名: 模式 · mode · moded interface · 状态相关操作

概念解释

模式(mode)指一种系统设计安排:同一个物理动作——同一个按键、同一次点击、同一条手势——在系统的不同状态下被解释成不同的命令,产生不同的结果。这与"设置"不同:设置改变的是参数取值,模式改变的是动作到含义的映射本身。经典例子是早期文本编辑器里的字母键——处于插入状态时输入字符,处于命令状态时被解释成编辑指令,同一次按键因为所处状态不同而做完全不同的事。模式不是天生的设计缺陷,而是有限的物理输入通道(键盘按键数量、屏幕能容纳的手势种类)应对远大于它的命令集合时的一种复用方案。

机制

系统要表达的命令数量通常远超过可用的物理控件数量,复用因此是必然选择:把同一个按键、同一种手势派给多个功能,唯一的办法是让它的含义依赖当前所处的状态,模式由此产生——它不是设计者的疏忽,而是控件稀缺性逼出的结构性安排。代价随之而来:一旦引入模式,用户就必须在头脑里维护一份与系统实际状态同步的记录,随时回答"我现在处于哪个状态",而这份记录会随时间流逝、随其他任务的插入而与真实状态脱节。这份记录脱节的那一刻,就是模式错误可能发生的入口;错误具体如何被触发是另一层更具体的成因问题,这里要确立的是:模式一旦存在,就已经在用户认知上开了一本需要持续维护的账。

怎么研究

判断一个系统里究竟存在多少个模式点,常用做法是把界面行为画成状态转移图:列出每个输入事件(按键、点击、手势),检查它在图中从不同状态节点出发时是否指向不同的动作后果。只要同一个输入事件在两个不同状态节点上指向不同后果,该输入点就构成一个模式。这种系统性排查方式来自人机系统的形式化规格描述与验证工作,比逐屏目测更容易发现分散在界面深处、不属于核心工作流、评审时很少被反复打开的角落模式点。

边界

不是所有随情境变化的行为都构成需要警惕的模式。如果行为差异在使用当下就被清楚摆在眼前——例如某个菜单在不同页面下可见地换了一套选项标签,且用户刚刚是主动进入这个情境的——错误风险就很低,因为不存在一份需要跨越时间维持的"当前状态"记忆。模式真正变得危险,是当状态会在其他动作、其他任务、时间流逝之后依然持续存在,用户对状态的记忆才有机会与系统的真实状态错开。

怎么落地

评审一个已有或在建的界面时,逐一列出所有会响应同一按键、同一手势或同一控件位置的地方,检查在不同状态下它是否指向不同结果;只要指向不同结果,就把这个点登记为一个模式点,纳入后续的指示、退出与回退设计逐条核对。验证办法:让测试者连续完成两个任务,在两者之间人为插入一次会切换状态的操作,观察测试者恢复到第一个任务时是否仍按切换前的状态含义去操作那个共享控件——如果发生了,说明这个模式点还没有被充分暴露给用户。

延伸

  • 同组A10.02.2 模式错误的成因是用户与系统对当前模式的判断不一致 · A10.02.8 隐性模式的常见来源:大写锁定、输入法状态、编辑与浏览态
  • 相邻A10.01 失误与错误的区分(模式错误在该分类里属于"错误"而非"失误")
  • 站内检索mode · mode error · moded interface

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/A10.02.1