C1.24.3Semantics of multi-cursor systems设计

单用户多光标与多用户实时光标承载的语义不同

别名: 单用户多光标 · 实时光标 · 光标语义

概念解释

多个光标不必意味着多人协作。单用户多光标可表示批量编辑的多个插入点、可替代候选或多设备代理;多用户实时光标主要表达远端参与者的注意、位置和即将发生的动作。外观相似但归属、控制权与后果不同,不能用同一套提示含混表达。

机制

单用户多光标通常由同一命令同时驱动,动作应同步、可预测并可整体撤销;多人光标由不同会话独立更新,需显示身份、延迟与并发关系。这两者更本质的差别是本地同步与远端异步:单用户的多个光标全都在本机、同一次事件循环里更新,任意时刻看到的位置就是真实的当前位置;而远端协作者的光标位置要经过一次网络往返才能显示出来,用户此刻看到的"他现在指在这里",实际上是若干毫秒甚至更久以前的位置,这段延迟带来的陈旧性是本地多光标完全不存在的。这也是为什么把远端光标的位置当成可以拿来做精确对齐、吸附参考的可靠依据是危险的——它随时可能已经过期,而本地批量光标因为同步,可以放心用来做这类精确对齐。

边界

两类情形可以在同一产品共存,例如协作文档中的每人多插入点,但这更需要明确层级。共享颜色、相同光标形状或同一撤销语义都可能掩盖关键差异;不要仅凭"数量大于一"设计交互。

怎么落地

  • 明确标示光标归属、是否可直接控制,以及动作是同步批量还是远端预览。
  • 为单用户集合提供整体选择、范围提示和可预测撤销,可以放心用它们做精确的本地对齐参考。
  • 验证办法:检查界面里是否有功能把远端协作者的光标位置当成实时精确坐标使用(比如吸附对齐),如果有,测试在人为制造的网络延迟下这个功能是否会因为位置陈旧而产生错误的对齐结果。

延伸

  • 同组C1.24.1 多光标场景下每个光标需要视觉上可区分的身份标记 · C1.24.2 多用户同时操作同一区域需要仲裁规则决定谁的动作生效 · C1.24.4 光标数量增加会稀释单一光标本可承载的状态信息
  • 相邻R1 协作与多用户交互 · E1 界面元素与控件
  • 站内检索multiple cursors · remote presence · batch editing

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/C1.24.3