A while back, you probably didn't hear about Yahoo! buying Konfabulator - a small Javascript runtime engine for Mac OS X and Windows that enabled you to build and run Widgets. You probably don't know what a Widget is, and I'm guessing right now you don't care. However I'd like to change that because Widgets are quite cool.

Ok, so what are Yahoo Widgets?
Simply put, a Widget is a little application that sits on your desktop and can do quite a lot of things. (For an idea of the kinds of Widgets already out there check out the Yahoo! Widget gallery.) They can be on your desktop, float above all your other windows, or never be seen until you hit a certain key. They are all opened and managed within the Yahoo! Widget engine, the small application that you download and have running on your machine in the system tray.

Ok, so I know Widgets are cool little applications that run on my machine, but why are they cool?
Because you can make them do whatever you want them to do. And if you can't do it, you can ask for someone who can to do it for you! All that makes a Widget work is a bit of XML and Javascript. So pretty much anyone who's used Javascript (a lot of web developers) can write an impressive Widget. The docs supplied by Yahoo! are pretty darn good too.

But Javascript can't do that much cool stuff?
Oh, but it can, and this is where the Yahoo! Widget engine comes into its own. Essentially they have extended and improved Javascript so you can do things like access the file system, monitor the system's status (CPU, memory usage), mute the system volume, open URLs, make AJAX requests, control iTunes (if installed), and via COM calls control any program on the users machine. There is so much more, and it is all really easy to do.

My God Chris, that sounds amazing, tell me more!
Well browsing through the Widget gallery all the submissions seem a little boring, clocks and the such, and this is mainly because people are trying things out, taking baby steps in Widget development. But the cool stuff is there, just hunt around a bit. For instance, a Widget I've been fiddling with plays you BBC Radio 1 (using Real player COM calls) through the Widget, but also using the Last.fm API it retrieves information about the song being played, and adds that songs details to your Last.fm account. Genius, and what I've been doing is adding playback support, so I can stop and start the radio at my pleasure.

But it doesn't stop there, what about applying this to business use? Whilst it might not be a primary upload mechanism, because a Widget can access the file system what about having a Widget that you can just drag files into, and they automatically get uploaded into your Click2Translate.com account (that you're already logged into using your saved Widget preferences), or create an image uploader for Flickr, that works how you want it to work, not the way Flickr wants it to work. Or a translation tool for FreeTranslation.com. It is another way for users to interact with businesses, and one that keeps the brand on the users desktop, and is easy to use.

I've only just started on this Widget stuff (less that 5 days) so I'm guessing I've only scratched the surface of what can be achieved. But I'm excited, can you tell!

Disclaimer - I work for the company behind Click2Translate.com and FreeTranslation.com