From The Complete Guide to Google Wave: How to Use Google Wave

Jump to: navigation, search
← Chapter 7: Wave Gadgets Chapter 8: Wave Bots Chapter 9: Life with Wave →

Robots, or bots for short, are Wave extensions that look like wave participants and automatically update waves in useful ways.

The previous chapter covered how to add special chunks of interactive content to your waves in the form of Wave Gadgets. This chapter covers the other flavor of Google Wave extensions: bots. Bots look like Wave users, but they're programmed to edit and update the contents of waves. Wave bots are like instant messenger bots—but with more possibilities, given Wave's collaboration capabilities.

Contents

What's a Bot?

A bot looks like any other Wave participant or contact. It has a Wave ID in the form of bot@example.com, and you can add it to your Contacts list just as you would any Wave user. The only difference between a bot and a human Wave user is that the bot is programmed to automatically perform some function within a wave. A bot is an automated wave participant that examines the contents of waves to which it is added, and updates or adds to them based on what it's programmed to do.

For example, there are bots programmed to automatically delete empty blips in a wave, or link all words that start with an @ sign (i.e., @twitter_username) to Twitter. Get those and the Wave IDs of more bots in the section titled "A Few Great Bots".

Add or Remove a Bot

To use a bot, add its Wave ID to your Contacts list as you would any other contact. (See Chapter 3, Manage Your Wave Contacts, for details.) Create a new wave, then add the bot to try it out.

