Towards a Cleaner Firefox Startup

February 25, 2010

Notifications when Starting Firefox

What should happen when you start up Firefox?

Nothing. No notifications, no updates; nothing but a clean window ready to browse. This simple startup has been a goal for the Firefox user experience team for awhile (Faaborg has outlined our plan for eliminating startup dialogs here). As add-ons manager updates are among the worst current offenders, moving these notifications away from the startup process has been one of my goals in its redesign.

Why is it so important to make Firefox’s startup clean? The obvious reason is speed. Notifications and updates appearing and then requiring dismissal wastes valuable seconds. But there’s also interaction drawbacks when windows pop up. If a user is launching Firefox, he probably has a goal in mind, and that goal is unlikely to be updating his add-ons. By seeing an update notification, the user is being distracted from the task he wanted to achieve and forced to give some of his attention to a new task: dealing with or closing the notification.

Crashing Without Session Restore

However, what if we took this one step further, and didn’t try to automatically restore a user’s session after a crash? What if instead there was just one window, ready to go, with a link to restore the previous session?

Currently, if Firefox crashes once, the session restores when Firefox is reopened. If Firefox crashes twice in a short space of time, it’s assumed to be because of bad content from the session. That’s when Firefox throws its famous “Well, this is embarrassing” screen, and gives the option to restore the full or partial session.

This is fine in the expected case of the user crashing because of bad content and wanting to restore their session and get back to work. The problem is that forcing Firefox to quit, or deliberately crashing it, are increasingly becoming alternatives to quitting. Since websites often throw warnings before they close and stalling sites can mean waiting until a command can go through, it can be much faster to crash than quit normally. Here’s a couple ways this can go wrong:

Scenario 1:

Sally has 15 windows open, each with lots of tabs. A few websites she opened are starting to stall. Sally could wait until those pages resolve their issues, but her session is getting bloated and she really just wants to start over with a fresh session. Rather than wait for the stalling pages, Sally forces Firefox to quit. However, when she reopens Firefox, it tries to restore the session she doesn’t want. Sally quickly forces Firefox to quit a second time. Now she has the new session she wanted, because Firefox assumed her two crashes were due to bad content bringing down the browser.

Scenario 2:

Oliver’s first date with Annah is going great, and she’s come back to his apartment. Oliver knows the way to win her over is to show her that hilarious video with a cat falling down stairs. Annah sits down with Oliver at the computer, and Oliver goes to open Firefox. But, he hesitates. The last time he used Firefox, did he quit the browser normally, or did he force a quit, or did he crash, or did he turn his computer off? If it’s any of the last three, his last browser session will automatically display in front of his innocent date. Oliver isn’t sure he wants that. He opens Chrome instead.

If we give a link to restore a session rather than restore it automatically, Sally can use crashing the browser as a way to get a new session and Oliver can ignore his last session and watch his video.  When someone actually crashes they only need to click once, and they’re back where they started.

Advertisements

