Review of the Google Wave Limited Preview

Google announced Wave, their new collaborative communication product, at the Google I/O Conference in May. This week they sent out 100,000 invites to the general public for a limited preview.

This post details all the different aspects of Google Wave and the Wave Protocol, and towards the end includes a lot of screenshots of the interface as it’s currently available.

The announcement from the Google I/O Conference is available on YouTube as a 1.5-hour video:

… but you can get an idea of Google Wave’s basic functionality in this shorter video:

There are three aspects to Google Wave:

Google’s Hosted Conversation Platform

According to Google, a wave is:


Equal parts conversation and document. People can communicate and work together with richly formatted text, photos, videos, maps and more.

Shared. Any participant can reply anywhere in the message, edit the content and add participants at any point in the process. Playback lets anyone rewind the wave to see who said what and when.

Live. With live transmission as you type, participants on a wave can have faster conversations, see edits and interact with extensions in real-time.

Additionally, waves feature:

Real-time collaboration. Concurrency control technology lets all people on a wave edit rich media at the same time.

Natural language tools. Server-based models provide contextual suggestions and spelling correction.

Extendability. You can embed waves in other sites or add live social gadgets, thanks to the Google Wave APIs.

Playback. Users can playback any part of a wave to see changes in the order that they occurred.

Drag-and-Drop File Sharing. To upload a file to a wave, simply drag it from your desktop and drop it inside the wave (requires Google Gears).

Applications and Extensions. Developers can build their own apps within waves.

Open Source. The Google Wave code will be open source to foster innovation and adoption amongst developers.

What makes a Wave?

The four basic concepts in this new communication medium are waves, wavelets, blips, and documents:

review-google-wave-limited-preview-01

  • A wave is a threaded conversation, consisting of one or more participants (which may include human participants and robots). The wave is a dynamic entity which contains state and stores historical information (to enable playback of changes to the wave by participants throughout time). A wave is a living thing, with participants communicating and modifying the wave in real time. A wave serves as a container for one or more wavelets.
  • A wavelet is a threaded conversation that is spawned from a wave (including the initial conversation). Wavelets server as the containers for one or more messages, known as blips. The wavelet is the basic unit of access control for data in the wave. All participants on a wavelet have full read / write access to all of the content within the wavelet. As well, all events that occur within the Google Wave APIs operate on wavelet level or lower.
  • A blip is the basic unit of conversation and consists of a single message which appears on a wavelet. Blips may either be drafts or published (by clicking “Done” within the Wave client). Blips manage their content through their document, defined below. Blips may also contain other blips as children, forming a blip hierarchy. Each wavelet always contains at least one root blip.
  • A document is the content attached to a blip. This document consists of XML which can be retrieved, modified or added by the API. Generally, you manage the document through convenience methods rather than through direct manipulation of the XML data structure.

You can request an invitation to Google Wave here, or if you have a friend who received an invite (not a nomination from another friend), they should be able to nominate you for an account.

The Google Wave API

The Google Wave API allows developers to use and enhance Google Wave through two primary types of development:

  • Extensions: Robots can automate common tasks, and gadgets can provide new ways for users to interact.
  • Embedding: Waves can be embedded in websites so people can contribute to them without going to wave.google.com (or in the future using their specific wave client).

Wave gadgets can handle concurrent participation and provide real-time feedback. For example, crossword or sudoku gadgets let multiple participants in a wave solve the puzzles together.

Wave robots can respond to users’ actions in real-time if they see something relevant to their functionality, and can work with and complement other robots. For example, the code highlighting robot Syntaxy and the code compiling robot Monty were developed independently, but when placed in the same wave they together allow a user to compile syntax-highlighted code. Additionally, robots are smart enough to recognize normal human text so users don’t have to format input in a particular way. For example, a mapping robot searches waves for anything that looks like an address without requiring the user to prefix an address with keywords such as “map:” or “address:“.

