Wednesday, October 12, 2005

Experiments in XUL - Part 1

I have had an interest in XUL for quite some time. It seems that I keep flirting with it, but never get a chance to spend the time needed to really wrap my head around it. A couple recent events have recently renewed my interest.


  • I read about NuFox which is an attempt to make XUL applications a reality using Python, Twisted, and Nevow. Initially this looked really cool, but there is a small problem. While I admire the work that the Twisted and Nevow guys are doing, it would require another steep learning curve on top of the steep XUL learning curve. Plus this isn't quite the direction I am shooting for right now.

  • A few days later, I found some cool examples of XUL. At this point I'm getting pretty excited as these are the first decent examples of XUL that I have found in the wild.

  • Then, I stumbled upon Bloxor, a blog aggregator written in XUL. It seems to be based off the code from the XUL examples above. I'm not certain if it is written by the same guy or not. This is the first web based XUL app that I have found to be useful.

  • The next day, the source code for Bloxor was released under the GPL. And there was much rejoicing in the land!



So not only do I now have some decent XUL examples, but I also have the source to a decent XUL app. Suddenly the XUL learning curve doesn't seem so steep. :)

My initial goal with all of this is to make it easier to write XUL based web applications. This will also serve as a proof of concept for some future projects I have up my sleeve. My initial attempts will be with Python as I have also been playing with several Python web frameworks (CherryPy, Turbo Gears and Django) lately .

I think I have mentioned enough buzz words for one post, so next time I hope to see how easy it is to serve up some XUL.

2 comments:

Chuck said...

Comment from Adrian Holovaty:

Generating XUL with Django is super-easy: Just use the response object as a file-like object (as described on http://www.djangoproject.com/documentation/outputting_pdfs/ ) or use the template system. I've did some XUL hacking with Django a couple of months ago and didn't have any problems.

Chuck said...

Comment from Chuck:

Hey Adrian,

Yeah.... Hooking up XUL in django was very easy. I had already done it, just havn't had a chance to write about it yet. I will once I have had a chance to investigate a couple of options.