2008 Sep 5

Microformats, too early or too silly?

<div id="hcalendar-Wrote-a-Letter-about-Microformat" class="vevent">
<a href="http://pagetalks.com/" class="url"><abbr title="2008-09-05T18:47+08:0000" class="dtstart">September 5, 2008 6:47</abbr> – <abbr title="2008-09-05T19:10+08:00" class="dtend">7:10pm</abbr> : <span class="summary">Wrote a Letter about Microformat</span> at <span class="location">Workshop</span></a>
<div class="description">Seeing too much disscusion about microformat and I wrote some words about microformat. </div>
<div class="tags">Tags: <a href="http://eventful.com/events/tags/mircroformat" rel="tag">mircroformat</a><a href="http://eventful.com/events/tags/xhtml" rel="tag"> xhtml</a><a href="http://eventful.com/events/tags/xml" rel="tag"> xml</a></div>

深奥?看仔细点……这简直就是顾弄玄虚啊!不就是XHTML加了一群Class标签么?非也,此乃Microformat……

秉承以人为本,机器为其次的理念,微格式是一套构建于已经广泛接受的标准之上的,简洁、开发的数据格式。

Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards.

官方是如此定义的。如今Microformat已经成为了标准之一,可它就像众多其它标准一样,不为人知。尽管Microformat的技术仅仅是通过定义一套合法、合理的Class属性来进一步“格式化”HTML文档,但如今并没有并广泛使用。除了Yahoo、微软、Goolge的诸多服务中已经应用此项技术,众多网站还未加入这一行列。

Microformat的产生,直接原因大家都清楚,那就是HTML(XHTML)的弱语义性。什么是语义?简单解释,遵循一定语义,通过关系模型的再利用,处理程序能快速、便捷的从Web上获取可用性数据。例如,拥有强语义性的社区网络站点(SNS),可以轻易的让开发者创建一套应用程序从页面本身抓取用户信息、建立联系卡片(并非认为通过阅读来操作)。尽管有OL(有序列表)、UL(无序列表)、P(段落)等具有一定语义的标签,可是HTML面对当今越来越多的网络应用,已经毫无招架之力。结果是,DIV可能装载着几幅风景图片,也可能装载着这个景区的介绍文字。这些东西,靠人类的大脑,可以很轻易地重新建立起关系模型,可是对于计算机来说,目前来说是“Mission Impossible”。
大家都知道,XML可以定义namespace,那么自由地创建自定义标签是轻而易举的啊!问题解决了?怎么可能……XML是一种当今Web当之无愧的数据装载标准,可绝不是用来装载、组织内容的!你无法用XML重现你使用HTML实现的内容,谁来告诉我你怎么在XML中装载Flash和脚本?

迄今为止,微格式是向着导出 Web 上的结构化数据这一方向迈进的一小步。理念非常简单。获得一个包含某些事件信息的页面:开始时间、结束时间、位置、主题、Web 页面,等等。过去的方法是将这些信息放置在页面的超文本标记语言(HTML)中,微格式摒弃了这种做法,而是添加一些标准化 HTML 标记和层叠样式表(CSS)类名。页面依然可以保留您选择的任何外观,但对于寻找这些格式化的(或者应该说,是微格式化的)HTML 片段的浏览器来说,变化无处不在。

使用 microformats 分离数据与格式一文中如此说道我们为什么要使用Microformats。
如今已经存在的几种Microformats定义,包括hCalendar,hCard,rel-license,rel-nofollow,rel-tag,VoteLinks,XFN,XMDP,XOXO。你可以到Microformats的官方Wiki里面查找详细的定义标准。PageTalks实际上已经使用了Microformats,这主要归功于这套界面的骨架来自Sandbox,一个良好的模板框架。

再来回到文章开头的那串代码。它没有破坏内容的表现,没有加入额外的信息,也没有对客户作出额外的软件要求,它就是安静的躺在一堆HTML代码之间。通过XPath或者jQuery的选择器,我们能够轻易获取相应的数据:我在2008年9月5号写了这篇文章,它有相关url以及tag……
意义在哪里?加入大部分都按照Microformats进行页面编写,那么在Web上利用程序寻找可用数据将是一件非常容易的事情,也许到时候每个程序员都可以做个“Google”出来……
好吧,人要有梦想才好嘛……

在网上碰巧发现一篇写Microformats的文章,这样尴尬的说道:

1.目前支持microformat只有Firefox的Operator插件。
2. Firefox市场占有率对于中国,即便它在发展壮大,还是奇低。平均高估一下:FF占有率10%吧。 3.使用Firefox的人群能有几个人知道Operator?连我都一直不知道,更不要说其他人了,更不要说人民群众了。再平均高估一下:1%吧(100个Firefox中有1个装了Operator)
4.装了Operator的人已经处于领域浪尖了,好了,有几个人真正在使用,而不是看着Operator上出现的识别数字YY?坦白的说,我装了Operator后,行为上属于后者,纯粹YY。去导出hCard?然后干嘛呢?我疯了,我有病!……继续高估:1%(100个安装了Operator的人中有1个人在真正使用) 5.好了,你突破了上述种种关卡,成为了浪尖上冒泡的水花,精英中中奖的英雄,骄傲吧……请问你访问100次网站,能用几次?你雄心壮志的以为中奖,结果是什么都没有,安全期……TT,最后的结局是:1%。

好吧,Microformtas达到像XML的普及程度都要N年吧……但是如果告诉你,规范一下你相关元素的标签就可以使你的网页支持未来的应用,那不是很好么?

One Comment

  1. Posted April 24, 2009 at 6:22 am | Permalink

    Microformat也不是too early,也不是太高高地处于浪尖了,而是想作为一个标准规范网页的写作,又点声音太微弱了。

    你说得对,规范一下自己的元素标签即可,但是,需要一个发布机制,不然的话别人理解不了这些自定义的标签,MetaSeeker提供了一套发布服务,其理念可以参见:
    http://www.gooseeker.com/cn/node/knowledgebase/freeformat

Post a Comment

Your email is never shared. Required fields are marked *

*
*