Welp, it's time for my biweekly Joel on Software blowout. Here's an interesting quote, in between the not-so-subtle adverts for Joel's company's upcoming release of one of their projects.

... XUL [from the Mozilla project] may well be a real benefit to Apple and Linux, because application developers finally have a way to deliver to all three platforms for perhaps 110% of the cost of Windows alone.

I've read a little on Mozilla's site about XUL, but I'm not nearly an expert. Regardless, Joel's still off-base on this one. Okay, perhaps an xplat GUI is ready for prime time with only 110% the cost of a Windows-only UI in XUL. But I doubt XUL makes GUIs easier to create than they are in Microsoft's IDEs for VB 6 or .NET. And there's no way it makes the libraries underneath doing the proverbial heavy lifting any easier to port. And there's no way in hell it makes XUL savvy programmers easier to find than Visual Basic hackers, which are, I'm not embarassed to say, a dime a for dozen or two (if you don't believe me, hire me).

If you want an app that works on every platform in marginally more time that it took to create it, you use Java. I'd say it probably takes three times as long to make an app in Java than in VB for version 1.0. For version 2.0 (aka, "Finish up the crazy tasks we didn't get into 1.0 but we still think are useful), it probably takes about as long to extend your VB app. Java programmers are also quite a bit easier to find than XUL, I imagine.

The downfall of Java, and possibly XUL (too naive to know, but if Moz is any indication I think at least that implementation has quirks similar to Java's AWT), is that the apps don't quite have the user's expected native look & feel. Believe it or not, that's a pretty big deal. I'm not just talking about the obvious, like that preferences aren't under Edit in Windows as often as in MacOS and that "About" menus are in different places, but I'm also talking about the very obvious, like that the GUI widgets neither look nor behave exactly like their parallel in other apps. When you see people putting in CDs upside-down in usability tests, you'll begin to release just how important every bit of familiarity can be!