RSS的可编程性:以在线书签服务del.icio.us为例
从自身界面上看,del.icio.us是非常简朴的:
但del.icio.us为其他应用准备了各种RSS接口:
最简单的RSS应用:del.icio.us提供的RSS首先可以被其他网站进行远程同步:比如我将我的书签当成一个LinkBlog: 和我自己的常看的几个BLOG聚合一起,同步在我的个人门户上:一页天下晓。
更有其他人利用del.icio.us开放的RSS接口发展了更丰富的应用,比如:extispicious则可以根据你收藏的书签的分类tag的个数展现你的“脑图”;
HubLog: Graph del.icio.us related tags更是将del.icio.us所有用户收藏用的tag进行了汇总分类,可以看到不同用户收藏的Tag之间的“立体”联系:
从这些应用中可以看到:如果基于传统的HTML,同样的功能实现将变得非常复杂和不稳定,数据的再生产和交换成本是很高的。所以:RSS这个标准最终要的贡献就是使得互联网的大部分网站变得可编程:类似的例子还有Blog中的:TrackBack Ping等机制,这些机制都是依赖XML/RPC实现的。当初为Lucene设计一个RSS/XML的接口也是为了这个初衷,它使得全文检索服务可以轻松的嵌入到各种应用中,通过关键词将各种内容之间实现更丰富的关联(Well Referenced)。
其他的一些RSS扩展服务介绍:
RSS阅读:在线服务 Vs. 客户端
客户端的确是可以方便一些将RSS做为日常工作高端用户:
很多工具(RadioUserLand NewzCrawler)可以设置BLOG发布系统的账号:MT Blogger在阅读过程中边看边发布评论,非常适合网络“蜜蜂”使用。
但是和EMail一样:习惯基于WEB界面的Email还是要占大多数,所以在线服务还是会胜出的。而RSS阅读功能最后会被大多数EMail客户端所集成,比如目前的ThunderBird。
RSS作为XML聚合再发布工具:RSS代理商
如果你同时用del.icio.us的Link Blog,还喜欢用FlickR的photo blog,同时写自己的MovableType/WordPress网志和Blogger.com的服务,如何方便用户通过一个RSS订阅你所有的信息源呢?FeedBurner的功能原不止:它可以在RSS中组合多种数据源。
原先原先需要进行多次订阅的数据源:现在用http://feeds./blog2这一个URL即可,并且还添加了XSLT,可以比较高版本的IE浏览器中直接看到可读性较好的内容:
Feedburner还提供一些商业性内容的嵌入,比如:Amazon的广告推广和最近推出的Google AdSense支持等。
很多RSS上面都有Add My Yahoo! / Subscribe with BlogLines这样的连接:
都是由原来的分布式的用户间RSS订阅变成了一些半中心化的服务:中心化的服务的好处在于代理分工,可以节省BLOG发布者的RSS带宽,由于很多RSS软件每隔一定时间就来服务器上,这样对于一些受到带宽限制的虚拟主机用户来说,经常就会出现带宽不够的情况,转向到中心的大的代理服务商,的确是一个解决办法。而中心的代理商由于为很多RSS订户服务,因此可以充分利用本地的缓存提高派送效率:同时也减少了对RSS数据源的访问压力。因此:对于RSS中心服务商来说:主要要解决就是一个缓存机制问题:
USER1 / RSS1
USER2 -[Rss Cache] - RSS2
USER3 /
虽然有一些中心化的风险:但是就像大家已经很少自己做馒头一样,更多丰富的功能添加还是应该由专业代理服务商进行的。
其他一些特色服务,RSS的死链检查和容错性设计:
如果RSS数据源出现错误,BlogLines会进行一些提示。RSS浏览器如果真的非常依赖严格的XML解析器,我想最终胜出的仍然会是RSS容错性最好的工具和提供校验服务的平台。现在不规范的RSS真是太多了,RSS的URI设计也需要注意尽量避免使用动态网页:这样在OPML导出中可以避免很多&没有转移导致的XML解析错误。
基于点击统计的用户行为分析:
Attention.XML这个标准专门基于用户点击的统计输出:类似与Windows桌面上的动态开始菜单。可以根据用户的点击行为(时间,URL,内容统计)反馈给内容的发布者。
RSS之间的SNS分析:
RSS的出现也降低了搜索引擎抓取的难度:TechnoRati是一个BLOG搜索引擎(后台也是Lucene),数据源是通过用户提交BLOG实现的:还会提示在TechnoRati会员之间的相互引用关系