为什么微信撤回消息限制2分钟之内?不能多给几分钟吗?答案并不简单

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

 

[[418841]]

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

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

那么问题来了……

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

微信是如何同时从双方手机上实现信息撤回的呢?

以Moble A给Mobile B发送消息与消息撤回为例:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[[418843]]

网络图片

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

但如果不提示已读未读,老板就不知道员工是否在线,员工也就不用时刻盯着手机了。

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

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

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

答案是,如果接收者收到通知但打开后发现没消息,以为丢失消息,反而要发送者重发一下,这会让双方更加尴尬。

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

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

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

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

责任编辑:庞桂玉 来源: 搜狐
相关推荐

2017-10-26 11:36:46

微信撤回消息

2013-07-02 09:58:38

ClojureClojure教程

2016-09-30 15:13:01

Python代码

2015-01-13 13:57:52

2020-08-14 13:00:02

微信拍一拍移动应用

2020-04-30 21:46:46

机器学习病毒数据

2009-12-29 09:01:46

ADSL断线

2018-01-08 16:19:04

微信程序轮播图

2017-03-16 08:46:57

延时消息环形队列数据结构

2010-03-01 18:13:22

Python程序

2010-02-23 14:19:30

Python目录操作

2010-01-21 09:46:24

C++程序

2010-01-06 15:35:06

JSON对象

2019-10-09 09:51:44

工具代码技巧

2009-11-25 17:22:12

路由器安装

2017-08-03 17:30:26

戴尔IoT设备

2010-03-04 10:01:01

Android基本组件

2009-12-21 13:51:54

ADO.NET处理

2012-06-26 09:40:14

部署开发管理

2018-03-02 11:03:19

微信消息撤回
点赞
收藏

51CTO技术栈公众号