关于作者

姓名:

性别:男

出生日期:--

地区:

联系电话:

QQ:--

婚否:保密
用户名:herockxia
笔名:herockxia
地区:
行业:其他

日历  

快速登录

+ 用户名:
+ 密 码:

在线留言



飞客精选

访问统计:
文章个数:73
评论个数:396
留言条数:6




Powered by BlogDriver 2.1

herockxia的博客

 

欢迎访问herockxia的博客

文章

Re: 1  (作者置顶)
re 1

On 12/27/05, herockxia@bokee.com <herockxia@bokee.com> wrote:亲爱的朋友:
  您好!




  致
礼!


--
夏炎    Herock
http://herock.net

- 作者: herockxia 2005年12月27日, 星期二 21:08  回复(0) |  引用(0) 加入博采

在线通讯录-365kit:瑕不掩瑜

  Donews365kit上线了,原型是plaxo,做的不错,符合我对于Web服务“小而美”的期望,但要真正开始使用某服务,首要问题就是需要一个使用它的理由先,刘韧给出的理由如下:

1. 你的通讯录需要备份。服务器端备份最安全可靠。
2. 你的通讯录需要查询通讯录。通讯录放到服务器,可以通过不同的PC、PDA、手机、短信、wap等不同的设备和不同方式查询。
3. 你的通讯录需要管理。分类、分组、群等等管理操作,在web上比客户端来得直观。
4. 你的通讯录需要更新。当你的手机换了,你只要更新你在365kit上的个人信息,你的这个更新就会自动更新到你好友的通讯录。当然,他也需要是 365kit 用户才行。你朋友的手机换了,同样也能自动更新到你的通讯录。365kit越多人用,它越好用。赶快邀请你的好友加入吧。
5. 365kit速度非常快。在100M电信、100M网通、100M长宽的机房里。我的3000多个联系人一眨眼,就同步完了。

  这几点理由,对于我来讲,诱惑力并不是特别大,除了“你朋友的手机换了,同样也能自动更新到你的通讯录”,这一点倒是比较有意思。

  有些遗憾:安装时的指引不够人性化,比如注册登录完毕后,并没有明确的指引我下载同步工具,也没有告诉我如何使用,导致我花了好大功夫寻找如何 添加联系人却添加不上,而实际上,只需要在安装好同步工具后,启动outlook选择自动更新就可以了,挺方便的功能,但没能在页面上明确展示出来,我相 信会有不少人寻寻觅觅很久却无法添加联系人,便会选择离开了,挺遗憾的。

  还有同步的时候,会询问是否要邀请你的朋友,这时默认的选项为“是”,如果我不小心回车的话,我的联系人一定又会收到一批貌似垃圾信的东西了, 这类明确是从朋友处发来的垃圾邮件一直是我最反感的,我同样也不愿意我的联系人收到这样的骚扰,这一步骤的重要性可以理解,但真的可以做的再细致些,比如 默认就应该是“否”,用户用过以后,如果觉得值得推荐,再使用“邀请朋友”的功能,即便选择了“是”之后,还应该有邀请信的预览,用户可以在正式发送之前 预览或编辑邀请信的内容,以免发出了自己都不知道是什么内容的邮件给朋友。当然由于我选择的是“否”,所以不知道是否有这样或更为完善的流程。

  不过365kit还是很方便的工具,我想我会开始用它,真的希望这类“小而美”的服务越来越多,越来越好。

- 作者: herockxia 2005年08月9日, 星期二 15:44  回复(0) |  引用(0) 加入博采

国外主流Blog系统对比

  这段时间,Web2.0俨然已经成为Blogoshere里巨热的一个关键字,在这里可以看到,几乎每天都有新的文字为之产生。

  关于这个话题,其实我也很感兴趣,但越来越觉得,做往往比说更难,也更重要,实践也经常比理论更有说服力。不管对Web2.0持何种观点,都不得不承认的一点是:Blog是实践Web2.0最重要的基础应用之一。

  而选择一个好用的、适合自己的Blog,乃是重中之重,对于一个Blogger,再NB的文字,再深邃的思想,也要通过Blog来将其物化出 来,正是“工欲善其事,必先利其器”的道理,所以我最近总是想,其实先别提那么多炫目的概念、术语,踏踏实实做一个好用的Blog系统出来,已是功德无量 并足以自傲了。

  至于什么是好的Blog系统?这个标准,我以为很简单:只要我能发自真心的将它推荐给我的朋友使用,就算达到了。

  但符合这个标准的似乎还没出现,值得推荐、使用的,仍然是那些国外的老牌劲旅,前几天看到了一个国外主流Blog系统的对比,当时保存了下来,可是原文的链接找不到了,只好把译文附在后面,有需要的朋友可以参考一下。

