如果你在微信中加入了不少的群组,而这些群组又很热闹的话,你一定遇到过这样的情况——面对数十条甚至数百条新消息,即便一键回到顶部,也不知道该从何看起,更无从知晓大家在这段时间里讨论了什么话题、新闻了。
微信本身是一个比较「流式信息」的产品,和绝大部分的 IM 一样,对于信息的沉淀是比较困难的,尤其是发生在过去的信息,想要重新阅读、提炼,甚至搜索,都是极为困难的。当用户面对这么多的未读消息,他最迫切想知道的,就是这段时间内到底有没有他感兴趣的话题。如果有,那用户又希望能快速定位到这段对话发生的时刻,阅读后还可以与朋友闲聊几句。
因此,我试图进行一个小的功能改进。
总的思路,希望通过技术手段,能够检索这段未读消息中的高频短语、队形句子(应该不难做到,但是流畅度有待考量),然后在视觉上呈现给用户。
最初,我是这样设计的。
简单解释一下,注意到右上角新增的两个按钮,意指在新消息中检测到的「热点」。鉴于队形(短时间内连续重复出现的句子)和话题(一段时间内反复出现的短语)在技术上比较容易检测和甄别,因此选择这两个内容作为「热点」。
通过点击两个「热点」按钮中的一个,可以快速跳跃到出现「热点」的段落处,并且被点击的条目消失,这样就可以快速查看感兴趣的内容了。
如此设计的坏处有这些:首先,右上角的视觉呈现变得比较复杂,有可能过份阻挡了用户查看正常消息的视线;其次,连续摆放的三个待选按钮容易让用户产生迷惑,纠结到底该如何选择;最后,大屏操作中右上角本来就属于单手难以触及的区域,同时摆放三个按钮误操作率较高。
因此,我又重新对功能进行了设计。
前序页面依然保持原本的设计,即「xx 条新消息」,点击后出现上述页面。通过这样的形式,将前一个设计中的选择问题拆分了:用户点击「xx 条新消息」,即认为对未读消息内容感兴趣,然后再呈现「热点」按钮,供用户进行快速跳转。(注意,这是跳转按钮,不是消息折叠)
这样做存在的一个不方便之处是,点击了某一个「热点」(如队形)后,跳转到了对应的段落,此时如果又想查看另一个「热点」(如话题),视觉上呈现就不太方便。解决方案之一是可以在跳转后继续保留未点击的那个按钮,供用户选择。
最后,关于「热点」的技术检测方面,我提供这样几个规则。
第一、对于每次未读消息的监控,所提炼出来的「热点」上限为两个。
第二、「热点」暂时只包含「队形」和「话题」两类,其较为容易检测,并且能够在一定程度上代表热点话题。如果关键词句比较分散,则不认为存在「热点」。
第三、检测动作尽可能在用户操作群组之前完成(后台,甚至在服务器端),而在用户查看未读消息时可以即时呈现。考虑到效率问题,可以适当放弃最新的数十条信息。
最近实在太忙了,本来希望可以把动画效果做出来,会更加直观一些,如果周末有空的话我会补上。
不过说到底,也只是我 YY 的一个功能啦,你会喜欢吗?
一起来讨论讨论吧。