Joel on Mozilla and XUL
Joel Spolsky of Joel on Software writes:
It may turn out to be the case that one of the biggest benefits to come out of the Mozilla project is XUL, which seems to be one of the first solid frameworks for true GUI portability (WORA). Basically, you design your interface in XML, glue the events together with some JavaScript, and call binary XPCOM classes (virtually the same as Microsoft COM classes) when you need to do something fast in C++ that doesn’t need a UI. And UI’s never need to be that fast, so this is a good division of labor.
Theoretically, you get cross-platform Nirvana. And thanks a lot of hard work all the little platform-specific touches (like Alt+Space N to minimize a window) are finally right, which is one of the biggest weaknesses of previous efforts at WORA like AWT and Swing. If I had to start developing a new commercial app I would seriously look at XUL.
…XUL 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.
Unfortunately, most of the Mac platform-specific touches are wrong. The UI doesn’t look right or feel right. I would guess that XUL is to blame for why Mozilla is so slow to start up and why the UI is so sluggish even after it’s running. I’m not sure XUL is any better than Swing from the user’s point of view. But I do think Joel is right about Netscape and IE; Netscape dropped the ball, and most people used IE because it was better.