Google Wave Births "Active Robots"

An amigurumi
        robot

In my post yesterday I noted the increased push by the Wave developers to make it easier for the wave community to build and deploy extensions. It turns out this flurry of activity coincided with the imminent release of Version 2 of the Wave API, announced today.

The first new feature is the:

Active API: In v2, robots can now push information into waves (without having to wait to respond to a user action). This replaces the need for our deprecated cron API, as now you can update a wave when the weather changes or the stock price falls below some threshold. You can learn more in the Active API docs.

Google Wave Developer Blog Announcement.

If I understand this correctly (and I’m not a developer so correct me if I’m wrong) this means that before today, a robot in a wave might have had to wait until a user opened a wave before it could refresh the information in the wave (updating stocks etc), now the robot can initiate a wave update itself, making it possible to have robots create new blips in response to events. This is a much smarter way for a robot to behave, and should make for far more interesting and functional bots.

For a more enlightened perspective from a wave developer, check out Mastering Wave’s take on the announcement.

So what I initially thought was just a push to get developers involved was actually leading to an announcement of a massive upgrade to the API. In the end though, the aim is the same - to get developers engaged and creating interesting software to make Wave an indispensable tool.

Google Wave Developer Blog: Introducing Robots API v2: The Rise of Active Robots.

Image by http://www.flickr.com/photos/avoiretc/ / CC BY 2.0

Submitty and Gadgitty - Two Bots to Help Wave Developers

Recently, the Wave Team have made a big push to publicise more bots and extensions. In a post to the Google Wave Help forum, Kylie announced that some users might start seeing a new Extensions link in their navigation panel. Then enterprising Wavers noted that anyone could get access to this Extension information with a search for [<a title=“Search on Google Wave for Extensions” href=“https://www.google.com/accounts/ServiceLogin?service=wave&passive=true&nui=1&continue=https%3A%2F%2Fwave.google.com%2Fwave%2F&followup=https%3A%2F%2Fwave.google.com%2Fwave%2F&ltmpl=standard”>group:google-wave-extension-gallery@googlegroups.com].

Now Google have made it easier than ever to submit an extension to the Wave Extension review team using a simple bot.

submitty.PNG

Create a new wave and add the Submitty bot (submitty-bot@appspot.com), and Submitty will create a submission form for you to fill out. At the bottom are a couple of checkboxes. If you check either of these boxes, you’ll be prompted to fill in more information about your bot and/or gadget. Finally, you add the Extension Review Group (google-wave-extensions-review@googlegroups.com) to your wave to submit your extension.

By making this process easier, the Wave team hopes to encourage development of extensions to rapidly build up an ecosystem around Wave. Without a varied and useful set of apps, Wave will remain no more than a fun experiment.

Which also explains their dedication to an extensive and open API which they continue to enhance with supporting bots. In addition to the Submitty bot, they have released Gadgitty, a bot for editing your gadgets inline and seeing the results straight away.

Between these two bots and the others submitted by the Google Wave APIs Team, it’s obvious how important developers are to the creators of Wave, and I hope it spurs further experimentation from the wave community.

Karma: A Way to Keep Wavers In Line?

Here’s a neat little gadget/bot combo that could prove very useful for public waves if the system caught on.

Add the Karma Gadget and Bot to your waves and use it to rate your users (out of five stars). If users get consistently low scores, they will be automatically kicked from Waves that choose to turn on this option.

Karma Rating Gadget

Of course there are some potential problems with such a tool: if a user expresses unpopular views in one wave and gets poor ratings, they might find themselves banned from any future wave that uses the tool, regardless of the subject. If the tool took off in popularity it could be quite horrible to find yourself on the end of such banishment.

On the other hand, if the tool doesn’t get popular it would be unreliable for crowdsourcing opinions, letting in known trolls who had just not been rated on enough waves.

Despite these shortcomings however, I would love to see this developed further (and even be integrated as part of the official spam-fighting tools of Wave), as I see great potential in harnessing the opinions of others in keeping waves free from known trolls and spammers.

One potential use case is the immediate banishment of those frustrating bots that pop up all over the place (Kanye-bot anyone?). I’m uncertain whether bots are in the firing line (Karma-Bot itself seems immune and doesn’t show up in the rating gadget). I’m also unclear about what happens if something like the public group (which can be rated) gets consistently bad reviews.

As of writing, the gadget does not carry out bans and won’t until Google implement the kick-out feature. I will be following this tool as it develops, and I’ll be looking for opportunities to use it. And if you see me on a wave that uses Karma, please be nice!

Karma: A Reputation Rating System for Google Wave Users.

Gadget. A fun one

Now I’m rather pleased that I can get myself around Wave, post links to my photos and generally do all the good stuff.

There are however, people of my acquaintance who are a lot more technologically ‘ept’ (it should be a word, you know -  the opposite of inept) and have started mucking about under the bonnet of Wave.

One of these is Dave, and the other day he introduced me to a little gadget he calls 5x5.  The object of the game is to totally fill the grid with black squares. Clicking on a square results in that square (and those around it as seen in the initial pattern below) toggling its colour. There is a solution in 14 moves.

I’ll hand over to Dave to explain what it is, how it came about,  and how it works.

5x5 is a puzzle I first saw as a DOS PC thing back in the late 1980s. I wrote my own version of it back then (just for fun) and, ever since, it’s sort of been my “try a new environment” project. I’ve written versions for DOS, Windows, OS/2, the old Palm Pilot and even for GNU emacs.

Some time back I quickly wrote a HTML/Javascript version so, given that that’s pretty much all a Wave gadget is, I reworked it as a gadget. The main difference with this version is that it’s coded with the state of the game held in the Wave. This means that a) you can always come back to it and it’ll be how you left it and b) everyone who is part of the Wave can see what’s happening and can also make moves.

