Sketchbook: Firefox session restore

December 5, 2008 ⋅ 10 Comments »

Since I’m doing a field study on how people use tabs in Firefox, you can imagine that I spend a lot of time thinking some of the smallest details of the Firefox user experience. One thing that’s been on my mind lately is the session restore feature. You know, when you start Firefox, and it asks you if you’d like to restore your windows and tabs from last time? That’s session restore.

It’s definitely a handy feature. I often use tabs like lightweight bookmarks, leaving tabs open to a page that I am planning to come back to. (And in my field study I’ve learned that lots of other people do this too.) If your browser crashes, or the Firefox process sustains collateral damage in a kill(1)ing spree, it’s a relief not to lose all the tabs your were saving.

The Problem

But the interface for session restore has always bugged me a bit. First, it uses modal dialog boxes, which are generally a bad idea. One of great things about Firefox 3 is that it eliminated a lot of the modal dialog boxes (e.g. “Do you want to remember this password?”) in favour of non-modal messages in the notification bar (see Alex Faaborg’s post about this from last year).

Not only does it use modal dialog boxes, but it’s asking me a question that’s usually unrelated to what I’m trying to do. “Do you want Firefox to save your tabs for next time?” I’m probably closing my browser for a reason, but I have no idea whether or not I’ll need these tabs next time. And asking me when I start up might not be the right time either…I’m starting my browser because I have something to do, and I can’t remember what I had open before, so how should I know whether to restore or not?

Either you’re part of the problem, or…

So I’m thinking — what if we got rid of these questions altogether? What if Firefox always remembered what windows and tabs you had open? But you might not want 15 tabs loading every time you start Firefox up.

A while back, Aza proposed making the new tab screen more useful. His proposal included a separate screen for restoring recently-closed tabs and windows, but it’s kind of hidden in his design. Most of the space in his design is taken up by contextual actions, but when you’re just starting the browser, these aren’t as relevant. Here’s a quick mockup of what a similar screen might look like on startup (mouse over to see the notes):

Firefox session restore startup page mockup

There are a few things to mention here. First of all, recently-closed windows are accessed from within a history list. Lately, I’ve been thinking that so much of what we do in the browser is revisiting pages that we’ve been to before, so a time-based view makes a lot of sense. Unfortunately, the history is pretty much hidden in most browsers. So you can see some inspiration here from Google Chrome, which presents the history like a regular web page. I think this makes a lot of sense, because it lets you use the same behaviours that you use on the web, whereas a separate history window forces you to learn a new UI.

Recently-closed windows are presented in a way that looks somewhat like they actually appeared in the window, maintaining the tab ordering. It probably needs to be made a bit more obvious than in this mockup, but you get the picture. Of course you could go a step further here, and make it look almost exactly like a screenshot of the tab bar. This mockup only shows one recently-closed window, but you can imagine having more than one, and they would appear in the history at the time that they were closed. I’ve also incorporated recently-closed tabs into this page. That’s currently available as a menu item under History->Recently Close Tabs, but to me, it’s always seemed kind of tacked-on there. You could also imagine using some of the space here for bookmarks.

What do you think? If you have any thoughts, please leave a comment.


