Firefox Themes: The Contention Between Visual Hierarchy and Toolbar Customization


When we were receiving feedback during the development of the Windows themes for Firefox 3, one question tended to come up a lot:

Why are there three distinct visual styles of controls in the main toolbar?

This is a really good question, and something that I don’t think I adequately explained during the design process. Here are the current main toolbar icons:

Toolbaricons

And as you may have noticed if you customized your toolbar configuration, there are some intentional height differences in the set when using large icons:

Iconheights

So you might be wondering (or regularly emailing me):

How did we end up with those?

It’s kind of a long story. Going back to some of the very initial sketches of Firefox 3 about a year ago (before my post about the wireframes), we were interested in using the control layout shown below for the Windows theme. The very original design never got past the whiteboard stage, but here is a recreation of it using some of the final graphics for Firefox 3.

Protokeyhole

In my notes I was referring to this design as “Solar,” as a reference to the back button being the Sun and smaller controls orbiting around it. What I personally really liked about this design was that it structurally grouped controls like back, forward, reload and stop, with the contents of the location bar. This visual design made it conceptually clearer that controls like back and forward would effect the contents of the location bar, because they were physically joined. Some alternate designs that I also really liked by Mike Beltzner and Madhava Enros moved the stop button inside of the location bar, having it only appear during page load, along with some Safari-style progress bar feedback replacing the throbber.

Solar was modified to what eventually became the keyhole design primarily due to implementation considerations. We couldn’t create multiple versions of the same controls in the customization palette, so that made it impossible to provide users with both the combined control set of Solar, along with individual controls that would give users the flexibility to create any configuration they wanted (”Mr. Potato Browser, and his bucket of parts”).

Customizetoolbar

Another implementation consideration was that for performance reasons we couldn’t make modifications to the toolbar graphics based on the current control layout. This would have allowed us to draw the etch in the background on Solar, and to group reload and stop into a single visual form on OS X’s Proto theme (I should note this is now possible using adjacent selectors without the performance problems):

Osxstopreloadmerged

Ultimately we still wanted to ship the visual hierarchy aspects of the original Solar design in Firefox 3, as opposed to releasing a design with equally weighted controls (similar to Firefox 1 and 2). However, we had to make several modifications and compromises that hurt both the original design and user’s ability to customize their control scheme in Firefox 3:

-We dropped the etch that was grouping the controls on Windows
-We shipped the keyhole shape for the navigation controls, but we unfortunately made it impossible for users to separate the back and forward buttons when customizing their configuration
-We kept the size of controls like reload and stop a little smaller to maintain the visual hierarchy of controls, but not so small that they would look incredibly strange when the user customized their control scheme
-We returned the home button to the main toolbar (it had been placed on the bookmarks toolbar), due to some negative feedback from beta testers who didn’t like us modifying the traditional core set of browser controls.

That’s the long answer for why the icons on windows are currently different heights, they allow us to have some visual hierarchy in the default control scheme, without totally breaking customization in the process.

What’s so special about visual hierarchy anyway?

Visual hierarchy is a term more often used in the context of static design work, like print and some forms of Web design, however it also can bring some real benefits to interactive interfaces. To create a visual hierarchy a designer uses various visual variables like color, contrast, texture, shape, position, orientation and size to draw the user’s attention to some elements, while simultaneously drawing the user’s attention away from other elements. The designer can also choose to visually group related controls together.

To move the discussion to a more theoretical level, let’s consider both physical interfaces like remote controls and stuff that Apple makes, as well as software interfaces like a Web browser.

Here are two extremes when it comes to visual hierarchy in a physical interface, the TiVo remote vs. the PS2 remote (or really the TiVo remote vs. any number of remotes designed by a variety of consumer electronics companies for several decades). The TiVo remote designers went through literally hundreds of design iterations, while the PS2 remote’s design appears to be primarily based on the most logical layout for the underlying circuit board.

The two remotes are similar in that they both avoid an extensive use of color, however they differ greatly in the way that they leverage the shape, size, and location of different controls.

Tivoversusps2

