微信的撤回功能是如何“覆水回收”的

摘要

一诺千金。古人有云,“一言既出,驷马难追”,一句话说出了口,就是套上四匹骏马拉的车也难追。可见对说出口的话,是多么重视。

一诺千金。古人有云,“一言既出,驷马难追”,一句话说出了口,就是套上四匹骏马拉的车也难追。可见对说出口的话,是多么重视。

可是,人总有说错话的时候,比如:

1469608610-3064-20160727153743731-1614368218

为了解决手残星人的烦恼,微信在 5.3.1.16 版本中上线了“微信撤回”的功能,对于发出 2 分钟以内的信息提供撤回选项:

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

1469608611-5879-20160727153743716-2074661048

那么问题来了——

 为什么发出去的消息可以轻松撤回?

在韩剧《来自星星的你》中,为了不让千颂伊看到下意识发出的“表白”短信,wuli 都教授可是不惜动用时空穿梭和空间静止两大“杀器”。

1469608612-1735-20160727153743638-861639678

其实不用羡慕都教授,自从有了微信撤回功能,每个微信用户都可以媲美超能力,轻轻松松撤回消息。

那么,不借助超能力,微信是如何同时从双方手机上实现信息撤回的呢?

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

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

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

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

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

1469608626-1111-2-20160727153743653-34093316

  为什么微信撤回消息只能是 2 分钟?

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

1469608612-5666-2-20160727153743606-99160417

那么,我们需要设定撤回期限吗?

答案无疑是肯定的。在双方对话中,如果不设定撤回时间,就会产生两个危害

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

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

  那么撤回时间为何是 2 分钟?不能更多或更少吗?

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

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

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

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

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

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

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

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

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

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

既然撤回信息给用户提供了一种后悔,为啥吃完后还要留下“某某撤回了一条消息“的提示“标签“呢?这个设计简直分分钟逼死处女座。

微信的消息撤回有点像邮件的撤回。在发出去的那一刻,其实已经在锁屏处“通知“到对方了,所以很难做到无痕。

苹果手机为例,只要把微信的“通知显示详情“打开,并允许手机显示微信”通知“,那么即使对方撤回的信息,也可以在苹果”通知“上查到:

1469608612-1038-20160727153743606-165172761

既然人人都不是有特异功能的都教授,那么信息发布会一定会留有痕迹,如果接收者收到通知但打开后发现没消息,以为丢失消息,反而要发送者重发一下,这会让双方更加尴尬。

另外,在一些商务谈判或者借贷等特定场合,如果撤回信息无文字提示,则将会导致对方利益收到损失。

比如知乎网友提到的借贷问题:

1469608635-7382-20160727153743778-1660479579

从功能开发角度来说,撤回功能的诞生是为打错别字或者发错人等正常使用场景考虑的。对于那些特殊的场景(比如勾搭妹子、情侣吵架等等),用户在信息发出前还是尽量克制情绪,避免“冲动行事”,以免错过撤回时间,不幸酿成“杯具”。

吼吼,对于那些经常由着性子对男票们说“狠话“的霸(ren)气(xing)妹子们,撤回虽然能及时救场,但使用次数太多,也很容易手残穿帮哟。

  • 版权声明: 本文源自 微信派, 于4个月前,由整理发表,共 2031字。
  • 原文链接:点此查看原文

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: