Corante

Quote
"I can’t think of anything that demonstrates the sovereign nature of the self better than a blog.” - Doc Searls
About the Author
stowegold150x150.jpg
Stowe Boyd is a well-known media subversive, and an internationally recognized authority on real-time, collaborative and social technologies. His new blog is Message.
Just Released the 2008 Tribalization of Business study - an in-depth look at how 140+ organizations are managing and measuring online communities

Get Real

« Feedback from Adam Hertz of Technorati on "Technorati Beta: Slowed to a Crawl" | Main | AttentionTrust »

July 24, 2005

Open Tags: Made For A Distributed World

Email This Entry

Posted by Stowe Boyd

I waved my hand at what I am calling Open Tags in a recent post, inspired in part by a Jeff Jarvis' post, Made For A Distributed World.

I made the case that the current model for html-based tagging is flawed from the distributed world perspective, because it is based on specifying at the time of writing exactly what services are going to manage the tag information. For example, consider this Technorati-based tag:

<a href="http://technorati.com/tags/thai" rel="tag">Thai</a>

That tag denotes that Technorati -- at some time in the not too distant future, once Technorati crawls my post -- will create a new entry in its database associated with the tag "Thai" that points to the posting I placed the tag in. Which seems to be fine, except for a few key problems:

  1. I don't necessarilly know in advance all the services that I would like to have point to the post. For example, I might like to have a bunch of services -- a restaurant review service, Technorati, a cigar-oriented service, and a wine review service -- all point to the posting.
  2. And I don't want top have to clutter up the posting with an expanding list of tags, each associated with a different service, which is an alternative, but a pain in the ass. Note that this is the direction that closed tags will take us!
  3. One alternative to Technorati-style tagging is to use a bookmarking service like Del.icio.us, and to manually tag all entries there. However, this does not lead to tags being present in the post, so I find that inadequate.
What I really want is a way to define the tags that should be associated with the post -- such as "Thai", "Cohiba Churchill", "Restaurant", "Gruet Blanc de Noirs", and "Reston" -- but to defer the identity of the service or services that are supposed to support the tags. (Note for programmers: this is a classic 'late-binding' issue as dealt with in many programming languages approaches to type-binding.)

My vision of open tags are designed to avoid the identity of Technorati-style services I might want to index my posts. For example, the Technorati tag "http://technorati.com/tags/thai" denotes Technorati as the service to handle the tag, as well as pointing to a specific page on the Internet generated by the Technorati system either on demand or in advance of an attempt to access it. Instead, my idea of an open tag relies on a relative address, like "/tags/thai".

<a href="/tags/thai" rel="tag">Thai</a>

A reader of my earlier piece, Randy Charles Morrin, pointed out that this relative address leads to a problem:

The problem with this clean approach, is that if you click on the link, then you are most likely looking at a 404. Get Real!

Randy is right: the browser resolves the relative address in the URL to be a hypothetical address at the Corante server -- "http://www.corante.com/getreal/tags/thai" -- which doesn't exist. Hence, a 404 message: file not found.

Note that even with the Technorati-style static tags, you get a similar sort of message from Technorati in the case that the tag has not been created yet: although Technorati provides you, instead, the HTML to stick into your post to create the appropriate tag.

What is lacking for the open tag to work is some retooling at the blogging level: open tagging requires a tool -- either independent or integrated into the blogging technology -- to create pages corresponding to the open tags, and to manage the information there in a distributed fashion in way that is analogous to what Technorati does in a centralized way.

One option is to rewrite all my MovableType templates to make a direct connection between blog categories and tags. I would then simply map the MovableType category feature to generate the open tags This would work, since I could change my MovableType category archive settings to generate the correct directories: "http://www.corante.com/getreal/tags/thai", for example.

Note, however, that this doesn't lead to an integration with Technorati or other tag-based solutions. It simply collapses blog categories and tags. If I want to get today's Technorati to work, I still need to create URLs that are Technorati specific. But I don't want to create them at the time of writing the post, either by hand or automatically, because there are going to be many Technorati-ish services in the future and I don't necessarily know who they are at the time of writing.

This is much like the idea of people writing about your posts: at the time of my writing this there is no way I could possibly know who is going to make a comment about these thoughts on open tags. That's why we use trackbacks: so that in the future people can comment on what I have written, and the blog technology handles the trackbacks. So tomorrow, or next week, someone reading this piece will scroll to the bottom and be able to see a list of the folks that have riffed on this open tags post. I believe the same mechanism should be used by services like Technorati, instead of the explicit, in-advance tag specification we use today.

Today, MovableType and other blog solutions use pings to inform solutions like Technorati when it's time to read posts and scavenge their tags, or else we can manually browse Technorati and tell them to do so by providing the URL of our blogs. But that is a dumb model given that we have RSS.