This is a stupid comparison, physical interfaces are totally different from software!

Well, yes and no. A good physical interface will not directly translate well to a good software interface, but I believe a lot of the underlying principles of what makes any interface good or bad are still the same. For instance, Fitt’s law is applicable in a variety of different physical environments, using different limbs (or eyes), and different types of input devices, as long as you adjust the constants a (start / stop time) and b (speed of the device). Similarly, when it comes to creating a visual hierarchy, there are a few underlying principles that if applied can improve any interface, regardless of if it is a remote control, or a Web browser toolbar. These properties are universal, and here are four benefits that come to mind:

1. The Ability to Create a Lighter and Simpler Appearance (Better Visual Design)

By combining shapes and visually grouping related components, you can create interfaces that are simpler. For instance, the view of the TiVo remote above and the section of the Sony remote from the play / pause / stop controls on up both contain 28 controls, but the Sony remote seems more overwhelming. Or to look at a more specific example, the directional pad on the TiVo remote looks like 1 control, while the directional pad on the Sony remote looks like 4 controls. We see this visual collapsing together of controls in Apple products like the iPod and the new MacBook Pro trackpad, as well as in other Web browsers.

Mergingcontrols

2. The Ability to Give Dominant Controls More Weight (Better Interactive Design)

Something I heard pretty often in comments and message board posts when we were proposing design work for Firefox 3 was:

I’m not dumb, I know where the back button is, it isn’t like I’ve had any trouble finding it in the past.

That’s true, but how many milliseconds does it take for you to visually target the control you want to click on? Can you find it with very early visual processing? Making the most important control visually dominant still makes the control easier to locate, even if you already know where to look, and makes the interface as a whole feel simpler because you can more effectively ignore all of the other controls every time you are on your way to hitting the most important one.

One way to tell how visually dominant a control is, is to blur the design (or close one eye and squint) in order to roughly approximate early visual processing. If a control passes this test the user should be able to visually target it at a very quick glance.

Here are a few examples. You can still see the navigation controls in Firefox, and the pause button on the TiVo remote.

Squinttest

So I, like you, am not dumb. I know exactly where the pause button on my PS2 control remote is. However, the graphics card in my brain has to devote far more resources to helping me to target and hit it compared to when I am trying to hit the pause button on my TiVo remote. The same goes for OK buttons on dialogs in Windows compared to OS X, or when choosing which Web browser to open.

3. Easier Control Differentiation (Better Interactive Design)

When it comes the slow and fast forward buttons on my PS2 remote, I actually am dumb. I can never remember exactly where they are, and the glyphs look similar enough in low light that I regularly hit the wrong one accidently. But it’s very different with my TiVo remote, even without looking at one or holding one, with just picturing the remote in my mind, I can quickly recall where the slow button is — it’s directly south of the pause button (which is sort of the capital city).

Landmarks

We mentally encode locations based off of directions from memorable landmarks. In the case of the PS2 remote, the nearest major landmark for the slow button is the play button, which is large and pretty easy to both remember and find. But from there on in, there aren’t any more landmarks, was the slow button in the first row or second row? On the TiVo remote, literally every single control is in a memorable direction from a major landmark (with the exception of the numeric keypad). The result of this is that after learning all of the button positions, you can pretty effectively use the remote without ever actually looking at it, but instead just by feeling the shapes of the controls and moving from known landmarks to the more obscure controls like Mute or Info. It isn’t impossible to both learn and remember the position of all the controls in the PS2 remote’s grid, but it is considerably harder.

So how do varying control shapes and memorable landmarks effect Web browser design? Now, unlike a remote control, you probably aren’t going to try to use a browser without directly looking at it, as that would kind of defeat the purpose. But what if we tested a browser design by taking away a key visual cue: the glyphs or symbols drawn on the controls:

Controldifferentiation

With the glyphs removed as a possible indicator, the shape of the keyhole can still be used to identify back and forward. Also, landmarks like the keyhole and the location bar can be used as a reference point for more obscure controls like reload and stop. Reload can be mentally encoded as “east of keyhole” instead of “third from the left, or second from the right.” Even merging reload and stop together helps a little bit since it causes them to each have a more unique shape. When merged, stop and reload can even use each other as landmarks.

