注:本文转载自微信官方活动信息发布平台“微信派”。原标题为:《微信的撤回功能是如何“覆水回收”的》。为什么发出去的消息可以轻松撤回,为什么微信撤回消息只能是2分钟?来看看微信团队都是如何考虑的。 一诺千金。古人有云,“一言既出,驷马难追”,一句话说出了口,就是套上四匹骏马拉的车也难追。可见对说出口的话,是多么重视。 可是,人总有说错话的时候,比如: [caption id="attachment_490" align="aligncenter" width="559"][caption id="attachment_38779" align="aligncenter" width="559"] 微信的撤回功能是如何“覆水回收”的?[/caption] 微信的撤回功能是如何“覆水回收”的?[/caption] 为了解决手残星人的烦恼,微信在5.3.1.16版本中上线了“微信撤回”的功能,对于发出2分钟以内的信息提供撤回选项: 用户长按发出的消息(包括图片),在多选中选择撤回。 [caption id="attachment_491" align="aligncenter" width="267"][caption id="attachment_38780" align="aligncenter" width="267"] 微信的撤回功能是如何“覆水回收”的?[/caption] 微信的撤回功能是如何“覆水回收”的?[/caption] 那么问题来了——
| 为什么发出去的消息可以轻松撤回?
在韩剧《来自星星的你》中,为了不让千颂伊看到下意识发出的“表白”短信,wuli都教授可是不惜动用时空穿梭和空间静止两大“杀器”。 [caption id="attachment_492" align="aligncenter" width="581"][caption id="attachment_38781" align="aligncenter" width="581"] 微信的撤回功能是如何“覆水回收”的?[/caption] 微信的撤回功能是如何“覆水回收”的?[/caption] 其实不用羡慕都教授,自从有了微信撤回功能,每个微信用户都可以媲美超能力,轻轻松松撤回消息。 那么,不借助超能力,微信是如何同时从双方手机上实现信息撤回的呢? 以MobleA给MobileB发送消息与消息撤回为例:A.MobileA发送消息时,会在自己的微信客户端上生成全球唯一的UniqueMsgID,并将该UniqueMsgID附带在即将发送的消息体中。 B.MobileB收到消息时,将消息体存储起来,并展示该消息。 C.MoblieA撤回消息时,MobleA知道自己已经发送的每一条消息体的UniqueMsgID,需要撤回哪一条,则将那一条消息的UniqueMsgID附带在撤回命令中。 D.MoblieB收到撤回命令时,根据撤回命令中的UniqueMsgID,在自己的数据库中,寻找对应的消息体,然后予以撤回效果展示。[caption id="attachment_493" align="aligncenter" width="656"][caption id="attachment_38782" align="aligncenter" width="656"] 微信的撤回功能是如何“覆水回收”的?[/caption] 微信的撤回功能是如何“覆水回收”的?[/caption]
| 为什么微信撤回消息只能是2分钟?
移动互联网时代促使人人处于一个信息异步处理的时代,大部分人都会过一段时间才会去处理消息,相比之下,两分钟的时间看上去有点太短了,常常遭遇到想撤回的时候才发现已经超过有效期的窘境。 [caption id="attachment_494" align="aligncenter" width="299"][caption id="attachment_38783" align="aligncenter" width="299"] 微信的撤回功能是如何“覆水回收”的?[/caption] 微信的撤回功能是如何“覆水回收”的?[/caption] 那么,我们需要设定撤回期限吗? 答案无疑是肯定的。在双方对话中,如果不设定撤回时间,就会产生两个危害:A.信息发送后,若不设定撤回时间,对于一些已经发送出去很长时间的信息,则很可能接收方已经看到,发送方再撤回就会使双方关系更尴尬,甚至产生不必要的误会 B.信息发送后,若撤回时间无限制,则发送方可以撤回任意一条历史消息,这将导致对话上下文不完整,影响用户体验。那么撤回时间为何是2分钟?不能更多或更少吗? 对此,微信产品团队进行大数据分析后认为,从信息接收者的角度,2分钟是从接收到阅读一条信息的平均时长。而撤回时间在2分钟内,会最大程度保持上下文完整,给人一种稳重的用户体验。 若短于2分钟,则发布信息者本身可能都来不及意识到信息失误,就已经错过撤回的机会了; 若长于2分钟,则信息被接受者阅读的概率大大提升,发送者也就没有再撤回的必要了。此外,撤回长时间以前发送的信息也会破坏上下文连贯性,严重影响对话体验和效果。 相比设定时间限制,为何不在撤回功能中提示对方已阅呢? 尽管2分钟是从接收到阅读信息的平均时长,但我们都无法获知,接收方到底会在哪一刻阅读到发出的信息,这就会导致撤回功能有时候并不能那么及时,从而陷入了著名的“薛定谔的猫”疑问。 那么,为何微信不在撤回功能中提示对方已读的提示呢?这样信息发送者就可视情况来选择是否撤回了。 如果存在阅读提示的功能,那么接收者就会知道发送者已经知道他看到了对方想要撤回的信息,这种场景会让双方更加尴尬。 更 多的时候,接收者并不想让发送者获知其是否已经阅读了信息,比如常见的员工老板群中,老板发送消息后,若能发现员工已阅读该信息却不回复(比如在约会 等),那么日久天长,老板难免会对员工产生不满情绪。但如果不提示已读未读,老板就不知道员工是否在线,员工也就不用时刻盯着手机了。 这些设置背后的产品理念是,微信不希望给信息的接收者带来压力。相比于发送者和接收者,微信更重视接收者的体验。