10 Comments:

  1. Matt Brubeck - December 5, 2008:

    Yes, please! This is way better than prompting at every shutdown and/or startup time.

    My only worry is that the default start screen will become too cluttered when this is combined with various other ideas.

  2. Jon Pipitone - December 6, 2008:

    Cool idea Pat -- much more intuitive. Another idea: when starting up the browser keep yesterday's open tabs appearing as tabs in the usual spot only don't actually load the page content. Maybe the tabs appear slightly greyed out to indicate they are leftovers. Maybe once you click the tab to view it /then/ it loads, otherwise it just sits in your list of tabs, quietly in the background. You wouldn't need to worry about the loading time of 15 tabs on start up, and as a user you wouldn't have to navigate to the history page and click Restore All just to get your tabs back.

    Keep posting about this, it's cool. Also, tell us what you're finding in your field study!

  3. Kent Fenwick - December 6, 2008:

    Great article Pat,

    I totally agree with you and I really like the Mock up, make sure you send it over to @beltzner :)

    I think another thing that Chrome does well is showing the little preview of the page. I know that it might be overkill since you probably know the pages you go to a lot, but there is something about it that makes it more engaging. It must be the image association memory link stuff going on there, but I think giving users a choice is never a bad thing, so maybe have a way to toggle a thumbnail of the pages?

    I really like what you said about the whole revisiting pages aspect of browsing. I think seeing some stats on that would be interesting. It got me thinking of the pages I go to, and it made me think of TV. I have a specific pattern that I do each time I turn on the TV, and I have the same for the internet... Maybe showing people how often they go to same pages would shame them into trying something like StumbleUpon or similar to explore the web a bit more.

    Cool ideas none the less, I am sure you will get even more great insights as time goes on.

    Take Care

  4. Brooke Kuhlmann - December 7, 2008:

    Interesting post. Got me thinking about my browser behavior and how I seldom use my browser history. In my case two scenarios usually play out. I either need something that I was browsing that wasn't important at the time but became obvious as a future need or I just needed to back-track my steps to how I arrived at my final end result. These usually don't happen very often for me. More often than not, I just need to do a quick Google search or click on a link from my bookmarks menu.

    That being said, I do use session restore. In fact, it is one of my most used aspects of the web browsing experience. Mostly because of the obvious reason that when I shut down for the day, I want to be restore where I was for the next. However, I don't use the default settings for Firefox to handle this. The dialog prompts are a bit annoying as you point above. Instead, I use the Tab Mix Plus extension that takes care of all of this without any issues. Here are my settings that I use in case it is of interest.

    I would like being able to have the history presented in the view that you diagram above for those times that I do use the history though. It would definitely make using the history a more robust experience.

    Another way to approach this might be to allow sessions to be saved and tagged. By default, the browser could do this by saving a session by date and time. However, you could use a key command to auto-save all open tabs to a tag of you own naming. This would then automatically clear all open tabs so you have a fresh slate to work with again. In addition to this, you could have a keyboard command that would allow you to quickly type in parts of your tag name while the browser brings up a dynamic list of choices based on what you are typing. This list of choices could be pulled from your browser history, your bookmarks, and your saved (tagged) sessions. Each type could be color coded to to make differentiating what is your history, bookmarks, and sessions when the dynamic list of choices. Then it is just a matter of selecting what you want and letting the browser load the page(s).

  5. Patrick - December 8, 2008:

    @Matt Brubeck: You're right, clutter is a definite concern. Not just because of the aesthetics, but because it's distracting. A few people have mentioned to me that Chrome's new tab screen often entices them to go to Facebook instead of whatever they were intending to do.

    @Jon Pipitone: That's a good idea too, although I'm not sure what would happen to the tabs if didn't want to restore them. Maybe they would disappear at a certain point?

    @Kent Fenwick: Yeah, I was thinking that showing a thumbnail would be a good idea too.

    @Brooke Kuhlmann: I definitely like the idea of savable sessions -- it's something I've been thinking about for a while. But it's difficult to do in a way that won't have the same problems as bookmarks -- saved and then forgotten about.

  6. Erigami - December 8, 2008:

    I use browser restarts to winnow my unused tabs. I don't bother closing the 20ish tabs that I've opened over the course of a session, and allow the next restart take care of that.

    On the off chance a user wants to see their old tabs, loading large numbers of tabs could be made cheap. As @Jon mentioned, the tab can be loaded when the user focuses on it. Alternatively, tab loading could be staggered by the focus stack (ie, the ones most recently used are loaded first), with a delay between each load.

    @Kent mentioned that a screenshot would be nice. As much as I like the itty bitty Chrome pics, I would rather see the current state of the page. For blogs that I check regularly, the new image would tell me if it's worth visiting. Given that monitors are growing like the North American waistline, the thumbnails should be relatively readable. To interact nicely with delayed loading, the thumbnail could be a low-saturation image of the previous session, and the up-to-date version could be full colour.

  7. Christopher - December 9, 2008:

    So I’m thinking — what if we got rid of these questions altogether? What if Firefox always remembered what windows and tabs you had open?

    Isn't this what FF already does if you choose the option "open my windows and tabs from last time" in the "Main" FF options dialog? My browser retains its state across sessions and I don't get any modal confirmation boxes.

  8. wojtek - December 10, 2008:

    Great idea, I use FF a lot, sometimes it dies on me (because of some bad, bad website), so it would be pretty handy to be able to reopen only some of the tabs, only the ones I need or the ones I know wont cause any trouble. And btw. I hate modals, any ideas about js alert? ;P

  9. Patrick - December 16, 2008:

    @Erigami: Loading the tabs serially (instead of in parallel) would help, but it's only amortizing the cost over a longer period.

    @Christopher: Well, yes, but then you have the problem that your browser starts loading 20 tabs whenever you start it up, making it pretty sluggish. It also means that you have to make an effort to prune tabs that you aren't using, but many people use closing the browser as a quick and effective way to clean up tabs they're not using.

    @wojtek: Maybe js alert() could be brought up in the Firefox notification bar instead? I don't have too much of a problem with that though, it's pretty rare on the sites I go to.

  10. Steve Carter - March 18, 2009:

    I use Read It Later (www.readitlaterlist.com) to quickly bookmark pages. If the computer crashes and I get a Firefox restore, I usually ignore it -- anything I wanted to read is in the dropdown list.