Modern Software Experience


Google Wave

linking to waves

It is possible to link to waves just like you link to blog post: just copy and paste the URL from the browser’s address box.

tracking info

However, the typical URL you see while working in Google Wave is rather long, and contains irrelevant tracking information, such as restored:search:with%253Apublic if you found the wave by searching for public waves.

canonical link

You should reduce a messy link to its minimum, the so-called canonical link, by removing all such extraneous information. For a wave with identifier!w+123456789 it looks like this:|!w%252B1A2B3C4D5

Notice the wave: bit just before the wave identifier. I would not be surprised if the next release of Google Chrome were to support wave: as a protocol, and thus recognise!w%252B1A2B3C4D5 as a link. However, until that has become a standard supported by all web browsers, it isn’t a valid link.

linking in Wave

Google Wave: Add URL or Wave ID The Wave client includes a wave editor with a button bar along the top. If you click the link button, you are presented with a dialog that prompt you to enter either a link with a title or a wave id and a title.

You can use that dialog box to add links to external web pages or to waves. You can add a wave by pasting either its URL or its wave id. If you paste a messy link with extraneous information, your wave will contain a messy link with extraneous information.

linking to a Wave

drag and drop

The easiest way to link to a wave is by using drag and drop. While you are editing your wave in the wave panel, make sure the wave you want to link to appears in the search panel, and then simply drag and drop to where you want the link to appear.
If drag & drop does not work for you, you may need to install Google Gears and allow Google Wave to use it.

use the link dialog

The other way to add a link is to use the link dialog, where you can enter either a link or a wave id.

Wave ID

Each wave in Google Wave is uniquely identified by its wave ID. Wave IDs are created automatically, much like many blogging systems generate identifiers for each blog post. And just like you use that blog id when you link to the blog post, do you use the wave ID when you link to a wave.

A wave id starts with the domain name of the wave server that created the wave. The domain name is part of the wave id to make sure the wave id is unique across all wave servers - and easily found.

Discovering the Wave ID

There are several ways to discover the wave id of a wave.

Google Wave debug menu Get Current Wave ID

Debug Menu

Google Wave Debug Popup Wave ID

The Wave Sandbox makes it very easy. The Wave Sandbox has a debug menu and one of the menu items on it is Get Current Wave ID. When you select that, a debug pop-up appears, showing the wave id, which you can then cut and paste.


The Google Wave Preview does not have a Debug menu, but does have lots of extensions. One way to find wave id of the current wave is to add the Embeddy robot(embeddy@@appspot) to the Wave. It generates all you need to embed the wave on a web page, including the wave id.


The last method is to manually derive the wave id from the URL. Here is how to do that

By the way, %252B is the so-called percent-encoding of %+, and that is two characters, but we replace it with just +, one character.

linking tips

search to drag and drop

Manually creating the wave id is not very difficult, but having to do it every time you want to create a link is annoying. It is probably best to make a habit to search for the desired wave and then drag and drop it.

show your id

Google Wave: The wave id of this wave is...

You may also want to do what I did it in a wave that others may want to link to: add an informational message near the top of the wave that tells readers what its wave id is;

That creates a link from the wave id, with the wave id as its title. That way, the sentence ends with the wave id as intended and you can click it to make sure you did everything right.


2011-07-16 Google Gears

Google ended the Gears project on 2011-03-1 to focus on HTML5 instead.