April 27, 2005

Dare Obasanjo stunned by simplicity of Web

Dare Obasanjo comments on RSS apps in Adam Bosworth's Web of Data

Over the weekend I wrote the MSN Spaces photo album browser page which displays slideshows of all the photos in the various albums on a particular user's MSN Spaces space. This page also can display the photos on a randomly selected space. This webpage is entirely powered by RSS. The photos are obtained from the RSS feed for the Space and the list of random spaces is obtained by querying MSN search with the query 'site:spaces.msn.com photo album' and requesting the results as RSS. In fact, the information from the MSN Spaces RSS feeds is enough to build something like the Flickr related tags browser, where instead of showing related tags one could show spaces related to the user from the information in their blog roll which happens to also be provided in the RSS feed. Pretty nifty and all without requiring building a REST, SOAP or XML-RPC API.

I think he's missing the point about Web-style apps when he says "without requiring building a REST [...] API". Because the API was uniform with the rest of the Web and not custom to the service, it was an easy integration task - not a full project, just a simple development task. He's mis-directing people by shining the light on RSS when the real reason this works is uniform interfaces, resource identifiers and nice representations in XML.

April 23, 2005

On HTTP Abuse

A great, great article - read it and think how you can help.
On HTTP Abuse

Every web framework I've ever worked with (Apache, CGI, Java Servlets, Quixote, Webware, Ruby on Rails, PHP, ASP.NET, CherryPy) were extremely limited in their support for the full set of capabilities provided by HTTP.

For instance, which frameworks ...

  • ... help implement content negotiation properly?
  • ... provide facilities for implementing a smart caching strategy for dynamic content? (proper use of If-Modified-Since, Expires, Cache-Control, etc.)
  • ... make dealing with media types easy?
  • ... make dealing with character encodings easy?
  • ... encourage the use of standard HTTP authentication schemes?
  • ... have a sane mechanism for attaching different behavior to different verbs for a single resource?
  • ... help ensure that URIs stay cool?
  • ... make dealing with transfer encodings (gzip, compress, etc.) easy?
  • ... help you use response status codes properly? (e.g. Nearly all dynamic content returns either a 200 or 500).

Great list. There is one early framework that did some of this - http://xml.apache.org/xang/ - but it never took off. It's sort of embarassing now, but archaeologically interesting.

April 21, 2005

Amazon directory of free MP3 downloads

Via BoingBoing - there's a directory of free MP3 downloads on Amazon. Finding the underlying URI for the actual MP3 is a bit of a challenge though.

I had put up a playlist on Webjay for some of these a while back - but it's nice to access the full list.