As of this writing, Wave bots are the only participants you can remove from a Wave. (If you click a participant's icon at the top of a wave, the Remove button on the pop-up that appears is enabled for bots only, not for human users.)

A Few Great Bots

Every day, more bots become available for use in Wave. This section highlights a few of our favorites, their purpose, and because it's so early in Wave's life cycle and some things don't always work the way you'd expect, how well they're working.

To try out any of these bots, add its Wave ID (listed in parentheses after its name) to your Contacts list, and then add it to a new wave.

Wikify (wikifier@appspot.com)

The Wikify bot adds links to and definitions from Wikipedia to your waves for a given topic. When you add Wikify to a wave, it provides instructions on how to add a link to Wikipedia for a topic, or a definition of that topic. Figure 8-1 shows how Wikify works.

Figure 8-1. If you type <wikify topic> or <wikidef topic> into a wave that the Wikify bot participates in—where topic is a word of interest—Wikify automatically pulls a link or definition from Wikipedia and replaces those commands with the results in-wave.

Bot status: While Wikify's functionality is limited, it is stable and works as advertised.

CleanTXT (cleantxt@appspot.com)

The CleanTXT bot is an automated janitor for a wave, especially helpful on active waves with lots of participants, like public waves. When CleanTXT is participating in a Wave, it automatically deletes empty blips, reduces repetitive blank lines in a blip, automatically corrects common typos (such as a mistyped "teh" for "the"), and inserts missing spaces after commas and semi-colons.

The CleanTXT bot also offers a hook into the Approver gadget, a thumbs-up/thumbs-down control that lets participants rate blips in a wave. With CleanTXT participating in your wave, type !approver to add the Approver gadget to that blip. Type !approver++ to have CleanTXT add the Approver gadget to every new blip submitted to the wave going forward.

CleanTXT is especially useful on public waves, which can get cluttered with accidental empty blips and typos quickly. See full instructions on how to use the bot and what it does at its homepage, http://cleantxt.appspot.com.

Bot status: Stable and working.

Polly the Pollster (polly-wave@appspot.com)

One of the most promising Wave bots available in the preview, Polly the Pollster lets you create multiple choice polls with custom questions and answers, and distribute them among any number of Wave contacts. As your contacts respond by selecting a radio button and clicking the Submit button, you can watch Polly's poll results, in the form of a pretty graph, update in real-time. See a Polly-generated poll and results graph in Figure 8-2.

Figure 8-2. Polly the Pollster is a Wave bot that helps you create and distribute multiple-choice questions, and tabulates the recipients' responses.

Bot status: Polly mostly works, but it can be unstable and unreliable at times, especially in waves with lots of participants.

Usage note: Use Polly first thing on a new wave; the bot won't work if you add it to a wave already in progress.

Yelpful (yelpful@appspot.com)

The Yelpful bot offers an interactive, in-wave search interface to the business listings web site, Yelp.com. When you add Yelpful to a wave, it greets you and describes its usage with this message in a new blip:

Hello there! Usage: /yelp [location] [keyword] Example: /yelp sunnyvale ca mexican

Type a query, such as /yelp Brooklyn NY Sushi, and Yelpful responds with search results in a new blip.

Bot status: While Yelpful consistently responds to blips, its search results show up in HTML markup, which is not as readable as it could be.

TwitUsernames (twitusernames@appspot.com)

The TwitUsernames bot inspects the contents of any wave it's participating in, and converts the words that start with the @ sign to Twitter user links. For example, if you add TwitUsernames to a wave and then type @malcolmreynolds into a wave, that word turns into a link to http://twitter.com/malcolmreynolds. Several of these are shown in Figure 8-3.

Figure 8-3. The TwitUsernames bot converts @twitter_usernames into Twitter links.

Bot status: Stable and working consistently.

Usage note: When you add TwitUsernames to a wave, it only converts future @twitter_usernames into Twitter user links. The @twitter_usernames that already exist in the wave's blips are not converted, unless you edit the blips and click the Done button (or press Shift+Enter).

XMPP Lite (wave-xmpp@appspot.com)

The XMPP Lite bot sends you notifications of a wave's changes via XMPP (an instant messenger protocol). This means that if you have Google Talk running, and someone changes a wave you've subscribed to via the XMPP Lite bot, you get those change notifications via chat.

To use the XMPP Lite bot, first add it as a participant to the wave you want to get notifications about. The bot adds a new blip with Subscribe and Unsubscribe buttons, as shown in Figure 8-4.

Figure 8-4. The XMPP Lite bot adds Subscribe and Unsubscribe buttons to a new blip for wave participants to subscribe to instant messenger notifications of that wave's changes.

Next, add wave-xmpp@appspot.com to your Google Talk, Jabber, or AIM instant messenger client. Make sure you can receive messages from it (that is, that the bot is not blocked). Then, back in Wave, click the Subscribe button in the blip the bot added to the wave.

To unsubscribe from a wave, click the Unsubscribe button. See more about the XMPP Lite bot's usage at http://wave-xmpp.appspot.com/public/xmpplite.htm.

Bot status: Stable and working, but very verbose. You receive a notification about every single change to the waves, so subscribe judiciously.

Madoqua (blog-bot@appspot.com)

Bloggers and other web publishers who want to try publishing the contents of their waves should try the Madoqua bot. When added to a wave, this bot provides customizable JavaScript code you can copy and paste into any web page to embed a wave, as shown in Figure 8-5.

Figure 8-5. The Madoqua bot generates the HTML you need to embed a wave into any web page.

As of writing, only people logged into Wave can see waves embedded on other web sites. However, the Wave team has hinted that anonymous access to public, embedded waves is on its way.

Bot status: Stable and working. Madoqua is a clone of the Embeddy bot.

Usage Note: You need to be comfortable with copying and pasting HTML and JavaScript widgets into your web page to use Madoqua successfully. Keep in mind that if you embed a wave that only certain people can see in a web page, everyone else sees either a Wave login page, or a message that they don't have access to the wave. Even if you make the wave itself public and put it on a web page, it is still inaccessible to people who do not have a Wave ID—that is, people who didn't get into the Wave preview.

Emoticony (emoticonbot@appspot.com)

The Emoticony bot converts textual smiley faces into smiley face images. Add Emoticony to your wave, and in any blip (except the first one), Emoticony automatically converts emoticons to images, as shown in Figure 8-6.

Figure 8-6. The Emoticony bot turns textual emoticons, such as :), into images.

Bot status: Stable and working consistently.

Usage note: When you add Emoticony to a wave, only future textual emoticons are converted to images. Textual emoticons that already exist in the wave’s blips are not converted, unless you edit the blips and click the Done button (or press Shift+Enter).

Inbeddable (inbeddable@appspot.com)