For the open tag model I propose that Technorati-like services request an RSS feed from users that they, in effect, would subscribe to. For example, I could make my MovableType implementation generate "http://www.corante.com/getreal/tags/tagspace.xml". The services could poll the RSS feed at their preferred cycles, and generate any appropriate entries. Note that these RSS feeds would have to be configured to provide the tags in an easily accessed fashion. And, as I suggested, these services could trackback to the appropriate blog entries, and sent a link to the corresponding entries that they have assimilated into their own tag spaces.

If we shift to open tags, the Technoratis of the tag world will have to either get smarter about what sorts of tags are relevant -- perhaps a wine service would only link to posts that include tags that 'make sense', like "Gruet Blanc de Noirs" -- or else we could give them direction.

Jarvis suggested specifically denoting the identity of the service that should pay attention to the tags, using the "for:dinnerbuzz" type tags. A service, like the Dinnerbuzz restaurant review service, would see that tag in the RSS feed, and would then add the post to its database, using the other tags to identify it as a Reston Virginia Thai restaurant. A trackback ping could be used to send the URL to the various corresponing tag pages at Dinnerbuzz, such as "http://dinnerbuzz/tags/thai' for example, and these would be associated the entry at my local tag pages.

But this leads us back to hard-coding the identity of the service or services we wish to have tracking our tags, although it would let us use a single set of tags for many services. I believe, in the long run, the services will have to become smart enough to look at the tags and decide whether an entry is relevant. A restaurant review service like the idealized Dinnerbuzz could simply look for the "restaurant" tag, and rely on elements from the restaurant review domain -- cities, states, cuisines, "4 out of 5", and the like -- as markers. It might be smart enough to ignore the other tags -- "Cohiba Churchill" and "Gruet" for example -- that other services might pick up on.

The open tags approach has great value, I believe, but there is a lot working against it. First of all, we have a huge proliferation of closed tagspaces out there in use, such as Technorati, and they don't work this way. But it's early days yet, and an enterprising competitor to Technorati could decide to launch a new service based on the open model, to some extent taking advantage of the performance problems that seem to be plaguing Technorati over the past few months.

