Konfabulator is one of those things which I have been meaning to check out for quite sometime. Since seeing the Dashboard idea in OSX 10.4, I have thought it was a pretty good idea. For example, the amount of times I'm sitting at my laptop and I want to quickly do a complex sum with the built in calculator. Well I have to click start menu, find accesssorys, find calculator. Yes I know I could assign a keyboard short cut but come on. So using widgets in Konfabulator, I am able to click a hot key and get my calculator in without doing any navigating or finding. But thats only the start of things… Theres this really nice widget (UK Train Timetable) which grabs the latest train times from the official Train timetable website and displays any delay's or cancellations.
So from own understanding, Konfabulator is using the Mozilla javascript engine on top of the operating system which allows widgets to be built in the same way as you create applications on the web. This is very interesting when you consider the real push behind dynamic web applications like google maps. Ajax or as I prefer remote scripting creates a inituative user interface to underlined webservices. With widgets in konfabulator its easy to imagine taking applications right into the operating system. I understand this is exactly what the Avalon/XAML idea in Longhorn is meant to do. But you know what, its available now and being built on Standard Javascript/DOM is good idea. I have been meaning to improve my Javascript/DOM skills for quite some time now, this is the perfect reason why. I wonder how easy it is to connect to the web and the file system? Does it use xmlhttp or something else? There are a;ready plans in my head to talk to cocoon and other web applications. How hard would it be to read a xvid file on my filesystem and search for the informaton for it on IMDB.com? I'm sure the interaction with the user interface and filesystem is limited but not that limited surely? I mean for example there is a nice wireless strength indicator which can be downloaded. For it work, it must plug into the operating system and read that information in some way? There are also many system monitors which to me indicates that access to operating system information must be easy or at least flexable.
There are performance issue with layering a Javascript engine over an operating system, sure. On my 1.3ghz Tablet PC Konfabulator realisticly takes about 2 secs to switch on my button switch. I have about 8-10 widgets running. While on my desktop 1.8ghz Athlon box it takes nothing more than half a second at very most. Bar Avalon and somewhat Dashboard, what else could be used instead of the javascript engine? Java? Python? what else? See this is the thing, Javascript drops the entry level down real low, you do not need to learn a while programming language to create widgets. This is good! Yes performance is one of the trade-offs but come on a widget is meant to be small and simple. For example there is a nice little search box which I have as a widget, it simply converts my string entry and passes it on to the locally installed web browser. Makes sense. It wouldnt be too difficult to send the request to google search webservice and get results back in the widget as a small list. Cool, but why bother? Unless your building a browser as a widget, just pass the query to the browser at the start.
Not trying to do a lazy web, but heres some thoughts for future widgets.
Del.icio.us adder – What ever webpage you happen to be on can be added to del.icio.us through a widget instead of the browser. There is already a firefox extention which I use which does the same but it would be cool to see a widget too.
Upload to Flickr – Uploading to flickr is simple and there are 2 ways to do so right now. Download a application or do it via a webform. What about a widget which allows you to drag folders of files to be uploaded. Once its finished it opens a webpage where you add the metadata. Or you could do it from the same application too I guess (I prefer not to).
Blogging it – I like wbloggar and other blogging clients but come on, its all heavy weight for posting to a blog. My blog software already has a javascript bookmarket for posting, so why not a widget too? Actually it would work quite well because maybe it can accept drag and dropping urls and files too?
Tell me a route – I use transport for London's Journal planner all the time. It would be so cool if I could just put where I am and where I'm going and it could send the request to TFL. Then chart a route or send the response to the locally installed browser. This would also work with Google maps.
Following on from my last post about RSS and Azureus, I'm thinking once I finally get XML or something structured out of Azureus and its completed or in progress queue. I should build a widget which shows me the latest TV shows downloaded or in progress. Yeah I know Azureus has a little download bar but its too abstract and through cocoon I could get updates for in the same way even when I'm not on my local network but at work or even roaming. Pretty powerful, you have to agree? Yes all I'm doing is reformatting what comes out of cocoon but hey, it can be alot more with a lot more time and coding. Instead of just a list of whats downloading and whats done with percentages. How about a tv lookup so you get a image and nice small percentage instead? Simple and effective.
So generally, yeah I do not think Konfabulator is the best thing since sliced bread, but I do rate it. I will have a better feel for how I rate it once I get into writing widgets of my own. I may be so wrong and widgets could be based on a twisted version of javascript and requires super human knowledge to write. Maybe connecting to the web is difficult and reading machine or operating system information almost impossible. But on first judgement its good and effective. I'm happy with it for now. There was another program which I downloaded but didnt end up testing called Samurize. Its open source which is good because konfabulator is payware but quite cheap at only 30 dollars.
Comments [Comments]
Trackbacks [0]