Browsing all articles from March, 2010

Wave Bots

Posted Posted by Nebojsa Skenderovic in Education     Comments No comments
Mar
10

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.

Add or Remove a Bot

To use a bot, add its Wave ID to your Contacts list as you would any other contact. 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.

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)

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.

http://completewaveguide.com

Wave Gadgets

Posted Posted by Nebojsa Skenderovic in Education     Comments No comments
Mar
10

Wave Extensions: Gadgets and Robots

Wave extensions are add-ons that enhance your waves with new features and functionality. If you’ve ever used any Gmail Labs features, Wave extensions are very similar—they add functionality to the Wave client, normally accessible through a button inserted on your edit toolbar when you install the extension. While Gmail Labs add-ons can be developed only by Google employees, Wave extensions can be developed by anyone. As a result, an impressive handful of extensions are already transforming Wave into an even richer experience.

Wave extensions come in two flavors: gadgets and robots (aka “bots”).

What’s a Gadget?

Wave gadgets are small applications you can insert inside any wave to extend the default functionality of the wave. In fact, in Chapter 5 you learned how to use two of Wave’s built-in gadgets: the Maps gadget and the Yes/No/Maybe gadget. As you saw, when you insert a gadget into a wave, all participants in that wave share access to the gadget and can interact with it.

The gadget fun doesn’t end with those two pre-installed gadget extensions, though. Even at this early stage in Wave’s development, busy programmers have created gobs of great gadgets to provide you with even more clever ways to interact, share, and collaborate with other wave participants. You just need to know where to find them and how to insert them into your waves.

Like many aspects of Wave, you can insert gadgets into a wave in a couple of different ways. If you’ve installed a gadget extension—like the Maps or Yes/No/Maybe gadget extensions—you’ve already seen how easy inserting a gadget in a wave can be. While you’re editing a blip, just click the gadget button on the edit toolbar to insert it where your cursor is. Other gadgets, however, cannot be installed as extensions accessible from your edit toolbar (not yet, anyway). Never fear; you can still insert those gadgets in a wave. In the following sections, we’ll show you how to install both types.

Gadget Extensions

As mentioned earlier, both gadgets and bots fall under the category of extensions. At this early stage in Wave’s development, however, the naming conventions, as well as the process of installing and using extensions, are a little blurry. Most of the time, when you install an extension, the extension adds a new button to the Wave client’s edit toolbar—like the built-in Maps and Yes/No/Maybe gadget buttons. When a gadget extension is installed, you can click the new button any time you’re editing a blip to insert that gadget. You can, however, add gadgets (or bots) to a wave on a case-by-case basis, without installing an extension at all.

First, let’s take a look at how to install a persistent extension—the kind that adds a button to your toolbar and is always available when you log into your Wave client. Then we’ll detail how to add gadgets to individual waves on a case-by-case basis.

Install a Gadget Extension

In this section, you’ll learn how to install extensions to the Wave client that show up every time you log into Wave. Wave provides two different methods of installing such extensions. The first is simple but limited only to extensions featured by Google, while the second requires a little more legwork but allows you to install any extension you want.

Install a featured extension from the Extensions Gallery: When you logged into Wave for the first time, you should have had a wave in your Inbox from Doctor Wave, the fictitious mascot for Google Wave who welcomes you to your account. Inside that message is a link to an Extensions Gallery highlighting a handful of gadget extensions you can install on your Wave client, including the already-installed Maps and Yes/No/Maybe gadgets.

Tip: Strange as it may seem, the Extensions Gallery isn’t accessible through any easy-to-find Settings shortcut as of this writing, so you’ll need to search it out to find it. Use title:”Extensions Gallery” to find it in a jiffy.

Once you’ve found your way to the Extensions Gallery, installing featured gadget extensions is a breeze. Each gadget is listed as a puzzle piece displaying the gadget name, what it does, a small logo or screenshot of the gadget in action, and an Install button, as shown in Figure 7-1. Click Install and confirm the installation. The extension adds a button to your Wave edit toolbar that allows you to easily insert the newly installed gadget into any wave with the click of your mouse.

Figure 7-1. Extension installers add buttons to your Wave edit toolbar that allow you to easily insert gadgets into a wave.

