Description:This book sways between discussion and dissection - addressing entrepreneurs, curious technologists and architects. It's inconsistent in its treatment of the material it chooses to add to its scope. Fortunately, this doesn't mean the book isn't useful to read or fairly enjoyable in parts.
Early on the authors take on the considerable task of explaining Web 2.0. They use an approach in which 1.0 applications are compared to their 2.0 successors or competitors. This approach does not work for several reasons.
The 1.0 application on display has evolved since Tim O'Reilly picked the contrasting applications a while ago. So there is no good benchmark to use. The authors point this out in several places, which makes the whole comparison more kludgey. Instead of an architectural analysis that is crisp, the comparisons devolve into feature discussions. So what defines Web 2.0? A set of features, the approach, its execution? The resulting discussion doesn't really come out and clarify Web 2.0 any more or less than available material on the Internet.
However some central themes to emerge in this discussion that are put to good use later.
The second half of the book presents a reference architecture for Web 2.0. Its a decent chapter, but not comprehensive. I was very unclear about how to utilize the information that was presented in Chapter 5.
Chapter 7, which talks about Web 2.0 patterns at a deeper level, is easily the most enjoyable chapter of the book. Like it predecessors, its not comprehensive, but it covers important ground.
Each Web 2.0 pattern is explained very well. There is a paragraph on the context in which the pattern should be utilized. There is material on the pattern's static structure and dynamic behavior and notes on implementation (these are a little thin for some patterns). A nice section on gotchas (called consequences) is also available.
Some patterns are a little broad - for example, is Rich User Experience really a pattern or an expectation in the Web 2.0 context that consists of serveral, constantly evolving, well-understood patterns that encompass graphic design, usability and dynamic web programming? Fortunately, regardless of the approach, the resulting discussions in this chapter are all good ones.