相信大家用微信时,少不了用“消息撤回”这个功能。那你有没有想过,为什么这个功能会被推出?
据了解,该功能的核心初衷是适配线上社交的特殊性,帮大家弥补即时聊天的失误。像现实中我们说错话了,能立刻开口纠正、道歉,话术一转就能圆回来。但微信聊天是指尖输入,手滑发错、误触各种情况导致错误率提升,且又没法像线下那样及时补救。
撤回还能守住聊天记录的真实性和凭证性。如果没有时间限制,任何人都能随时删掉过往的消息,不管是工作对接、借钱沟通、商务约定,所有聊天凭证都能随意篡改,线上沟通就会彻底失去公信力。所以我们在微信聊天框能看到“撤回一条消息”的提示,也是为了保障真实性。
此外,我们日常发的文字、语音、表情包、图片、短视频、链接、小程序卡片,统一只有2分钟撤回时间,而文件类有3小时的撤回时长。这种分消息样式,设计不同的撤回时间,也有用户习惯推动的。
普通消息阅读成本极低、传播极快,超过2分钟,绝大多数消息都已经被对方阅读、看完甚至回复了,这时候如果还能撤回,场面会很尴尬。再说文件3小时的撤回时间,是因为文件的查看有天然时差。一方面,文件需要加载、下载,不像文字一眼就能看完,加上只在对方空闲时文件才会被查看;另一方面是我们产生修改文件的行为,一般在半小时、一小时后。
说完设计逻辑,这个功能设计的技术问题,也难免有人好奇。
首先,我们每一条发出去的微信消息,系统会自动给每一条消息分配一个独一无二的唯一ID。当这条带专属ID的消息会先同步到微信云端服务器,再推送到对方的手机上,同时保存在你和对方的聊天记录里。如果我们点击撤回了,手机会立刻向微信服务器发送“撤回指令”,并且标注好这条消息的专属ID。服务器收到指令后,会立刻匹配对应的消息ID,同时向你和对方的手机发送删除指令,两台设备同步删除这条消息的展示内容,最后替换成“对方撤回了一条消息”的系统提示。
简单来说,撤回的本质不是彻底删除云端数据,而是取消消息的前端展示。
热门跟贴