Google Wave Robot and gadget interaction

With the new Robot API version 2 is it possible to interact with the gadgets using robots. This will allow for some interesting integrations and will mean that the gadgets can be used to show the graphical information that needs to be displayed by a user. By using the robot to fetch and populate the data, you are also able to make the requests update other information than is possible using the social API.

I have created a small demo that shows how this can work out. Look at this video.

The code for the robot is the following.

  @Override
  protected String getRobotName() {
    return "DGR1";
  }

 
  @Override
  public void onWaveletSelfAdded(WaveletSelfAddedEvent event) {
    Blip blip = event.getWavelet().reply("\nHi everybody!");
    blip.append(new Gadget("http://dgrjava1.appspot.com/gadget.xml"));
  }  
  @Override
    public void onGadgetStateChanged(GadgetStateChangedEvent event) {
      Blip blip = event.getBlip();
      Gadget gadget = (Gadget) blip.getElements().get(event.getIndex());
     String count =  gadget.getProperty("count");
     
     blip.append("State changed changed " + count);
     gadget.setProperty("count", "56");
  }

Currently it is not possible with the Java api to update the gadget. But there is room for it in the gadget state information.

Bookmark and Share

WaveCalendar 19: ChartMaker

The ChartMarker Gadget is a gadget for creating graphs in Google Wave. It is really easy to use you add the robot with the address chart-maker@appspot.com.

To make a graph you use a command like the following {p 3,4,5}.

It is also possible to create other chart types like:

  • lc forLine with axis
  • p for simple pie chart
  • r for Rador diagram

For more options see the projects page.

I have created a small video showing the gadget.

The code for the robot is really simple. When submit is pressed the blip is searched for a chart command. The cart command is then converted into a url for Google Chart APIs like http://chart.apis.google.com/chart?chs=250×100&chl=10|30|60|43&chdl=10|30|60|43&cht=p3&chd=t:10,30,60,43

Bookmark and Share

WaveCalender 17: Read Onlie Robot

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 (readonliebot@appspot.com) 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.

readonlie

Bookmark and Share

WaveCalender 10: Graphy a way to make connected graphs in Wave

The Shiny Wave has a blog on Google Wave helping Scientist Collaborate. I thought that going to some to the gadgets mention there could be interesting. The gadget I found the most interesting is Graphy by Elliott Slaughter.

The gadget allows you to create a graph between different elements and see how it relates to each other. This is really useful when you are describing something and needs to get a connection between some entities.

Sorry for the missing sound,  will make the sound on the next videos.

Using Wave to create the graph could is interesting because there could be different interpretations between on how the connections are. With Wave it is possible to make them connect to each other.

The userinterface is not the most best, because for every keystroke the gadget is recreated. This makes it quite slow when generating when working with the gadget. A way to workaround this is to remove the instruction line in the beginning.

This robot/gadget show cases how it is  possible to make a connection between the two types.

Bookmark and Share

WaveCalender 4: Invity

When you are having troubles with managing a large group of people you can use the Invity robot.
The Danish Wave news site called “BølgenDK” which we talked about a little while ago is currently on a subscriber list of 500. Using this manually can be a rather difficult job. I was working on a robot to help with the project, but found this robot and it seems to cover the basics of managing lists more user-friendly.

The robot is really easy to use.

  • Just add pw-invity@appspot.com to the Wave where all the participants are in
  • Select create new Group
  • Create you new group and add pw-invity@appspot.com and you will be able

This is demonstrated in the video that I have created.

What I like about the robot is the connection to the with the gadget. The guys behind the gadget has spent some time on describing how the gadget/robot interacted. It seems really simple to make this work. It seems like the robot can see data from inside the gadget.

The only thing which is a bit irritating, is that the gadget is reloading when you press one of the buttons. That is the only thing which does not work optimal.

This robot can also be used to have conversation within your company, where you want to have the same people in the wave every time.

Bookmark and Share