H8.09.4independent view and edit sessions设计研究

多人同时查看时编辑态的切换不应互相干扰

别名: 独立编辑会话 · 查看不被抢占 · per-user edit mode

概念解释

同一份内容可以被许多人同时打开。其中一个人从查看进入编辑,只应改变自己的表面:他的工具栏出现、他的光标出现。其他人应继续留在查看态,正文不被突然换成带插入条的稿纸,滚动位置不被拽走,更不应被踢出或被迫「跟随」。它管的是多会话下态的独立性。在场光标显示别人在写,是协作预防;这里是自己的查看壳会不会被别人的编辑壳替换掉。

机制

早期协作把文档当成一台投影仪:一个人按了编辑,全房间的视图切到编辑。那是共享窗口,不是共享对象。现代产品里每人有自己的会话,态是会话属性,不是对象属性。若实现把「文档正处于编辑」做成全局标志,后进来的人会直接落入别人的工具栏,正在阅读的人会看到正文跳动、选区被拽走、快捷键突然变成格式化。干扰还有一种更软的形式:跟随模式被默认打开,一个人滚动,所有人的视口跟着走。查看的任务是稳定的页面;别人的编辑态是噪声。独立并不禁止看见别人的光标,而是禁止别人的态改写自己的铬板和视口。

怎么研究

两人同开一份文档。甲进入编辑并滚动、改字。测量乙的模式、滚动位置、是否被弹出。比较:全局编辑锁、默认跟随、完全独立会话。

自变量:编辑态是对象级还是会话级、跟随是否默认、甲的保存是否重载乙的页。 因变量:乙是否被切到编辑、乙的阅读位置是否丢失、乙误以为自己进入了编辑。

实验室两人若共用一台显示器,测到的是共享屏幕。必须分设备。甲若没有写权限,任务不成立。不要把「乙看见甲的光标」算成干扰——那是在场,乙的壳仍应是查看。

边界

结对编程或教师「控制学生屏幕」需要显式的跟随或控制权,默认关闭,开启时双方都要看见「正在被带领」。对象级锁定(同时只允许一人编辑)是另一种产品选择,乙应看到「甲正在编辑,你仍是查看」,而不是自己的壳变成残缺的编辑。演示模式把所有人同步到同一页,那是第三态,进出要自愿。自己的两个标签页是否同步态,是同身份多窗口问题:通常应独立,否则一个标签进入编辑会把另一个正在对照的查看打乱。

怎么落地

  • 把编辑/查看存在会话里,不存在对象的全局标志上。甲进入编辑,乙仍是查看铬板。
  • 跟随、演示、控制权作为显式开关,默认关;开启时双方都有退出。
  • 甲保存或自动保存不要整页刷新乙的查看;乙的滚动和折叠保持。
  • 验证:甲进入编辑并滚到文末改一句。乙应仍在原文位置阅读,没有工具栏,没有被弹出。问乙「你现在能不能改」,答案应与乙自己有没有点编辑一致,而不是跟甲走。

延伸

  • 同组H8.09.1 编辑态与查看态需要有清晰可辨的视觉区分 · H8.09.2 从查看态进入编辑态的入口需要在有权限时才出现 · H8.09.3 编辑中意外退出需要保留草稿而非丢弃改动
  • 相邻H8.07 协作编辑冲突 · V3.04 跟随模式与共同浏览 · V2.01 在场感知
  • 站内检索independent sessions · follow mode · edit mode isolation

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/H8.09.4