What Kind of Hammer
Neil Deakin points out a well-done parody of platforms and frameworks. Which got me to thinking: how is XULRunner different from these megalithic platforms? The most important part is that we’re not trying to do everything. In fact, one of the most important parts of my job is deciding what’s out. This is a balancing act, but I try to use these two guidelines to shape my decision:
- Would most XUL apps use this feature?
- Is it something that couldn’t be done as an extension or reusable application code?
If both questions come up “yes”, I am much more inclined to take a feature than if either answer were negative. For example, I am seriously considering incorporating the binary bits of DOM Inspector into XULRunner, as well as the binary bits of Spatial Navigation. Both of these features are tightly linked up with the gecko internals and there are some good ways that they can be reused.
I have rejected other features for similar reasons: generic SQL support is out (integration with MySQL and other databases) because it’s easy to build as part of your application and because it’s not likely to be generally useful.
October 3rd, 2005 at 2:22 pm
Hilarious essay, although I think the true gems of wisdom come from Benji’s own comments on the thread a little further down:
“What I’d really like to find are some appropriate *libraries* that I can use to provide several kinds of functionality for my project.”
Loosely coupled building blocks with well declared APIs are, to my untrained eye, an easy way around the framework issue. You can then keep your core framework / functionality to a level where people can develop these libraries (this is, of course, the art of the matter) that can then be imported as required. And of course, the libraries needn’t be hosted on the same system as the application, through the joys of loose coupling, but now I spiral off into other types of frameworks and specifications :)