ifacethoughts

URLs, Content Negotiation And Parallel Web

Frank Sommers discusses about supporting content negotiation or alternate URLs. Source of this discussion is a series of articles on a meaningful web for humans and machines (Part 1 and Part 2) by Lee Feigenbaum and Elias Torres. The articles explore techniques for a parallel web, one for the humans and the other for the machines.

Parallel Web

In essence, today Web is about serving the humans in different formats. For example, you can read this blog by visiting the URL or by subscribing to its feed or by clicking on a search result via a search engine. In all of these cases, you will end up using different intermediate software, like the feed reader or the search engine. To enable this, this blog has to serve you directly, serve the search engines and the feed readers, with a format their own understands. The two techniques of parallel web that were discussed in the articles were:

  • Provide separate URLs for each of the formats, e.g., different URLs for the blog and its feed. This is what this blog follows currently. Even if they are separate, the URL for feeds is auto-discoverable. That is, with most feed readers, even if you just enter the blog URL, it will be able to detect URL for the feed.
  • Provide a single URL for all the formats, and use content negotiation to request a specific format. That is, the URL of this blog can be used by you, as well as by the feed reader, there is no other URL for the feed reader. Content negotiation is supported inherently by HTTP. Web servers like Apache include support for it since a long time, an example is provided in the articles. Content negotiation can be effectively used to serve different mime-types to browsers depending on their compatibility, as illustrated by Roger Johannson.

In both the cases, the URLs serve you, and other softwares that help you read. This same fundamental, when applied to all the web applications, create two parallel webs - one for the humans and one for the machines.

I agree with Frank that these two are different approaches, and it is quite important to decide which to support. I think that using content negotiation can be simpler for the user from a usability perspective, as he/she will not have to look around for various URLs. This problem is solved to some extent by auto-discovery, but even that is going to require a manual intervention. However, I wonder if it would be so for people who are already used to separate URLs. By usage the paradigm of separate URLs for separate format has become simple, anything simpler can actually seem more complex. This is the only skeptical thought I have right now, otherwise I think content negotiation should get used more.

Say your thought!

Who are you?

If you want to use HTML you can use these tags: <a>, <em>, <strong>, <abbr>, <code>, <blockquote>. Closing the tags will be appreciated as this site uses valid XHTML.

freshthoughts

contactme

Abhijit Nadgouda
iface Consulting
India
+91 9819820312
Y!: anadgouda
GTalk: anadgouda@gmail.com
MSN: anadgouda@hotmail.com
Skype: anadgouda
My bookmarks

currentproject

Complete Wellbeing

badgesand...

This is the weblog of Abhijit Nadgouda where he writes down his thoughts on software development and related topics. You are invited to subscribe to the feed to stay updated or check out more subscription options. Or you can choose to browse by one of the topics.

Twitter - #mumbai - The city has started working today. The fears are still there, but the spirit will help in fighting it.