Fill out this form to request Sandbox Access to the limited developer preview, see the Google Wave API Overview for development tutorials, and see the Wave Extension Design Principles for guidelines to developing extensions that play well within the Google Wave environment. Join the Google Wave API Group on Google Groups if you need to ask questions to other developers.

The Google Wave Federation Protocol

The Google Wave Federation Protocol is wave.google.com’s underlying network protocol for sharing waves between wave providers. Google would like anyone to be able to build wave servers that interoperate, much like anyone can run their own SMTP server, and as such the wave protocol is open to contributions by the community. You can read the draft protocol specification here, see the community principles here, or read the architecture whitepapers here.

More information can be found on the Google Wave Federation Protocol website.

The Google Wave Interface

After logging in to Google Wave, you’ll be taken to a screen with Navigation and Contact panes on the left, a Messages List in the middle, and the content of the focused wave on the right:

review-google-wave-limited-preview-03

Any of the panes can be collapsed or resized, and Contacts can be “pinged” to start a wave with them in a collapsed interface:

review-google-wave-limited-preview-04
review-google-wave-limited-preview-05

Multiple waves can be opened at the same time and will be arranged across the screen, but with more than three or four open the interface starts to seem cluttered:

review-google-wave-limited-preview-06
review-google-wave-limited-preview-07

When you open a wave, participants added since your last view will be displayed in a yellow notification box at the top of the wave and messages added since your last view will be highlighted in green:

review-google-wave-limited-preview-08
review-google-wave-limited-preview-09

Links, images, and other files can be added to a wave by dragging and dropping them (if you have Google Gears installed) or by using the built-in upload tools:

review-google-wave-limited-preview-10

If multiple images were uploaded to a blip, they can be viewed in a full-screen slideshow:

review-google-wave-limited-preview-11

When a wave is open, you can see other participants making changes in real-time:

review-google-wave-limited-preview-12
review-google-wave-limited-preview-13
review-google-wave-limited-preview-14
review-google-wave-limited-preview-15

Public Waves

New waves are only accessible to the people invited to it, but a wave can be made publicly-accessible by adding “public@a.gwave.com” as a contact, then adding that contact to the wave.

To view a list of all public waves, search for “with:public” in your messages list.

Keyboard Shortcuts

Google Wave has several keyboard shortcuts, including:

  • Up / Down Arrows: Navigate through messages.
  • Left / Right Arrows: Switch focus between the messages list or open waves.
  • Control, then Space: Marks all messages as “read” when focus is on a wave panel.
  • Enter: Reply to a message at the same level of indentation.
  • Shift, then Enter: Reply to a message with the reply appearing at the same indentation level at the very end of the wave.

More keyboard shortcuts are listed in this support article.

Searching Waves

Searches in Google Wave can contain several search terms:

  • with: search for waves with specific contacts (prepend a “-” to exclude contacts), e.g. “with:public“.
  • tag: search for waves with tags, e.g. “with:iphone“.
  • has: search for waves that have certain attachments, e.g. “has:gadget“, “has:image“, “has:attachment“.

Any of these search operators could also be combined. For example, use “with:public tag:iphone” to find all public waves tagged with “iphone“.

More search terms are listed in this support article.

Adding Bots

There are several bots currently available with more being developed all the time. To add one to a wave, add the bot as a Contact, then drag the Contact onto the wave:

  • Bit.ly Bot (bitly-bot@appspot.com): Will shorten URLs using bitly.
  • BotURL (boturl@appspot.com): Will replace full URLs with hyperlinks.
  • Bouncy (bouncy-wave@appspot.com): After receiving a reply like “bounce:botaddress” within a wave, will remove the mentioned bot from the wave.
  • Dr Maps (dr-maps@appspot.com): Will update waves by inserting maps associated with addresses.
  • Sweepy (sweepy-wave@appspot.com): Will delete any newly-added empty replies automatically.
  • Syntaxy (kasyntaxy@appspot.com): Will do blip-by-blip syntax highlighting for languages including Python, Java, C, C++, HTML, CSS, JavaScript and more.
  • Twitusernames (twitusernames@appspot.com): Will replace all Twitter @usernames with links to the Twitter accounts.

