I've been creating things that are lot like what are now called widgets for a long time, HTML+Javascript applications with full trust. I've always used something called Zeepe which turns IE into a fully trusted containier that you can launch locally (or even from the web, if you've got a licence and use the trust model). Zeepe is much richer than other widget platforms on windows currently, not least because it allows complete connection to all windows COM objects - so you really can connect to anything, I use it for automating Windows Media Encoder and recording video streams, or as a Database management tool. I don't know how capable the OS-X dashboard is, it may well be able to do similar stuff, but until there's a powerbook with a nipple and release IE6 for OS-X I'll stick with XP. The widget system from Opera is new, last week at the gathering Opera ran a widget competition, and lots of widget folk arrived in #svg on freenode asking how to use all that cool opera SVG in the widget. I had a couple of hours so I decided to join in and create a quick widget. Another cool thing that Opera have is the My Opera FOAF data they provide for everyone, so in a foafnaut kind of style, I decided to create widgnaut, a browser of the data. It's very ugly but it shows some nice features of widgets and RDF and how easy such connections of data can be made once you escape the security constraints of browsers, but still use all those easy HTML/javascript features. Opera Widgets currently have a few problems, which make the sort of widgets I like to create not really viable, the 2 big ones are:
  • You can't decide where to position your initial widget, or control its location, this means widgets like widgnaut which really need full screen rely on the positioning it in a particular place.
  • The screen darkens! This just seems very silly, I can't understand the use case for this at all, if I want a widget, it doesn't mean I don't want the other stuff on the screen. A calendar widget, I still need to copy info to my other applications, once they've gone dark, I can't even access them, let alone anything else. This didn't happen on builds earlier than the Beta, so hopefully it will go away again.
Opera widgets are still good though, easy to create, and useful, just not quite ready for my perhaps odd requirements.


  1. Andrew Says:
    If you're not aware of it already, XULRunner can also be used to provide a similar container for the Gecko engine (I'm using it for a fairly large CMS/CRM system built on HTTPRequests). I few lines of XUL is all you need to create a container wrapper incorporating a XUL iframe element that points to an ordinary web application within. The cross-platform usage is nice, as is the files-only install needed for XULRunner, but the ability to use a competent CSS engine is far nicer. It's possible to expose interfaces to components from the trusted XUL wrapper level into the iframe if you need the power. Admittedly there is a short learning curve required in order to implement the wrapper. My personal preference would be to use an Opera instance without the browser GUI and so Opera's implementation of widgets is a welcome step towards that goal I guess.
  2. jim Says:
    Hi Andrew, yes I should've mentioned XULRunner, it's a good technology for creating my sort of widgets, my biggest complaint is the download size, it should really be able to re-use the same mozilla I have installed.