33 Responses to “Towards a Cleaner Firefox Startup”


  1. It would be nice if you could go back later and say “OK, *now* would be a good time to bring back that previous session. Often when I start up after a crash, it’s not a good time to try to recover my old tabs, but I need to be able to do it later.

  2. Damian Says:

    I’ve thought about this problem and these same scenarios before. My solution was simmilar but just a tad different:

    *) Automatically go straight to the session restore tab with the options “New Session”, “Restore Session” and “Show old session”

    New Session) Simply loads the Home Page(s)

    Restore Session) Simply restores session

    Show old session) Remains on the same page, opens up a box that shows all the windows and tabs in the old session simmilar to how windows and tabs are shown now (although a bigger box for more tabs)

    I would argue this keeps all the princaples you want and has less click through.

  3. Dan Says:

    Oliver needs to learn how to use Private Browsing mode. 😛

  4. Simon Says:

    Well, hang on. Having as a design goal that “Sally can use crashing the browser as a way to get a new session” is ringing all sorts of alarm bells in my head.

    Are you suggesting that that’s a good thing, that users are making a habit of deliberately crash the browser, in order to clear their existing open windows? That this is something to be encouraged, rather than providing some UI function to discard all open windows and tabs?

  5. Robert Says:

    Honestly, part of me is… when I hit quit… ESPECIALLY on my Mac… that’s what I want. I don’t want it to prompt me. I don’t want to have to “force quit” or “end task” to get the browser or window to close.

    I’m not sure if that’s a standards thing… but with so many websites doing that ubiquitously for advertising purposes… it’s gotten that way.

    I really like what you have planned. I look forward to seeing it. Will it be coming to Minefield anytime soon?

  6. jboriss Says:

    Simon –

    No, I don’t think it’s a good thing. What I’d really like is a way to get a new session from within Firefox, as you said. Maybe just a menu item – “new session”. People restart Firefox because they know it will be faster, why not build it in? Until people have that feature, though, they’re going to crash Firefox, and we might as well make that experience less annoying.

  7. johnjbarton Says:

    Are these kinds of scenarios common?

    If only 30% of users have addons, and most of them have one addon, then addon updates are real not very common.

    Do real users force quit? I do it 50 times a day, but most non-developers don’t even know what it means. And twice crash? Seems like it would be too rare.

    I agree however that less restore means a better restore. The common case is restarting and restoring a few to a bunch of tabs. They compete for network and attention resources. Restore the last select tab wait until it loads, then restore the other tabs a bit at a time, but hide the frentic spinning dial things.

    jjb

    jjb


  8. I don’t think that manually crashing a program is common on any os but OS X. Do you have metrics on manual crashes?

    -Max


  9. Jenny, I think that extension updates (and application updates) are even more problematic than your realize. If you update an extension or the application itself this causes a browser restart. Normally the user won’t care. However, if the browser was started in a DDE session (e.g. the user clicked a link in his email client) this DDE session will be lost after restart. The link that the user clicked will not be opened. That’s a rather extreme case of preventing the user from achieving his goal.


  10. I think having a (completely) clean Firefox startup is a great idea, and I’m glad it’s getting so much attention.

    Based on your post, I’d envisage a start-up as follows (whether after a crash or regular close):

    On start-up, display the firefox-start page (google search or about:blank) with a non-modal dialog at the top, just like the ‘remember password’ bar.

    The text for it would be: “Do you want to continue your last session?” (or: “Do you want to re-open your previous tabs?”)
    The buttons would be: “re-open/continue now”, “continue later”.

    “Continue later” would leave you to get on with whatever you were planning to do, while still making it possible to re-open previous tabs when you’re ready to focus on them.

    The bar would go away after 2 page loads (in any tab) and then default to “continue later”.

    One of the difficulties would be of how to make opening a previous session obvious and clear to users without getting in the way (or adding clutter with a new toolbar icon for instance).

    I’ve purposely left out a “forget session” button, as clicking rightly it would only provide a marginal benefit over “forget later” and clicking it wrongly would be very crappy.


  11. Cleaning up the extension experience would be slightly trickier, although again something non-modal would be best. Maybe even silently (by default), like Chrome does?

    PS. Obviously meant “continue later” instead of “forget later”, although it oddly boils down to the same thing.


  12. “Do real users force quit? I do it 50 times a day, but most non-developers don’t even know what it means.”

    They don’t have to know what it means to do it. I understand it’s even easier on Mac OS X, but if you just try and quit Firefox and web pages stop Firefox from closing, Windows will show a dialog which offers to kill Firefox.

    I guess there’s not much that can be done about the case where Firefox has stalled, but for the issue of web pages refusing to allow you to close your browser, there must be a better solution than fiddling with the session restore.

    Sometimes it’s actually valuable to have a prompt so you don’t close something with unsaved data entry (although a better web page would save it for you, if it knows who you are…), but most of the time the onclose alerts are pointless. I don’t know how Firefox could distinguish, but maybe it could at least apply some Firefox UI to that situation rather than popping up a load of dialogs generated by web pages.


  13. I wouldn’t mind seeing a “Firefox is waiting for the following tabs to close” screen, similar to the screen that shows up if Windows Vista/7 are waiting for something to close before they shut down.

  14. Pierre Says:

    I totally agree with the need to offer a clean Firefox startup.
    And I do like what’s being proposed by James John Malcolm about session restore.

    And about add-on updates, I think that would be better to be user’s choice : completely silent or non-modal notification (‘à la’ Growl on OS X for instance).

  15. Aru Says:

    With the plans for a new/custom Home tab for Fx4.0, one could imagine displaying a collapsible “Previous session” box on the page that well let users restore the last session (or individual tabs via thumbnails). In the event of a recovery after a crash, that box could be promoted to the front and center of the Home tab, and perhaps even highlighted with a lightbox-style effect.

  16. pd Says:

    The Sally hypothetical is quite unlikely. No system I’ve ever used would still function with Firefox taking up the several GB of memory that would be required to run all those windows and tabs.

    Secondly, why is it always a male who looks at pr0n?

  17. Kazé Says:

    Have you considered including a BarTab-like mechanism, i.e. not loading tabs until the user clicks on them?
    https://addons.mozilla.org/en-US/firefox/addon/67651

    That makes a *huge* difference in the startup time when a lot of tabs are saved in the session!

  18. jboriss Says:

    pd –

    Sally is based on a number of users I’ve spoken to, including myself. Especially on OSX, it’s common for Firefox to be “not responding” in the Force Quit Applications menu. Re males? Dude, it was just one hypothetical example. 🙂

  19. G Says:

    Case 2 is me in front of my parents!

  20. G Says:

    Also, please fix the “”Firefox is already running” dialog problem. None of my non-tech savvy friends know what to do!


  21. @Kazé BarTab is pretty awesome!

    (Also, I can’t really think of Firefox shouldn’t just keep start-up-tabs greyed out until-click.)

  22. Iraê Says:

    @Dan – Oliver lives alone, and he never uses private browsing since no one, until this date, had physical access to his computer. =)

    @James John Malcolm – Great idea! As of where to put the later option, I would suggest one “mini-tab” like the [+] to create a new one, but with some icon that represents the old session instead.

    I really support the non modal solution and the background auto update. I want Firefox always on the latest and all my addons on the latest version. I don’t even want to know that the wore updated.

    I know that’s a Mozilla guideline to alwas let the user know whats happening, but IMHO this has to end sooner or later. If Firefox could store some kind of addon version history one non modal message could be show: “Firefox updated Firebug addon from 1.5 to 1.5.2 [undo it] [version history] [x]”.


  23. @Iraê: I think it depends on the circumstances, and Firefox probably doesn’t know enough to make that work well. Maybe you don’t need to know that Firebug updated from 1.5 to 1.5.2, but if Firebug developers decided to remove a load of features in version 1.6, then would you not like to be asked before that update happens? Otherwise features and UI could just change with no explanation.

  24. voracity Says:

    I very much like this direction. (On the rare occasions I’ve had a crash, it has always been two crashes because of the auto session restore — but I like the proposal for many more reasons than that.)

    And I agree with @G. “Firefox is already running” is so frustrating for non-tech users; they are not even given the slightest hint in the dialog on how to fix the problem. This is very bad UI — I hope it isn’t seen often.

  25. Pepijn Says:

    On Ubuntu, when I restart or shut down the computer (without quitting Firefox first), Firefox seems to take this as a crash. It seems quite obvious to me that it shouldn’t. Almost every time when I start Firefox again after that it shows me the “well, this is embarrassing” message, even though there is no problem restoring the session, and even though it has only “crashed” once yet.

    So while the mechanism is well thought out and I think is a good idea in general, it kicks in when it shouldn’t (when I reboot the computer), and when it does it doesn’t seem to work right (it shows straight after the first “crash”).

  26. Natanael L Says:

    My solution: SessionManager!

    I make it ALWAYS show a session selection menu on start (since that’s what I want), where I also can start a new session or bring back an old one (both manually saved and crashed ones).

    It also has options for starting a new session every time by default, while letting the user open SessionManager’s menu to open the previous session when he/she wants to.
    This could be integrated in a nice way in Firefox 4’s GUI using some sort of notification or button when you start it.

  27. Natanael L Says:

    I’ve read the comments now.

    BarTab sounds like a great addon! Gonna try it!
    I love the idea of being able to open tabs without loading them! That will make my life MUCH easier now since it will go MUCH faster to open all those ~30 tabs I always have open!

    There should also be a new-session-now option in the UI. SessionManager has it, but it’s “too deep” down in the menu structure for average users. Ubiquity command?

    About addon updates: I’d like them to be automatic, have “friendly notifications” just before and after updates.
    If FF finds an update while you’re browsing, it tells you like now but installs automatically and when you start the browser afterwards it will tell you that the addons were updated in a much less obtrusive way then letting the addons open new tabs and opening the addon manager.

    Iraê: “I know that’s a Mozilla guideline to alwas let the user know whats happening, but IMHO this has to end sooner or later.”
    > NO! That’s why I prefer friendly notifications that tells the user what’s happening, and that allows the user to block updates (temporarily for bandwidth/permanently for whatever reason) using a simple GUI that’s shown after clicking on it.
    Major changes could have “tags” in the XPI, making FF prompt you (using friendly notifications) about if you want to update. An update description would be shown.

    Addon history is also nice.

  28. childoftv Says:

    The main time this is painful is when I have 10+ tabs open. Maybe a simple count could help guide the right interaction. 4 or fewer tabs, well loading them again won’t kill me. What is horrible is when I crashed/hung it due to hitting ~75 tabs and *they all try to reload*. Oliver’s case is fairly rare and, while important shouldn’t overbear on standard usage.

  29. Brian Olson Says:

    This is something that needs to be changed. You should be able to quit firefox quickly and start a clean session easily.

    Why do we not have the option in our preferences? How do we quickly close Firefox?

    The only solution I found was to switch to Safari.

    I think Damian has a good suggestion.

    Yes johnjbarton, I think this is a common issue. Although I do not have any statistics, I teach at a college and the class prior to mine never shut down Firefox correctly. I removed the browser from the computers and had the other classes switch to Safari as well.

    I love Firefox, would love to see this improved upon.

  30. teohhanhui Says:

    Chrome shows a yellow bar with a button to restore the previous session on startup if there has been a crash. I think it’s an elegant solution (it gives you a clean start while preserving the option to restore).

  31. teohhanhui Says:

    It would be better if the bar remains until dismissed though. Chrome’s current implementation will probably intimidate many users when they lose their previous session.

  32. Otto Peter Says:

    I know that this is an old thread (we are in September 2011 now, and Firefox 6.0.2 is on my notebook), but it fits my problem perfectly: I -want- to be notified about addon updates at startup. I don’t want them to happen automatically, and I always forget to check manually at startup (which is much, much slower than the automatic notification dialog). I cannot see why there should not be at least an about:config option permitting me to get my notifications. Removing them made Firefox so much clumsier for me…

  33. Jay de Silva Says:

    What you say makes absolute sense. Particularly no windows opening up when I start FireFox.

    But for the past week, each time I start Firefox, the Add-ons manager screen loads. Its so annoying I have almost decided to uninstall FireFox and try Google Chrome. Apparently there is no way to stop this annoyance from happening.

    Regarding the last session after a crash, I also run Orca Browser, which has the feature you mention. After a crash, a window pops up with the URLs of the previous session, giving the option (tickbox) of reopening the web pages that were open at the last session or not.

    It would be good if you could suggest a way to stop the Add-Ons Manager from popping up automatically at start-up.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: