[Updated April 30, 2006]

In this essay I look at the Web 2.0 from a different perspective – the practical; the practical characteristics that have resulted in Web 2.0.


“In theory, there is no difference between theory and practice; In practice, there is…”
–Chuck Reid

Chuck's quote is one of my favorite ones – it captures the reality of going to
market…

For Tim O'Reilly's definition of the Web 2.0 go here. For Ajit's perspective of Web 2.0 go here.

The definition of Web 2.0 is so high-level (and thus loose) that it means different things to different people – that makes it very flexible :-). I personally look at the theory, background, rationale, if it's right or not (if it makes sense), and then turn into the practical aspects as this is where the rubber meets the road. I also look “how we got here” and also include mobility, which complicates the definition a bit.

From the practical perspective, I summarize the Web 2.0 as follows:


“The open, programmable, collaborative and aggregable Web, and the related actors;
the ubiquitous Web”

This definition is illustrated next:


Web 2.0


(Click to enlarge)

The above diagram illustrates the path (of these aforementioned characteristics and related actors) to the core essence of Web 2.0, which is the open, programmable, collaborative and aggregable Web that results in the Web everywhere, the ubiquitous Web.

The rest of the Web 2.0 definitions and concepts – the seven principles, collective intelligence, and so on are consequences from the above. The best instantiation or representation of this is the Mashups, and the social/community-based web.

So what all this really means? That anyone can write and publish useful (or not) services and make them available (share them) on the web. And anyone can use use and consume those services. Users go to the web to use the functionality and even create content and share with others, and developers collaborate and aggregate (mash up)  various services into new services.  – the open web, where users collaborate, where developers collaborate, where services and content can be created by anyone.

More on the practical side of Web 2.0
Web 2.0 is not only about AJAX and browser-based applications. Web 2.0 is about publishing, consuming, sharing open (asynchronous) services (this is especially true from the mobile perspective) – services that can be consumed by browser-based or rich local clients alike (as illustrated above). Services that exist and are published and exposed via HTTP and XML, or REST or SOAP, ATOM and RSS. These open protocols have resulted in new level of abstractions, in the open, collaborative and aggregable Web 2.0. When these services are combined with JavaScript XMLHttpRequest and related processing and techniques, then you have AJAX (a consequence).
Web 2.0 is all a consequence of the same factors: open, asynchronous, aggregable services on the web. I will add that “user-generated content” (user collaboration and sharing) is a very important
characteristic of the new Web 2.0 paradigm, which in turn is a consequence of the openness and ubiquitous of the Web.

Other areas of the Web 2.0 definition, such as “web is the platform” or the “end of software release cycle”, or “going across devices”, and “the intelligent web”, I will just touch briefly, as either they are obvious or are relative, or not really applicable. “The web is the platform” is central to Web 2.0 – no surprises here. The end of S/W release cycle is not a truism – what is true is that applications are made available public) much earlier in the development cycle (see Guy Kawasaki's “don't worry be crappy”), but the release cycle it is still there – it must exist if you follow good software product (engineering) practices. Going across devices may or not may be important for certain Web 2.0 applications, and for mobile is a must. “Lightweight Programming Models” well, lightweight they are not, but instead open and aggregable they are. And the “intelligent web” is relative – services can be intelligent or just pass through – the aggregation of services may or not be intelligent. About the collective web or collective intelligence, this is as I explained above, a direct consequence of openness, collaboration and aggregation.

From the mobility perspective, there is not much difference between mobile and desktop clients – both could be browser or local clients, for both services and data and users are at the center of Web 2.0. For both the network, the web is at the center of it. Mobile clients have the same restrictions as before – resource constrained, but now it has to handle the expensive HTTP and XML-based protocols, which could add cost to the user. Mobile clients will continue to be browser-based for applications that
queries the web and returns results, and local/rich for occasionally connected, advanced multimedia-type of applications.

In Conclusion…

I wanted to inject a different perspective to the Web 2.0. The Web 2.0 as we know it is the next step, the evolution of the Web due to the characteristics described above: open, collaborative, programmable and aggregable Web, and the rest are consequences of such characteristics and the related actors. Built from the bottom up, it is network (web), service, data and user-centric, and driven by the open and collective use of the web – the publication, consumption and aggregation of services and information on the Web.

Related blog entries:

* A Response to “Mobile Web 2.0: AJAX for mobile devices as the preferred platform for mobile app development”

* Will AJAX Save The Day (for Mobile Apps Development)?

ceo