You already know you can drag and drop images into Wave, but to include images that are already online, you must first save them to your computer and then upload them into a wave. The Inbeddable bot saves you that trouble. To embed an image that's already online, add the Inbeddable bot to your wave, and then type the URL of the image. When you click Done (or press Shift+Enter), Inbeddable converts the image link into the image itself, as shown in Figure 8-7.

Figure 8-7. The Inbeddable bot takes an image link to an image and embeds the image itself into the wave.

Bot status: Stable and working consistently.

Usage note: When you add Inbeddable to a wave, only future image links are converted to embedded images. Image links that already exist in the wave’s blips are not converted, unless you edit the blips and click the Done button (or press Shift+Enter).

Acronym Decoder (acronym-decoder@appspot.com)

The Acronym Decoder bot expands common acronyms as you type into a wave. For example, with the Acronym Decoder participating in a wave, if you type NSFW the bot will turn the acronym into "Not Suitable for Work," as shown in Figure 8-8. The Acronym Decoder draws from a dictionary of over 7,000 acronyms.

Figure 8-8. The Acronym Decoder bot automatically expands common acronyms (such as NSFW and ROTFL) into their full meaning (such as "Not suitable for work" and "rolling on the floor laughing").

Bot status: The developer notes that this bot is sometimes unresponsive or unstable.

Define Bot (definebot@appspot.com)

The Define Bot offers dictionary definitions for any word that appears after define:word, as shown in Figure 8-9.

Figure 8-9. The Define bot provides dictionary definitions for any word that appears in the command define:word.

Bot status: Stable and working.

PDF Wave Exporter (pdf-wave@appspot.com)

Wave doesn't offer a built-in way to export the content of a wave to a file, but the PDF Wave Exporter is a start. When added to a wave, this bot will export the textual contents of the root blip of a wave to a PDF file, and add a link to that PDF in a reply blip, as shown in Figure 8-10.

Figure 8-10. The PDF Wave Exporter bot exports a wave's root blip text to a PDF file and provides a link to download that PDF.

Bot status: Stable and working.

Usage note: While this bot provides a much-needed feature in Wave, it falls short. The PDF Wave Exporter bot includes only the text of the wave's root blip in the resulting PDF—inline replies, replies that follow, images, the contents of gadgets, and file attachments are not included. Plus, formatted text gets lost in the conversion, like headers and bullet points.

Easy Public (easypublic@appspot.com)

In Chapter 5 you learned how to make a wave public using the easypublic@appspot.com bot. Just add Easy Public as a participant to any wave to give everyone on the Wave server access to your wave. (What Easy Public does is add the public group to the wave, which gives everyone access rights to that wave.)

Bot status: Stable and working.

Usage note: Because Easy Public is a bot, you can remove it from a wave, but that does not make your wave un-public again. Removing the Easy Public bot from a wave does not remove the public@a.gwave.com group that the bot adds. There is no undo for making a wave public.

RobotIndex (robotindex@appspot.com)

Figure 8-11. The RobotIndex bot adds a quick search box to your wave for finding, identifying, and adding bots to your wave.

If you don't want your Wave Contacts list to get cluttered with bots, well, there's a bot available to help. The RobotIndex bot adds a search-as-you-type directory of bots and gadgets to your wave. Type the first couple of letters of a bot or gadget, and choose the name of the extension that looks interesting from the drop-down to see its icon, a short description of what it does, a link to its homepage, and a quick Add to Wave button, as shown in Figure 8-11.

Click the Add to Wave button to make the bot you chose a participant on the wave without adding it to your Contacts list (and forgetting what the heck the bot does, anyway).

Bot status: Stable and working.

More (Fun) Bots

Several Wave bots show off what bots can do, but in more fun than useful ways. Eliza the Robot Shrink (elizarobot@appspot.com) is a programmed therapist who chats with you in Wave. The Swedish Chef bot (borkforceone@appspot.com) inserts "Bork bork bork!" into your waves. Flippy (flippy-wave@appspot.com) flips the text of your waves upside down—great for some April Fool's Day fun.

This chapter features only a small handful of available bots. See the (unaffiliated) Google Wave Bots wiki[1] for a more comprehensive list.

References

  1. Google Wave Bots, GoogleWaveBots.info


← Chapter 7: Wave Gadgets Chapter 8: Wave Bots Chapter 9: Life with Wave →