All you have to do is use the “add a gadget” toolbar button (the one that looks like a green jigsaw) and just input this URL in the dialog that you get: http://serenity.davep.org/5x5/5x5.xml

Hmm - the fun stuff begins!

Oh, and PS … I couldn’t do the puzzle (/grin) not even using Wave’s fabulous “playback” feature!

Trick or Treat [Extension]

First, the extension installer gives you an option in your New Wave menu to “Go Trick or Treating”. When you click that, it creates a new wave and inserts a gadget (try clicking around that to see what surprises await). Then, whenever a user types ‘trick or treat’, the robot fetches an image from Google Image Search for either a yummy candy bar, or well, something not that yummy.

From the Google Wave Developer Blog\

No one I know has ever celebrated Halloween (it’s relatively new in Australia), and I say “Bah humbug!” (wrong holiday I know). But for those of you who want to get into the spirit of it (bad pun I know), but don’t want to leave Wave, this might be for you.

Trick or Treat Extension

Exits are East, South: Wave Dice Gadget

For the geeks out there (oh wait, that’s all of you) this gadget is for you.

The Wave Dice Gadget generates a dice-roll for you, and supports “standard PnP dice types”.

images.png

Go get your game on in-wave!

Wave Dice Gadget [Google Code]

"Retro" Chat for Google Wave

One of the biggest complaints from first time Google Wave users is the tidal wave of information and updates that threatens to suck their precious time away as they watch the chaos unfold.

In a carefully tended wave, the noise and chaos are minimal, but in some of the larger (public) waves, users have given up hope of ever keeping on top of it all.

Charles Lehner has created a simple chat gadget that might help calm the swell, by focussing some of the chat into a form most of us will recognise: IM. By introducing this gadget to a wave, you can give people an outlet to speak that brings in years of built up convention for managing the flow. People understand Instant Messaging, so you can add this gadget to bring  normalcy to the new medium.

Perhaps you could embed this in a wave and encourage people to use it for idle chitchat, leaving the rest of the wave for the real-time collaboration on the task at hand.

As with other gadgets the Playback function records every new person who gets to the chat, and every message, so be aware that this can blow the size of your wave recording out with a lot of extra updates to wade through if necessary.

“Retro“ Chat for Google Wave [Wave Samples Gallery]

Twitter on Wave

I should preface this post with an introduction.

I’m Cathie and I am the “bloody end user” component of this blogging team.  We figured that if Wave is going to be the ubiquitous thing that Google envisages, it will have to be workable by everyone - not just the more “savvy” of those amongst us.

So what I’ll be doing is coming at Wave from my perspective - perhaps not such a big picture view - but a fingers on keyboard aspect.

Okay … so one of the first things I looked for once I had my Wave account was a Twitter interface thingamabobby

twitterapp.png

Embed and Extend

The Google Wave APIs come in two flavors: Embed and Extensions. With Embed, you’re able to bring waves into your own site through a simple JavaScript API. For example, embedding a wave in a webpage is a good way to encourage a discussion among the visitors. With Extensions, you’re able to write programs, which are packaged as Robots or Gadgets, that provide rich functionality inside the Google Wave web client.

Introducing the Google Wave APIs

Wave the Platform

This is Google Wave as a Platform, one of the “Three Ps” of the Wave. The API gives developers a way to plug in to the Wave product and offer new and interesting ways of using waves. For instance at the preview, a software robot developed using the API could be added to a conversation to translate your waves in real-time into other languages.

I’ll be covering more of the ways the API can be used in later posts, but for now I’ll say it’s powerful way to make an already compelling product even more useful.

Google wants developers creating value to add to their product on day one. Hopefully someone enterprising will use the API to bridge the gap between email and waves unless Google does it first.