1. Make services extend to wherever the network goes.
2. Services should work well with others.
3. De-couple the creation and use of data.
Don’t just implement feature requests from “user representatives” or “business analysts.” The most common way to get usability wrong is to listen to what users say rather than actually watching what they do. Requirement specifications are always wrong.
Flickr have just launched Places – which is basically a way to explore Flickr via geo-specific pages. Each page includes a map of the area, the most interesting photos, a tag cloud, photo groups and, for towns, the current weather. But that’s not the most interesting thing about Places – the most interesting thing is how they implemented their URLs.
Creating a good URL schema is not easy. As Michael, a colleague of mine, reminded me “good URLs should be persistent and hackable, but most importantly they need to be persistent”. This is because if you can’t reliable point to a resource you can’t join it to other things on the web, you can’t add context to the resource, you can’t manipulate it. And if you can’t do that then the webpage is no more than a piece of brochureware, it’s not a web 2.0 citizen.
Now the folks at Flickr have done a great job of creating persistent hackable URLs. What they have done is created a URL schema that looks like this:
Which for London is:
These URLs are easily hackable – for example you can get to the England page at this URL:
Even if some of the URLs are a little US centric.
Now to pull this off is very impressive. As Dan Catt explains:
…turning essentially a record ID from the backend into something that a human can understand, and yet the backend can once more turn back into the same record ID wasn’t as easy as I thought it aught to be when we asked Kellan to do it : ) and lots of effort went into making it so.
Basically you have to ask the backend, where something is the ‘child-of’, to build the hierarchy. However as we don’t have full control of the backend you often get a city, let’s say London, belonging to a place called Greater London, which, as far as I can make out from the bounding box, is about 2 inches taller and wider than London. Or York (in England) belonging to something like Duke Elligton’s Marginal Lower Land Barrows of the Kidsworth Council Academic Elective Region. Because that particular piece of geographic data was extracted from the government’s parish records from 1895. It wouldn’t surprise me to find that some towns in England were a child of a mobile library’s service region.
Anyway, hidden away from me in a black box constructed by Kellan and Aaron is all the complex magic that works out what’s important and what to miss out.
All very impressive.
As I mentioned previously I went to the Future of Web Apps conference this week. The conference had the usual mix of interesting, not so interesting and sales pitches – here then is my take on the interesting.
Simon Willison gave a great, very entertaining, presentation on OpenID – which for those that don’t know, is a framework for creating a decentralised service to manage your online identity. OpenID uses a single website URL, instead of a username and password, to identify yourself with a site. There are a number of OpenID providers or you can setup your own, if you’re that way inclined.
Over the last few weeks both AOL and Microsoft have come out in support of OpenID – and I would love the BBC to replace their Single Sign On service with OpenID. Anyway, at FOWA both Digg and Netvibes announced that they too will support OpenID, this is great news; I suggest you should take this as a sign to find out more – 2007 will surely see an increasing number of services adopting OpenID and new business models enabled by it.
Netvibes also announced that they will launch a Universal Widget API (UWA) with the objective of “build your module once, deploy everywhere [Vista, Mac, Google, Yahoo!]”. As part of the UWA Netvibes are releasing:
- A UI library for widgets
- Netvibes also want to build a community of APIs
Other consistent themes included the importance of building an API into your web app from the outset, the use of attention data and being open and honest with your users; of these attention data is, to me, the most interesting.
“When you pay attention to something, or when you skip it, data is created”
(Matthew Ogle, Last.fm).
I suspect that we will start to hear a lot more about attention data in the coming year both in terms of functionality and generating revenue. For example, Flickr uses attention data to calculate which photos are ‘interesting‘: “We looked at how many times was a photo commented on, viewed, blogged about, and saved as a favourite” (Bradley Horowitz); or how Last.fm uses attention data to moderate the importance of user tags (if you listen to a piece of music your tags count more than if you don’t). And of course if someone knows what you pay attention to, and what you don’t, that data is incredibly valuable to advertisers.