p.s:如果有人知道原文的链接,麻烦留言告诉我好吗?多谢了。
多谢coolkid,帮我找到了原文的链接:Blog software comparison chart

Technorati Tags:

附表:
功能
Blogger
TypePad Basic
(TypePad基本帐户)
TypePad Plus
(TypePad高级帐户)

TypePad Pro
(TypePad专业帐户)
Blogware
WordPress
Movable Type
Expression Engine
回复 支持 支持 支持 支持 支持 支持 支持 支持
目录 不支持 支持 支持 支持 支持 支持 支持 支持
子目录 不支持 不支持 不支持 不支持 支持 支持 不支持 支持
引用通告 不支持 支持 支持 支持 支持 支持 支持 支持
Pings 不支持 支持 支持 支持 支持 支持 支持 支持
RSS输出 不支持 支持 支持 支持 支持 支持 支持 支持
Atom输出 支持 支持 支持 支持 支持 支持 支持 支持
搜索 不支持 不支持 不支持 不支持 支持 支持 支持 支持
友情链接 不支持 支持 支持 支持 支持 支持 不支持 不支持
支持Blog数目 无限 1 3 无限 1 1 根据许可协议确定 无限
新闻聚合 不支持 不支持 不支持 不支持 支持 不支持 不支持 支持
附加功能 Blogger TypePad Basic TypePad Plus TypePad Pro Blogware WordPress Movable Type Expression Engine
手机Blog 支持 支持 支持 支持 支持 支持 不支持 支持
图片库 不支持 支持 支持 支持 支持 不支持 不支持 支持
单独页面 不支持 不支持 不支持 不支持 支持 支持 不支持 支持
维护 Blogger TypePad Basic TypePad Plus TypePad Pro Blogware WordPress Movable Type Expression Engine
API Blogger MetaWeblog MetaWeblog MetaWeblog MetaWeblog Blogger, MetaWeblog, MT MetaWeblog MetaWeblog, Blogger, MT
Log记录 不支持 支持 支持 支持 支持 支持 不支持 支持
数据存储 数据库 数据库 数据库 数据库 数据库 数据库 静态或动态 数据库
防SPAM手段 Blogger TypePad Basic TypePad Plus TypePad Pro Blogware WordPress Movable Type Expression Engine
黑名单 不支持 支持 支持 支持 支持 支持 不支持 支持
访客注册登录 支持 不支持 不支持 不支持 支持 支持 支持 支持
注册附加码 不支持 不支持 不支持 不支持 不支持 不支持 不支持 支持
审核 不支持 不支持 不支持 不支持 不支持 支持 不支持 支持
URL NOFOLLOW 不支持 支持 支持 支持 支持 支持 支持 支持
IP/用户/URL封锁 不支持 支持 支持 支持 支持 支持 支持 支持
回复通知 支持 支持 支持 支持 支持 支持 支持 支持
设计 Blogger TypePad Basic TypePad Plus TypePad Pro Blogware WordPress Movable Type Expression Engine
模板 33 6 6 6 23 7 7 27
管理后台界面配置 不支持 不支持 支持 支持 支持 不支持 不支持 不支持
管理后台页面布局配置 不支持 支持 支持 支持 支持 不支持 不支持 不支持
发布界面 Blogger TypePad Basic TypePad Plus TypePad Pro Blogware WordPress Movable Type Expression Engine
用户等级 支持 不支持 不支持 支持 支持 支持 支持 支持
多用户(作者) 支持 不支持 不支持 支持 支持 支持 支持 支持
图片上传 支持 支持 支持 支持 支持 支持 支持 支持
缩略图 不支持 支持 支持 支持 支持 支持 支持 支持
发布日程安排 不支持 不支持 支持 支持 支持 支持 支持 支持
保存(不发布) 支持 支持 支持 支持 支持 支持 支持 支持
发布小书签 不支持 支持 支持 支持 支持 支持 支持 不支持
在线编辑模板 支持 不支持 部分 支持 支持 支持 支持 支持
离线编辑模板 不支持 不支持 不支持 不支持 不支持 不支持 不支持 支持
上传文件 不支持 支持 支持 支持 支持 支持 支持 支持
密码保护 不支持 支持 支持 支持 支持 支持 不支持 支持
本地化 不支持 支持 支持 支持 支持 支持 支持 支持
离线操作 不支持 不支持 不支持 不支持 不支持 不支持 不支持 不支持

