Last week I attended the ROLE Developer Camp in Leuven, Belgium in my role as a “developer advocate” for the project. ROLE has been developing lots of interesting technologies around flexible personal learning environments, and this event was partly to showcase some of those developments, and partly an opportunity to build some widgets with the prospect of prizes for the best entry!
I mentioned ROLE in a previous post, where I encouraged them to work with the Apache Rave project and its great to see this suggestion being taken up seriously by the project team; hopefully we’ll start to see contributions from ROLE to Apache Rave soon. Rave is a “white label” social network/portal platform that includes support for both OpenSocial and W3C Widgets (using Apache Wookie) and at the event Jasha from Hippo and I were each able to show W3C Widgets and OpenSocial gadgets being combined in workspaces which was a great demo.
For the actual widget competition, I worked with Li Na, Sten Govaerts and Felix Mödritscher on a fairly simple widget that tracks how well you’re progressing towards getting your first draft of your thesis written. While this sounds quite trivial, I think its best to work on quite basic problems and expand out (something I elaborated on in a talk at the barcamp). So we created a HTML5 app using Local Storage rather than any advanced APIs, and then created the W3C Widget package and an OpenSocial gadget.xml afterwards, lastly using PhoneGap to create some native mobile versions.
We also developed it using Dropbox as our collaborative IDE! This wasn’t completely ideal compared with SVN or Git but did mean we could all work simultaneously on the widget, although it worked best if we were hacking different files rather than all editing the same script, as it resulted in lots of conflicts. However as a quick “get it done” environment I think it worked pretty well, and we were very productive. I’m sure this contributed to our winning First Prize (though I think the fact our widget is bright pink didn’t hurt either).
For more information on ROLE, see the project website.