Smart Sessions—Finally a (kinda) window-centric session manager

This is a short post about some software functionality that I’ve long wanted, and a browser extension that does it well enough. I’m sharing in case anyone else has also been wanting the same thing.

The dream

There’s a simple piece of software that I’ve wanted for several years. Few months, I go on a binge of trying to find something that do what I’m looking for.

Basically: a session manager that allows you to group windows together somehow, so that you can close and save them all with one click, and then reopen them all with one click.

I make heavy use of the OSX feature “desktops”, which allows multiple separate workspaces in parallel. I’ll typically have a desktop for my logging and tracking, one for chats and coms, one with open blog posts, one with writing projects, one with an open coding project, etc. Each of these are separate contexts that I can switch between for doing different kinds of work.

What I want is to be able to easily save each of those contexts, and easily re-open them later.

But since I’ll often have multiple sessions open at the same time, across multiple desktops, I don’t want the session-saver app to save all my windows. Just the ones that are part of a given workspace context.

The best way to do this is if the software could tell which windows were open on which desktops and use that as the discriminator. But some sort of manual drag and drop for adding a (representation of) a window (on a list of windows) to a group would work too.

The situation

This seems to me like something that…there should be a lot of demand for? I think lots of people have many windows, related to different projects that they want to keep separate, open on their computer at the same time.

But, as near as I can tell there’s almost nothing like this.

There are a lot of session managers, browser extensions that allow you to save your tabs for the future (I’ve mostly used OneTab, but there are dozens). However, they’re virtually all tab-centric. A “session” typically refers to a single window, with multiple tabs, not to multiple windows, with multiple tabs each, which means that to reopen a session (in my “multiple windows” sense of the word), I need to mentally keep track of which windows were included and open all of them one by one, instead of clicking one button to get the context back.

There are a few session managers that save multiple windows in a session (I’m thinking of Session Buddy or the less polished Tab Session Manager), but these have the opposite problem: they save all the open windows, including those that are part of other workflows in other desktops, which means that I have to go through and manually remove them every time I save a session. (This is especially a problem for me because there’s a set of windows that I always keep open on my first desktop.) And on top of that, they tend to save sessions as static snapshots, rather than as mutable objects that change as you work with them, so you need to repeatedly delete old sessions and replace them with updated ones.

Success!

I spent a few hours over the past week, yet again, reading about and trying a bunch of tab managers in rapid succession to find any that have anything like the functionality I’m wanting.

I finally found exactly one that does what I want!

It is a little finicky, with a bunch of small to medium sized UX problems. But it is good enough that I’m going ahead and making a point to try using it.

I’m sharing this here because maybe other people have also been wanting this functionality, and they can benefit from fruits of my laborious searching.

Current solution: Smart Sessions – Tab Manager

Smart Sessions is a chrome extension that does let you save groups of windows. This is the best one that I’ve found so far.

When you click on the icon, there’s a button for creating a new session. When you click it, it displays a list of all your current open tabs (another button organizes all those tabs by window), with checkboxes. The user checks the windows that they want to be included in a session. You give it a name and then create the session.

While a session is active (and while a default setting called “auto save” is set to Yes), when you close a tab or a window, it removes that tab or window from the session (though it does create a weird popup every time). You can also remove tabs/​windows from the list manually.


(The weird popup. It’s not super clear from the text what the options mean, but I think “stop tracking” deactivates the session, and “save” removes the window you just closed from the active session.)

You can press the stop button, which closes all the windows, to be reopened later.

When the session is inactive, you can edit the list of tabs and windows that compose a session, removing some (though I think not adding?). You can also right click on any page, select Smart Sessions, and add that page to any session, active or not.

At the bottom of the session list, there’s a button that deletes the session.

This basically has functionality that I want!

I want to first and foremost give a big hurrah to the developer Serge (Russo?), for being the only person in the world to make what seems to me and obvious and extremely helpful tab-management tool. Thank you Serge!

Some issues or weird behavior

However, it still has a fundamentally tab-centric design, with multi-window sessions seeming like concessions or afterthoughts, rather than core to the user experience. This results in some weird functionality.

  • Every time you create a new session, you need to click a button so that the selection list is separated by window, instead of only a list of tabs. If you don’t click this button, the selection list is a flat list of tabs, and when you create the session, all the selected tabs will be combined into a single window.

    • (One UX that I could imagine is having a global setting on the settings page, “tab-centric default” vs “window-centric default”. You can still press the button to toggle individual sessions, but for window-centric session users, having a default would save me a button press each time.

  • I think as a side effect of the above feature, whenever you create a new session, it takes all the windows of that session (regardless of where they are on the screen or across different desktops) and stacks them all on top of each other, so that only the top one is visible (not even some overlap so you can see how many windows are stacked on top of each other).

  • It would be intuitive if, while a session is active, if you opened a new window, that window was automatically added to the session. Not only does that not work, there appears to be no way to add new windows to a session. New tabs get added to the session, but not new windows. The right-click “add to session functionality”, adds a single page, as a new tab in one of the windows of a session, not as a new window in that session.

    • The only way, as near as I can find, to increase the number of windows in a session is to drag a tab from a multi-tab window into its own window—both resulting windows are saved as part of the session. In order to add new windows to a session, the user needs to do an an awkward maneuver to exploit this functionality: first create a new tab in a window that’s part of the session, and then drag it to it’s own window. Or alternatively, make a new window, add that window as a tab, to one of the windows that is part of the active session, and then drag it out again. That tab, again in its own window, will be added to the session.

  • As noted above, every time you close a window, that’s part of the active session, this activates a popup.

It would be great if these issues were addressed.

Additionally, for some reason the extension is slow to load. Sometimes (but not always), I’ll click on the icon and it will take a full two seconds for the list of sessions to appear. I haven’t yet figured out what the pattern is for why there’s sometimes a delay and sometimes not.

And finally, there are some worrying reviews that suggest that at least sometimes, the whole history disappears? I’m not sure what’s up with that, but I’m going to make a point to regularly export all my sessions (there’s easy export functionality), just to be careful.

Overall though, this so far works, and I feel pretty excited about it.