Install an extension that isn’t featured: Anyone can develop a Wave extension, which means there are a lot of extensions available that you can’t yet install through Wave’s current Extensions Gallery. You can still manually install non-featured extensions to add quick access to your favorite gadgets; it just takes a little more know-how.

First, you need to install an extension called Extension Installer, which you can find at the bottom of the Extensions Gallery in a section labeled “For Developers Only.” While most extensions add a new button to the Wave client’s edit toolbar, the Extension Installer adds a drop-down menu next to the New Wave button on the Search panel.

Next, find an extension you want to install. Right now the best place to browse for gadgets is at the Google Wave Samples Gallery. If you find a gadget that looks interesting, click through to its page for details, then look for the Installer XML link on that page, as shown in Figure 7-2. Right-click the link and copy the URL (this link should point to a manifest.xml file that tells the Wave client a little about what the extension does and how to install it). Then head back into Wave.

Figure 7-2. You can manually install extensions and gadgets if you have their Installer XML or Gadget XML links.

When you are back in Wave, manually installing your extension is easy:

  1. Click the drop-down menu next to the New Wave button on the Search panel and select New Extension Installer.
  2. Paste the URL of the Installer XML you copied into the Insert Extension Installer pop-up and click Insert.
  3. A new wave containing the same puzzle-piece layout you’re familiar with from the Extensions Gallery appears, only this one contains information regarding the extension you’re installing. Click the Install button, confirm the installation, and you have successfully performed your first manual extension installation.
Note: Installing extensions using the manual method allows you to add extensions to Wave that haven’t necessarily been vetted by the Google Wave team, so proceed at your own risk. In theory, this method is used to allow developers to test their extension installers, but until the Wave client features a more streamlined method of installing non-featured extensions, this one works like a charm.

Uninstall an Extension

As convoluted as the different current extension installation processes may seem, uninstalling extensions is actually very easy. If you decide you no longer want an extension cluttering up your edit toolbar, click the Settings link in the Navigation panel. (This performs a search for with:settie.) A wave called Extension Settings appears; open it and every extension you’ve installed is displayed, as shown in Figure 7-3. Now you can uninstall any extension with a click of the Uninstall button.

Figure 7-3. You can uninstall, remove, or re-install extensions from the Extension Settings wave.

Once you’ve installed an extension, it’s always accessible in the Extension Settings wave, where you can reinstall or uninstall it as you like. If you’re sure you’ll never want to install a particular extension again, click the Remove button to entirely remove the extension puzzle piece from your Extension Settings.

Insert Gadgets by URL

Not all gadgets are available to install as extensions through the Extensions Gallery or manually. On top of that, you won’t always want to install a full-on extension just so you can use a gadget one time. Wave’s Add Gadget by URL feature inserts new gadgets into a wave on a case-by-case basis.

All you need to insert a gadget by URL is, obvious as it may seem, a link to the gadget. Once again, the Google Wave Samples Gallery is the best place to browse for single-use gadgets. In fact, while not all gadgets in the gallery have an Installer XML, almost all of them do have a Gadget XML link—the URL you need to copy to add a single gadget. Right-click the Gadget XML link, copy the URL, and then open the Wave client.

Remember: Gadgets you insert using the Add Gadgets by URL button won’t add a button to Wave’s edit toolbar, so save the URL for that gadget somewhere handy. May we suggest starting a new wave where you paste the URLs to your favorite gadgets?

To insert the gadget in a blip, open a wave, start editing a blip, and then click the Add Gadget by URL button on the toolbar (it’s the one that looks like a jigsaw puzzle piece). Paste the gadget URL you copied into the pop-up, and then click the Add button, as shown in Figure 7-4. Wave inserts the gadget into the current blip.

A Few Great Gadgets

New Wave gadgets find their way into Wave every week, and as you saw in the previous section, finding them can be difficult. This section highlights some of our favorites and describes what they do.

You’ve already seen the Yes/No/Maybe and Maps gadgets, so we won’t cover those again. Most of the gadgets listed here are available through the Extensions Gallery we covered previously, so they are easy to install. (It’s no coincidence that the extensions Google features in the gallery are also the most stable.) For those gadgets that aren’t available by default or inside the Extensions Gallery, we’ve including both the Installer XML and Gadget XML links so you can either install the gadget as an extension (using the New Extension Installer) or insert it in a wave (using the Add Gadget by URL button).

