November 11, 2004

Konfabulator

A colleague sent me a link to Konfabulator! The tagline reads, "whatever you want it to be" and this is certainly true. Konfabulator was out for Mac OS X for some time, I'm guessing 2 years based on the history found on the site. It's been available for Windows more recently, though I can't figure out when it was released.

What is Konfabulator?

Konfabulator is a system that allows you to create rich UI widgets that can appear like and do just about anything. You define the look and structure of the widget in XML and you program it via JavaScript. This is not unlike what Microsoft is doing with XAML, the XML markup Microsoft is developing for their forthcoming Longhorn OS release. In addition, it's not unlike the XML User Interface Language XUL developed by the The Mozilla Organization and which serves as the heart of the Firefox web browser

I'm not sure how XUL works, in terms of how you link between the XUL markup and your traditional sources (like C/C++ and Java). I do know a little bit about how XAML works, though I must warn you that I've never actually written a XAML application.

Microsoft XAML uses XML markup to define the UI structure of a program. More than that, you can define parts of your classes in XAML and combine them with classes written in C#, C++/CLI or whatever. Using the partial class features of the .NET 2.0 framework, you can spread a single class definition over multiple files, over multiple languages, including XAML.

What makes XAML powerful is that it's XML. XML is easily parsed and generated and you can use illustration tools like Adobe Illustrator to generate XAML markup and then decorate it with code and otherwise build our application around this model.

Konfabulator seems a bit different, but similar in spirit. Using Konfabulator, you define your widget in XML and you provide JavaScript code right in  the XML markup. You can point to external JavaScript files since JavaScript might be easier to edit in a dedicated JavaScript editor.

Visuals

Konfabulator nailed some nice antialiased non-rectangular window code. If you specify the graphic for your widget as a PNG file with alpha channel, the edges of your application blend smoothly with your Windows desktop. Here is a sample widget. My desktop background is that brownish color you see.

This aint no Weatherbug!

It's clear that the text is antialiased as well but I'm not sure how you draw graphics but it seems like the graphics rendered with some of the widgets are antialiased and smooth as well. I'm also not sure if the graphic API you use allows you to draw vector-based graphics, though there is a lot of evidence t hat this capability is there. Here are a pair of cool world clocks. You have to see these in action as t he second hand bounces as it snaps from second to second... just like a real clock.

Tea time in London

Widgets, widgets, widgets

There are a lot of widgets on the Konfabulator gallery page. They have the world clock pictured above, an iTunes remote, RSS monitors (I'll shy away from saying they are full aggregators, though they could be), traffic monitors with real-time images, etc.

There are also a lot of application-specific and vertical market widgets like the smsOptimus Sender which sends sms messages to a particular type of cell phone or the adslTelepac counter which shows t he upload/download traffic information obtained in the ADSL Telepac management site (whatever that is! I copied that description).

It's possible that geeky employees could write cool little applications that can run on people's desktops. Perhaps a daily volume monitor with sound effects or a nightly build monitor that melts when the nightly test run posts miserable results.

The possibilities are, of course, limitless.

Write your own widgets

To create your own widgets it looks like you need to purchase Konfabulator. The list price of $24.95 is pretty low and certainly a bargain if you consider the cool factor of the application.

Check it out. I'm going to keep tabs on the gallery. Their forum section supports RSS so this should be easy.

 

Posted by Nick Codignotto at November 11, 2004 09:39 AM | TrackBack
Posted to General
Comments
Post a comment









Remember personal info?






Valid XHTML 1.0!   Valid CSS!