Yesterday, I sat down and played around with the new Google Homepage API, which is interesting, in and of itself. I found the development to be most like developing a widget (for Dashboard or Konfabulator).
A couple observations:
- By default, your module is contained within a fixed height IFrame, but it’s possible to actually embed your widget straight into the Google Homepage itself.
- My first worry was over the possibility of XSS attacks, but all modules run on a different domain, gmodules.com. (I’m not sure what happens if you embed it in the page, my guess is that they’re far more restrictive, if you want your module to run free like that)
- The have a server-side proxy that’s on the same domain as the modules – which means that you can do cross-domain XMLHttpRequests – a very smart move (at least from a developers perspective, not sure about security, though).
My first test module is rather simple, it’s just the current list of links from del.icio.us popular, auto-updating every hour. To run it for yourself, go to your Google Homepage, click the ‘Add Content’ link and enter the following URL into the ‘Create A Section’ textfield:
If you’re worried about running foreign modules on your homepage, you can feel free to look at the source code – it’s completely harmless.
The majority of the code, for the frontend of the module, was borrowed from two places:
- del.icio.us’s JSON demo – I like how they load favicons in the background, a nice touch.
The final bit, that made this module work, I’ll discuss tomorrow – it’s a dynamic RSS to JSON convertor, that’s incredibly cool. (If you’re feeling adventurous, you can look at the module source code and find it hidden in there.)