Attention.xml初探

| | Comments (19) | TrackBacks (3)

  将近一个月以前,看到文心的Attention.XML - RSS延伸技术,当时立刻产生了一个感觉:FeedChoice将会用到它!

  Owen说道:


  目前RSS阅读存在的问题:
1. 信息过量:RSS阅读中存在的一个普遍问题,我们可能收集了300条信息源,这些信息源每天都在更新而我们根本无法看完。
2. 缺乏参与性:目前的RSS阅读都是个体行为,我们可以通过一些工具知道朋友订阅了哪些RSS信息,但无法知道他们每天阅读了哪些具体条目?
3. 无法协同合作:无法实现团队或几个人之间的协同合作。
4. 缺乏准确性:订阅的RSS源每天可能有成百上千条更新,而这些信息到底哪些是对自己有价值的呢?哪些是自己感兴趣的?令我们无从下手。
5. 缺乏提示功能:很多时候一条信息可能被几个甚至10几个人写到了Blog里面,而导致我们从不同的RSS信息中重复点击同一个链接。

上面这些都是目前RSS阅读方式无法解决的,而Attention.XML的目的就是为了解决这些问题

  也就说,Attention.XML试图解决的,就是尽量减轻RSS阅读过程中的信息过载给读者造成的压力,这种过载已经渐渐成为一个普遍性的问题,未完成(对付RSS信息过载的初步想法与实践)和keso(信息过载与市场机会)和其他很多人,都在被这个问题所困扰,我坚信,“RSS信息过载”一定是一个市场的“痛点”,因为至少我自己现在就很“痛”。

  Attention.XML的思路和FeedChoice的是一致的,FeedChoice也是希望能够为特定的用户筛选其已有的大量Feed,并从其尚未订阅的Feed中挑选他可能会认为重要的Feed。

  这个过程可能比较复杂,它不该是个简单的投票系统和排行系统,因为通过这样的方式浮出水面的,是在各种杂乱无章的因素交互作用下,形成的大众的观点,虽然可能具有代表性,但绝不可能对每一个人的胃口;它也不能是完全个人化的评价系统,因为人是社会化的,需要在社会这个体系中保留确定的座标,个人好恶往往也需要以社会公认的标准为重要参考,这也是旧烟斗发现的弊病之一:使用rss阅读新闻,无法直接的感知到“一条具体的新闻标题在社会背景下的定位”。

  而Attention.XML似乎比较好的解决了这个问题,既可以通过记录你自己的阅读习惯来分析某个Feed在你个人体系中的优劣;又可以通过分享其他人的Attention.XML来判断Feed在社会体系中的优劣,两者结合,较为全面。

  接下来的问题就是,具体需要如何操作才能把这个美好的想法变成现实?研究了Attention.XML的协议,也请教了Owen,大概明白了一点,就是要有专门的支持Attention.XML的在线存储/同步服务,配合支持Attention.XML的解析/阅读服务(web端或客户端),才能真正开始进入实用阶段。

  现在能看得到的例子中,http://www.technorati.com/attention.html是一个,但是我看不懂,按照其要求导入了一个OPML文件后,没有看出任何能够体现attention.XML特性的地方,而且此服务现在被暂停了,访问的提示是“This feature will be back online soon”。

  另一个就是yahoo的My web,据说已经提供了attention.xml的输出,但注册了以后,上上下下翻遍了每一个角落,硬是没有找到!只发现了一个XML的图标,却是标准的Rss2.0的格式,百思不得其解,要不是最后灵光乍现,把上述RSS文件的地址"../rss.xml"改成"../attention.xml",而终于得见庐山真面目,可能到现在还郁闷着呢。

  不过找到了也没有什么用,my web似乎目前也只是提供了一个attention格式的文件输出,并不能真正使用到attention的特性。可能还要再等等吧。

  FeedChoice却不能再等了,之前的开发工作已经开始,但我们也许会考虑开发一套真正支持attention.XML协议的应用。

  为了让自己尽可能深入的理解Attention.XML,花了一些时间,将attention.xml文档中文化了(较长,故附在全文中),也希望能对想了解attention.XML的朋友有一点用。

  全文在此:

Attention.XML

  Attention.XML是一种基于开放源代码(参见范例:XOXOSampleCode)的开放性的标准。

  采用这种标准有助于你了解你都读了些什么,你的时间花在什么地方,还有,你可能会关注些什么。

问题声明(综述)

  • 有多少信息源是你必须跟踪的?
  • 从N多不同的Blog中点击同样的链接,已经让你疲惫不堪?
  • RSS阅读器会自动更新,但是面对这么多未读的信息,到底该从哪一条开始看起呢?

  Attention.XML就是为解决这些问题而设计的,从而使构造一个全新的Blog和Feed相关的服务成为可能。

