feed流整理
·feed流中的概念
·Feed:Feed流中的每一条状态或者消息都是Feed,比如朋友圈中的一个状态就是一个Feed,微博中的一条微博就是一个Feed。
·Feed流:持续更新并呈现给用户内容的信息流。每个人的朋友圈,微博关注页等等都是一个Feed流。
·Timeline:Timeline其实是一种Feed流的类型,微博,朋友圈都是Timeline类型的Feed流,但是由于Timeline类型出现最早,使用最广泛,最为人熟知,有时候也用Timeline来表示Feed流。
1. 什么是Feed流?
顾名思义,Feed是喂养的意思,你想吃什么,就喂给你什么; 典型的例子就是微博、知乎的首页,以及各个聚合类资讯app的订阅号。这些信息的共同点就是给你喂你想看的,而不是将所有的东西全部给你;
2. feed流应用场景?
a) 兴趣订阅类产品.此类产品都是针对兴趣的产品,因为用户的兴趣不同,所以针对不同的喜好用户推送不同的内容是必要的,而不是简单地将所有的东西不分青红皂白全额推送;
b) 针对用户画像差别推荐的产品。用户画像和兴趣的区别是,兴趣是自发地选择,而用户画像则是通过机器大数据的判定,例子就是天猫通过你的购买行为确定你的用户画像,从而推荐给你购买力相当的产品,而不是错位推荐,徒劳而无果;
c) 特定推送的产品。这种主要是付费类产品,普遍推送的是廉价的知识,而对于付费用户,则是区分地推送附加价值更高的高知识密度知识产品,这里的例子是得到app,通过订阅来推送普通用户无权限查看的精华文章,而免费的推送是普发。
3. feed流的设计模式?
a) 拉模式(读扩散)
推模式就是,用户A关注了用户B,用户B每发送一个动态,后台遍历用户B的粉丝,往他们粉丝的feed里面推送一条动态。
b) 推模式(写扩散)
与推模式相反,拉模式则是,用户每次刷新feed第一页,都去遍历关注的人,把最新的动态拉取回来。
c) 推拉结合
这是一种折中的解决方案,就是在线推,离线拉。
在线推:异步遍历在线的粉丝,将动态ID,添加到粉丝的Feed中。
离线拉:离线用户打开APP后,我们是会请求一个公共的入口接口,主做统计以及其他初始化操作,在这里,我们也开了一个异步线程,对用户进行Feed更新操作。
4. rss(ReallySimple Syndication)与feed的概念区别
简单的来说,feed 是消息源,而rss是feed的一种格式。
feed:消息来源(英文:web feed、news feed、syndicatedfeed)是一种资料格式,网站透过它将最新资讯传播给用户。用户能够订阅网站的先决条件是,网站提供了消息来源。消息来源受到网志及新闻网站的广泛采用,这类型的网站经常更新内容。消息来源又译为源料、馈送、资讯提供、供稿、摘要、源、新闻订阅、网源。如前所述,feed译名很多,莫衷一是,至2008年底为止,还没有一个十分通用而备受认可的中文译名;所以此文当中我们用英文feed来称呼。将feed汇流于一处称为聚合①(aggregation),而用于聚合的软体称为聚合器(aggregator)。对最终用户而言,聚合器是专门用来订阅网站的软件,一般亦称为RSS阅读器、feed阅读器、新闻阅读器等。
rss(简易信息聚合):是一种消息来源格式规范,用以发布经常更新数据的网站,例如博客文章、新闻、音频或视频的网摘。RSS文件(或称做摘要、网络摘要、或频更新,提供到频道)包含了全文或是节录的文字,再加上发用者所订阅之网摘布数据和授权的元数据。网络摘要能够使发行者自动地发布他们的数据,同时也使读者能更够定期更新他们喜欢的网站或是聚合不同网站的网摘。RSS摘要可以借由RSS阅读器、feedreader或是aggregator等网页或以桌面为架构的软件来阅读。标准的XML档式可允许信息在一次发布后通过不同的程序阅览。用户借由将网摘输入RSS阅读器或是用鼠标点取浏览器上指向订阅程序的RSS小图标之URI(非通常称为URL)来订阅网摘。RSS阅读器定期检阅是否有更新,然后下载给监看用户界面。
5. feed流与瀑布流?
瀑布流:就像瀑布一样,一直源源不断地给你东西,才不管你是不是需要,才不管你是不是饱了。典型的例子是简书app的首页,传统类新闻app等。他们的共同点就是只要源头有水就不会断流,当然你的兴趣也得不到照顾。
瀑布流的应用场景:
a) 传统资讯产品。比如四大门户新浪、搜狐、腾讯、网易新闻首页,不论你登陆还是不登陆号码,都将会相同的页面,这是对于每一个用户的无差别展现,这种展现方式保证了每一个用户看到的首页信息的一致性,也保证了需要宣传的头条的一致性。
b) 专业类产品。比如36kr,虎嗅网,钛媒体,雷锋网等科技创业媒体,基于用户的确定性和稳定性,也基于文章数量的轻便性,推送的内容一致,但是也同时声明,自己的每篇文章都是高质量、有意义的。
c) 图片素材展示产品。比如花瓣网,可以说是典型的瀑布流了,通过瀑布流的展示,将各个图片素材展示给设计师用户以便甄选,从中挑出自己的理想素材,但如果选用feed流,则会使很多可能的灵感流失。
6. 对分发的内容怎么进行排序?
a) 永恒的Timeline
Timeline是Feed流设计中最原始、最基本也是最直觉的展示形式。timeline,所谓的“时间线”,内容的分发完全按照时间进行排序和展示的。Timeline有简单粗暴的优点:利于用户对呈现的内容进行理解,时间的先后顺序嘛,另外由于是按照时间顺序,每次更新都能最大化的保证用户能够看到更新的内容。当时timeline也有致命的弱点:内容呈现的效率极为底下,甚至可能会出现大量的垃圾内容。
b) 重力排序法——兼顾热度和更新时间
其实一个平台大了之后,每天将会产生大量的内容,既有大量的feed流,这些feed流中大部分内容其实对用户是没有太大的价值的。
为重力排序法,对于一个feed流中的内容而言,有两种力量:重力和拉力。重力就是让内容持续往下路的力,即时间,时间越久,掉的越快;拉力就是让内容往前排的力,比如知乎的点赞、门户新闻的阅读数等。重力和拉力,两者相斥,共同决定内容的排序机制。
这里有一个重力算法的排序公式,来自于Reddit的核心排序算法:
score(H,T)=logH + (T-t)/A
c) 智能排序法——在唾骂中前行
首先,系统需要知道什么是一个内容被展示的目标值。比如微博,一个内容被展示的目标值是转发、评论、点赞的次数。那么通过大量的样本机器学习,系统对于什么是好的内容会有一个预测。这对于一个内容的预测,则是智能排序的基础。
其次,系统会屏蔽一些违规的内容,比如涉及到政治、敏感事件。
再次,为了用户内容质量,系统会在用户的feed中增加一些热门的内容。
最后,考虑内容和用户的亲密度,系统认为内容受到欢迎的程度,内容事件衰减等因素后,系统进行综合排序。
参考文章: Feed流算法初探:http://www.jianshu.com/p/d2be205adaa2?from=timeline
Rss与Feed的概念区别:http://www.chinaz.com/news/2011/0831/207961.shtml
如何打造千万级Feed流系统:https://yq.aliyun.com/articles/224132
产品PM必备的Feed流和瀑布流应用场景:http://www.jianshu.com/p/61ddc3390270