内容流的刷新与加载

为什么像网易新闻、搜狐新闻、新浪财经等门户平台的上滑刷新机制是有一个锚点(锚点下是上一次刷新的资讯列表),点击之后到达顶部重新加载几条并将这几条放置于列表最新的位置;而像今日头条、一点资讯和腾讯新闻等个性化推荐平台的上滑刷新机制是将上次刷新加载的十几条看完之后下拉,不断加载新的资讯列表(历史的资讯看不到了)。

这两者各有啥好处,刷新机制是啥?

其中,两者的刷新是否都是不断重新召回排序;还是说都是召回一个比较长的候选列表之后,根据每一次刷新在这个比较长的候选列表中获取一定数量的内容;还是说下滑刷新是重新召回排序,上拉加载是候选列表分页的不断加载(or 比较好长的候选列表继续获取并排序)?

在弄清楚这个问题之前,需要对概念进行区分“刷新”和“加载”;

名词定义刷新与加载 

刷新,指的是获取新的数据。举例:10:03分打开某个资讯类内容流页面,用户一直在这个页面浏览,看到的内容都是10:03分之前发布的内容,五分钟后我上滑刷新,获取10:08分之前发布的内容。从交互动作来看,用户在03分首次打开页面后又获得了08分的新内容,毫无疑问用户获得了新内容流,这个咱们定义为刷新。 

加载,指的是获取更多内容。举例:03分首次打开资讯类内容流页面后,发现第一屏(5-8条)没有感兴趣的,往下翻第二屏(5-8条)还是没有感兴趣的,继续往下翻(5-8)条,这时我们发现了明显的卡顿后迅速加载出来(或许往下翻的比较慢感觉不到),通常一个分页为15到30条数据。这里的加载指的是加载03分之前发布的内容,加载的过去的更多信息。

从技术角度理解什么是刷新与加载

下面的内容涉及到一些前端的接口调用方面知识,按自身认知与理解来,如有出入请大佬指正;像这种大型的咨询内容流不知道怎么设计实现逻辑,以下提出我的猜想: 

先对前后端交互的接口做个解释;接口是一个门,前端拿着钥匙(token、userId、stare、limit、type、keyword等)来打开门,门后面的后台通过前端给的钥匙来返回匹配的数据集。而上拉加载分页和下拉刷新数据调用的应该是两类不同的接口。 

上拉加载分页接口。加载的应该是分页信息通过传入的stare和limit或直接传入page来获取的要加载的数据,本质上就是为了获取分页,一般好像用的是Ajax调用接口做异步。有的可能为了分页的体验更好,会将数据先放入reids中当作缓存。 

为什么要分页?要是能把所有的数据都一次性返回回来展示给用户不就行了么?如果一次性请求加载5000条数据,那么会导致接口响应缓慢和页面承载量过大的问题,从而降低用户体验的流畅性,会导致进入一个页面需要三五秒钟的时间。

 下拉刷新数据接口。可能是将你最近的浏览反馈给了后台的推荐算法,算法会通过智能算法来推荐你可能感兴趣的内容,从而整体的刷新全部的内容流页面,所以此时的之前阅读内容的记录也没有了。

结论:

类型

交互动作

列表变化

内容新旧

之前阅读记录

用户体验

加载

上拉加载分页

列表内容增多

每次加载页面内容增多一点

上滑就能看到之前阅读记录

不用特意的操作,往下拉就能获取新内容

刷新

下拉刷新数据

列表内容全面替换

列表内容

之前的阅读记录在当前页面找不到;但可以在个人中心中找到浏览历史

用户对当前全部页面都不感兴趣,上滑刷新寻找新的内容

此时,有没有发现一个问题?这么好的只能推荐算法功能(耗费了大量的开发资源),触发的场景似乎竟然只能是“下拉刷新”!  而下拉刷新,需要用户付出高昂的操作成本,一直往下拉…一直下拉…下拉到头部的时候才能触发下拉刷新的操作从而触发接口。常规情况下这样操作的用户微乎其微。

“上次看到这里,刷新”存在的价值

所以此时“上次看到这里,刷新”的功能就能理解为何存在了,本质的存在原因就在于能另外有一个入口来达到和下拉刷新一样的刷新操作。通过直接的点击交互,代替了之前的要在头部才能去触发的下拉刷新接口。

场景举例说明:

如果一个用户浏览了很多内容,推荐算法已经知道你应该喜欢什么内容,但是用户在下次session的时候还是打开了这个页面,还是展示的之前的内容。

用户常规的操作习惯可能还是流式布局的上拉加载(加载的还是旧内容),单旧的内容不具有实时性,可能不具有准确性,即便说用户此时知道往上滑到头部能整体刷新页面的内容流,但是整个操作成本太大(毕竟已经浏览了很多页内容)。

所以此时用户发现了“上次看到这里,刷新”的按钮,此时用户通过这个button触发直接达到了刷新整个内容流的结果。

举一反三

想想这样的加载方法基本上适用于所有的列表,像微信朋友圈、QQ空间、新闻资讯类产品、社区贴吧等……

但是在某些优秀产品中可能有一些友好的交互方式。

1、返回顶部按钮。此类按钮一般为悬浮按钮大部分的常规型产品都会采用此种方式,或像微信在朋友圈中双击上方标题栏从而快速返回顶部。

2、新消息体行通知条。在有新数据响应时,会有通知条并带有“有XX条数据更新,点击查看”这样的字样,能帮助用户更能及时的抓取用户信息从而形成沉浸式体验。

3、记录上次浏览位置。能做到此交互细节的产品甚少,正如题主所说的能标记上次浏览位置的功能确实很友好。

4、样式区分已读与未读。好像在网易的资讯类产品中有这样的交互小细节,将已读的文章内容标体置灰,这样用户能清楚的区分掉哪些是我已经读过的,哪些是我未读的。同时通过这点也能完美的解决上述第三点内容的对应需求。

© 版权声明
THE END
喜欢就支持一下吧
点赞26
分享
相关推荐
  • 暂无相关文章
  • 评论 抢沙发