January 11, 2009
Posted by beltzner
A small change to the way in which new tabs are opened in Firefox is coming, in hopes of better meeting the needs and expectations of users. The change will be:
- tabs that are opened from links will open to the immediate right of the current tab
- new tabs created by the New Tab button or keyboard shortcut will open at the end of the tab strip
- if multiple tabs are opened (in the backgound) from links, they will open sequentially to the right of each other; as soon as focus changes, this sequential opening behaviour will stop, and tabs will go back to opening immediately to the right or at the end of the tab strip as per the above
The goal is to have tabs that are related – in terms of the user’s interaction – grouped together on the tab strip automatically. This supports a common case where a user is interacting with a webpage and opens one or many web pages from links; those tabs will now be adjacent to the initial tab. When the user explicitly asks for a new tab, it’s impossible to tell if it’s for a task that’s related to the current activity or for a new task; as such, we place it at the end of the tabstrip.
The change should be landing on trunk shortly, at which point we’ll have to make a decision about whether or not to take it in Firefox 3.1.
Some background, for those who are interested…
When we released Firefox 2, we changed the default behaviour of the browser so that links which would normally open a new window would, instead, open a new tab. Many proposals were presented about how to handle the opening and closing behaviour, with complex ideas around preserving the parenting relationships between tabs (so that when tab A opens tab B, closing tab B always returns to tab A no matter what’s happened in between). Many debates ensued, with hard-to-follow explanations that looked like:
A b c
a B c
a D b
We quickly realized that if these things were hard to follow when explaining them to each other, they would be impossible for a user to intuit. At that time, we chose to always follow a guideline which stated: “do not to try to be more clever than the user.” Put another way, if we can’t be confident that the heuristics governing automatic behaviour matches the user’s intent, we shouldn’t try to automate the behaviour.
This is what led to our current tab-close behaviour, which takes the user back to the opening tab if and only if they haven’t changed tabs or re-ordered tabs between opening and closing. The heuristic being used for tab opening position – in addition to achieving behavioural parity with Internet Explorer, Chrome and Opera – follows the guideline as well.