4. Creating an Iconic Form (Better Branding)

This final consideration isn’t related to improving visual or interactive design but rather the larger realm of product design. Creating a visual hierarchy based on things like size, shape, position and color results in more memorable and recognizable products. For instance, the TiVo remote is incredibly iconic, it’s shaped like a peanut and has a large bright yellow button in the middle. The PS2 remote in contrast looks very similar to other remotes by companies like JVC, Philips, Panasonic, Pioneer, Onkyo, Samsung, and the many others that have a tendency to place small black buttons in a grid.

We decided to use the keyhole shape for our navigation buttons because we wanted to have a visual element that made Firefox consistent between different operating systems, and also to visually differentiate us from other browsers on each system.

Iconicform

One final question I’ve gotten a lot:

Aren’t Asymmetrical Forms Ugly and Symmetrical Forms Innately Beautiful?

Yes. But, there is an important caveat: this only applies to anthropomorphic forms. For instance, a good way to design a disturbing looking robot is to make one eye larger than the other (and believe me, we also seriously put a lot of thought into robot design here).

Laputarobot
Laputa Robot by Hayao Miyazaki

While not related to symmetry, it also helps if the robot is very tall.

…Back to Toolbar Customization

Ok, so maybe there are a few reasons why you can build a better interface if you use visual hierarchy, but I want to be able to totally customize my toolbar and not have my icons appear at all sorts of different shapes and sizes that look really silly when you move them into a completely different order!

I totally agree (with that statement that I just wrote to myself), designing a great default user interface that leverages visual hierarchy, and also letting users completely customize the configuration of their toolbar should not be mutually exclusive goals. Unfortunately, kind of like how the user interface design of the PS2 remote was based on the most logical configuration of the underlying circuit board, our platform doesn’t (currently) allow us to do things like placing multiple instances of the same control in the toolbar customization palette, or a group of related controls. We also are somewhat limited in our ability to adapt the visual style of controls based on their placement relative to other controls.

Toolbar customization is really important, and so is visual hierarchy, so we need to start fixing the limitations of our platform.

Information and Links

Join the fray by commenting, tracking what others have to say, or linking to it from your blog.


Other Posts
Privacy UI
Polishing Firefox, Week 3

Write a Comment

Take a moment to comment and tell us what you think. Some basic HTML is allowed for formatting.

Reader Comments

Why Linux is orphan ? No UI re-engineering ?

We’ve previously felt that uplifting icons from the OS theme on Linux provides the user with a more cohesive overall experience. However, that decision also comes with the downside of not having the advantages of fully crafting our own default interface on Linux, since we are dependent on the icons available in each OS theme.

Any changes we make the to the capabilities of themeing and toolbar customization would still show up in our Linux builds, but they wouldn’t likely be used by the default theme since it is meant to match the OS.

Personally, I think OS themes on Linux should start to consider some of these design principles. Of course that is kind of a round about way of changing our default theme on Linux.

Great reading! I hope this will help many people understand what went behind the great work that was made for Firefox 3

Can we expect Solar for 3.1, or will it have to wait until Fx4?

These are important lessons to be learned here for Firefox 4.

I really wish the community had had this information before.

Great post, Alex!

Great post indeed!
Well, I like the initial design very much, but the keyhole alone looks kind of odd…
The Laputa Robots are incredible!

I really love the Solar design theme that was proposed. I hope it makes it’s way into Firefox eventually.

Maybe this comment is out of place, but what really happened to the new Firefox logo that was supposed to be ready for Fx 3.0 ?

Maybe this comment is out of place, but what really happened to the new Firefox logo that was supposed to be ready for Fx 3.0 ?

We ran out of time to do some additional iterations on the design based off of public feedback, and we also needed more time if we wanted to do a full update (t-shirts, stickers, etc.). So we decided to try again for Firefox 4, starting earlier in the ship cycle, instead of having multiple versions of the app icon and logo out there over the course of Firefox 3.

