Modern Software Experience

2009-08-16

searching for waves

inbox

When you sign into Wave and notice that the text above your inbox is something like Inbox 1-15 of lots, it is hard to not immediately conclude two things; you cannot catch every wave and you are going to need some search capabilities to find the waves worth surfing.

Google Wave Inbox 1 to 15 of Lots

search box

The Google Wave search box is right below that Inbox 1-15 of lots status message. It does in fact contain a search command already. The default contents of the Wave search box is in:inbox; that shows your inbox.

In the default search command, in: tells wave to search a particular folder, and inbox is a predefined folder.

overview

The best way to learn searching in Google Wave is to try it. This article is neither a tutorial nor a reference. It is a quick overview, adapted from the Search Cheat Sheet published within Wave, with a few brief remarks to help you make sense of it. It gives you an global idea of what you can search for and how to do.

wave search

You can search for files or images with a particular keyword in their filename name or image caption, but that the search function does not return either the files or images directly, it returns the wave that contains them.

keywords

A typical search is to search for a wave by some key word or key phrase.

searchresult
about:keywordwaves that contain keyword
title:keywordwaves that have keyword in their title
caption:keywordwaves with attachments that have keyword in their caption

phrases

You can search for words, but you are not limited for words. Just as in Google search and Google Mail, you can search for phrases by using double quotes.

tags

Google Wave allows tagging of waves, just like Google Mail allows tagging of mails. You can search waves by their tag.

searchresult
tag:keywordwaves that are tagged with the tag keyword

status

Waves have a status, much like email messages do. You can search for waves with a particular status.

searchresult
is:readwaves that have been read
is:unreadwaves that are unread
is:mutemuted waves
is:unmuteunmuted waves
is:activeactive waves
is:notenotes

Currently, is:active finds the same waves as is:unread.

notes

Some waves have you as the only participant and contributor; with no one else reading or contributing, these waves are simply notes to yourself, and therefore known as notes.

images

If you joined Wave very early, you may think that the is:image command is missing. It is not missing, but it is no longer supported. To search for images, use has:image.

Attachments

Like email, waves can have attachments. You can search for waves with particular attachments.

searchresult
has:attachmentwaves that have an attachment
has:documentwaves that have documents attached
has:imagewaves that have images attached
caption:keywordwaves with attachments that have keyword in their caption
filename:keywordwaves with attachments whose filename contains keyword
mimetype:keywordwaves with attachments whose MIME type contains keyword
has:notenotes

coming soon

As I write this, some of these commands are still listed as coming soon. Right now, the only way to be sure whether a search command has been implemented yet, is to try it out.

Participants

searchresult
from:addresswaves from participant with email address
by:addresswaves from participant by email address
from:mewaves from yourself
from:mewaves by yourself
by:addresswaves to participant with email address
with:addresswaves that list the participant with email address
owner:addresswaves owned by the participant with email address
only:addresswaves to which only the participant with email address contributed

owner

You are said to own a wave when you created the wave.

by versus for

The by and from keywords do the same thing. It makes it easy for you to use whichever comes more naturally to you.

dates

You can search for Waves by date.

searchresult
past:datetermwaves in the past dateterm
previous:datetermwaves before the past dateterm
before:datetermwaves before dateterm
after:datetermwaves after dateterm

A dateterm does not specify any particular date, but a period.

datetermmeaning
ndaysn days
nweeksn weeks
nmonthsn months
nyearsn years
ndn days
nwn weeks
nmn months
nyn years

Notice that you can, but do have to abbreviate the dateterms to just one letter. An example search is past:3w; find waves from the past 3 weeks.

gadgets

Google Wave supports gadgets. You can search for waves containing gadgets. 

searchresult
has:gadgetwaves that contain a gadget
gadget:keywordwaves that contain a gadget with keyword in their name
gadgeturl:keywordwaves that contain a gadget with keyword in its URL
gadgettitle:keywordwaves that contain a gadget with keyword in their title

combinations

Search commands can be combined using expressions.

searchresult
expr1 & expr2waves that match both expr1 and expr2
expr1 AND expr2waves that match both expr1 and expr2
expr1 expr2waves that match both expr1 and expr2
expr1 | expr2waves that match either expr1 or expr2
expr1 OR expr2waves that match either expr1 or expr2
-expr1waves that do not match expr1
expr1 ... expr2waves that contain a gadget with keyword in their title

operators

and operator

Notice that there are three ways to find waves that match two search expressions; you can combine two expressions using an ampersand (&), using the keyword AND, or by just putting them one after the other, without any operator in between.

or operator

Likewise, you can search for wave that one expression or another by combining the two expressions with either vertical line (|) or the keyword OR.

parentheses

You may recognise & and | as the AND and OR operator as used in C and many other programming languages. Just as in those language, you can prioritise evaluation of expression by using parentheses.

For example, the search command wine & ( beer | -tacos ) matches waves that mention wine and beer as well as waves that mention wine and do not mention tacos.

XML Search

The waves of Google Wave are files in an XML-based file format. Several search commands allow searching for XML tags, attributes and values.

Search commands can be combined using expressions.

searchresult
keytag:subtagwaves that contain the keytag subtag combination
tags:keytagwaves that contain keytag
attribute:[value keyword]waves that contain attribute with a value that contains keyword

Wave ID

Each wave has an identifier. It is possible to find waves by that identifier.

searchresult
id:waveidthe wave with identifier waveid

a few good searches

Here are a few good searches to start with:

searchresult
FAQwaves that contain the word FAQ
tag:FAQwaves that carry the tag FAQ
"How do I"waves containing the phrase How do I

links