- 作者: herockxia 2005年08月9日, 星期二 15:44  回复(0) |  引用(0) 加入博采

国外主流Blog系统对比

  这段时间,Web2.0俨然已经成为Blogoshere里巨热的一个关键字,在这里可以看到,几乎每天都有新的文字为之产生。

  关于这个话题,其实我也很感兴趣,但越来越觉得,做往往比说更难,也更重要,实践也经常比理论更有说服力。不管对Web2.0持何种观点,都不得不承认的一点是:Blog是实践Web2.0最重要的基础应用之一。

  而选择一个好用的、适合自己的Blog,乃是重中之重,对于一个Blogger,再NB的文字,再深邃的思想,也要通过Blog来将其物化出 来,正是“工欲善其事,必先利其器”的道理,所以我最近总是想,其实先别提那么多炫目的概念、术语,踏踏实实做一个好用的Blog系统出来,已是功德无量 并足以自傲了。

  至于什么是好的Blog系统?这个标准,我以为很简单:只要我能发自真心的将它推荐给我的朋友使用,就算达到了。

  但符合这个标准的似乎还没出现,值得推荐、使用的,仍然是那些国外的老牌劲旅,前几天看到了一个国外主流Blog系统的对比,当时保存了下来,可是原文的链接找不到了,只好把译文附在后面,有需要的朋友可以参考一下。

p.s:如果有人知道原文的链接,麻烦留言告诉我好吗?多谢了。
多谢coolkid,帮我找到了原文的链接:Blog software comparison chart

Technorati Tags:

附表:
功能
Blogger
TypePad Basic
(TypePad基本帐户)
TypePad Plus
(TypePad高级帐户)

TypePad Pro
(TypePad专业帐户)
Blogware
WordPress
Movable Type
Expression Engine
回复 支持 支持 支持 支持 支持 支持 支持 支持
目录 不支持 支持 支持 支持 支持 支持 支持 支持
子目录 不支持 不支持 不支持 不支持 支持 支持 不支持 支持
引用通告 不支持 支持 支持 支持 支持 支持 支持 支持
Pings 不支持 支持 支持 支持 支持 支持 支持 支持
RSS输出 不支持 支持 支持 支持 支持 支持 支持 支持
Atom输出 支持 支持 支持 支持 支持 支持 支持 支持
搜索 不支持 不支持 不支持 不支持 支持 支持 支持 支持
友情链接 不支持 支持 支持 支持 支持 支持 不支持 不支持
支持Blog数目 无限 1 3 无限 1 1 根据许可协议确定 无限
新闻聚合 不支持 不支持 不支持 不支持 支持 不支持 不支持 支持
附加功能 Blogger TypePad Basic TypePad Plus TypePad Pro Blogware WordPress Movable Type Expression Engine
手机Blog 支持 支持 支持 支持 支持 支持 不支持 支持
图片库 不支持 支持 支持 支持 支持 不支持 不支持 支持
单独页面 不支持 不支持 不支持 不支持 支持 支持 不支持 支持
维护 Blogger TypePad Basic TypePad Plus TypePad Pro Blogware WordPress Movable Type Expression Engine
API Blogger MetaWeblog MetaWeblog MetaWeblog MetaWeblog Blogger, MetaWeblog, MT MetaWeblog MetaWeblog, Blogger, MT
Log记录 不支持 支持 支持 支持 支持 支持 不支持 支持
数据存储 数据库 数据库 数据库 数据库 数据库 数据库 静态或动态 数据库
防SPAM手段 Blogger TypePad Basic TypePad Plus TypePad Pro Blogware WordPress Movable Type Expression Engine
黑名单 不支持 支持 支持 支持 支持 支持 不支持 支持
访客注册登录 支持 不支持 不支持 不支持 支持 支持 支持 支持
注册附加码 不支持 不支持 不支持 不支持 不支持 不支持 不支持 支持
审核 不支持 不支持 不支持 不支持 不支持 支持 不支持 支持
URL NOFOLLOW 不支持 支持 支持 支持 支持 支持 支持 支持
IP/用户/URL封锁 不支持 支持 支持 支持 支持 支持 支持 支持
回复通知 支持 支持 支持 支持 支持 支持 支持 支持
设计 Blogger TypePad Basic TypePad Plus TypePad Pro Blogware WordPress Movable Type Expression Engine
模板 33 6 6 6 23 7 7 27
管理后台界面配置 不支持 不支持 支持 支持 支持 不支持 不支持 不支持
管理后台页面布局配置 不支持 支持 支持 支持 支持 不支持 不支持 不支持
发布界面 Blogger TypePad Basic TypePad Plus TypePad Pro Blogware WordPress Movable Type Expression Engine
用户等级 支持 不支持 不支持 支持 支持 支持 支持 支持
多用户(作者) 支持 不支持 不支持 支持 支持 支持 支持 支持
图片上传 支持 支持 支持 支持 支持 支持 支持 支持
缩略图 不支持 支持 支持 支持 支持 支持 支持 支持
发布日程安排 不支持 不支持 支持 支持 支持 支持 支持 支持
保存(不发布) 支持 支持 支持 支持 支持 支持 支持 支持
发布小书签 不支持 支持 支持 支持 支持 支持 支持 不支持
在线编辑模板 支持 不支持 部分 支持 支持 支持 支持 支持
离线编辑模板 不支持 不支持 不支持 不支持 不支持 不支持 不支持 支持
上传文件 不支持 支持 支持 支持 支持 支持 支持 支持
密码保护 不支持 支持 支持 支持 支持 支持 不支持 支持
本地化 不支持 支持 支持 支持 支持 支持 支持 支持
离线操作 不支持 不支持 不支持 不支持 不支持 不支持 不支持 不支持

