古人有云,“一言既出,驷马难追。”可见,对说出口的话是多么重视。可是,人总有说错话的时候啊~


为了解决这个问题,微信就有了“撤回”的功能,对于发出2分钟以内的信息提供撤回选项:

为什么微信消息都可以撤回(为什么微信消息只能在2分钟之内撤回)(1)

用户长按发出的消息(包括图片),在菜单中选择撤回。

那么问题来了……为什么发出去的消息可以轻松撤回?微信是如何同时从双方手机上实现信息撤回的呢?

以MobleA给MobileB发送消息与消息撤回为例:

A.MobileA发送消息时,会在自己的微信客户端上生成全球唯一的UniqueMsgID,并将该UniqueMsgID附带在即将发送的消息体中。


B.MobileB收到消息时,将消息体存储起来,并展示该消息。


C.MoblieA撤回消息时,MobleA知道自己已经发送的每一条消息体的UniqueMsgID,需要撤回哪一条,则将那一条消息的UniqueMsgID附带在撤回命令中。


D.MoblieB收到撤回命令时,根据撤回命令中的UniqueMsgID,在自己的数据库中,寻找对应的消息体,然后予以撤回效果展示。

为什么微信消息都可以撤回(为什么微信消息只能在2分钟之内撤回)(2)

为什么要设定撤回期限?

移动互联网时代促使人人处于一个信息异步处理的时代,大部分人都会过一段时间才会去处理消息,相比之下,两分钟的时间看上去有点太短了,常常遭遇到想撤回的时候才发现已经超过有效期的窘境。

那么,我们需要设定撤回期限吗?答案无疑是肯定的。在双方对话中,如果不设定撤回时间,就会产生两个危害:

A.信息发送后,若不设定撤回时间,对于一些已经发送出去很长时间的信息,则很可能接收方已经看到,发送方再撤回就会使双方关系更尴尬,甚至产生不必要的误会


B.信息发送后,若撤回时间无限制,则发送方可以撤回任意一条历史消息,这将导致对话上下文不完整,影响用户体验。

为什么微信消息都可以撤回(为什么微信消息只能在2分钟之内撤回)(3)

撤回时间为何设定为2分钟?不能更多或更少吗?

对此,微信产品团队进行大数据分析后认为,从信息接收者的角度,2分钟是从接收到阅读一条信息的平均时长。而撤回时间在2分钟内,会最大程度保持上下文完整,给人一种稳重的用户体验。

若短于2分钟,则发布信息者本身可能都来不及意识到信息失误,就已经错过撤回的机会了;


若长于2分钟,则信息被接受者阅读的概率大大提升,发送者也就没有再撤回的必要了。此外,撤回长时间以前发送的信息也会破坏上下文连贯性,严重影响对话体验和效果。

相比设定时间限制,为何不在撤回功能中提示对方已阅呢?

尽管2分钟是从接收到阅读信息的平均时长,但我们都无法获知,接收方到底会在哪一刻阅读到发出的信息,这就会导致撤回功能有时候并不能那么及时。

那么,为何微信不在撤回功能中提示对方已读的提示呢?这样信息发送者就可视情况来选择是否撤回了。

如果存在阅读提示的功能,那么接收者就会知道发送者已经知道他看到了对方想要撤回的信息,这种场景会让双方更加尴尬。

为什么微信消息都可以撤回(为什么微信消息只能在2分钟之内撤回)(4)

更多的时候,接收者并不想让发送者获知其是否已经阅读了信息,比如常见的员工老板群中,老板发送消息后,若能发现员工已阅读该信息却不回复(比如在约会等),那么日久天长,老板难免会对员工产生不满情绪。

这些设置背后的产品理念是,微信不希望给信息的接收者带来压力。相比于发送者和接收者,微信更重视接收者的体验。

为何微信撤回信息要出现文字提示?

既然撤回信息给用户提供了一种后悔药,为啥吃完后还要留下“某某撤回了一条消息”的提示呢?

答案是,如果接收者收到通知但打开后发现没消息,以为丢失消息,反而要发送者重发一下,这会让双方更加尴尬。另外,在一些商务谈判或者借贷等特定场合,如果撤回信息无文字提示,则将会导致对方利益收到损失。

从功能开发角度来说,撤回功能的诞生是为打错别字或者发错人等正常使用场景考虑的。对于那些特殊的场景,用户在信息发出前还是尽量克制情绪,避免“冲动行事”。

所以微信设置文字撤回提示,不仅为接收者留下一丝遐想,更时刻提醒着那些“爱撤回”的使用者,相比过度滥用功能,更要敢于对自己说出的话语负责呀。


来源:科普中国,综合微信派、广州日报

,