Sunday, October 18, 2009

Of Snarks and Bandersnatch aka Google Wave Gadgets and Bots

My friend, Kristian, sent an invitation to Google Wave.  Its a neat bit of tech for collaborators who need a convenient way to communicate, store the conversation in a searchable format, and add cool widgets to the communication.  Being a code hack, the widget aspect caught my eye first.

Widgets come in two forms, Robots and Gadgets.  Robots are participants in the wave.  You add them much like any participant.  They feed off the conversation and activities of other wave participants and produce output based on other's blips (an entered conversation in a wave).  They can either modify user entered blips or respond with one of their own. 

Gadgets are interactive bits of web stuff which wave participants interact with in some manner.  They are things like white boards to be placed directly inside the wave which allow participants to draw stuff for all to see.  Another example is a google map which allows folks to discuss locations or directions.  There are even gaming gadgets that let people roll dice and draw cards.

I'm interested in such things so I decided to set my environment up and create a robot and an ap for Google Wave.  Here are the steps.

  1. Get a gmail account.  While not technically needed I highly recomend it as it will be your gateway to all things google.
  2. Get signed up for Google App Engine.  You code has to go somewhere accessible by wave.  There are other places to store it but this is my recommended site for housing these aps.
  3. Consider signing up for Google Sites.  Its a great way to get a web presence, if you don't already have one, and its a very convenient place to test gadgets.  You easily add Gadgets to your site via the Google site editor.
  4. Consider downloading the Eclipse Integrated Development Environment (IDE).  Eclipse has plug-ins for most of today's computer languages.  Eclipse comes packaged many different ways.  I use the J2EE version but Eclipse for Java should be sufficient for your needs.
  5. Once you have Eclipse downloaded you have a decission to make.  Do you want to use Java or Python for your Google development?
  6. If you wish to use Java, install the Google Plug-in for Eclipse.  If you're not a programmer I recommend not going the Java route.  The upside is that Java has simpler integration with the Google App Engine through eclipse.  The downside is that Java is harder to learn.
  7. If you wish to use Python, you'll want to download the Eclipse plug-in for Python from pydev.org. Python is easier to learn, its creator works for google and, as far as I can tell, Google always supports it first.  On the downside, its a little harder to deploy a python app since it involves some command line work.
  8. You'll also need to download the Google App Engine Software Development Kit for either Java or Python.
After you have all of the above set up, work through the tutorials for either robots in Python or robots in Java or learn how to develop a gadget for wave.

Happy Waving,
Zack's Dad.

No comments: