2^W: The Second Coming Of The Web
| Audio | Slides (PDF) | Slides (HTML) |
I recently gave a talk entitled What Comes After Web 2.0? at the W3C Technical Plenary in Boston. The humor in the talk was well appreciated; I'm posting this entry to ensure that the technical meat underlying the talk does not get overlooked.
The Importance Of Being URLAddressable
The World Wide Web was built on the following architectural pieces:
- HTTP
- A simple client-server protocol
- HTML
- A simple markup language for authoring hypertext
- URLs
- A universal means of addressing Web content
Where Web 1.0 was about bringing useful content to the Web, Web 2.0 is about building Web artifacts out of Web parts. URLs play a central role in enabling such re-use --- notice that a necessary and sufficient condition for something to exist on the Web is that it be addressable via a URL. A key consequence of this design is that Web artifacts when deployed on the Web themselves become an integral part of the Web and are ready to be re-used in building higher-level Web components. Here are a few illustrative examples:
- Google Search
- Clearly, Google WebSearch would not exist without the Web. But notice that every Google Search in its turn has a URL; this makes it possible for hypertext documents across the Web to embed links to specific searches. Thus, not only is Google Search built on the Web; it itself becomes an integral part of the Web.
- Auctions
- Items available on auction sites such as eBay are URL addressable. This again makes these an integral partof the Web.
- Online Shopping
- When items in an online catalog have URLs, each item immediately becomes part of the Web.
The overall impact of the above design is profound; by ensuring that everything that exists on the Web has a unique URL, we ensure that it becomes possible to construct higher-level Web artifacts out of existing Web parts. This is what has led to the success of mashups on the Web; notice that the typical Web mashup accesses a multiplicity of data sources via the relevant URLs to deliver an integrated view to the user.
As we look forward to the second coming of the Web where mashups are not limited to pairwise combinations of Web resources, but instead allow general composition of arbitrary combinations of Web resources, it's important to stress the following:
- Separating data, presentation and interaction into their relevant layers (HTML, CSS, JavaScript) is crucial for content re-use on the Web.
- Data access is critical for mashups that bring together multiple data sources into an integrated view. However, mashups can do much more; for example, the same mashup technologies can be leveraged to integrate multiple views of the same data to produce custom views. A good example of this is seen in the context of XForms, where the model-view separation permits the binding of multiple synchronized views to a given data-set.
- Finally, retaining the separation between data, presentation and interaction in the process of creating mashups, and ensuring that the resulting Web artifact is itself URL addressable leads to the definition of easy to use REST APIs; this is crucial for the evolution of the Web Command Line.

3 Comments:
Great post, T.V.
There's a nice tie-in with the recent Semantic Web efforts around linked data.
In short, URIs rule! :) Especially http URIs.
Hi Raman,
Excellent post, and the talk that you link to is extremely interesting.
One quick comment on the idea of a web command-line; we have developed a technique which we use in Sidewinder that involves setting <meta> and <link> values in a document via an XPointer syntax applied to the URL.
In my mind this takes the URL to a whole other level.
For example, to invoke Google Reader in a window that is 900 by 500, positioned at the top of the display area, and is set to autohide, we use this URL:
http://www.google.com/reader#meta(width=900,height=500,autohide,position=top)
Using such a technique has a number of important consequences. First, it puts the usual command-line parameters that you would expect to use when running an application, into the URL, meaning that you have essentially 'factored out' the application that acts on the URL--just as we do with normal web browsing.
Second, putting the parameters on the command-line puts control over how the application is run into the hands of the person running it; this for me is the most exciting aspect of this.
I realised this comment was getting a little long, so I've written in more detail on this subject in a blog post, called Using URLs to pass parameters to web applications, widgets and gadgets.
All the best,
Mark
--
Mark Birbeck, formsPlayer
mark.birbeck@formsPlayer.com | +44 (0) 20 7689 9232
http://www.formsPlayer.com | http://internet-apps.blogspot.com
standards. innovation.
Post a Comment
<< Home