无模式设计:用不同动作承担不同含义,取消模式本身
别名: 无模式界面 · modeless interface · noun-verb interaction · modelessness
概念解释
无模式设计(modeless design)不是给模式加更好的指示或更快的退出方式,而是从根源上取消"同一动作在不同状态下含义不同"这件事:让不同的含义分别绑定给不同的动作或不同的操作对象,而不是绑定给系统状态。最典型的实现是"先选对象、再选动作"的名词—动词结构:先点选要处理的对象,再点击对应的命令,命令的含义永远只取决于它自己是什么命令,不取决于系统此刻处于哪个状态。这一思路在图形界面早期由 Larry Tesler 等人大力倡导,他本人甚至以"无模式"作为个人标签——因为他认为消灭模式错误最彻底的办法不是治疗模式,而是不要有模式。
机制
模式错误的根源是用户需要在头脑里额外维护一份"当前状态"的记录,这份记录会出错。无模式设计从设计层面直接拆掉了这个记录的存在必要:如果一个动作永远只有一种含义,用户根本不需要在动作前先确认"我在哪个模式",因为这个问题不存在——判断也就无从出错。把命令的含义从"依赖状态"改为"依赖对象"或"依赖动作本身",本质上是把认知负担从用户的工作记忆转移到了界面结构:现在需要区分的是"我选中了什么对象",而这通常有持续可见的视觉反馈(选中框、高亮)陪伴始终,比"我处于什么模式"这种往往缺乏持续显著提示的隐性状态更容易被正确追踪。
怎么研究
比较有模式与无模式两种交互结构下错误率差异的研究,通常让被试在功能等价、只是命令组织方式不同(先选动作后选对象的模式化编辑器,对比先选对象后选动作的无模式化编辑器)的两套系统上完成同类编辑任务,统计误操作次数与恢复所需时间。这类比较研究是无模式设计倡导者最早用来支持"取消模式优于治理模式"这一主张的实证基础,发现无模式结构下的操作错误明显更少,尤其是在任务被打断后恢复操作的场景中——因为恢复后不需要重新确认模式,只需要重新确认选中的对象,而后者通常有更持久的视觉线索。
边界
无模式设计要求命令空间能够被组织成"对象+动作"这种正交结构,如果系统必须支持的操作数量远超过对象类型能承载的区分能力,或者操作对连续性状态(例如正在录制、正在播放)本身就有依赖,完全取消状态是不现实的——录音、录屏这类天然具有时间延展性的功能不可能被压缩成一次性的对象+动作组合。此外,把大量功能都改造成"先选对象再选动作",会拉长每次操作的步骤数,对高频重复性操作(如连续应用同一效果到多个对象)反而降低效率,这时候完全无模式不一定是最优解,可能需要与准模式或显式模式指示配合使用。
怎么落地
在设计命令集合时,优先检查能否把"应用于对象的动作"从"系统所处的状态"里剥离出来:让动作本身或选中的对象决定含义,而不是让一个隐藏的开关决定含义。对于确实需要保留状态性行为的功能(如正在编辑、正在连接),优先用可持续可见的界面元素(边框、指示灯、进度条)承载状态,而不是让它悄悄存在于后台。验证办法:把界面上每一个"同一按钮/手势在不同情况下做不同事"的点列出来,逐条问"能不能改成先选对象再触发这个动作";能做到的记为无模式化候选,统计候选占比与实施后错误率的变化,作为判断这条路径是否值得投入的依据。