C3.05.3Reverse-swipe undo设计研究
轻扫触发的动作应可被反向轻扫撤销
别名: 反向轻扫 · swipe back · 手势撤销
概念解释
轻扫在抬起时提交,没有按下态那种“滑出去就取消”的第二步。人发现翻错页、卡片划走了,下一步最符合运动记忆的补救是沿反方向再扫一次。若正向轻扫能做的事,反向做不到或做到的是完全不相干的命令,这条手势就变成单向闸门。这里说的是命令层的可逆,不是列表行滑出按钮之后的删除确认。
机制
弹道动作的纠错来自对称:肌肉记得刚才的方向,反向发力成本最低。分页、故事流、卡片堆把状态做成一条轴,正向和反向只是在轴上走一步。若正向是“下一则”而反向被系统拿去当“关闭整个模块”或“打开侧栏”,对称被打破,纠错必须改去找按钮。轻扫又很快,误触发在抬起前几乎看不清预览;可逆性因此不是锦上添花,而是把“提交过早”从灾难降成一步往返。不可逆后果(付账、发送、彻底删)根本不该绑在轻扫上,那是后果等级问题;即便绑了,反向轻扫也救不回来,必须另做撤销栈。
怎么研究
设计会故意被误翻的分页任务,比较“反向轻扫可退回”与“只能点左上角返回”。因变量包括纠错时间、错误停留时长、以及被试是否尝试反向。再加一种条件:反向被映射成无关命令,看误伤率。眼动意义不大,关键是抬起后 500 毫秒内的第二次手势方向。现场日志里若大量出现“正向轻扫紧接反向轻扫”,说明人已经把对称当成撤销协议。
边界
单向流程(向左归档、向上标记完成)没有自然的反向语义,这时应提供明确的撤销条,而不是发明一个没人知道的反向命令。循环木马在最后一页再正向,会回到第一页,反向就不再等于撤销“刚才那一下”,而等于走另一条环。跨页带有加载副作用的轻扫(已向服务器提交已读)反向只能改本地视图,服务器状态需要单独的撤销接口。
怎么落地
- 把轻扫状态放在一条轴上:下一页 / 上一页、下一则 / 上一则,正反成对,并在滑动过程中让邻页露出,使人在抬起前还能改方向。
- 不要把反向槽位卖给无关功能;无关功能走按钮。不可逆操作不要用轻扫提交。
- 请人快速连翻三页再“回到刚才那一页”,只允许用手势。若他们找按钮或反向扫出了侧栏,说明对称没建立。日志里统计正反成对出现的间隔,短于一秒的对应视为纠错。