I’d be interested to see what happens to the Home button in the future. I’m struggling with where I’d like to put in on my toolbar because it doesn’t really seem to belong anywhere.

You say the Back button is the most used button in a browser, do you have any information on how often the Home button is used, what people use it for and why they use it? What made you decide that placing it on the bookmarks toolbar was the best plan?

What a fantastic article!
It’s gripping, informative, and educational.
I discovered it through the about:mozilla newsletter and I’m now a subscriber to your blog so keep the good stuff coming.

“how many milliseconds does it take for you to visually target the control you want to click on?”

That is a very important issue for me in particular due to a visual impairment. Trying to visually focus and lock in on a target when going from several differently sized elements whether they be shapes or text to another can be exhausting and cause eye fatigue that can translate into overall mental and physical fatigue (for anyone) thus preventing the amount of time that can be spent on a computer and greatly affecting productivity not to mention the amount of time that it takes to simply guide my cursor to a target to perform a simple action.

Making all of the elements the same size does make it easier for me to see what is what but then nothing stands out and there is no “visual hierarchy” (I love that term) so it takes just as long if not longer to scan the interface to find the target that I need. But, what has worked for me personally more than anything is the colors and placement of the elements that I use the most and memorizing what is where and this has allowed me to be able to spend as much time computing on an hourly basis as I do.

I have a mental map of where everything is and this allows me to go against the natural (or learned) order of having to start at the top left and read to right, down, left and so on, and so while I have a row of 7 toolbar buttons (sometimes more) at the top right of Firefox, the color takes me there and having memorized the location of each button in that row allows me to find it quickly without starting from the left of the row and scanning right. The buttons are all the same shapes and colors by the way. It’s the group’s overall consistent colors that attracts me to the group as a whole and the consistency in colors and shapes prevents me from having to view and process each button, and so all that I have to do is go right up to the 4th button to open up Fox Notes for example. The more commonly used ones are first and last. Memorizing the position(s) of items also allows me to avoid having to use specific accessibility themes that can detract attention from important elements and eat up valuable screen space that can be used for something else. Enlarging text anywhere on the Firefox UI or on a Web page is a matter of a few clicks or Stylish setting anyway and in my experience, that is unmatched by any other browser

With all of that being said, being able to customize all areas of Firefox is essential for me as for others with disabilities. One size doesn’t fit all and the fact that users can customize Firefox to their needs and liking is a message that I’m working hard on to get out to persons with disabilities.
On the other hand, what a tremendous task that it obviously was to provide an interface that would work for and appeal to the greater majority of end users. You’ve all done an excellent job on it. And while one of the first things that many users do when creating a new profile is alter the UI, you’ve given us a great foundation to start with as Firefox is in general.

A few last points.
Thanks for not stuffing the Stop button in the location bar. Having to go and find that would be counter intuitive as when we want something to stop, we want it immediately as opposed to expecting to wait to go back, home, or refreshing. Hiding when not in use is perfect and I have a User Style to do just that.

Thanks for the info on Fitts’s law. It’s quite fascinating and I’m going to try pie menu items if there are still extensions available for that.

Finally, I’ll leave you with this.
Why do we all still have to look at the numbers keypad on a phone when its been unchanged since its inception?
Perhaps if you can find a remedy for that and dismiss that it is because we are simply lazy than you can retire early.

Thanks for the great read.

A couple of thoughts:
1. The original etch design looks much better to me than what was implemented, and you acknowledge the end result was not the one intended. Does this mean that a future version of the default theme will be closer to the original design when implementation issues have been addressed?

2. The Mac theme is particularly ugly:
- the circular etch to the left of the large back button doesn’t start at the correct height
- the rounded stop and reload buttons look bad and should have just been square
- I’m not sure if the left side of the favicon should be circular or square, but the right side of the favicon should definitely be flat

Can you address these points and/or give some more information on your plans going forward?

Excellent post Alex, thanks for sharing! Looking forward to seeing how these principles are addressed in Firefox 4.

Alex - this is an excellent post. The blurred images are particularly evocative.