- 作者: herockxia 2005年08月9日, 星期二 15:44  回复(0) |  引用(0) 加入博采

Hackathon-有趣的快速开发方式

  WebLeOn今天写了FeedBurner的7个新功能,不但介绍了FeedBurner最新开发的7项非常cool的功能,更主要的是,提到了一个令我非常感兴趣的开发方式:Hackathon

  我以前从来没有听过这个词,于是"google it",结合 JotSpot的CEO-Joe Kraus的及一些相关Blog的描述,得出了如下的判断。

  Hackathon,本身似乎是OpenBSD的一项年度盛会,来自全球的OpenBSD开发者们聚集在一起,共同度过一周,在这周内,他们对 OpenBSD从开发到推广等方面做讨论,通过面对面的交流,进行集中开发。而JotSpot和FeedBurner大概是借用了这个说法,用来指代其进 行的“短期趣味开发”的试验。

  JotSpot的CEO-Joe Kraus,在其Blog中写道:
We call it a "hackathon" and we got inspiration from the good folks at Atlassian. The idea is that you make a day-long event (at whatever frequency you want) where everyone works on something that is:
  • valuable to the company
  • but not what they're "supposed" to be working on and
  • that can be taken from idea to working prototype in one day
并成功的进行了一次尝试

  FeedBurner紧随其后,于上周四初尝了“Hackathon”的滋味,也是成果斐然,给我们带来了7项创意十足的功能。

  看一看FeedBurner的这次Hackathon过程,便可以感受到这一行动的魅力所在:
  • 9:00am,所有的开发者和一些商务人员集中在会议室,开始讨论那些能够在一天内设计、开发、测试的项目
  • 快速、广泛交流意见,并决定哪些改进,才是对他们的用户最有冲击力的
  • 9:30am,所有人带着他们的任务离开:“放下一切其它的事,在今天结束前完完成他们的项目”
  • 所有人,在这一整天中,都非常兴奋的工作着
  • 5:00pm,是展示的时间,胜利者得到pizza和啤酒
  • 每一个开发者描述一下自己所做的事情。
一天,7项功能,这样的效率真让我羡慕。

  总结一下,Hackathon,就是集合公司的所有开发人员(也可以包括一些相关人员),用一整天(并且只用一天)的时间,确定一些开发计划并将其实现。按Joe Kraus的说法,这些计划应该符合如下简单规则:
  • 对公司有价值
  • 并非那些被“假设”为应该做的事情
  • 从创意的产生到拿出一个可工作的模型,能够在一天内完成