Ribbit Conference Call

Have you gotten to a point in your wave where a quick conference call would be more productive than continuing your back-and-forth in Wave? Pop the Ribbit’s Conference Call gadget into a blip and instantly fire up a conference call with whichever participants you want, as shown in Figure 7-5.

Figure 7-5. Start a call with anyone (and potentially everyone) participating in your wave using the Ribbit Conference Call gadget.

This gadget is currently available in the Extensions Gallery.

Video Chat Experience

Sometimes a phone call just isn’t enough. The Video Chat Experience gadget—as its name suggests—allows you to start a video chat with another participant in a wave, as shown in Figure 7-6.

Figure 7-6. Need a little face time? Insert the Video Chat Experience gadget and start a one-on-one video chat.

This gadget is currently available in the Extensions Gallery.

iFrame

The iFrame gadget embeds an iFrame in your blip that can display any web page you choose, as shown in Figure 7-7. Just click the Edit link, type the URL of the web site you’d like to embed, and then click the View link. You can also adjust the height of the gadget in your wave when you’re editing the URL.

Figure 7-7. The iFrame gadget embeds any web page inside a blip.

Gadget XML

Installer XML

Retro Chat

Feel like taking your conversation into an old-school instant messaging conversation? The Retro Chat gadget inserts an IM window into any blip that all participants in a wave can use, as shown in Figure 7-9.

Figure 7-9. The Retro Chat gadget inserts an instant messaging conversation inside any blip.

Gadget XML

Installer XML

Napkin

The Napkin gadget lets you and other participants in your wave do some “back of the napkin” brainstorming, as shown in Figure 7-10. Draw your ideas when words can’t express what you’re trying to get across.

Figure 7-10. Use the Napkin gadget to draw your ideas with other participants when words won’t do.

Gadget XML

HTML

HTML is the stuff that web pages are made of, and you can copy HTML code from sites all over the web (including the embed code available for most internet videos, for example). By default you can’t simply copy and paste HTML into a blip and expect it to work, however. What you can do is install the HTML gadget, click its Edit link, insert your HTML text, and then click the View link. In response, the HTML gadget renders your HTML code as it was meant to be displayed. See Figure 7-11 for an example.

Figure 7-11. Type or paste any HTML code into the HTML gadget and it renders the HTML in a blip.

Gadget XML

Installer XML

Chart Gadget

Share charts with participants in your wave with the Chart gadget; it’s easy to use, and capable of creating pie charts, line charts, bar graphs, scatter plots, Venn diagrams, and pretty much any kind of data visualization your heart desires.

Figure 7-13. Share charts with other participants in a wave with the Chart gadget.

Gadget XML

Installer XML

Picasa/Flickr Gadget

Want to share your latest set of pictures from your work party with your co-workers? Drop the Picasa/Flickr gadget in a wave, then point it toward an album on photo sharing sites Picasa or Flickr for clickable thumbnails that expand to larger views of the images.

Figure 7-14. The Picasa/Flickr gadget shares images from photo sharing sites Picasa and Flickr directly in Wave.

Gadget XML

Google Wave Sample: Picasa/Flickr Gadget

List Gadget

Nothing beats a good table for making sense of information. Drop the List gadget in your blips to collaboratively build tables with any set of data you want, adding any custom columns you want.

Figure 7-15. Create collaboratively edited tables with the List gadget.

Gadget XML

Lunchy

Is deciding where to eat with your co-workers a daily battle? Make it democratic by voting it out using the Lunchy gadget.

Figure 7-16. Decide where to eat with your co-workers using the Lunchy gadget.

Gadget XML

Installer Wave (opens in Google Wave)

Mind Map

Insert the Mind Map gadget to collaboratively mindmap ideas with other participants in a wave. Figure 7-18 shows one example of how this chapter might map out in Wave using the Mind Map gadget:

Figure 7-17. Do some collaborative mindmapping to get your ideas outlined with the Mind Map gadget.

Gadget XML

Installer XML

This is just a taste of the available Wave gadgets.

http://completewaveguide.com