多人冲突需要仲裁规则
别名: 多人冲突 · 控制权仲裁 · concurrent display conflict
概念解释
两个人对同一块公共屏发出不相容的指令——一个要翻页,一个要停;两只手抓同一张图往反方向拉——系统必须按事先说得清的规则选出下一步,否则物理上更用力、更快连点的人会赢。冲突仲裁(conflict arbitration)是那条可见的规则,以及规则被执行时在场的人能否看出「为什么是这个结果」。它假定输入已经能分出是谁的;没有归属,冲突只表现为画面乱跳。
机制
公共屏是一份不可分割的像素。桌面上的窗口可以每人一块,墙上的主内容往往只有一份:地图的中心、视频的进度、菜单的当前页。不相容操作在物理上不能同时成真,于是必然有人的意图被丢掉。若丢掉的方式是「后写覆盖」或「触点多的一方赢」,规则存在,只是没被宣布,人会当成故障或当成被抢。
可见的仲裁把丢掉变成协调资源。轮流、锁定、空间分区、主客角色,都是在告诉后来者:现在不是你可以改全局的窗口。没有这层,人们会用身体仲裁——挡、挤、把别人的手拨开——社交成本从界面转移到胳膊肘。CityWall 一类部署里,并行之所以还能工作,往往是因为内容可被拆成多份对象,全局冲突被局部化了;一旦只剩一个全局对象,仲裁就从可选项变成必需。
怎么研究
设两个参与者做必须冲突的任务:同一时间轴、同一视口、同一可拖对象,比较无规则(后写覆盖)、显式锁定、分区、轮流。编码口头协商、身体挤占、放弃。桌面 CSCW 的锁定与乐观并发文献提供对照,但公共屏的参与者常常是陌生人、没有共同目标,协商通道更短。
自变量:仲裁策略(覆盖 / 锁 / 分区 / 轮流)、规则是否在界面上可见、冲突对象是全局还是可分裂的局部。 因变量:任务完成、冲突事件中的身体干预、事后能否说出「刚才为什么听他的」、放弃率。
实验室配对会过早礼貌让路,把仲裁需求测低。实地里要抓真正的双人同时上手,而不是连续的单人会话。不要把「很少冲突」读成「不需要规则」——那可能是因为第二个人根本没敢上手。
边界
内容天生可分裂(每人一张照片、各自的游戏角色)时,全局仲裁几乎用不上,局部归属就够。一人主导、他人围观的导览,冲突应由角色决定,而不是由触点速度决定。紧急信息、告警覆盖必须能压过正在进行的玩耍,这时「正在用的人说了算」会成为安全问题。网络延迟下的远程第二用户,仲裁还要处理过时的操作,那是另一套一致性问题。
怎么落地
- 在设计全局对象(整屏翻页、唯一视频、唯一地图中心)之前先写明冲突时谁赢,并把结果画出来:锁、轮到谁、哪一区属于哪个人。
- 能拆的内容拆成多份对象,让冲突局部化;只把必须唯一的状态留在全局层。
- 后写覆盖若被选用,也要让被覆盖的一方看见自己的操作被谁打断,避免被当成随机失灵。
- 验证:安排两人同时去做不相容的事,看结果是否符合事先写下的规则,以及被否决的一方是否理解原因。理解不了或改用胳膊肘,规则就还没进入界面。