I had the pleasure of reading the soon-to-be-published Web 2.0 Design Patterns, but am seriously late getting my thoughts out (sorry guys!). In short, this book is well worth the read.
Duane, James, and Dion captured a high-speed drive by of all things 2.0, carefully deconstructing all of the cool tools we’ve been having so much fun with recently. They setup the book with a dissection of some flagship Web 2.0 properties, and contextualization of key memes. Next they define applicable models for capturing Web 2.0 in a pattern language. One my favorite aspects of this chapter was the use of “low end” modeling techniques – such as concept maps, and HTML
<meta> tags as a form of WSDL for simple HTTP services. Being an Agilist and a practicalist, I like to see less well refined techniques legitimized. In true 2.0 style, the authors use what works, not just what is academically proscribed.
But the core of the book is a pattern reference. As they state in the intro to that section, it’s not likely something you will read straight through – though it’s certainly well written enough to do so. Each pattern is appropriately brief, but still hangs meat off the bone enough to be useful. The landscape of defined patterns is broad, and oddly shaped. SOA and Mashup are patterns, as are Semantic Web and Microformats. This struck me oddly at first – maybe I was hoping for something more homogenous from a developer’s point of view. But the authors make it work. I have to admit it was amusing to see memes like SOA and SaaS reduced to a pattern template. (Though where is the missing reference to Salesforce.com in the Known Uses for the SaaS pattern?) The authors also extract new patterns native to the Web 2.0 landscape that are very insightful: Participation-Collaboration and Asynchronous Particle Update are very well done.
This book has a definite place on my bookshelf. Useful reference to be sure, but I can also imagine using this as a tool for evangelizing inside a large enterprise. To convert some minds, a pattern-based description might give some of these approaches more legitimacy. But the simple descriptions, useful models, and thoughtful examples in any context will provide the basis for a common understanding of Web 2.0 techniques.