格式

  格式概要

  Attention.XML是一种XML文件,该文件的格式中包含着Feed和Blog的大纲(outline),而每个Feed又是一个大纲,Feed下的每一篇Post也是一个大纲。这个层级分明的大纲中被加入如下信息的注释:Feed/post最后一次被载入的时间,在这个Feed/post上花费的时间,该Feed/post最近存取的次数,用户设置的“赞同”或者“不赞同”之类。

格式协议

  Attention.XML大纲包括如下的种类的条目,在未作另行规定之前,这些条目的属性值都是字符串。

  • Group: 组没有URL标签,但每一个组都有如下标签:
    • title.实际上,这个标题是用户给一个blog的group或者Feed的group设定的。
    • children:groups或Blogs
  • Blog/Feed/站点.每一个Blog/Feed/站点有如下标签:
    • title.名字或标题
    • url.每一个条目都有一个首要的URL地址,就是这个地址。
    • alturls.资源的次要URL/标题列表,比如,对于Blog 或其它Feed类型,类型的信息可以通过HTTP request取回并在必要的时候进行缓存。
    • etag.HTTP 1.1, sec. 14.19
    • lastupdated.由attention.xml存储/分析服务器写入
    • dateadded.Feed被加入Blogroll的日期时间,加入的时候由应用程序来添加,如果不是初次添加而是再次取回,应用程序可能会将其忽略掉。须遵循ISO8601 datetime的格式。
    • dateremoved.从Blogroll里删除的时间,通过应用程序添加,这个过程是由存储/分析服务器发送命令来完成的。须遵循ISO8601 datetime的格式。
    • lastread.指出用户确定读了一个Feed的时间(也许是通过“选择”的方式)。须遵循ISO8601 datetime的格式。
    • readtimes.FIFO(先进先出)序列(长度等于操作所需要的时间,建议不少于16秒)加上阅读的时间。须遵循ISO8601 datetime
    • userfeedtitle.用户给一个Feed设定的标题,通过应用程序写入。
    • rel/xfn.作者在这个Blog/Feed中表现出来的社会关系,详细情况请见XFN。
    • rev/votelink.“投赞成票”、“投反对票”、“投弃权票”。详细情况见:VoteLinks
    • tags.一种用户给内容自定义标签/注解的机制,在这里查看Tags的例子:Technorati Tags
    • children.文章/条目。
  • Post/Item/Page.每篇文章/条目/页面包含以下标签:
    • title.名字或标题。
    • permalink/guid.担当唯一标志符,并使其看起来是规范的,就像这里描述的一样:http://www.xml.com/lpt/a/2004/08/18/pilgrim.html
    • type.定义文章permalink的MIME类型,默认是“text/html”类型。
    • etag.HTTP 1.1, sec. 14.19
    • lastupdated.定义文章最后一次被更新的时间,须遵循ISO8601 datetime。
    • lastread.指出用户确定读了一个Feed的时间(也许是通过“选择”的方式)。须遵循ISO8601 datetime的格式。
    • duration.用户阅读这篇文章/条目所花的秒数(一个非负整数)。
    • followedlinks.用户在这篇文章中点击或进入的URL列表。
    • rev/votelink.“投赞成票”、“投反对票”、“投弃权票”。详细情况见:VoteLinks
    • tags.一种用户给内容自定义标签/注解的机制,在这里查看Tags的例子:Technorati Tags
    • children:无

