Future Of Web Apps, London – review

Future of Web Apps logoAs 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:

  • An open source Javascript runtime environment
  • A UI library for widgets
  • Netvibes also want to build a community of APIs

All interesting stuff but I fear that the UWA won’t be compatible with the proposed W3C widget standard which would be a real shame, anyway more information over at Techcrunch.

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.

AJAX what is it? (it’s not DHTML)

Despite the fact that AJAX is at the centre of the current Web 2.0 movement it is still a greatly misunderstood technology. So what is it?

Ajax, is short for Asynchronous JavaScript and XML – its not a technology in it own right rather a set of established technologies, a development technique if you will, for creating more responsive, interactive web applications such as Google maps.

Traditional web applications require the entire page to refresh whenever the user interacts with the system this is because the entire webpage is rebuilt following the transfer of data between the browser and the server (there is a synchronicity between a user’s action and data transfer between the web browser and the web server – the user clicks on something, data is transfered and the page is rebuilt).

Rebuilding the page in this way introduces a delay and interrupts the user from achieving their goal, which is obviously a bad thing; at least for web applications if not for sites such as this blog or a news site.

The objective of Ajax is to make web applications, more responsive by separating the data transfer (which happens in the background) from the users’ actions. This is achieved by placing a piece of code (JavaScript) between the user and the server – the JavaScript (running on the users’ browser) requests data (as XML) in the background and uses this to build the webpage (by using iFrames the JavaScript can be made to only rebuild parts of the page at a time). This separation means there is an asynchronous relationship between data transfer and the user’s interaction with the application.

Ajax model

I would now like to draw a distinction between Ajax and DHTML (Dynamic HTML) which is often used to make rollover or drop-down buttons on a web page and is often confused with Ajax.

DHTML, like Ajax uses client-side scripting (such as JavaScript) to change the presentation of the page, but unlike Ajax where the JavaScript is used to request data from the server, DHTML is only used to modify an otherwise “static” HTML page after the page has been fully loaded (the page is requested and delivered synchronously with the users request as per the traditional model).

In other words if there is no data transfer between the server and the browser – it’s not Ajax.