First impressions on Google Wave

I was really looking forward to get a chance to play with Google Wave. If you have not heard about this, Google is experimenting with a new means of communication and collaboration (to destroy any remains of your unused time!). Watch the video of the demo from Google IO conference to get a feel for the technology.

The catch line is - How would email be if it is designed today ?

Being Google, they are fairly open about the entire technology.Google Wave is a collection of several components which work in concert to bring us this amazing way to collaborate and communicate. There is the wave server (which hosts the waves. Google provides an implementation and others are free to implement it in their own control), federation protocol (which is open specifications protocol and allows the servers to talk to each other), the client (typically your web browser which you use to interact with the wave server, but there is a sample text client and emacs based client in development as well!), the gadgets (small pieces of code that are embedded in documents and provide rich look and feel and additional functionality to the wave) and the robots (robot participants in the wave which can do cool things like correct spelling as you type, syntax highlight code while it is being pasted in the wave, translate language etc.)

I have spent some time in developing a robot called Nokar (meaning assistant or servant in Marathi/Hindi) which can do several things when invited to a conversation - Insert images based on specified keywords, translate text between a set of 20 languages among some other geeky functions. The intention was to learn about the robot protocol. I also created some pages which use the embed API. This allows any web page to embed a wave conversation (or a subset of it). I am also going to experiment with the Gadgets in the next few weeks. I will try to document my process in next few posts.

2 thoughts on “First impressions on Google Wave

  1. Is it possible to integrate Django (or even better Pinax) and Wave… do you develop independent on top of wave. It’s collaboration.. but what about templates, content and other functionalities. Could those be done in Django ? But what if you want people to login.. they login on both a Django account and wave account… or.. *confused*

    1. I don’t know about pinax, but using appengine-patch it is possible to run Django apps on Google appengine (with some restrictions).

      The basic wave robot protocol is JSON-RPC, so the wave server sends POST data using it and the robot sends back the response which is JSON as well. The python wave API library provides a nice glue code which allows you to write high level event handling functions which implement the robot. (look at http://github.com/jingleman/wave-delly/tree/master for an example).

      So basically the robot is implemented independent of django (and only on appengine for now).

      –Amit

Leave a Reply