Author: Ted Roden
Publisher: O'Reilly, 2010
Aimed at: Fairly experienced web developers
Pros: Covers an an emerging area
Cons: Light on theory and discussion
Reviewed by: Ian Elliot
This is a book about the idea that the web is moving to providing a realtime response to the user. What this means is that messages, new items and data are provided as they happen rather than aggregated into a finished web page and presented at some later time.
This all sounds fine but you need to keep in mind that most of the techniques described in the book are "custom" in the sense that they aren't standard and aren't easy to get set up. The techniques are also very diverse and you might not find them all useful or relevant to what you want to do. The book by the nature of the subject it covers is a bit of a collection of odd topics that just about sit together as realtime web techniques.
Chapter 1 is an introduction to the basic ideas. Chapter 2 is called Realtime Syndication and it covers Simple Updata Protocol SUP and the better known but more complex PubSubHubbub. The problem that this sort of syndication protocol has is support. Although the author mentions some well known sites that support both, being able to use them depends on which sites you want to work with.
Chapter 3 is about a simpler idea - the dynamic home page. This is essentially about Ajax like techniques based on using JSONP to get the live data. As this isn't explained as a piece of theory it can be hard to see the big picture from the examples.
Chapter 4 is about using long polling as a way of implementing server push. This deals with not just the basic idea but the messaging protocols as implemented in Cometd. Similarly chapter 5 is about Tornado to do the same sort of job.
Chapter 7 moves on to consider instant messaging and it is mostly about using XMPP via the Google App Engine. It also provides an example of using Yahoo's YQL service to query a weather service. Chapter 8 continues the instant messaging theme with a look at SMS services and gateways.
The remainder of the book attempts to round everything off with a look at realtime analytics. The final chapter is called "Putting it all together" and it implements a game that uses a number of the techniques described earlier in the book.
If you like having things explained to you via fairly long examples then this book will please you. For my money I would rather have had more description of the underlying principles and ideas. I also would have liked more discussion of how well supported the various protocols were - simply to state that Facebook or Google uses it isn't really enough.
So if you are interested in any of the protocols or projects that the book covers, and don't mind it being light on theory, then it's a good book on a topic that doesn't really exist as coherent subject just yet.