Google Wave is still on its early stages and we all know that there are still a lot of functions that are missing in the current release. One such feature which is really nice to have would be the read-only feature. As of now, it’s not yet possible but we are certainly looking forward to the day when we can set our blips or waves as read-only. But for those who cannot wait, you can use Read Onlie (firstname.lastname@example.org) robot. This robot allows the user to set their blips to read-only.
Currently, there are three keywords (case sensitive) that the user can use:
- “OWNERONLY” – nobody can edit except the owner of the blip
- “READONLY” – nobody can edit the blip including the owner
- “RESTORE” – restores the parent blip data (still needs work)
How does this work?
Just include the keyword in the text and after the blip is submitted the robot will check if the keywords are present in the text.
As we all know we can already embed youtube videos into our waves, but what if we don’t want the hassle of uploading videos at youtube? Good thing we can use Nimbb gadget. This gadget allows us to add webcam video recordings into our wave. With this gadget we can share video messages with our contacts.
Nimbb is easy to use but the gadget is only good for one recording. If you decided to send another recording, you need to add the gadget again to be able to record a new message. Another limitation of this gadget would be the maximum duration for a recording which is only 30 seconds. So for short video messages, Nimbb is for you.
When I was just starting to learn Google Wave Robots, I decided to create a robot that replaces the “at” phrase to “@” since Google does not allow Danish users to create an “@” in the current wave implementation. I’ll give you a walk-through on how I managed to create the “at-buddy.”
I started this robot using the wave robot tutorial which can be found here.
What we need to do is to replace the blip’s text while the user is typing so we need to register the event “DOCUMENT_CHANGED” in the capabilities.xml. For more information regarding capabilities.xml, you can refer to this post.
Once the capabilities are updated, we can now catch the event in our servlet. Let’s insert this in our “Process Events” method.
// get event blip
Blip blip =
TextView textView =
// get blip text and replace (at) to @
//check if text has an "(at)"
//get the index of the first "(at)"
//replace "(at)" to @
That’s it! now you can deploy your robot and try it out.
As I was creating my first robot, I wasn’t surprised on how little the number of resources available in the internet were, specially about capabilities.xml. I didn’t find any documentation on its schema yet. So, I decided to write about what I’ve learned.
My robot only needs the “document_changed” and “wavelet_self_added” events but I wanted to know what possible tags I can add up to the file for my robot settings. As of now I only know two properties that you can set in the file, the capabilities/events and the version of the file.
Here’s my capabilities.xml
Continue reading Capabilities.xml