Closed Bug 674452 Opened 9 years ago Closed 9 years ago

Always restore pinned tabs (regardless of restore_on_demand)


(Firefox :: Session Restore, defect)

Not set



Firefox 9


(Reporter: zpao, Assigned: zpao)



(Whiteboard: [fixed-in-fx-team])


(1 file, 1 obsolete file)

Much like we already do for the selected tab, pinned tabs should always be restored, even if max_concurrent_tabs == 0 (we should probably also prioritize these pinned tabs ahead of normal tabs).
Attached patch Patch v0.1 (WIP) (obsolete) — Splinter Review
This looks to be working, though I haven't actually done the test yet.

This creates a new bucket to restore tabs from and puts app tabs & currently selected tabs there and we'll restore those in a queue. Looking back though, this might be a bit awkward for people with a lot of apptabs or a lot of windows (as the focused tab might be a few down in the queue). We might want to go back to selected tabs get restored immediately and only app tabs end up in this new bucket...
Assignee: nobody → paul
Attachment #548918 - Flags: feedback?(dietrich)
Comment on attachment 548918 [details] [diff] [review]
Patch v0.1 (WIP)

Review of attachment 548918 [details] [diff] [review]:

I think last-focused tab should always be first. I'm also not sure I buy the assumption that app tabs should be restored even though the user explicitly said to not restore any tabs until used.
Attachment #548918 - Flags: feedback?(dietrich) → feedback-
Frontmost tab when restoring should always have priority, agreed.

