iWave Gadget

(Added 24th August 2009)


iWave Gadget

I wanted to demonstrate how different services could interact and be integrated with Google Wave. This is where iWave was born. It began as a simple project to allow users to add some information about themselves to make wave more personal. The project then moved on to integrate with facebok. Once the host signs in to facebook the gadget is able to fetch their name, profile picture, comment, gender, date of birth, state/county and country and fill them into iWave automatically.


The gadget proved to be quite a challenge as the Google Wave API and facebook API both impose restrictions and requirements to ensure that they work correctly. The gadget needed to successfully interact with the facebook connect API and retrieve personal information then store the relevant information on Google Wave for other participants to view. Some major problems were that facebook requires the facebook connect to open in a HTML page at a domain where we have root access, where as Google Wave requires an XML file that will be hosted on the Google web servers at run time. A solution was to use a HTML frame in the Gadget XML.


Using the new postMessage method outlined by W3C the gadget can pass data between the two frames at different domains. In order to effectively tie the two APIs together the final iWave works purely on events. Once the window has been set up the gadget XML and the HTML in the child window wait for each other to specify certain commands before executing anything. These commands may be that the user presses edit, the gadget XML would now fetch the data and pass it back to the child frame for processing.


APIs: Google Wave Gadgets, Facebook Connect Javascript

Language: Javascript


How do I use it?

  • Use the XML file at http://gadget.wave.to/iWave/iWave.xml for the gadget source. Press the connect with facebook button follow the on screen prompts then press edit. Here you can fill in your details and press save. The gadget will allow you to post back to facebook that you have updated your profile. Each time you revisit the wave your comment will update (provided you are signed into facebook)

  • New!(Sandbox only) Use the extension installer at http://gadget.wave.to/iWave/installer.xml to add an iWave button to your toolbar. Press this to add and iWave gadget. Press the connect with facebook button follow the on screen prompts then press edit. Here you can fill in your details and press save. The gadget will allow you to post back to facebook that you have updated your profile. Each time you revisit the wave your comment will update (provided you are signed into facebook)

Source code

Google-wave-iWave2 on github

Other links

iWave on the Google Wave Samples Gallery


Screenshots



iWave in action
iWave in action
iWave in action