Note: there are various definitions of web2.0, with the most quoted one (http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html) being provided by Tim O’Reilly. But I feel all those definitions fall short of hitting the true nature of web2.0. I have articulated my understanding of web2.0 in various posts of this blog. Here I want to briefly summarize it and give the reason of why I think it is better to understand web2.0 in this way.
A better way to understand web2.0: web2.0 is a better way to program social software, which is highly human software.
Why is this understanding better? Because it is more tied with the big picture.
With this understanding, it is easier to understand our position in human history. It is based on the understanding of software’s position in human history. It is based on the understanding of history of science in human civilization. In that understanding, software is a bridge between physical science and human science. Social software is to program in the social domain, which has intensive life features, such as the need to change/adapt often, being collective from many people, highly interactive…. (Regarding the set of features of these highly human oriented software, I can have a separate post to summarize their features.) Web2.0 is the set of solutions programmers come up in how to program in the social domain. It summarized the efforts programmers have made in solving the common challenges that we were faced during the recent years. (In the software world, we are increasingly dealing with domains that are increasingly human.) So with this understanding of web2.0, we also recognizes the nature of the problems that we are dealing with in our age: how to program in the social domain, e.g. how to bridge the social domain and the physical domain.
All these tie into the big picture: the new kind of science, which combines our best knowledge of human nature with our knowledge of the physical world.