Leverage GAE Channel API for realtime communications

I've been messing with Google's Channel API for App Engine as a means of achieving realtime data communication. The service is a simple with a very small API - 2 server-side methods and a lightweight client-side JavaScript object model. It's this latter facet that I find so impressive, based on its simplicity and pragmatism.

The folks at Google figured out that the hardest part of building systems that leverage XMPP is building the client apps. Big shops can write servers, and it's no big deal for people to download pre-packaged servers and run them on their networks. But creating the perfect user experience by way of a client is a big headache. Such an endeavor is typically way outside the skill set of the average web developer, being based on a completely different protocol than HTTP. So, they abstracted away all the complexities of having to build such apps from scratch, using the Google Talk stack.

Add to this that they made client development easy through the aforementioned JavaScript API, and now anyone can easily build neat services with low-to-no latency. It's a really simple, logical solution that will, I believe, drive the movement of the Realtime Web rapidly forward...to date it's been a black art or reserved for extremely large or abnormally skilled shops. This makes it easy for the little guy.

Because the client is web-based, this also inherently makes the service relevant on mobile devices, tablets, Internet TV platforms, online appliances and other digital devices - anything with a capable browser. And it's likewise futureproofed for better browsers as they come along, too.

Here's a sample of something I'm working on using the Channel API, to deliver realtime sports data to clients who want in-game updates:

Kudos to Moishe Lettvin for getting this out the door. Great work!