Friday, June 19, 2009

Google Wave Extensions: An Inside Look


It’s undeniable: Google Wave has captured the imagination of techies, social media enthusiasts, and web users everywhere. Its combination of email, real-time chat, wiki tools, and social networking have generated an incredible amount of buzz.

While the focus of this buzz is centered around Google Wave’s features, there’s an aspect of the new platform that hasn’t received the attention it deserves: Google Wave extensions, which allow any developer to add their own gadgets or robots to the open-source tool. Extensions offer the potential for Google Wave to end up being used in so many different ways. But what exactly is an extension? Why would someone build one? And how exactly does one go about it?

Thanks to developers Sam Gammon and Nick Hume, we now have the answers to most of these questions. We looked inside the process of building a Google Wave extension, from start to finish and assembled the following guide, which explains the concept of a Google Wave extension, why they’re important, how one can be built, and what you can expect in the coming future.

While we suggest reading our Google Wave guide for a more complete overview of Google Wave extensions (and everything else), they are, in a nutshell, 3rd party applications. Just as a Firefoxaddon improves or changes the Firefox browser in some way, a Google Wave extension provides for additional functionality within the platform. Once Google Wave is released publically, anybody will be able to build his or her own Wave extension.

There are some important distinctions you should keep in mind. First, there are two types of Google Wave extensions: gadgets and robots. A gadget is an application that runs within a wave. These are a lot like Facebook applications or iGoogle gadgets. They are standalone programs that run within a threaded conversation (aka a wave).

A robot, on the other hand, is an automated participant within a wave. They act like a person and can speak and interact with anybody within the wave. In addition, they can perform tasks, such as pull information from outside sources (as is demonstrated by the Twitter bot Tweety) or can react to keywords and actions within a wave.

Both provide for a range of possibilities that will only grow as developers get comfortable with the platform and dream up new extensions to build and Google releases new APIs for programmers to utilize.