从地铁闸机看产品的中断设计
作为一个打工人,免不了每天坐地铁通勤,一线城市人口众多,上下班高峰都要排队过安检、过闸机,久而久之就发现有些人过机会停顿一下,有些人就会与前面的人无缝衔接。好奇地观察了一段时间,发现停顿的人基本都是在等前一个人过机后闸门关闭再刷卡,才明白过来:原来有人不知道地铁闸机是不用等闸门关闭也可以直接刷卡通过的。
其实不仅仅是地铁闸机,很多产品都会有处理流程中断机制。也就是在某些时刻,有新的指令进来的时候就中断当前的处理流程,直接转入指令所指向的流程。这种机制特别适合用在地铁闸机这样的用户场景。应用这种机制的一个重要因素是被中断的流程不会对用户操作或者系统、业务产生负面影响,相反,应该要起到优化业务流程、优化系统运行效率的作用。
先来算一项数字:
假设地铁闸机从刷卡 - 打开 - 监测到人员通过 - 关闭闸机 - 进入接收下一个刷卡指令状态,这样一个过程需要5秒,为了人员安全,通常从人员通过到关闭闸机的时间会稍微长一点,假设为3秒。在上下班高峰这样的人流量之下,这样的人均耗时明显是会对运力产生很大影响的。
如果不等闸机关闭,一个接一个地连续刷卡通过,则每个人平均节省2~3秒(目测估算的时间),对于每天上百万人流量的地铁站来说,提高的效率不只是一点点,特别是上下班高峰排队的时候,前面10来个人为你节省了十多二十秒,说不定就能赶上早一班车。所以允许闸机未关闭就接收下一个刷卡指令显得非常重要。
没有对流程做中断处理的例子也同样存在:是否留意到某些大厦的红外线体温计,当连续有人通过时会不停地发出“体温正常”语音。即使一大群人早已经走到电梯口等电梯了,它还是在勤勤恳恳不停地播着“体温正常”,直到播放的次数与刚刚通过的人数相等。
何时应用中断,就要看具体用户场景,有些流程在结束之前是不能被打断或者再次触发的,就要注意控制好触发入口。最常见就是按钮按下后,就应该先锁定按钮,等按钮所指向的流程完结后再解锁按钮,否则容易导致用户误操作带来重复执行的问题。
- 点赞
- 收藏
- 关注作者
评论(0)