July 22, 2009

Web 2.0 Architectures: What entrepreneurs and information architects need to know

Web 2.0 Architectures is written by three authors and it shows. The 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 early discussions in this book are not dilineated from a technical perspective. There is no clear architectural model or patterns that are used to drive the explanations. Sure architectural patterns are listed, but they are not defined to begin with. So you have to go read up about them or have the knowledge beforehand. In either case, you may already end up knowing enough that the book may not be adding value.

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.

The patterns covered in this book are:

  • Service Oriented Pattern
  • Software as a Service
  • Participation-Collaboration
  • Asynchronous Particle Update
  • Mashup
  • Rich User Experience
  • Synchronized Web
  • Collaborative Tagging
  • Declarative Living and Tag Gardening
  • Semantic Web Grounding
  • Persistent Rights Management
  • Structure Information
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.

Web 2.0 Architectures is a book is fairly easy to read - its written in an accessible way. There are some errors in a couple of diagrams, but for the most part the accompanying figures are spartan and adequate.