Easy. Just read the official definition by Tim O’Reilly.
In a nutshell (and as presented beautifully by Andy Budd and from where I got this beautiful photo), Web 2.0 is not a new technology or a new framework. Rather Web 2.0 is a new way to think of web applications.
Principle #1: The Web as a Platform
Web 1.0 was a collection of static HTML files. Web 2.0 is full of computer-generated dynamic pages which are available using web services technologies such as SOAP and REST.
More pragmatically, in Web 2.0, every single item of information can be requested (if that information is public of course) using either a function call or by GETting a URL.
Personally, I find the REST model the way of the future and, for example, Google has deprecated SOAP.
Principle #2: Harnessing Collective Intelligence
Web 2.0 is based on open standards and encourage people to contribute their personal data. Based on the contribution of thousands of people, Web 2.0 websites derive extremely valuable information that cannot be guessed (or calculated) otherwise.
One example is Last.fm. Each time someone listens to a MP3, a small bit of data is sent to this application (if the person has installed the required software of course). After some time, Last.fm can build detailed statistics about the popularity of artists.
What’s extremely cool about Last.fm is that it also correlates users i.e. it tells me who listens to music similar to what I like. And, through this network of “friends”, I can discover new music.
Another notable example is Wikipedia which has become, through contributions by normal persons, one of the best sources of information on the web. I use Wikipedia daily to prepare my University lectures :-)
To summarize, Web 2.0 applications use contributions from users to derive collective knowledge which is openly available.
Principle #3: Rich User Experience
Web 2.0 applications work in a browser but feel like desktop applications. Examples are GMail and Flickr Organize.
Those are examples of AJAX applications.
Many Web 2.0 applications are being built using the Ruby on Rails framework which I’m currently learning. Of course, one can also use JavaScript which is an extremely powerful programming language.
I’ll write on AJAX in my next post.