Mozilla as a Thick Client Development Platform?

With Ajax being all the rage, people have been forgetting about client applications. Well there are times when you’re on a plane or in one of those horrible corners of the world (like your local Starbucks) that don’t have free accessible WiFi and you’re forced to work with what you have locally. One of the things I love about Ajax apps is the fact that they’re cross platform and deploy instantly. I’d like to get to the same point with thick client applications and it looks like Mozilla may be the platform of choice for the future.

At this point I’ve only done the bare minimum of research into the subject, but I’d like to share what I’ve found and start a discussion on the topic. I’ve found that the main tools in Mozilla for developing applications are XUL (XML User Interface Language) and XPCOM (Cross-platform Component Object Model). XULRunner seems to be the framework that encapsulates these goodies for creating client applications. XULRunner also provides functionality for networking, file access and some other stuff. It seems that upcoming versions of Firefox will be installed with XULRunner, so any system with the latest Firefox installed will have the framework available. XULRunner can also be installed without Firefox so applications built on the framework don’t have a Firefox deployment requirement.

One thing I can’t quite puzzle out is how to do database access with XULRunner apps. This interview with Axel Hecht briefly mentions it but he goes on to say that bindings for databases won’t be included in XULRunner. If this is indeed true, it’s an Achilles’ heel that needs to be addressed.

Whatever the case, XULRunner looks very promising. It looks like XULRunner provides the capability of not only writing simple cross platform code but also sharing code cross client (web and local). To me that’s very appealing and may even be worth creating a web application that can only be viewed in some flavor of Mozilla. What are your thoughts on the subject? Have you already created some cool XUL app?

Some web accessible XUL applications:
MAB - Mozilla Amazon Browser
t3h Blox0r - RSS Reader
Robin - Remote Operating System Build in Netscape