Google Wave impressions from a developer point of view
August 28th, 2009
A couple of days ago I finally had my Google Wave sandbox account. Given that I just finished developing my very first robot, I thought I’d share some impressions on the whole thing. From the user-side, things are far from being ready. Some important features are still missing, just to name one you can’t remove user from a wave once they joined (or, alternatively, there’s no way to ignore a wave). Indeed, given that I joined several waves to try other people applications, I’m getting continuous notifications. But anyway, the whole thing is to me like a great development playground where I can make all the sorts of experiments.
They’ve been loyal: when you signed up the registration form, they asked you if you were comfortable with APIs changing or an instable system. That’s what you’ll find once you get your sandbox account. APIs are there but haven’t been fully documented yet and most of your work when developing some robot/gadget will be in exploring the API sources (they’re open source, yau!) or searching for some examples on the samples gallery, which is an invaluable resource by the way.
Debugging is hard too, given that you can’t test what you done locally but you have to upload your code to AppEngine to see if it works (actually AppEngine is the only platform they accept requests from, but they plan to allow every host that talks the wave protocol in the future). This means that if, for example, there’s some typo in the code (i.e.: appendText() rather than AppendText()), you’d know only by looking at the AppEngine logs.
Be prepared to experience casual failures too. Sometimes your robot is working correctly and is receiving the whole wavelet (which is the whole conversation thread), but its response is ignored by the server for some unknown cause.
Anyway, even though there’s still some clear work in progress, I felt like the whole thing was quite exciting both from the user and as the developer point of view. The event model they thought for the external applications perfectly fits the nature of The Wave and gives room for some nice asynchronous applications. Hopefully, we’ll meet on Google Wave soon.