Tuesday, January 27, 2009

Microformat rel-tags are a broken spec

In my current pet project I do a fair amount of parsing of rel-tags (the microformat spec for "tagging"). At first I got a bit agitated how many occurrences there are where the spec is not implemented correctly. But I have come to realize that the spec is simply broken. There are two ways I can think of a spec to be broken:
  1. If it's internally inconsistent or inconsistent with other specs.
  2. If it's somehow useless.
The rel-tag is almost 1.), which makes it a little bit of 2.). Here's why: the spec says that this tag
<a href="http://technorati.com/tag/tech" rel="tag">fish</a>
denotes "tech" rather than "fish." This means that this microformat restricts the URL space on your server. You need to have the "tag" folder and in it there must be a file "tech" - unless you link to another site which is not a solution to the problem.
Being able to control my own URL space is one of the pronciples of the web. That's what I mean with "the rel-tag spec is inconsistent with other specs." The problem is much the same as with the /favicon.ico:
The use of a reserved location on a website conflicts with the Architecture of the World Wide Web and is known as link squatting or URI squatting.

As a result there is endless rel-tags on the web that are constructed like:
http://somesite/tags/default.asp?tag=tech
or similar. This has been spotted previously, of course. I wonder why this criticism has not been addressed so far.

No comments: