古人有云 。“一言既出 。驷马难追 。”可见 。对说出口的话是多么重视 。可是 。人总有说错话的时候啊 。
为了解决这个问题 。微信就有了“撤回”的功能 。对于发出2分钟以内的信息提供撤回选项:

文章插图
用户长按发出的消息(包括图片) 。在菜单中选择撤回 。
那么问题来了……
为什么发出去的消息可以轻松撤回?
微信是如何同时从双方手机上实现信息撤回的呢?
以MobleA给MobileB发送消息与消息撤回为例:
A.MobileA发送消息时 。会在自己的微信客户端上生成全球唯一的UniqueMsgID 。并将该UniqueMsgID附带在即将发送的消息体中 。
B.MobileB收到消息时 。将消息体存储起来 。并展示该消息 。
C.MoblieA撤回消息时 。MobleA知道自己已经发送的每一条消息体的UniqueMsgID 。需要撤回哪一条 。则将那一条消息的UniqueMsgID附带在撤回命令中 。
D.MoblieB收到撤回命令时 。根据撤回命令中的UniqueMsgID 。在自己的数据库中 。寻找对应的消息体 。然后予以撤回效果展示 。

文章插图
为什么微信撤回消息只能是2分钟?移动互联网时代促使人人处于一个信息异步处理的时代 。大部分人都会过一段时间才会去处理消息 。相比之下 。两分钟的时间看上去有点太短了 。常常遭遇到想撤回的时候才发现已经超过有效期的窘境 。
那么 。我们需要设定撤回期限吗?答案无疑是肯定的 。在双方对话中 。如果不设定撤回时间 。就会产生两个危害:
A.信息发送后 。若不设定撤回时间 。对于一些已经发送出去很长时间的信息 。则很可能接收方已经看到 。发送方再撤回就会使双方关系更尴尬 。甚至产生不必要的误会
B.信息发送后 。若撤回时间无限制 。则发送方可以撤回任意一条历史消息 。这将导致对话上下文不完整 。影响用户体验 。
那么撤回时间为何是2分钟?不能更多或更少吗?对此 。微信产品团队进行大数据分析后认为 。从信息接收者的角度 。2分钟是从接收到阅读一条信息的平均时长 。而撤回时间在2分钟内 。会最大程度保持上下文完整 。给人一种稳重的用户体验 。
若短于2分钟 。则发布信息者本身可能都来不及意识到信息失误 。就已经错过撤回的机会了;
若长于2分钟 。则信息被接受者阅读的概率大大提升 。发送者也就没有再撤回的必要了 。此外 。撤回长时间以前发送的信息也会破坏上下文连贯性 。严重影响对话体验和效果 。
相比设定时间限制 。为何不在撤回功能中提示对方已阅呢?尽管2分钟是从接收到阅读信息的平均时长 。但我们都无法获知 。接收方到底会在哪一刻阅读到发出的信息 。这就会导致撤回功能有时候并不能那么及时 。从而陷入了著名的“薛定谔的猫”疑问 。
那么 。为何微信不在撤回功能中提示对方已读的提示呢?这样信息发送者就可视情况来选择是否撤回了 。
如果存在阅读提示的功能 。那么接收者就会知道发送者已经知道他看到了对方想要撤回的信息 。这种场景会让双方更加尴尬 。
更多的时候 。接收者并不想让发送者获知其是否已经阅读了信息 。比如常见的员工老板群中 。老板发送消息后 。若能发现员工已阅读该信息却不回复(比如在约会等) 。那么日久天长 。老板难免会对员工产生不满情绪 。
但如果不提示已读未读 。老板就不知道员工是否在线 。员工也就不用时刻盯着手机了 。
这些设置背后的产品理念是 。微信不希望给信息的接收者带来压力 。相比于发送者和接收者 。微信更重视接收者的体验 。
为何微信撤回信息要出现文字提示?既然撤回信息给用户提供了一种后悔药 。为啥吃完后还要留下“某某撤回了一条消息“的提示呢?
答案是 。如果接收者收到通知但打开后发现没消息 。以为丢失消息 。反而要发送者重发一下 。这会让双方更加尴尬 。
另外 。在一些商务谈判或者借贷等特定场合 。如果撤回信息无文字提示 。则将会导致对方利益收到损失 。
比如知乎网友提到的借贷问题:

文章插图
从功能开发角度来说 。撤回功能的诞生是为打错别字或者发错人等正常使用场景考虑的 。对于那些特殊的场景 。用户在信息发出前还是尽量克制情绪 。避免“冲动行事” 。
- 用了过期的化妆品会怎样
- 减肥吃蒸红薯好还是烤红薯好
- 冬天洗澡时间长会怎样
- 皇帝柑吃多了会怎样
- 皇帝柑的皮怎样制成陈皮
- 微信储值会员卡怎么申请 微信会员卡可以充值吗
- 怎样判断蛋白质摄入是否过量
- 奶茶里的珍珠煮熟后怎样保存
- 如何强开微信微粒贷?微信微粒贷介绍!
- 影视领域,做影视盘点,混剪的,请问下怎样快速找素材?
