Firefox 3.1: Control-Tab Woes
Atul recently had a great post about the problems of Control-Tab, which is currently in the nightly for Firefox 3.1. While I agree with everything Atul said, and I’d go a couple steps further. The problem that Control-Tab addresses exists—we waste a lot of time switching between tabs, an in particular switching back and forth between a set of tabs. It is also great that we are taking the steps to ensure a better user experience without being scared of adding animations and escaping standard widgets. Control-Tab, as it stands now, is a good starting place for discussion.
Besides the points Atul points out (unexpected results due to tab-state modality as well as breaking natural mappings), the new interface has been completely seduced by interaction seduction. It has a low information density, which is particularly apparent in that only only 3 tabs are displayed at a time, and even then only the current tab’s title is displayed. Low information density results in a high-interaction (fidgety) interface that feels constraining. It’s like trying to solve a maze in which you can never see further than the next turn: you can’t see where you are going or where you come from. I give a talk called Don’t Make Me Click, where I show a marginally humorous redesign of Google—the apropos bit starts at minute 10—you’ll see a lot of not-as-humorous parallels to the current Control-Tab design.
There are two levels of problems here. The first is of the interface for feature as-is. The second is questioning the assumption for why we need the feature in the first place, and whether we can get a better product by re-asking the question differently.
Most of the interaction problems have to do with with the visual design of Control-Tab. Let’s take a cue from Tufte to find a high information-density solution, that uses macro/mico scaling to not overwhelm.
The basic idea is to extend the tab bar down, to include thumbnails combined with the favicon (the later of which is an Alex idea). Using some sort of arrow, Firefox indicates which tab you are jumping to in the context of the current tab strip. It can also show further jumps. This attempts to solve the problem of the current interface by not providing a confusing new tab ordering by giving a strong visualization of which/where the tabs you are switching between. You also end up with a much higher information density, and the ability to easily visually browse without much interaction.
The main problem to be solved with this approach is extreme scale. What happens when you have 100 tabs, and are Control-Tab’ing between the 2nd and the 98th? There are lots of ways of dealing with this, but the easiest is ellipsification to contract the space between the separated tabs.
I’d love someone with a bit more visual design talent to take a stab.
The Bigger Picture
Jenny Boriss recently added new mockups to the design process. The design addresses many of the information-density concerns of first problem, although it doesn’t look at the problem of an ever-changing order that frustrates my spatial memory (which is my personal bane when using Command-Tab on the Mac).
Before we dive too deeply, it may also be worth looking at entirely different solutions. The solution proposed by Madhava of adding tabs to the Awesome Bar is a much more scalable and elegant solution. With barely any new interface, it provides a weak form of visual search coupled with a strong form of textual search. It also streamlines my work flow by not incurring a Hick’s Law penalty for making me think about whether something is already open, or whether I need to open it in a new tab. In addition, it solves the problem that it is easier to open a new page than it is to find an existing tab—leading to multiple duplicate tabs.
I’d add one thing to Madhava’s proposal: a bit of semantics. Let’s add a “last viewed tab” as something you can type into the Awesome bar. That way, to switch back to the last tab I was viewing, I’d hit Command-L and type “last viewed tab”, return. As the awesome bar is, indeed, awesome, soon I’d only have to type the first two characters, “la”, to get there.