Recently I asked for a reviewers copy of Building the Realtime User Experience by Ted Roden and published by O’Reilly as I thought it would be an interesting read and relevant to much of the social media monitoring work I’m doing.
I reviewed Ted Roden’s book this weekend and found it very useful – though I’m not a programmer and probably would not use the book to implement anything – I could follow most of the examples well enough (and having done Unix Programming and Administration in a past life, along with some semblances of C Programming – I got the gist of what his programs did – and could implement them thought with a bit of difficulty).
If anything, the book explained why somethings are more difficult than they seem – such as old ways of using HTTP messaging vs. new ways of using HTTP messaging that support long polling and a large number of simultaneous connections that use newer technologies. In Chapter 4 of the book Server Push is explained as it was implemented in the past and how it would be implemented now with newer Protocols such as Bayeux, Cometd, Tornado (Chapter 5), Twitter Realtime Streaming API, etc. Building the Realtime User Experience also does a good job of explaining SUP (Simple Update Protocol and PubSubHubBub Protocol that was created by Google.
My overall sense of what these protocols and technologies do is simply aggregation and caching of data and making messaging (and routing messages) much more intelligent and flexible so that many more users can get data instantaneously without clogging up network pipes with polling requests that traditional HTTP and TCP/IP depended on.
In order to program the real time web, it’s necessary to understand and work with the new protocols and the book does a good job to taking a programmer though simple applications that can created fairly easily in Python with the right software libraries installed on your computer. In addition – Google App Engine is used to create simple applications a user can interact with. Sample projects that were undertaken in the book include building a dynamic homepage, building instant messaging, online chat, SMS messaging and some homegrown analytics.
I found the chapter of Analytics particularly interesting (Chapter 9) which is titled – Measuring User Engagement: Analytics on the Realtime Web. One idea that occurred to me was combining ChartBeat Analytics with FourSquare and Twitter – to make an tracking platform that merged real-time data with Site Analytics (such as Google Analytics). The reason I’m thinking about merging real time data with platforms like Google Analytics is that this is a particularly weak point of almost all current analytics offerings today.
For example, much of the online activity and buzz that would engage with a business or other tracked entity does not get recorded by Site Analytics because the activity never uses the site – but with a platform like ChartBeat Analytics it’s possible to track the number of people who are talking about a certain website on service such as Twitter – and if this could then be fed back into say .. Google Analytics – the information could make a very useful mashup. On the other hand, the customized analytics in Chapter 9, while interesting to a programmer, seemed to basic to me to be worth the effort to even attempt to implement – but that’s just my opinion.
The last chapter (10) puts all the information in the book together to create a simple interactive application – and if your a programmer – you’ll really like this book for the simplicity if offers in implementing the code provided. If you are not a programmer, such as myself, you’ll still get good information on newer Push protocols such as PubSubHubBub which are explained fairly simply and straightforwardly.
In either case, I’d buy the Building the Realtime User Experience book and use it as a reference and guide to implementing real time data on any website.