F1.06.1muscle memory设计研究

位置变动会废掉已形成的肌肉记忆

别名: 位置记忆 · positional constancy · 动作程序

概念解释

用了三个月的工具栏里,「加粗」一直在从左数第三个。某次改版把它和「斜体」对调,手指仍点原位,于是一篇文档被批量斜体。人不是没看见新图标,是手已经先按下去了。肌肉记忆(muscle memory)把高频控件编码成一个坐标或一个槽位,而不是每次去读标签。位置一改,旧程序还在跑,点到的是现在占着那个槽的别人。

这是已经形成之后被拆掉,不是从未形成。

机制

重复足够多次之后,选择不再走视觉搜索,而走动作程序:手从当前停驻点走到一个被记住的相对位置。程序绑定的是槽,不是语义。改版如果只换了槽里的内容,程序会诚实地执行,把新内容当成旧命令。这是 Reason 所说的疏忽性失误(slip):意图仍是加粗,动作落在了斜体上。

越是不看屏幕、赶时间、或同时在说话,程序越会先于阅读触发。所以改位置对专家的伤害大于新手——新手还在读标签,专家的手已经出发。

怎么研究

先让人在稳定布局里把同一动作做到自动化(反应时下降、注视不再落到标签上),再把目标与邻居对调,测随后若干次试验。

自变量:对调前的练习次数、对调的是相邻还是跨区、改版时有无动画或标记提示。 因变量:点到旧槽位的次数、第一次成功命中新位置的时间、注视是否重新回到标签。

关键是确认自动化已经发生再去拆:若练习不足,测到的只是一次重新学习,不是记忆被废。

边界

很少使用的入口没有程序可废,挪动几乎无感。用户主动拖动的自定义布局是他们自己写的程序,产品更新不应覆盖。跨设备同步如果把手机的槽位套到桌面,两套程序会互相污染。改的是视觉样式而坐标没变(图标换皮、颜色改)时,程序通常还能命中,这条不涉及。

怎么落地

  • 高频控件的槽位一旦发布,就当作公共 API:新增入口往空位加,不插入到已有高频项中间把后面的槽位全部右移。
  • 非改不可时,让旧槽在一到两个版本里留一块「已移动」的残影或跳转,而不是当场对调。
  • 工具栏重排、底栏改图标顺序、设置页把常用项挪到别的分组,都要按「会不会废掉槽位」审一遍。
  • 验证:找已经能盲点该控件的人,改版后让他们立刻做一次,不给阅读时间。手还落在旧槽,就是记忆被废掉的现场。

延伸

  • 同组F1.06.2 动态排序的入口无法被自动化操作 · F1.06.3 位置稳定优先于排序最优
  • 相邻F1.14 位置的语义惯例 · F1.03 就近原则与视线跳转
  • 站内检索muscle memory · positional constancy · slip

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/F1.06.1