Debugging Wave Robots

Debugging robots made in Google Wave can be a little difficult because it can only be tested on the server and it can be difficult to see how it is sent.

A way I have found is quite useful is to use the app engine log. On the log tab select “Requests only” and then see that data being sent to the robot. It is this data the robot can see, if it is not here then the robot API is not receiving the data.

I hope this help you debug and get at better understanding of your robot.

Update 19 aug 2009: If you want to format the JSON try the JSON formatter.

Bookmark and Share

Coming changes to Google Wave API

Tommy Pedersen shared the link to what is coming in the API.

It looks like the developer preview will stop on September 30th, and then we must hope we can get an account on the production system. So we will not float without wave access for a long time.

What is interesting is that Douwe Osinga from Google is sharing, what they believe they can achieve before the end of the developer preview.

The things I think is the most exciting news are the following:

  • The Robots can use other addresses that That could mean you could have more robots on the same application making the robots tailored to the user. Also we will see that robots will exist on our own servers and not app-engine.
  • A better integration between robots in to Wave, so they robot can perform tasks even the wave is not active by a user.
  • Gadgets better support for using Google Web Toolkit, will make it easier for everyone (how is not a Javascript master) to make Gadgets. This is probably lower the barrier to create Gadgets.
  • OpenSocial integration for both robots and gadgets. That is something that I’ll need to look more into.
  • Insert simple HTML into the waves. This is not possible now, so the robots can make some better looking content easy. Then we need to consider using CSS on the document.
  • Open source the robot API it does not matter much now, but for the adoption that will probably make things easier.

I’m impressed with the plan Google has created for the development of the Google Wave API. I hope they have made some of the improvements already otherwise they will have a hard time implementing them all.

Bookmark and Share

Is wave to complicated?

Anil Dash wrote that the Wave as a too complicated protocol to implement. Anil writes that nobody but Google will create a waveplatform because it is too complex to implement.

“But the fundamental Wave protocols are, I fear, a bit too complex to ever be fully and correctly implemented by anyone other than Google. Interoperability is likely to be a challenge that plagues the platform for its entire existence. In short: It’s likely that nobody will ever build a fully-compatible clone of Wave that competes with Google’s own implementation.”

Yes it is more difficult to write a federate wave application, that to use the Twitter API for communication. But don’t we (as humans) have the ability to implement complex protocols.

How about SMTP created in 1982 with an RFC, a document on 67 pages. I don’t think that I’m able to get an SMTP server up and running on a weekend, as is Anil’s time for a easy implementation. You also needed to considere how TCP/IP worked before you could implement the SMTP protocol. The wave protocol draft specification is 24 pages (when I copy the text to Word), so it is not longer. If the complexity together with XMPP is larger I cannot say.

Continue reading Is wave to complicated?

Starting on Google Wave

Starting to develop on Google Wave is easy. You don’t have to install anything, except you need a “Modern Browser” like Firefox 3.5, Chrome, Opera or Safari. You can just login and start experimenting. You need an sandbox account, that you have to register for here.

The best presentation is probably the Google IO keynote found bellow. This gives a great introduction to how wave works.

The best place to start is the Wave homepage

There are some nice tutorials of the different types of components, which can be developed using the different Wave API. There are the following types

  • Robot which is a server, which can interact with the wave in the same way a human can.
  • Gadget is applications which exists on
  • Embed is a way to add the content of a wave on another site ie. a blog.
Bookmark and Share