并且在全过程中,需要保证参与人员不受任何干扰,并提供充足的美味饮食。

  我认为很多公司都应该勇敢的尝试一下,也包括我们公司。

  正如Joe Kraus所说,初创企业在成长过程中,每个人都担负了很多长期的项目,很容易产生烦躁的感觉,而丢失了创新的激情和能力。Hackathon这样的活 动,刚好可以重新激发这种情绪和能力,毕竟对大部分人来说,一天就能看到结果的项目,会更有激情,也更容易掌控。而且这样人为的设定一个非常紧急明确的 Deadline,也会造成一种类似“赛场”的气氛,有利于刺激参与者潜能的发挥。

  在偶尔为之的这种高强度工作过程中,大家的共同目标明确,有一种同仇敌忾并肩作战的感觉,从而使团队成员间沟通和合作的能力,也很容易得到快速提升。

  所以,Hackathon既能解决一些实际的问题,又能顺便锻炼队伍,这样的好事,为什么不赶快试试看呢。

Technorati Tags:

- 作者: herockxia 2005年08月9日, 星期二 15:42  回复(0) |  引用(0) 加入博采

Attention.xml初探

  将近一个月以前,看到文心的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是存在的。

<outline text="atitle" description="descstr" url="aurl" atomurl="anatomurl" xmlurl="anrssurl" type="typestr" ...>

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

<li><a href="aurl" type="typestr">atitle</a> <dl><dt>description</dt><dd>descstr</dd> <dt>alturls</dt> <dd><ul><li><a href="anatomurl">atomurl</a></li> <li><a href="anrssurl">xmlurl</a></li></ul></dd> </dl> </li>
  Attention.XML加入了前述计划中提到的如下属性:
  • alturls, etag, lastupdated, dateadded, dateremoved, lastread, readtimes, userfeedtitle, rel, tags

每一篇文章

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

<outline type="item" permalink="permalink or guid" guid="permalink or guid" lastread="ISO-8601 date" duration="seconds value" followedlinks="http://example.com/1 http://example.com/2" rev="votelink">

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

<li><a href="permalink or guid" rev="votelink">title</a> <dl><dt>lastread</dt><dd>ISO-8601 date</dd> <dt>duration</dt><dd>seconds value</dd> <dt>followedlinks</dt> <dd><ul><li><a href="http://example.com/1">link1</a></li> <li><a href="http://example.com/2">link2</a></li></ul></dd> </dl> </li>
  • 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文件,以防万一在上次读取后又有其它的客户端对其进行了更改。
    • 加入本地所作的改变,写出最终的ttention.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: , ,

- 作者: herockxia 2005年08月9日, 星期二 15:41  回复(0) |  引用(0) 加入博采

