David Baron's weblog: September 2006

Friends & Colleagues

Thursday 2006-09-21

New Theme, Old Problem (22:40 -0700)

The new Firefox theme landed on the trunk today, so I suppose I'll actually have to start using it soon. I don't really care one way or the other about most of the changes, but there's one set of changes that I really don't like: the changes to the tab strip, the area between the toolbars and the browser window that shows tabs reflecting the state of tabbed browsing.

In previous releases, the tab strip used native-looking tabs on Windows and GNOME, which have an appropriate native tab concept. (It did this using values of the -moz-appearance property.) I've long seen the ability to build multi-platform user interface that looks and acts native across those platforms as one of Firefox's strengths, and one of XUL's strengths, and I think improving the native-ness of the user interface is an important goal. Native user interface means Firefox fits in with the appearance and conventions of other applications, making both Firefox and those other applications easier to use. Native-looking user interface also means that using multiple applications at the same time is visually appealing rather than jarring. I suspect those were some of the reasons that making the user-interface as native as possible was one of the original goals of the project now known as Firefox.

[Screenshot of tabs in Firefox and GNOME Terminal, with the old Firefox theme]

Compare the screenshots of the old theme (above) and the new theme (below). In the screenshot below, there is a significant visual dissonance created by the tab strip. The gradient on the active tab makes the active tab appear shinier than anything else on the screen, while the dull borders of the tabs make the tabs appear recessed relative to everything else, especially because of the oddball dark color filling the space around the edges of the tabs (which is especially disconcerting in the empty area to the right of the rightmost tab). These aren't inherent problems with the design; they're ways that the tabstrip doesn't fit in with my GNOME theme (which isn't too far from Fedora's default). I wouldn't see these if the tabs used a native appearance, and people for whom native appearance is significantly different wouldn't see the problems that would be caused if the tabs looked like my theme for them.

[Screenshot of tabs in Firefox and GNOME Terminal, with the new Firefox theme]

I'd have complained more vocally about this earlier, except that from the moment I knew about the problem, I thought any significant design changes to the new theme would have added a significant delay to the Firefox 2 release date. This was because the new theme landed way after the feature freeze for the release, despite being a major feature. I suggested at weekly status meeting a number of weeks before it landed that it was too late, and I still think it was. Its late landing dragged a large group of developers away from what they normally work on to fixing theme bugs and probably significantly delayed the completion of Firefox 2. And this delay, and the all-hands-on-deck mentality that was dragging developers away from things that I care about more, made me hesitant to criticize it, for fear that response to my criticism might lead to even more delay. But the more I think about it, the more I come to think that the delay would be worthwhile.

One of the reasons we shouldn't take feature landings this late is that they don't have a chance to go through the normal process of feedback (including feedback after time for consideration) and refinement that is an important part of our development process. Features rushed in at the last minute are likely to do significant damage to some of the many measures of quality, even if they do improve others.