范例

  每一个Feed

  下列是OPML的片断,在head信息后,传递每一个Feed的信息,如果这个Feed是存在的。

  在典型的Attention.XML XOXO中看起来应该是这样:

  • atitle
    description
    descstr
    alturls
  •   Attention.XML加入了前述计划中提到的如下属性:

    • alturls, etag, lastupdated, dateadded, dateremoved, lastread, readtimes, userfeedtitle, rel, tags

    每一篇文章

      在OPML中,每一个Feed有一套子元素,是通过大纲来表现的。

      在典型的Attention.XML文档XOXO中是这样的:

  • title
    lastread
    ISO-8601 date
    duration
    seconds value
    followedlinks
    • permalink和guid的值是必须的-这将作为每一篇文章或条目的标识符。
    • 对lastread这个值的要求同上,须遵循ISO-8601的时间格式,用来表示该条目最后载入的时间。
    • duration也是一样-表示花费在该条目上的秒数。
    • 其它,在前述的计划中都有详细的说明。

      这是格式的要求, AttentionSample可供参考。

    概念验证

      在此处查看,Technorati将会使用Attention.XML文件或OPML格式的订阅列表输出(类似NetNewsWire那样):
    http://www.technorati.com/attention.html
    顺便说一下,当我们测试期间完毕后,这个网络服务的网址可能会从这里转换到其它的地方,但这里仍将作为镜像被保留并得到更新。

      这里是Technorati的Attention.XML服务的API文件:AttentionQuery。

    概括

      有很多不同类型和层次的Attention.XML应用。定义一套大致的轮廓有助于在多种多样的工具中确立较高的互用性。

    最简单的Feed同步服务概述

      最简单的Feed同步应用或服务必须支持下列Attention.XML计划中的子集:


    • Group.Group没有URL的属性,但是,每个Group都有一个“title”。Groups只在必须导出全部Feed列表的时候才被进行解析。

      • title
      • .应用程序必须寻找title是否存在,但可能忽略其内容。
      • 子类:Groups或Blogs。

    • Blog/Feed
    • .每一个Blog/Feed包含如下标签:

      • URL.每个条目都有一个主要的URL,我们稍后会对此作出更改。

      • lastread.用来指示读者确定的最后一次阅读一篇文章/条目的时间(ISO8601),也许采用选择的方式,应用程序必须对此进行适当的设置,如果读者从未度过此Feed,则留出空白或者不要进行显示。

      • children: posts/items。


    • post/item.每一个post或item是一个含有如下标签的Feed。


      • permalink/guid.

      • lastread.用来指示读者确定的最后一次阅读一篇文章/条目的时间(ISO8601),也许采用选择的方式,应用程序必须对此进行适当的设置,如果读者从未度过此文章/条目,则留出空白或者不要进行显示。

        启动之后,应用程序需要从存储服务(也许是本地文件或是在线同步服务)中载入用户的Attention.XML文件到内存中。

        当用户点击或以其它方式选中一个Feed,应用程序必须更新内存中的“lastread”属性。

        当用户点击或以其它方式从一个Feed中选中了一个item,应用程序必须更新内容中的“lastread”属性。

        从存储服务中得到的Attention.XML中所包含的其它未被承认和支持的属性,在重新保存时必须保持原样不被破坏。

        退出的时候,应用程序必须将内存中的Attention.XML写回存储服务(如本地文件或是在线同步服务),包括如下动作:


      • 重新读取Attention.XML文件,以防万一在上次读取后又有其它的客户端对其进行了更改。

      • 加入本地所作的改变,写出最终的Attention.XML文件。

      • 应用程序应该在合适的时间(也许是经常性的或是在用户发呆了特定时间后)同步Attention.XML文件,以便能够及时与其它用户同步本地的更改,并反映出其它用户对“lastread”的最新更改状态。

      Feed阅读器概述

        除了如上所述的最基本的同步功能,一个典型的blog/feed阅读工具应该要支持以下完全的Attention.XML协议:


      • 用户将一个Feed加入其列表的时候,据此设置“dateadded”属性。

      • 当用户从列表中删除一个Feed的时候,不要真正的删除它,而是将其在用户界面中隐藏并设置“dateremoved”属性。

      • 在更新Blog/Feed的“lastread”属性的时候,首先把当前“lastread”中的可用的阅读时长写入“readtimes”属性。

      • 用户在读一篇post/item的时候,如果可以侦测到阅读的时长,将这个时间值立刻写入该post/item的"durationread"中。

      • 如果用户点击了post/item中的一个链接,将其加入post/item中的“followedlinks”中。

      • 如果用户自定义了列表中的post/item的标题,将这个标题存入“userfeedtitle”属性。

      • 提供给用户一个界面,使其可以通过一个Feed/Blog的列表来表现他的社会关系(如果有的话),并且结合XFN的值来更新其“rel”属性。

      • 提供给用户一个界面,让他可以对每一个Blog/Post以及Feed/item作出如下评价:“满意”、“不满意”、“不予置评”,一旦用户作出了选择,则结合Technorati Tags是一些"tags(标签)"的范例。

      Attention存储/同步服务概述

        一个Attention存储/同步服务必须支持如下动作:


      • GET.客户端必须可以从服务端得到Attention.XML文件。可选的扩展特性包括可以用特定的用户名/密码来请求该用户的Attention.XML文件,而且可以和其他用户分享(也许包含在其社交网络中)他们的Attention.XML文件。另外,一些blog/feed/post/item的如下属性可能会经常更新:"lastupdated", "etag", "alturls", "title"。在服务端重新接收并解析这些blogs/feeds的时候,应该要把在重新接收到的blogs/feeds中自动发现的所有URL都加入到“alturls”属性中。

      • POST.服务端必须能从任何客户端接收Attention.XML文件,并将其合并到下列文件任何早期版本中:


        • 对于所有的blogs/feeds/posts/items,分别明确其最后的“lastread”值。

        • 如果一个blog/feed有“dateremoved”的属性,而且这个时间比任何“dateadded”都更晚,那么就从列表中移除该Blog/Feed,并且移除“dateremoved”的属性。

        • 按照每一个Blogs/Feeds的新旧结合“readtimes”的属性进行排列,并只保留至少被推荐了16次以上的。

        • 把一篇post/item中的“followedlinks”合并成一个集合。

        • 接受任何Feed/item中的比当前值更高的“durationread”属性。

        • 接受任何"POST"传来的新的Feed的"userfeedtitle", "rel", "rev", "tags" 属性。

        • 接受任何"POST"传来的新的Feed中的条目的"rel", "rev", "tags" 属性。


      示范代码

        范例代码见XOXOSampleCode。

      参考资料

        参考标准

        参考信息

        执行工具

      版本重大改进

        2005-06-09

      • 使用VoteLinks中的"rev"替代了以前的"rel"。

        2004-12-28

      • 从"blog/feed/site"中去除了“groups”的属性,因为并没有知名的阅读/解析服务支持用户把一个Feed加入多个Groups中。 原来的属性是这样定义的:“groups”:用户定义用来放置Feeds的group的列表。它的意义在于可以把一个Feed放入多个Group中。 备注:应用程序可以限制每个Feed只能被置入一个group中,如果有此设置,则应用列表中的第一个。
      • 给blog/feed/site和post/item/page加入“tags”的属性。

        2004-10-01

      • 基于XOXO进行的第一版设计。

      讨论

        这里是我Furl下来的一些相关链接,供参考。

      Technorati Tags: , ,

    3 TrackBacks

    Listed below are links to blogs that reference this entry: Attention.xml初探.

    TrackBack URL for this entry: http://herock.net/cgi-bin/mt/mt-tb.cgi/85

    虽然我不喜欢博客中国的这种什么都看不惯的作派,但他们也总算是多少年保持了一贯的“IT愤青”形象。做一时恶人不难,做一辈子恶人倒也难能可贵。如今,它堕落到为了几个小钱为某一å... Read More

    » Attention.XML 解決 RSS 資訊過載? from Library Views 圖書館觀點

    第一次看到 Attention.XML 是在 Owen 的 Attention.XML – RSS延伸技术,文章中提到很多人認為它是基於 RSS 最重要的一項延伸技術,而 Yahoo 的 My Web 也採用了此技術。 那跟 RSS 訊息過載有何關係å‘... Read More

    19 Comments

    satan4wan said:

    Ich can mich an dich uberhaupt nicht errinern.wan

    xesck avny said:

    wsgtcdjfe gqzafmxo dmieh elzu holsr iourqxth fuiqe

    onumq sxwpqf said:

    qivtnb ikmubwpg cbxiesk iyhzagfts pntfdc uefqmp jhck [URL=http://www.omvtlrkpf.wzgmtcfae.com]logne lbmxudsr[/URL]

    Very good site. Thanks:-)

    hgh said:

    HGH supplements are used in anti-aging therapy.

    Very good site. Thanks:-)

    Cool site. Thank you!!!

    Very good site. Thanks:-)

    Sam J Jones said:

    Cool site. Thanks:-)

    Good site. Thank you!

    Very good site. Thanks.

    Betting said:

    Betting Betting
    baseball handicapping baseball handicapping
    baseball picks baseball picks
    basketball handicapping basketball handicapping
    best football picks best football picks
    best nfl picks best nfl picks
    best sports picks best sports picks
    betting football betting football
    betting line betting line
    betting online betting online
    college football lines college football lines
    college football picks college football picks
    college football predictions college football predictions
    football betting football betting
    football betting line football betting line
    football betting spreads football betting spreads
    football betting system football betting system
    football handicapping football handicapping
    football lines football lines
    football picks football picks
    football predictions football predictions
    football spreads football spreads
    free baseball picks free baseball picks
    free college football picks free college football picks

    看不明白

    Cool site. Thank you!!!

    Leave a comment

    About this Entry

    This page contains a single entry by herock published on June 23, 2005 10:29 PM.

    我的朋友们-可爱的"小飞飞之吻" was the previous entry in this blog.

    支持中文Blog调查 is the next entry in this blog.

    Find recent content on the main index or look in the archives to find all content.

    Powered by Movable Type 4.01