如何支持Google Sitemaps?

    Google的Sitemaps其实是一个方便自己的服务,如果大家(互联网上所有的信息源)都采用了这种方式提交自己的更新的话,Google就再也不用派出那么多爬虫辛辛苦苦的到处乱窜了,任何一个站点,只要有更新,便会自动“通知"Google,方便Google进行索引。

  很像订阅,不是吗?Google以前索引网页的过程,与我们没有使用RSS订阅时差不多,都是通过反复、不确定的访问,来追踪其更新情况,这样 很累,效率也很低,后来我们有了RSS订阅,不再疲于奔命,轻松不少,得到的有效信息却更多了。Sitemaps也是如此,让每个网站(信息源)按其指定 格式生成一个xml文件,也就是一个Feed,并提交给Google,相当于Google订阅了这些网站的Feed,这样一来,Google索引网页的效 率自然会大大提高,对于各大小网站来说,尽早支持sitemaps,Google对其友好度也一定会有所提升。

  一个好消息是,webleon提到的Sitemap原来持普通Feed,也就是说,Blogger们可以直接提交自己的RSS Feed,支持通用的RSS2.0和ATOM0.3的版本。

  但webleon也说,“Google Sitemap原本是一种全新的XML格式”,因此,如果直接提供符合其标准的XML文件,可能Google支持的程度会更高些吧,好在要提供符合要求的文件,并不麻烦,至少对于MT的用户是这样。

  Niall Kennedy就专门为Movable Type的用户提供了解决方案:Google Sitemaps using Movable Type。具体做法如下:

  1. 在“模板”中选择“建立新的索引模板”
  2. 输出档案文件名可以为:“sitemap.xml”
  3. 勾选“重建索引模版时自动重建此模版”
  4. 该页中绿色部分的代码粘贴进去,保存后重建
  5. 在Google Sitemaps的提交页面填写你生成的Sitemap地址(比如我的是http://herock.net/sitemap.xml),并提交即可。

p.s:刚刚在海豚微笑的背后发现已经有针对WP用户的Sitemap提交方法: WordPress的sitemap文件

Technorati Tags:

- 作者: herockxia 2005年08月9日, 星期二 15:39  回复(0) |  引用(0) 加入博采

利用社会化书签统一管理回复

  每天都要阅读不少的Blog,免不了发表一些闲言碎语,这些回复散落在各个Blog,如同天涯海角,过后就很难再找回来,大大影响了回复的积极性,也降低了“回复”作为沟通工具的有效性。

  怎么办呢,昨天去林大运动场跑步的路上,Apeman提出了一个非常好的解决方案,立刻决定以后就这么做,方法是:
1.把你发表了回复的文章用社会化书签如Furl收录起来,可以把回复的内容作为“Clipping”;
2.利用社会化书签的Tag功能,统一贴上类似“我的回复”这样的标签;
3.如果有必要的话,还可以贴上多重的标签。

  这样一来,你所有曾经的回复,就自然的按照时间的维度和涉及的领域被良好的组织在一起了,可以通过查阅“我的回复”这个标签下的收录,来回顾自 己何时,何地(发表评论的Blog)曾对哪些文章作出过评论。对于别人来说,也可以通过阅读你的回复记录(如果你愿意公开),来更多的了解你的想法。

  昨天刚刚看过关于Web2.0的一些说法,感觉到Web2.0的一个核心特性,就是由用户创造的内容越来越多,越来越重要了

  个体通过Blog分享自己的生活和态度、用社会化书签(网摘)分享自己每日阅读关注的内容,已经勿庸置疑的成为“用户创造内容”的来源,而利用社会化书签收集的自己的回复记录,作为对前两者的重要补充,也不该被忽视吧?

p.s:我采用del.icio.us作为记录回复的工具:我的回复

Technorati Tags:

- 作者: herockxia 2005年08月9日, 星期二 15:39  回复(0) |  引用(0) 加入博采

Web2.0:一个全新的互联网?

mima-logo.gif  Keso前几天提到Web 1.0与Web 2.0,源于MIMA(Minnesota Interactive Marketing Association)举办的一次沙龙

  这次沙龙的主题是讨论Web2.0,根据Jim Cuene的说法,该沙龙纠集了100多牛人在一起热烈讨论Web2.0的市场、广告、实践、发展等等话题,有辩论,有问答。

  让我想起了吕欣欣主办的2005客齐集SNS沙龙,也很不错,但缺乏集体讨论的环节,对比起来,似乎“交际”的意义更大于“研讨”,所以沙龙过后,老外做个总结,放出PPT,我们也有总结,放出一堆人名。

  看来中国外国,各有特色,在国内做网站,如果想赚钱,眼睛只盯着国外,怕是还真不行。

  研究了一下Jim Cuene主题演讲的PPT,觉得里面的一些对比包括很多数据还是挺有参考价值的,故粗略的翻译了出来供下载,时间紧,翻译质量非常低下,为免造成误解,如果你发现错误,请不吝指正,或另行提供更好的翻译版本供大家研究,都可以。

英文原版:MiMA.1.ppt (3214.5K)
粗劣中文版:mimacn.rar(3561K)

Technorati Tags:

- 作者: herockxia 2005年08月9日, 星期二 15:39  回复(0) |  引用(0) 加入博采

你知道几种写Blog的方法?

  你知道几种写Blog的方法?用台式电脑、笔记本电脑、PDA、手机,都能写,还有吗?今天才知道,原来还有“手写”Blog的,虽然该作者也只是一种尝试,并没有形成真正的习惯,但至少给了我们一个新鲜的提示:原来最传统的,也可以随时变成最酷的!

  这个想法无疑是有创意的,所以才能勾起Flickr创办人Caterina Fake的兴趣,而专门为此写了一篇Blog,一堆方块字出现在Flickr的Blog上,机会不会太多。

  用手在纸上写,比起敲打键盘来,自有一种很独特的感觉,挺舒服,虽然这样会损失大量Blog的特性,但也还是有些用处,通过一个人的手写Blog,你可以得到更多文字之外的东西。

  Flickr的老板提到这个Blog,很大程度上可能是觉得这是一个有趣的做法,值得在用户中推广推广,又可以增加一个Flickr的新玩法,的确如此,说不定立刻或已经有一些人开始每天发布手写的Blog了。

  忽然想到,这样做,还有一个极大的好处,就是再也不怕未经许可的转载了,图片中可以很方便的加入水印等标记,还想C&P的话,技术含量可就比较高了。

Technorati Tags:

- 作者: herockxia 2005年08月9日, 星期二 15:38  回复(0) |  引用(0) 加入博采