古人有云,“一言既出,驷马难追”,可见对说出口的话,是多么重视。
可是,人总有说错话的时候啊!
为了解决“手滑”的烦恼,微信在 5.3.1.16 版本中上线了“微信撤回”的功能,对于发出 2 分钟以内的信息提供撤回选项↓↓↓
用户长按发出的消息(包括图片),在多选中选择撤回。
那么问题来了……
为什么发出的消息可以轻松撤回?
在韩剧《来自星星的你》中,为了不让千颂伊看到下意识发出的“表白”短信,wuli 都教授可是不惜动用时空穿梭和空间静止两大“杀器”。
其实不用羡慕都教授,自从有了微信撤回功能,每个微信用户都可以媲美超能力,轻轻松松撤回消息。
那么,不借助超能力,微信是如何同时从双方手机上实现信息撤回的呢?
以 MobileA 给 MobileB 发送消息与消息撤回为例:
A、MobileA 发送消息时,会在自己的微信客户端上生成全球唯一的 UniqueMsgID,并将该 UniqueMsgID 附带在即将发送的消息体中。
B、MobileB 收到消息时,将消息体存储起来,并展示该消息。
C、MobileA 撤回消息时,MobileA 知道自己已经发送的每一条消息体的 UniqueMsgID,需要撤回哪一条,则将那一条消息的 UniqueMsgID 附带在撤回命令中。
D、MobileB 收到撤回命令时,根据撤回命令中的 UniqueMsgID,在自己的数据库中,寻找对应的消息体,然后予以撤回效果展示。
为什么微信撤回消息只能是 2 分钟?
移动互联网时代促使人人处于一个信息异步处理的时代,大部分人都会过一段时间才会去处理消息,相比之下,两分钟的时间看上去有点太短了,常常遭遇到想撤回的时候才发现已经超过有效期的窘境。
那么,我们需要设定撤回期限吗?答案无疑是肯定的。
在双方对话中,如果不设定撤回时间,就会产生两个危害:
A、信息发送后,若不设定撤回时间,对于一些已经发送出去很长时间的信息,则很可能接收方已经看到,发送方再撤回就会使双方关系更尴尬,甚至产生不必要的误会。
B、信息发送后,若撤回时间无限制,则发送方可以撤回任意一条历史消息,这将导致对话上下文不完整,影响用户体验。
那么撤回时间为何是 2 分钟?不能更多或更少吗?
对此,微信产品团队进行大数据分析后认为,从信息接收者的角度,2 分钟是从接收到阅读一条信息的平均时长,而撤回时间在 2 分钟内,会最大程度保持上下文完整,给人一种稳重的用户体验。
若短于 2 分钟,则发布信息者本身可能都来不及意识到信息失误,就已经错过撤回的机会了;
若长于 2 分钟,则信息被接受者阅读的概率大大提升,发送者也就没有再撤回的必要了,而且撤回长时间以前发送的信息也会破坏上下文连贯性,严重影响对话体验和效果。
相比设定时间限制,为何不在撤回功能中提示对方已阅呢?
尽管 2 分钟是从接收到阅读信息的平均时长,但我们都无法获知,接收方到底会在哪一刻阅读到发出的信息,这就会导致撤回功能有时候并不能那么及时,从而陷入了著名的“薛定谔的猫”疑问。
那么,为何微信不在撤回功能中提示对方已读的提示呢?这样信息发送者就可视情况来选择是否撤回了。
如果存在阅读提示的功能,那么接收者就会知道发送者已经知道他看到了对方想要撤回的信息,这种场景会让双方更加尴尬。
更多的时候,接收者并不想让发送者获知其是否已经阅读了信息,比如常见的员工老板群中,老板发送消息后,若能发现员工已阅读该信息却不回复(比如在约会等),那么日久天长,老板难免会对员工产生不满情绪。
但如果不提示已读未读,老板就不知道员工是否在线,员工也就不用时刻盯着手机了。
这些设置背后的产品理念是,微信不希望给信息的接收者带来压力。相比于发送者和接收者,微信更重视接收者的体验。
为何微信撤回信息要出现文字提示
既然撤回信息给用户提供了一种后悔药,为啥吃完后还要留下“某某撤回了一条消息“的提示“标签“呢?
微信的消息撤回有点像邮件的撤回。在发出去的那一刻,其实已经在锁屏处“通知“到对方了,所以很难做到无痕。
以苹果手机为例,只要把微信的“通知显示详情“打开,并允许手机显示微信“通知”,那么即使对方撤回的信息,也可以在苹果手机“通知”上查到:
既然人人都不是有特异功能的都教授,那么信息发布会一定会留有痕迹,如果接收者收到通知但打开后发现没消息,以为丢失消息,反而要发送者重发一下,这会让双方更加尴尬。
另外,在一些商务谈判或者借贷等特定场合,如果撤回信息无文字提示,则将会导致对方利益受到损失。
比如知乎网友提到的借贷问题:
从功能开发角度来说,撤回功能的诞生是为打错别字或者发错人等正常使用场景考虑的。
对于那些特殊的场景(比如情侣吵架等等),用户在信息发出前还是尽量克制情绪,避免“冲动行事”,以免错过撤回时间,不幸酿成“杯具”。