I’ve seen and heard increasingly about Web 2.0, and a good person to look to for a description is Tim O’Reilly, founder of O’Reilly and Associates (a book company that gave me more technical information than my undergraduate education — which was quite good).
The basic premise is that the Web 2.0 is fundamentally different
from Web 1.0 (of the bubble). I can’t do it justice in entirety (hey,
follow the link and read it…) but I am very intrigued by
participation and dynamic programming models.
Participation is a major factor in Web 2.0, whether it is blogging
or the more anonymous "voting" model used for everything from search (Google) to bookmarks (del.icio.us). If you have read the wonderful book, The Wisdom of Crowds
by James Surowiecki, you will get this idea right away. Basically, a
major feature of Web 2.0 is the importance of data (think Google, but
also Amazon, Technorati, del.icio.us, etc). But how do you figure out
which data to invest your time and attention in? Personal
recommendations from the entire web community, delivered via
sophisticated algorithms or simple voting. The more opinions are
captured, the better the quality of the recommendations. This is why
people I’ve known my whole life cannot predict if I will like a movie,
but Amazon.com has successfully recommended 7 books I enjoyed in the
last six months alone!
Another, more technical point of interest is a trend toward
lightweight programming, and its implications for web services. In a
world where systems need to evolve quickly and unpredictably,
monolithic architecture is not going to work. Although SOA (service
oriented architecture) is bringing dynamism and loose coupling to large
enterprises, scripting languages and their attendant frameworks have
long since provided this to the more adventurous. From the early
content management systems of PHP to the Ruby on Rails framework,
people are opting for lightweight speed. This seems to fit well with
the Extreme Programming ethos which pushes back on the idea that
"slinging code" is to be minimized and controlled. It also oddly fits
with my own experience with business to business systems, which tend to
succeed only when they are very simple in concept, and to fail
brilliantly when they are in any way complex.