As for always loading app tabs, I don't have a strong opinion, but I do think it's a little bit more annoying to wait for an app tab (since they're usually things like Pandora, Gmail and other things that take a while to spin up) than web pages — so overall I agree with Paul that they should probably automatically be loaded. But I think I could go either way — easier to explain how it works when everything gets loaded on-demand, but then again app tabs are pretty obscure to start with, so having special behavior here doesn't seem bad to me unless it's significantly more complicated to maintain.
Another thing that was pointed out on IRC: A very common use case is Calendar in app tabs. If you don't load it, it still shows a favicon, but you won't get your calendar notifications, which is a bad experience.

So yes, I think I'm leaning towards always loading app tabs after thinking a bit more about the use cases.
Try run for 85dd0ba7ba3b is complete.
Detailed breakdown of the results available here:
Results (out of 82 total builds):
    success: 80
    warnings: 2
Builds available at
Attachment #548918 - Attachment is obsolete: true
Attachment #556188 - Flags: review?(dietrich)
Summary: Always restore pinned tabs (regardless of max_concurrent_tabs) → Always restore pinned tabs (regardless of restore_on_demand)
Duplicate of this bug: 682636
I switched to restore-on-demand the other day. Yes, totally annoying that app tabs no longer highlight activity until I actually have selected them.
Attachment #556188 - Flags: review?(dietrich) → review+
Comment on attachment 556188 [details] [diff] [review]
[checked-in] Patch v0.2
Attachment #556188 - Attachment description: Patch v0.2 → [checked-in] Patch v0.2
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 9
This has some implications for the "Don't load tabs until selected" pref (see bug 688962). The wording of this pref implies App Tabs will not be loaded until selected, though this is not the case. Can someone please comment on or escalate that bug? Thanks.
Duplicate of this bug: 690677
Dietrich Ayala said: "I think last-focused tab should always be first. I'm also not sure I buy the assumption that app tabs should be restored even though the user explicitly said to not restore any tabs until used."

Dietrich is absolutely correct. After leaving Firefox for a year to use Chrome, I only switched back to Firefox as my default browser recently with the advent of Firefox 8, and ONLY because of the new "Don't load tabs until selected" checkbox which I read about in the media. Given the fact that I use an older laptop, I was THRILLED with this feature!!! The fact that I can have 20 or even 40 or more tabs open and if my rig slows down or a buggy page starts causing grief, I just restart the browser... it's fantastic to reload fresh with just ONE tab. Then started pinning tabs for email, calendar, facebook, etc. I have not been bothered in the slightest by the one second it takes to load each of them when I want them... but just ON DEMAND. In my excitement, I thought I'd also check out Aurora. What a disappointment!!! If I was on a new machine, maybe it wouldn't matter, but plenty of us are on older Pentium 4 machines. Sometimes I don't want to load Facebook, calendar and email for a few minutes, since they're such resource hogs. I was so annoyed that I bothered to hunt down this thread just to make this post at 3:00 AM!  Please, don't FORCE me to reload the pinned tabs until seleceted. I love how Firefox 8 works AS IS and have already started spreading the word on facebook with my friends... JUST for this feature!!! By contrast, I HATE the change in FF9. It wasn't broke. Don't "fix" it!!! If you think that for everyone with a faster computer, you must do this... then please just give us a second checkbox to have the option to not preload the pinned tabs too. Fair enough?
Seriously, how difficult could it possibly be to just add a second checkbox saying "Don't load pinned tabs until selected" so that I can customize how my browser works? See my remarks above in comment 12. It would actually help more people discover the pin tab feature. In my opinion, this would be a smarter, more flexible, accurate and appealing win-win solution.
Here's one more point to ponder. I am not a programmer. Still, I often like to check to see if a new plugin, extension, feature, setting, or website is consuming excessive memory. I can presently do this in FF8 by selecting a known static website prior to shutting down so that upon restarting the browser, no other tabs open up and I can have a stable benchmark for making comparisons in memory use. In FF9, however, I now lose this ability without having to unpin my tabs. Why? Because the tabs that I and others are most likely to pin are not static pages, but pages like Facebook and email which are very dynamic and variable. Again, please just add one more checkbox in order to not impair my ability to have a simple, clean testing benchmark on the fly, even with lots of tabs and pinned tabs in the mix. Again, I'm not even a programmer but I still appreciate the ability to do some minor troubleshooting on the fly to optimize how my browser runs. This "fix" in FF9 now makes that a major hassle.
(In reply to Daniel from comment #15)

Hey Daniel. I appreciate your concern and the fact that you're enthusiastic about Firefox. However, we're not going to make the changes you requested. Here are a few things to consider:
* We're not building a browser just for you. We're making decisions that affect hundreds of millions of people.
* Along those lines, we're not going to make changes to Firefox so that a handful of people can do "minor troubleshooting".
* We want to make things simple yet powerful. Sometimes that means tradeoffs. We can't go adding UI for every possible combination of things. Adding an additional checkbox to the preferences dialog would just add unnecessary complexity.
* We didn't make this decision blindly. We'd noticed that people weren't alerted to meeting reminders & chats due to pinned tabs not being loaded on startup. We believe that this change improves Firefox for the majority of people.

Now before you say that "you can just add a hidden preference", keep in mind that once we do that, we have to support it. That makes code more complex and is something we have to maintain. It often hinders progress. We'll do that when we feel the gains are worth it, but we didn't think so here.
I agree, Paul, that it's likely an improvement for the majority. However, I disagree on two points: 

(a) that it would be a large enough majority to warrant making it the only option (the vast number of older computers on the web should not be ignored) and 
(b) that it would significantly complicate the preferences dialog box. 

Indeed, as others have already noted above, this "resolved" bug fix already complicates and muddies the waters. After all, the wording for the existing checkbox is now misleading, since it implies that ALL tabs (including pinned tabs) will be held from loading. (See Anthony in comment 11 and others). Moreover, changing the checkbox language to accurately match the new behavior will be even more confusing, and doing so will begin to weaken the enormous potential appeal of that feature's description as it now stands.

Actually, a solution may possibly be found in this bug thread's elegant title. Simply name the second checkbox: "Always restore pinned tabs" and let it be checked by default.

The beauty of this would be that it would also draw much needed attention to the pinned tabs feature in the first place, making this solution a marketing move as well (which is my actual area of expertise). This becomes a rather elegant win-win solution in the features battle against Chrome, which I envision having some difficulty copying it given how Chrome uses a separate process for each tab. I'm sure I could be wrong about that detail, but I do believe there's a bigger picture of how to integrate these changes for the advantage of Firefox than you may be considering. 

(In reply to Paul O'Shannessy [:zpao] from comment #16)

Paul, let me preface this comment with first acknowledging your excellent work on Firefox. I've done some looking since your last comment and want to commend you for your innovations and commitment. You're a genuine asset to the cause. 

That being said, I'd just like to respond to one more point in your comments. You stated: 

"we're not going to make changes to Firefox so that a handful of people can do 'minor troubleshooting'." 

As someone who works in marketing and public relations in the international political sphere, we regularly need to consider demographics ranging from small minorities to vast majorities numbered in the billions, and so I agree with your philosophy entirely. I just want to note, however, that I used myself as a representative sample of what I believe are millions of people who often need to troubleshoot their own computers. Certainly it's not the majority, but still a rather large, and even important minority numbering in the millions. Indeed, I would submit that this group also includes those mavens and tech opinion leaders who first led the exodus from Firefox to Chrome. I believe that there is merit in factoring in ways to avoid losing more of them, such as avoiding impairing their routine troubleshooting.

Meanwhile, as before, I'm proposing that you merely add a single checkbox and use the elegantly simple language that you already drafted in naming this thread: "Always restore pinned tabs." My opinion as a communications professional with UI design experience as well (just not a programmer) is that you've nailed it beautifully with that language. Otherwise, you would still need to address Anthony's question on re-clarifying the wording for the existing single checkbox. Has anyone suggested any revised text for that? I'd really like to see how the two ideas match up with regard to clarity for the user.
I second Daniel's voice and agree that this change in FF9 is not productive for me. I think you should seriously put this in a test survey or something because the new behavior in FF9 is much slower than FF8. I agree that an "Always restore pinned tabs" option that is checked by default would resolve this issue for me as I would definitely uncheck it.
I also don't like the "Always restore pinned tabs" option (is this configurable yet?) in Fx 9 because I don't need all the pinned tabs to be restored once Firefox launches. It'd be very slow. Better to have an option to toggle different behaviours for different users.
Please change this to at least a property (in the preferences or in about:config)
i use the app tabs as my quick steady tabs that are always on the left
But i have quite a few that popup a Login dialog when loading up
So now everytime is start it up i get redirected suddenly to the app tab when that one starts to load (and that could be after a while because it could be 1 of the last tabs hit)

Also what you do now i still not working for stuff that ask for a login but just in the webpage itself. Still the "app" is not loaded, you will not get notified for new mail for example if that mail client is not logged in...

And why if i start up Firefox, then FF decides that i want to run all my apps? I will decide that.. If i start Windows or Linux then linux also doesnt decide that it needs to startup all the apps... I will click on the icons my self to do that. Thats how i see FF and its apps, i will decide which on i start by click on them

What FF should do is make it clear the to user that the app is not loaded yet.. Just like Windows 7 does with its taskbar and pinned apps there..
Concur with comment 21, as now I am forced to unpin several tabs or put about:blank to them, as these pinned tabs are now reloaded every time I start Firefox. I (and I'm sure many users) didn't ask for this to be done automatically.

I'd like a separate checkbox or an about:config preference that would apply to all tabs again or different settings for pinned tabs in which these, according to setting, would or would not be loaded again at startup.

Failing that, I'd like a change in language in the Preferences UI for the "Don't load non-pinned tabs until selected" or something similar. Users currently assume that the check-box preference language covers _all_ tabs, including those that are pinned.
please bring the don't load app/pinned tab until selected back like the one in firefox 8!

user with low internet bandwidth like the one in developing country as in Indonesia, will benefit from from the don't load app/pinned tab until selected options.

or at least show us how to bring back this feature again through about:config.
Please forgive me for reposting a comment left at Bug 708585 but I do believe a major opportunity is being squandered. By adding a single additional checkbox to the options menu, this "problem" would instead transform into a potent catalyst to introduce pinned tabs to a much, much wider swath of users as a genuine killer feature. Allow me to illustrate.

It's been interesting how my browsing experience has painlessly evolved since "restore on demand" has become an option. I now habitually use extra tabs as sort of a "temporary bookmark" function in which I feel free to procrastinate (in a good way) getting back to tabs at my convenience over a day or even a week. Relaunching FF without reloading allows this beautifully -- making for a surprisingly pleasant new browsing style I wasn't expecting. Pinned tabs are essential to making it work though, so that it's always easy to find email, facebook, calendar, etc.  Restoring all pinned tabs automatically, however, has caused me to limit my pinning of tabs from a peak of 5 with FF8 down to 2 tabs with FF9 (which still bogs down a bit). Keep in mind that I always use an older "test laptop" for regular browsing in order to match typical user rigs. 

In any case, my browsing style evolved automatically in ways I wasn't expecting once I discovered these options, and I think there's a marketing opportunity for FF if it can be exploited. Bookmark-bloat is such a common problem, and using tabs this way to get back to them more casually -- but without forgetting them -- really allows me to be more relaxed while browsing, and more selective about what I actually do end up bookmarking. This deserves to be spun heavily in marketing.
Why? Why have you done this to us? :c Everything was just fine…
(In reply to Paul O'Shannessy [:zpao] from comment #16)

I like FF, been using it for years and have recently been impressed with the seamless transition to the rapid release cycle (congrats for that). But this "fix" is so annoying for me that I even created an account here just to let you know this. 

From what I can summarize, the "Don't load tabs until selected" feature was actually broken/incomplete in FF8. But, in over a month since FF8, many of us got accustomed to the new behavior, and have come to depend on it. I, for one, have ~ 10 app tabs (gmail, reader, facebook, ymail, rally, jira etc.) All of these are pretty heavy web apps and loading them every time I want to quickly open a link is just unacceptable. So too is unpinning them back to regular tabs since this would clutter up my tab bar permanently. 

So now I'm forced to set another browser as default (Chrome in my case) just to be able to quickly view a page and move on. Keeping FF open at all times is not an option since with my 30 addons it quickly takes up vast amounts of memory - which I do not have.

Breaking changes like this should, at the very list, be accompanied by a recommendation in the release notes for an addon/setting which mimics the old behavior. We should not be forced to google our way to bugzilla to understand why our favorite feature has stopped working.

Customization is reason #1 for my sticking to FF. Take this away and Chrome/Opera/IE9+ suddenly become viable alternatives as they are either much snappier or better looking than FF.

I was linked here with my own report about this problem. Stating that app tab loads without on demand is an intended feature so that it is a WONTFIX.

Firefox, you know how sad i'm to listen to this when i am always the one among my friends that keeps on telling them to dump chrome and come back to firefox.

This is the first time i really lose hope in firefox.
Please stop commenting here, this is a resolved implementation bug, and further argument will just create noise for the developers involved.

For the ones who dislike this behavior, I've filed bug 708585 and attached a patch, which is now waiting for review. After it's reviewed and checked-in you'll be able to control this behavior with a preference.
Blocks: 713190
You need to log in before you can comment on or make changes to this bug.