在韩剧《来自星星的你》中,为了不让千颂伊看到下意识发出的“表白”短信,wuli都教授可是不惜动用时空穿梭和空间静止两大“杀器”。 其实不用羡慕都教授,自从有了微信撤回功能,每个微信用户都可以媲美超能力,轻轻松松撤回消息。
那么,不借助超能力,微信是如何同时从双方手机上实现信息撤回的呢?
以Moble A给Mobile B发送消息与消息撤回为例:
A.MobileA发送消息时,会在自己的微信客户端上生成全球唯一的UniqueMsgID,并将该UniqueMsgID附带在即将发送的消息体中。
B.MobileB收到消息时,将消息体存储起来,并展示该消息。
C.MoblieA撤回消息时,MobleA知道自己已经发送的每一条消息体的UniqueMsgID,需要撤回哪一条,则将那一条消息的UniqueMsgID附带在撤回命令中。
D.MoblieB收到撤回命令时,根据撤回命令中的UniqueMsgID,在自己的数据库中,寻找对应的消息体,然后予以撤回效果展示。 为什么微信撤回消息只能是2分钟?
移动互联网时代促使人人处于一个信息异步处理的时代,大部分人都会过一段时间才会去处理消息,相比之下,两分钟的时间看上去有点太短了,常常遭遇到想撤回的时候才发现已经超过有效期的窘境。 那么,我们需要设定撤回期限吗?答案无疑是肯定的。
在双方对话中,如果不设定撤回时间,就会产生两个危害:
A.信息发送后,若不设定撤回时间,对于一些已经发送出去很长时间的信息,则很可能接收方已经看到,发送方再撤回就会使双方关系更尴尬,甚至产生不必要的误会
B.信息发送后,若撤回时间无限制,则发送方可以撤回任意一条历史消息,这将导致对话上下文不完整,影响用户体验。
那么撤回时间为何是2分钟?不能更多或更少吗?
对此,微信产品团队进行大数据分析后认为,从信息接收者的角度,2分钟是从接收到阅读一条信息的平均时长。而撤回时间在2分钟内,会最大程度保持上下文完整,给人一种稳重的用户体验。
若短于2分钟,则发布信息者本身可能都来不及意识到信息失误,就已经错过撤回的机会了;
若长于2分钟,则信息被接受者阅读的概率大大提升,发送者也就没有再撤回的必要了。此外,撤回长时间以前发送的信息也会破坏上下文连贯性,严重影响对话体验和效果。
|