Google Wave Hackday

Nov 24, 2009 by

Cameron Neylon organised a Google Wave Hackday at Nature Publishing’s London Offices which was sponsored by DevCSI. The theme for the day was to build a Google Wave gadget to facilitate Scientists using Google Wave.

IMG_0779.jpg

On the day there was only a small group of us at Nature, about nine developers from Nature, Cameron and a colleague from the STFC Dan Hagon and myself, however there were many more people participating during the day via Wave.

We set up camp in one of the Meeting rooms at Nature. For a venue Nature Publishing was great, we had a nice airy room, with a view over the cannel good wifi and power sockets, the only thing lacking was the coffee, however the was a Costa down stairs in the building and various Coke machines so caffeine wasn’t an issue.

Firstly before telling all about the Hackday a quick history lesson on Google Wave. Google Wave is “a personal communication and collaboration tool” according to Google, the term Wave it’s self was inspired by “Firefly” the Sci-fi television series by Joss Whedon. In Firefly a Wave is a form of electronic communication that was often video call or video message. The inspiration from Firefly not only gave the name Wave, but also the some of it’s error messages. “Everything’s shiny, Cap’n. Not to fret!”, “This wave is experiencing some slight turbulence, and may explode.”, and “Curse your sudden but inevitable betrayal!”

IMG_0778.jpgThe actual hack day started with with a general discussion on Google Wave (technically the actual discussion for the hackday started before the event over a series of Google Waves) – what people had done before on it, whether they’d used it or not, what they wanted to achieve on the day. There was some good discussions that we had for the first hour or so of the day. This in it’s self was a valuable part finding out what people had done already with Wave and what people wanted to do.

From this discussion it emerged that there were some definite groups that people wanted to split up into, one was building a Wave robot from scratch, another was improving Dan Hagon’s Chemspider molecule gadget, Cameron was working on a demonstration to use Wave as a collaboration tool for drafting Scientific papers. There was also a RDF Robot, EBI reflect Robot and various others.IMG_0780.jpg

Throughout the remainder of the day, everyone worked in their groups or on their own, on their specific topics, writing code coming up with errors expressing those errors both verbally and via Wave so as to include the remote hackers. One of the main stumbling blocks of the day turned out to be that currently the only way to create a robot that can interact with Google Wave is to have it hosted on Google Appengine. Now don’t get me wrong Appengine is a great service for developers to upload applications for free on to the web. The problem comes in the fact that you can’t locally debug your Appengine code that your using for Wave as it needs to be in Appengine to talk to Wave as mentioned, also Appengine doesn’t always update it’s log files instantly so it could take a few minuets to discover a bug.

The general workflow went like this:

  • Write code
  • Upload to Appengine
  • Test in Wave
  • Read logs
  • Fix bugs
  • Re-upload to Appengine
  • Repeat

Which is fine, it’s just it took a little longer than you’d like to write code.

Now for me this is were the excitement of being at a Hackday really comes through. It turned out that the developers at Nature Publishing in London are Ruby developers and I myself have been learning Ruby so we instantly had a bond there, however not only that they are Ruby developers who have to use JRuby to interface to all of Natures Java Applications. Now stepping back a bit going back to Google Appengine. With Appengine you can upload Applications written in either Python or Java.

Now I and the other Ruby developers at the Hackday can code slightly in Python, but someone mentioned that there had been a project on Github to get a JRuby App running on Appengine. So we all independently downloaded the code and tried to build a Wave robot using JRuby and Appengine. However to cut a long story short we all failed. The code just wasn’t up to the task. So during lunch we teamed up and started working together to get a working JRuby implementation working on Appengine that could talk to Google Wave.

Speaking of lunch, as with all good Hackdays lunch was pizza from Firezza.com and instead of writing a paper list of what everyone wanted we started a Google Wave! Unfortunately the pizza restaurant although they allow you to order online, as of yet you can not do this via Wave.

IMG_0785.jpgIMG_0782.jpgIMG_0783.jpgIMG_0784.jpg

The afternoon carried on with much code writing although everyone was feeling rather full after the mountains of pizza. Then late in the afternoon people who had got a Wave robot working were doing show and tells, explaining the resoning behind their ideas and how they achieved it.

As far as the Rubists were concerned getting a working Wave robot was the last thing on our todo lists. Throughout the afternoon and much coffee and Coke later we had finally got a working set of code to deploy a JRuby app onto Appengine. We would have also gotten a few Wave demos too, but unfortunately the rest of the group felt it was time to put the code down and go to the pub. Now any developer knows if you have to force a developer to stop coding and go to the pub, they must really be in the zone.

Related Posts

Tags

Share This

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>