More bots are listed in this Extension List article on Google Docs.

Adding Gadgets

There are several gadgets currently available with more being developed all the time. To add one to a wave, edit a blip, click on the green puzzle piece in the toolbar, and enter the gadget’s URL:

  • HTML (http://wave-ide.appspot.com/html.xml): Allows you to embed HTML into a wave.
  • Slashdot Gadget (http://www.m1cr0sux0r.com/slashdot.xml): Allows you to add the latest headlines from Slashdot to a wave.
  • Sudoku (http://blah.appspot.com/wave/sudoku/sudoku.xml): Allows you to play sudoku within a wave.

More gadgets are listed in this Extension List article on Google Docs.

Google Wave and Browser Support

Although Google Wave works fine (for alpha software) in most of the popular web browsers, it doesn’t do so in Microsoft Internet Explorer.

review-google-wave-limited-preview-02

Geekology recently posted about Google Chrome Frame and how it can temporarily replace Internet Explorer’s JavaScript and HTML engines with those used by the Google Chrome browser. Because Google Wave depends on advanced JavaScript and DOM rendering performance, users of Internet Explorer will be asked to install Google Chrome Frame when they log in to Google Wave.

 

Related posts:

  1. Geekology has 10 Google Wave invites to give away!
  2. Google Chrome Frame changes Internet Explorer into Google Chrome!
  3. Google Chrome Speed Tests
  4. Uninstall Google Software Update on Mac OS X
  5. Speeding up Google Analytics load times with a jQuery plugin
Twitter Digg Delicious Stumbleupon Technorati Facebook Email

9 Responses to “Review of the Google Wave Limited Preview”

  1. You should try the 6round video chat extension. Insert the gadget into a wave using the following URL: http://st.6rounds.com/wave/widget2.xml

  2. Thanks, Natasha! :)

Trackbacks/Pingbacks

  1. Googland (googland) « Review of the Google Wave Limited Preview | Geekology « Chat Catcher - 09 Oct 2009

    [...] 2009-10-09T02:37:11 By @-willemvzyl New blog post: My review of the #-google #wave Limited Preview – [link to post] [...]

  2. Tweeter Lover (tweeter_lover) « Review of the Google Wave Limited Preview | Geekology « Chat Catcher - 09 Oct 2009

    [...] 2009-10-09T09:22:27 Review of the Google Wave Limited Preview | Geekology: This post details all the different aspects of Google Wa.. [link to post] [...]

  3. Grey Champion (greychampion) « Review of the Google Wave Limited Preview | Geekology « Chat Catcher - 09 Oct 2009

    [...] 2009-10-09T11:35:22 newStream ©: Review of the Google Wave Limited Preview | Geekology [link to post] [...]

  4. John Macy (TheGoogle_Wave) « Review of the Google Wave Limited Preview | Geekology « Chat Catcher - 09 Oct 2009

    [...] 2009-10-09T11:35:36 Review of the Google Wave Limited Preview | Geekology [link to post] [...]

  5. Martin Cleaver (mrjcleaver) « Review of the Google Wave Limited Preview | Geekology « Chat Catcher - 20 Oct 2009

    [...] 2009-10-20T08:28:23 Geekology’s “Review of the Google Wave Limited Preview” [link to post] [...]

  6. marinamann (marinamann) « Review of the Google Wave Limited Preview | Geekology « Chat Catcher - 20 Oct 2009

    [...] Geekology’s review + feature list for Google Wave [link to post] via [...]

  7. Geekology has 10 Google Wave invites to give away! | Geekology - 31 Oct 2009

    [...] more in-depth description as well as several screenshots can be found in Geekology’s review of Google Wave, [...]

Afrigator