Why doing visual refreshes of Firefox is hard

We’re getting closer and closer to releasing Australis with Firefox 29, and that gives me more time to write something that’s been on my mind the last couple of weeks/months. Extra impetus was provided by sentiment along the lines of “how did you possibly miss this / think fix X was a good idea?” from some people outside the core development team, responding to some of our changes.

In this post, I’d like to give you an idea of the number of combinations of options, configurations, themes, add-ons, fonts and styles. It is enormous. Firefox generally tries to fit in with your operating system as best it can, and that means we have to pay attention to lots of things. And yes, that means sometimes we miss things. Here’s a breakdown of some of the things I’ve seen fly by as we made Australis, all linked to bugs specific to particular scenarios (there are 54 individual bugs linked, the majority of which were fixed for 29).

Firefox is available on three main (tier-1) platforms: Windows, Linux, and OS X.

All three platforms support lightweight themes, of which we support light and dark text variants. On light text lightweight themes, we invert the text and icons to be bright (which usually means the theme itself has a dark background). Interactions between these themes and the OS are not always the same everywhere, which leads to bugs.

Different toolbars like the menubar and the bookmarks toolbar can be toggled on and off (which sometimes makes certain ideas more difficult), and the menubar has an autohide state, which is new on Linux and caused specific bugs there.

And although we normally always show the tabbar and the navbar, there are popup windows where we don’t (toolbar=no), which, you guessed it, causes bugs.

Then we have per-window private browsing, which has an indicator which makes things ‘fun’ (and soon private browsing will look even more different from normal browsing).

Of course, while we stick to English layout direction is more or less fixed, but we ship both LTR and RTL locales on all platforms, which changes the order of things, which frequently leads to bugs.

Then there’s the padding that we added for “customize mode”, which affects layout of the toolbars and the (‘fake’) titlebar, which had its own problems.

Some issues are specific to pinned or overflowing tabs (sometimes even particular tabs), as well as panorama/tab groups.

Beyond that, styling is somewhat platform-specific, each with their own quirks:

OS X

OS X is, in a certain sense, “easiest” because the OS doesn’t have a lot of options that mess with things (font size, for example, isn’t easily configurable). But there’s still some variation:

  • Lion vs. pre-lion: 10.6, which we still support, has no fullscreen button in the titlebar (unlike 10.7-10.9) and has no concept of “Lion fullscreen”.
  • Spaces: causes odd bugs with panels.
  • HiDPI (“retina”): this causes bugs / missed cases. Add external displays which might not be hidpi, and you get even odder bugs (this one’s 10.9-only, too, it seems!).
  • RTL. Coupled with retina –> more bugs.
  • 10.9 broke more stuff.
  • Titlebar can be turned on/off now: cue more bugs.

Linux

Linux really means “Unix that has GTK”, as far as theming is concerned. Unfortunately that ends up being a wide spectrum of cases:

Windows

Windows really means “Windows XP, Windows Vista, Windows 7, Windows 8(.1) and all the corresponding Windows Server versions”. Which then means:

This list doesn’t include bugs caused or revealed by add-ons, but of course those also add interesting behaviour to the mix.

All in all, it’s been an interesting first year as an employee at Mozilla (I started April 1st, 2013), and I can’t wait to see all our changes ship: Firefox 29 is scheduled for release on April 29th.

7 thoughts on “Why doing visual refreshes of Firefox is hard

  1. It makes me so sad to see what Australis has done to Firefox. I will now use the Classic Theme Restorer Add-On to get the never met functionality.

    If there will be a Firefox fork with the theme before Australis I will quit using Firefox.

  2. I don’t mind the visual refreshes, it’s the crippling of options that I find problematic. Take the refresh / reload button, for instance. Up until now, we’ve always been able to move it wherever we pleased to customize the browser’s functionality out of the box. It defaulted in the URL bar as a tiny button, sure, but you could quickly and EASILY just move it right beside the bar to be with the other navigation buttons in the same place that we’ve been used to since Netscape was a wee lad. Now, however, the refresh and navigation buttons are locked to the URL bar with no hope of disentangling them. It’s all or nothing.

    I hear the argument that this is somehow easier on the user because they won’t get confused. They won’t lose buttons. While it may be a noble goal to protect users from their own, uh, inexperience, I don’t believe it’s justifiable to alienate those users who are not prone to making these kinds of mistakes. We should be able to retain the existing customization options that we’ve known in the browser for years, even if it is through some manner of “advanced” options. The argument that we should install dozens of add-ons to regain lost functionality is depressing, at best.

    Anyway, rant aside, the visuals look good. I don’t think too many people are worried about that. It’s the loss of functionality, customization, and the abrasive or dismissive attitudes of the developers toward those who speak out that is the real problem.

  3. Sounds like its no different than 3rd party Themes. The major difference is that ONE person is doing all the work and doesn’t have access to having custom code made by an entire team.

  4. I love the work done on Australis. What really bothers me is people bitching about change. It doesn’t seem to matter how beneficial the changes are, people just love to complain.

  5. Err, what is a forum post that I made here – http://forums.mozillazine.org/viewtopic.php?p=13475603#p13475603 doing here? Has someone quoted it or what and, if so, can they make that clear?

    I never post comments on blog sites* and only ever discuss anything in open forums, such as MozillaZine.

    * my attention was drawn to this one by someone who, rightly, found it odd that I would post on a blog.

  6. Hi Frank, apologies, I’ve edited the comment to simply contain a link and explanation, and removed my reply. The IP (and associated reverse address) and email for that comment were unlike yours (somewhere in India, it seems). I’m sorry for not paying more attention. I don’t like moderating out / deleting comments (no matter whether I agree with them or not), and so I was probably too lax in checking it was “really you” (although that’s hard to verify – all I have to go on for your comment here is an IP and email address… but it’s more plausible than the original comment, which was clearly poorly copy-pasted as it lacked quote formatting and so on, which your forum post doesn’t).

Comments are closed.