Developing with the Google Wave APIs - For a grade!

Monday, April 5, 2010 | 8:56 PM

As a student at university, I always loved when I had the chance to use a Web API in my programming assignments. I think Web API programming is a great way for students to get a taste of the real world, and plus, APIs are just plain fun. :)

So, I was thrilled when I found out that a class of students in Singapore were working on a Google Wave extensions project, and I volunteered to give them a virtual talk. As part of the talk, I critiqued each of their final projects, giving them advice on making them "Wave-ier"and easier to use. Overall, I was incredibly impressed with the diversity & utility of their extensions - everything from adorable games to meeting planners:


Scrummy: This gadget lets you assign tasks to participants for particular "sprints", and then visualize the tasks for each sprint.
Bubble Man: This super cute gadget let you play a game of balloon popping - if you pop the balloon next to the other player, you win. As a connoisseur of water balloon fights, I think this is an awesome game.
Chess Room: This gadget displays a "room" of 6 tables. You can pick a "table", and enter it to a game of chess against another player.
Note Sticker: This gadget lets you collect notes in a collaborative gadget, similar to desktop note apps (or similar to post-its on your physical desktop, if you're old school like that).
WavePlan: This gadget lets participants select what days/hours they're available, to help in picking the best meeting time.
yourBrainstormer: This slick looking gadget lets you create a sequence of parent and child nodes, and to navigate amongst them.
NTI Language Translator: This gadget lets you translate text using the Google AJAX Language API, and it shares the currently translated text with others in the wave.

For the complete list and links to the extensions, visit the course project page.

Many of these are still in prototype form, but some of them are already user-ready and in the extensions gallery, like the yourBrainstormer extension, and others are in the samples gallery, like the Scrummy gadget. I hope that the students have the time to continue working on their extensions, and take them from a class assignment to an in-use web app. It's so cool that you can make something for a class *and* for thousands of users.

If you are a professor and thinking of using Google Wave in your programming assignments, you can grab the Latex/PDF for this class assignment, and you can browse the presentations gallery for slides to deliver for class lectures. Let us know if you have any questions in the forum.

Thanks to Professor Ben Leong for teaching his students about the Google Wave APIs, letting me talk with the students for a few brief virtual hours, and for getting students excited by the possibility of Web APIs.