Understanding Google Wave Development – Part 1
Since “Google Wave” was introduced at the Google I/O Conference in San Francisco May 27th to 28th, 2009, there has been a lot of buzz and attention surrounding the new platform. What exactly is Google Wave? According to the development team, it is the biggest upgrade to email since the introduction of the web, a type of combination between email, blog, forum comment section, instant message system, and widget board. Google Wave shows the enormous influence that Facebook is having on the future of the web – in a way, the preview looks as if the majority of Google services were integrated and remixed into an animated Facebook stream. The big differences are in the standards behind the interface: XMPP particularly allows the Wave documents to function like an instantaneous, shared whiteboard in addition to a saved multimedia document with filtered permission levels.
What is a wave?
“A wave is equal parts conversation and document. People can communicate and work together with richly formatted text, photos, videos, maps, and more.
A wave is shared. Any participant can reply anywhere in the message, edit the content and add participants at any point in the process. Then playback lets anyone rewind the wave to see who said what and when.
A wave is live. With live transmission as you type, participants on a wave can have faster conversations, see edits and interact with extensions in real-time.”
For those that did not attend the I/O conference, the essential resource is the launch video from that day that is viewable at:
Developing For Google Wave:
Google plans to open source much of the code behind the Google Wave platform, and one of the points confirmed is that anyone- ISPs, private groups, individuals, companies, websites, domains, will be able to operate their own Wave server based on the Wave Federation Protocols. Developers who would like to build new applications for the Wave platform should review the draft specifications and white papers available at:
The Google Wave API is intended to enable developers to embed Wave documents in standard web pages as well as to “extend” the platform by embedding widgets within a Wave itself. The Wave extensions allow for the embedding of virtually the entire archive of iGoogle widgets, and allow programmers to develop Java, Python, ActionScript, and other applications to add new functionality to a Wave. For more information on the Wave API, visit: http://code.google.com/apis/wave/
“On May 28th, the second day of Google I/O, we unveiled Google Wave as a developer preview. But, we’d never actually had non-Google developers use it, and we were eager to see how it’d play out… So, on the Friday after I/O, about 60 developers assembled down at Google HQ for the very first Google Wave API hackathon. After five hours of hacking and ad-hoc discussions with members of the Wave APIs team, there were a whopping 17 demos to show off. We were awed by how enthusiastically developers dove in to the APIs that day, and excited to see what they created. Their accomplishments were especially amazing as no one had even used the product prior to the hackathon.”
Embed API – Methods to communicate w/ server:
LoadWave SetUIConfig AddReply Follow
Sample Google Wave Embed Code:
A month after I/O, most developers who did not attend are still waiting for Google to approve sandbox access. There are a couple of good email discussion groups dedicated to working out issues related to development on the platform:
Google Wave API Group: http://groups.google.com/group/google-wave-api
Google Wave Federation Protocol Group:http://groups.google.com/group/wave-protocol
Wave Gallery: http://wave-samples-gallery.appspot.com/
PyGoWave Server also has a type of sandbox set up and some demo projects online:
Drupal.org discussion: http://drupal.org/node/476438
Drupal.org module project: http://drupal.org/project/wave
Drupal.org Google Wave Group: http://groups.drupal.org/google-wave