This article is more than 1 year old

Google Wave - a developer's eye view

Better than pistol ammunition taste-testing

Last week, Google announced Wave, a new communication tool presumptuously described as "e-mail, if it were invented today." Now, it's a coming of age for technology companies to write a collaboration tool, put a good spit-shine demo on it, and call it a revolution. The idea is nothing new. In the 80s, we called it Lotus Notes. As of recent, we called it Microsoft Sharepoint. Today, I guess, it's Google Wave.

As developers, we've got to roll with it, even though on its face, it may seem as if there's been nothing gained insofar as making peoples' lives better. Management wants Wave. We need to integrate it with existing systems.

It's easy to complain about working with some brain-dead, proprietary API, or interfacing a some server that decided to invent its own protocol, or shape-shift our company's data into the XML Schema from Hell. But at the end of the day, hopefully, everything will work together just as that nice salesman had promised. In this regard, Google shoving its fist into the gooey, caramel-center of the enterprise collaboration market is a good thing, because when it comes to APIs, Google sells to the developer, not the managers.

When it comes time to integrate Wave into your enterprise, the job won't make you want to look for a new career in the pistol ammunition taste-testing industry.

Caught Embed With a Web Page

The easiest way to get started with integrating Google Wave into existing infrastructure is the embed API. At a high level, think of a "wave" as a collaboratively edited document. One of the keys to Google Wave is that you don't have to be running a particular program or be on a particular website to interface with these documents. You can embed the wave into any web page, and visitors can change it or participate in a conversation inside of it. Those changes and conversations are reflected anywhere else the wave is seen.

Since this is Google we're talking about, you're a fool if you thought you could get away without doing any Javascript. However, if coding in a Playskool language isn't really your cup of tea, don't worry. Embedding a wave into a web page is as easy as a couple of lines of Javascript code and then any stylizing CSS you want to do around it.

Go Go Gadget Bourbon

Google Wave provides you with a way to change the look and feel of waves. In an attempt to appear kooky and fun, Google has called these plug-ins "gadgets." This is the same way that you can extend existing Google services. Google Gadgets that run for iGoogle or OpenSocial (evidently still alive) will run in Wave as well. It's important to note that the idiom for a gadget is a small bit of functionality, not a full application. For example, you can write a gadget to pull data from your company's bug tracking system into a wave.

To make a gadget, you write some Javascript code to make the calls necessary to pull in data and wrap that in an XML document. Remember, your gadget is running in the browser, not server-side, so whatever external systems you need to interface with need some kind of web exposure. It's a minor pain in the balls, but not a deal breaker.

The interesting part of gadget development is the "playback" feature of Wave. Being a collaboration tool, it allows you to view a wave at any point during its history and play that history forward so you can see the evolution of the wave. Since a gadget is a way to extend the functionality of a wave, it needs to support this playback feature. Google makes it easy on you, allowing your gadget to submit state deltas to the server. If you follow this convention, you get playback for free, provided your gadget knows how to render itself given the state data.

More about

TIP US OFF

Send us news


Other stories you might like