I have a pathological use of browser tabs: I use a lot of them. A lot is probably an understatement. We could say I use them as bookmarks of things I need to track. A couple weeks ago, I was saying I had around two hundred tabs opened. I now actually have much more.
It affected startup until I discovered that setting the browser.sessionstore.max_concurrent_tabs pref to 0 was making things much better by only loading tabs when they are selected. This preference has/will become browser.sessionstore.restore_on_demand. However, since I only start my main browser once a day, while other applications start and while I begin to read email, I hadn’t noticed that this was still heavily affecting startup time: about:startup tells me reaching the sessionRestored state takes seven seconds, even on a warm startup.
It also affects memory usage, because even when tabs are only loaded on demand, there is a quite big overhead for each tab.
And more importantly, it gets worse with time. And I think the user interface is actively making it worse.
So, to get an idea how bad things were in my session, I wrote a little restartless extension. After installing it, you can go to the
about:tabs url to see the damage on your session. Please note that the number of groups is currently wrong until you open the tab grouping interface.
This is what the extension has to say about my session 2 days ago, right after a startup:
- 556 tabs across 4 groups in 1 window
- 1 tab has been loaded
- 444 unique addresses
- 105 unique hosts
- 9 empty tabs
- 210 http:
- 319 https:
- 14 ftp:
- 2 about:
- 2 file:
- 55 addresses in more than 1 tab
- 39 hosts in more than 1 tab
The first thing to note is that when I filed the memory bug 4 days earlier, I had a bit more than 470 tabs in that session. You can see 4 days later, I now have 555 tabs (if excluding the about:tabs tab).
The second thing to note is something I suspected because it’s so easy to get there: a lot of the tabs are opened on the same address. Since Firefox 4.0, if I’m not mistaken, there is a great feature in the awesomebar, that allows to jump to an existing tab matching what you type in the urlbar. That is very useful, and I use it a lot. However, there are a lot of cases where it’s not as useful as it could be.
One of the addresses I visit a lot is
http://buildd.debian.org/iceweasel. It gives me the build status of the latest iceweasel package I uploaded to Debian unstable. That url is particularly known in my browsing history, and is the first hit when I type “buildd” in the urlbar (actually, even typing “b” brings it first). Unfortunately, that url redirects to
https://buildd.debian.org/status/package.php?p=iceweasel through an HTTP redirection. I say unfortunately because when I type “buildd” in the urlbar, I get 6 suggestions for urls in the form
http://buildd.debian.org/package (I also watch other packages build status), and the suggestion to switch to the existing tab for what the first hit would get me to is 7th. Guess what? The suggestion list only shows 6 items ; you have to scroll to see the 7th.
The result is that I effectively have fifteen tabs open on that url.
I also keep a lot of bugzilla.mozilla.org bugs open in different tabs. The extension tells me there are 255 of them… for 166 unique bugs. Largely, the duplicate bug tabs are due to having these bugs open in some tab, but accessing the same bugs from somewhere else, usually a dependent bug or TBPL. I also have 5 tabs opened on my request queue. I usually get there by going to the bugzilla home page and clicking on the “My Requests” link. And I have several tabs opened on the same bug lists. For the same reason.
When I started using tab groups, I splitted in very distinct groups. Basically, one for Mozilla, one for Debian, one for stuff I want to follow (usually blog posts I want to follow comments from), and one for the rest. While I was keeping up with grouping at the beginning, I don’t anymore, and the result is that each group is now a real mess.
Firefox has hundreds of millions users. It’s impossible to create a user experience that works for everyone. One thing is sure, it doesn’t work for me. My usage is probably very wrong at different levels, but I don’t feel my browser is encouraging me to use it better, except by making my number of opened tabs explode to an unmanageable level (I already have 30 tabs more than when I started writing this post 2 days ago).
There are a few other things I would like to know about my usage that my extension hasn’t told me yet, either because it doesn’t tell, or because I haven’t looked:
- How many tabs end up loaded at the end of a typical day?
- How many tabs do I close?
- How many duplicate tabs do I open and close?
- How long has it been since I looked at a given tab?
- How do the number of tabs and duplicates evolve with time?
Reflecting on my usage patterns, I think a few improvements, either in the stock browser, or through extensions, could make my browsing easier:
Auto-grouping tabs: When I click on a link to an url under mozilla.org, I most likely want it in the Mozilla group. An url under debian.org would most likely go in the Debian group.
Switch to an existing tab when following a link to an already opened url: That might not be very useful as a general rule, but at least for some domains, it would seem useful for me that the browser switches to an existing tab not only through the urlbar, but also when following links in a page. If I’m reading a bug, click on a bug it depends on, and that bug is already opened in another tab, get me there. There would be a history problem to solve, though. (e.g. where do back and forward bring?)
Maybe these exist as extensions, I don’t know. It’s hard to find very specific things like that through an add-on search (though I haven’t searched very hard). [Looks like there is an experiment for the auto tab grouping part]
I think it would also be interesting to have something like Test Pilot, but for users that want to know the answer to “How do I use my browser?”. As I understand it, Test Pilot can show individual user data, but it only can do so if there is such data, and you can’t get data for past studies you didn’t take.
In my case, I’m not entirely sure that, apart from the pinned tabs, I use the tab bar a lot. And even for pinned tabs, most of the time I use keyboard shortcuts. I’m not using the menu button that much either. I already removed the url and search bar (most of the time) with LessChrome HD. Maybe I could go further and use the full window for web browsing.