(Note that Technorati's performance problems are significantly influenced by the closed model they have adopted: they are forced to read the source of our blog pages, looking for tags buried in URLs. In the open tag model, the tags would be encoded in XML-based RSS feeds, so performance of the tags parsing part might be significantly faster. Other aspects of the implementation would not be faster, but it seems that the backlog is at the blog reading phase.)

In the long run, open tag style services will emerge anyway, since others will see the treasure trove of information buried in Technorati-style tags and will decide to mine it. Realizing that the closed model has all the problems I have sketched out, someone or some group will propose a service that works in the open fashion, at least with regard to sending trackbacks to posts that are deemed relevant since this will lead to traffic at their service. The real problem will be bloggers considering this to be blog trackback spam. A transition to a consistent format for open tags' RSS is likely to be a later development.

So we should start thinking about the long-tail value of our tags: they are not just for the service we are explicitly using today. Technorati may be long gone five years from now (I hope not!), but some service will be mining years of archived but still relevant opinions about Coldplay's X & Y, restaurants in Reston, and what's the best champagne to stand up to a Cohiba cigar.

One interim solution is to collapse categories and tags, as I outlined above, and to redesign your blog templates to generate both open and closed tags. For example, I could have each tag/category listed at the foot of my entries in the following style:

Thai [t] Cohiba Churchill [t] Restaurant [t] Gruet Blanc de Noirs [t] Reston [t]

and each tag would resolve to the local tag/category archive page when clicked, and the associated "[t]" would be the explicitly generated technorati tag. At some time in the future, if and when Technorati either ceases to exist or decides to support the open tags model, I could simply tweak my template to drop the "[t]" element. I plan to adopt this approach, at Get Real and perhaps across Corante as a whole.

[I don't address it in this piece, but I also believe the various bookmarketing services should adopt the trackback elements of the open tag model. That is to say that when someone reads this post tomorrow, and enters it into his Del.icio.us bookmarks with some commentary and tags, Deli.cio.us should ping my blog to create a trackback to that bookmark.]

The world is distributed, and our approach to making sense of it through tags should be as well. We need to anticipate that closed models are inherently at odds with what we are trying to do when we tag our entries. Obviously, if Technorati or some other competitor became super-dominant, and occupied the role of a de facto tagspace monopoly, this would be moot. But that is unlikely, for a wide variety of reasons. We will likely see an explosion of tag-based services, as the value of the blogosphere's resources expands, and all that frenzy will inevitably lead to an open and distributed model for tags, something like this open tags model I have outlined.

Comments (11) + TrackBacks (0) | Category: Technology


COMMENTS

1. orcmid on July 24, 2005 12:06 PM writes...

Stowe, you're almost there, I think. You should simply use a valid URL and ground it at a site that you own. It is the rel="tag" part that matters. (Make sure it follows the href, some scrapers seem to think there is a required order for the attribute.)

The HonorTag system (http://honortags.com/) that Dan Gillmor and folk promote works this way. They made their own tag space, and it is still handled by technorati and also anyone else who wants to scrape tags off pages. See what happens if you follow this one: {tag: http://honortags.com/HonorTagAdvocate would-be-rel="tag"}. Apparently, it is the term following the final "/" that is treated as the tag by technorati and, just as easily, others.

Permalink to Comment

2. jim wilde on July 24, 2005 08:38 PM writes...

Open tags are here already, there just not in MT. If you go to my site and use http://www.advancinginsights.com/mybiz/tags/socialsoftware you'll get those posts tagged as socialsoftware. I use an oss tool, drupal, which goes way beyond mt and I can select which services, delicious, technorait, flickr, bloglines, etc. i want to ping with my posts.

Permalink to Comment

3. Nick Douglas on July 25, 2005 12:36 AM writes...

This is some kick-ass thinking. We in the pro-blogging community need tags to boost relevant pageviews, and the recent fall of Technorati has hurt us. That's why I've switched to IceRocket -- but I'd prefer a site-independent system. Unless IceRocket gets beautiful -- quickly -- and steals Technorati users, some other site will supplant both, and my tags will be obsolete again.

Permalink to Comment

4. Derek Powazek on July 25, 2005 03:34 AM writes...

Technorati will understand your tags no matter where you link - even to yourself! More info: http://technorati.com/help/tags.html

Permalink to Comment

5. Abhinav on July 25, 2005 08:29 AM writes...

Stowe,

The formatting is missing in the RSS feed(s) because of which, the whole text is one massive blob of text when I read this blog on Bloglines.

Regards,
Abhinav

Permalink to Comment

6. Eran on July 25, 2005 06:16 PM writes...

The meaning of a rel-tag link like the one near the top of this post is: "the document refered to by this link is a tag for this current document." The target href (http://technorati.com/tags/thai) in a rel-tag is the actual tag, not the anchor text (thai). You can use a link to whatever resource you think describes best the tag you wish to use, completely unrelated from any website that might or might not index your post sometime in the future. For more information on rel-tag check out http://microformats.com/wiki/reltag

Quite often blog tagging tools use technorati because, i believe, they intially defined the rel-tag microformat and because the technorati tag page can usually give you a pretty good idea as to what the tag is about. Many use wikipedia articles as tags and you can probably use a google maps reference as a geo tag.

The tag is not there for the benefit of any specific service but for any service and any person who can understand this format. In the case of humans, it's usually made easier by including an anchor text that's similar or at least relevant to the tag. Any aggregation service that knows rel-tag can parse the tag information from your post and use it in whatever way they choose, no matter where the URL pointed to.

You can find interesting implementation of "open-tags" at http://microformats.com/wiki/xfolk (which uses and expands on rel-tag).

Permalink to Comment

7. Alexander Muse on July 25, 2005 08:48 PM writes...

We added rel-tags to our URL shortener after getting bombarded by you guys! We started with Delicious tags and more than a few people thought we should read about the Microformats rel-tags.

Permalink to Comment

8. Garrick Van Buren on July 27, 2005 09:47 AM writes...

I put together a WordPress plugin to create the:
"Thai [t] Cohiba Churchill [t] Restaurant [t] Gruet Blanc de Noirs [t] Reston [t]" category + tag listing you mention.

http://garrickvanburen.com/wpcatt

Permalink to Comment

9. Marco on August 1, 2005 10:42 AM writes...

The solution you describe is almost exactly what I did with the 'Taggerati' extension for Pivot. On my site you can see it in action. All tags go to a local page that aggregates all kinds of info on the tag and there's a local tags cosmos page as well. Check it out some time. I'm interested in what you think of it!

Permalink to Comment

10. Steve Borsch on August 5, 2005 01:46 PM writes...

Hmmm...I attempted to articulate an idea around tagging that Stowe has actually accomplished.

A post I did a few days ago "http://borsch.typepad.com/ctd/2005/07/me_meits_all_ab.html" tried to do that and -- if you grab the URL go read it -- you can cut-to-the-chase and read the final two thoughts after reading Stowe's post.

Permalink to Comment

11. Julian Krause on August 6, 2005 12:55 AM writes...

My blog uses tagging internally to organize entries, and then I just use [t] to link to Technorati tags. It works very well and does get picked up. It also avoid the href going nowhere issue since all my tags have to exists for there to be a link to it.

Permalink to Comment


EMAIL THIS ENTRY TO A FRIEND

Email this entry to:

Your email address:

Message (optional):




RELATED ENTRIES
Reminder -- /Message
/Message - A New Blog
The Individual Is The New Group -- Part 1
1000 Tags: Tag Advertising
Social Ethics And Technology Design
Nancy Hass on In Your Facebook.com
Black and White and Dead All Over: Is Newsprint Dead?
Anonymous Trolls, Beware: You Are Breaking Federal Laws