我研究了微信的121处离线交互逻辑……
至于“联系人”、“小程序”以及“公众号”这三个会优于“聊天记录”呈现,是因为这三者的内容量,和“聊天记录”这样的海量内容相比较,要少的多,所以用户能记住这三个场景的频次,以及据此去使用“搜索”这一功能的可能性,要远远大于使用“搜索”这一功能查找聊天记录。而这三者与用户的关联程度又是依次减弱的,所以出现的顺序会逐渐相对后置。 我们再来看看在上述图片中,显示在下部的“收藏”,对于用户来讲,其实每个人收藏的内容量并不是很大,且大多数场景下用户对于自己收藏的内容没有印象,因此依靠记忆去通过“搜索”这一功能来查找收藏的内容的可能性是很低的,因此排在末置位。 综上所述,聊天页面的“搜索”功能的使用场景频次由高到低是:微信好友、群聊好友、公众号&小程序、聊天记录、收藏。而由于用户在搜索信息呈现的页面下滑到“聊天记录”这个功能且通过“搜索”来查找聊天记录的场景比较少,频次比较低,所以在“聊天记录”这个功能之前,微信机智地插入了自己的广告:功能、游戏。 二、发送消息这里涉及到“发送消息”的操作场景如下图所示: 在离线状态下,我们点击上图中的“视频聊天”、“实时共享位置”、“语音输入”时,微信都会给出“网络错误”的提示,而点击这个场景下的其他操作,并不会给出网络错误的提示: 为什么会出现上述的情况呢?对此,我的分析如下: “视频聊天”和“实时定位”这两个功能的使用,对网络的稳定性要求很高。相信大家用微信语音通话的时候,都有过这样的体验:聊着聊着对方没声音了,这就是网络不稳定造成的。所以,在离线情况下使用这两个功能,微信会即时给出网络方面的提示。 而“语音输入”功能,则是因为用户对着微信说话,微信将语音转化成文字,属于用户与用户强关系社交下的即时通讯辅助。这时候对于用户来讲,他希望可以即时被告知“语音输入”功能是否能用,如果在用户不明确网络是否可行的前提下,用户点击了“语音输入”,等用户语音录入完毕、希望传达信息的时候,微信loading(加载)页反馈需要等待,或者提示网络不可用,这种体验对于用户来说是很伤的。 所以,微信将这三个功能(视频聊天、实时共享位置、语音输入)设置成在用户使用前就即时判断是否有网。 而其他的功能(如发送图片、个人名片),逻辑和用户输入文字发送消息出去是一致的,原因是用户已经习惯且接受了当发送出去的内容因为网络的问题,对方收到消息会延迟或者收不到消息的情况。 此外需要注意的是,发红包和转账因为涉及到余额或者从银行卡支取钱,所以必须请求服务器才能完成。因此操作进行到支付环节的时候,因为需要请求服务器,导致这时候在离线情况下,流程将不能如常进行下去。 那么这里面有一个问题:既然知道支付环节要联网才能走完整个流程,为什么不在整个流程之初(点击“红包”、“转账”)的时候就直接出现“当前网络不可用”之类的弹屏提示呢? 对此,我是这么认为的: 第一,如果用户使用场景是一直处于离线状态,那么这个时候,用户通常不会使用微信等APP; 第二,弱网环境或者网络不稳定的环境,要比离线环境的使用场景多,如果在流程之初(点击“红包”、“转账”),就需要请求服务器,告知“网络不可用”,那么用户很容易直接放弃该操作; 第三,这么做可以减少前端对服务器的请求次数,对于月活近十亿级用户的微信来说,减少对服务器的一次请求,在服务器端的支出都有可能降低很多。我想这第三点也应该是里面最重要的一点。 三、微信好友 对于微信的好友处理的相关操作,我发现微信的原则是:尽最大可能地减少对服务器的请求。这里面涉及到需要请求服务器的点有:保存标签、上传图片(新功能)、投诉、朋友圈权限设置、拉黑、删除。其中保存标签和上传图片的处理逻辑和发红包类似,到最后一步需要请求服务器的时候,才会发现没办法完成整个流程的操作。投诉是直接用的H5 页面(像微信里面,需要加载的页面,其加载进度条在顶部的都属于H5 页面),是外部链接,所以需要有网络才能打开。 (编辑:广州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |