Hacker News new | ask | show | jobs
by crazygringo 1861 days ago
Is what you're describing any different from just bookmarking all the tabs in a window to a new folder and closing the window?

That's what I do. And then just open the whole folder as tabs in a new window when I go back to something.

Then the advantage is that I can give the folder a name, a date, tags, nest it under a grouping of folders, etc.

Plus I can back up bookmarks which gives me huge peace of mind. I've been burned before by my browser "forgetting" my tabs before on restart, as well as browser sync bugs, so I don't put a ton of faith in the longevity of tabs.

Even if tabs are sleeping, if you have 100 different mini-projects going on from the past year, do you have... 100 different windows open all the time? How do you even find the window you need?

3 comments

> Is what you're describing any different from just bookmarking all the tabs in a window to a new folder and closing the window?

Tabs are formed automatically, closed easily, and organized by the order you opened them in.

Bookmarks require going through a multi-step dialog, removing them requires another dialog, and they're organized by manually creating a nested folder hierarchy.

I think most excessive tab use is down to bookmarks not having the best UX.

yeah bookmark ux is so bad!! why so many dialogs and painful recall ability.
Why do you think you can't back up your tab session? I've had firefox corrupt the sessionstore file a few times over the years and when that happens I just open up Time Machine and restore the last good version.
There are many differences.

First, if you "open the whole folder", you have to wait for a few hundred tabs to open for a large project, a few tens for a small project. That's very slow and uses a lot of memory. They don't open quickly in the asleep state the same was as tab sessions do.

Then there is the maintenance of the folder. If you bookmark all tabs in a window to a folder, later you'll open the whole folder, do a bit of work, reading, whatever, then save to a new folder because the set of active items isn't the same as it was when you started. Now you have to delete the old folder, otherwise you'll end up with a different miserable problem: Huge numbers of folders of bookmarks, all slightly different.

You'll probably need to do this a few hundred times over the life of a big project, if you context switch like I do in and out of different projects. That's a lot of folder activity.

Sure you can date them, but do you remember why you didn't delete a folder, was it because you wanted to keep that one or just forgot?

You can't realistically update the bookmark folder incrementally as you go, because there is no visual indicator showing which of the currently active tabs in the window has a matching bookmark (or which bookmarks in the folder are now excess), and it's too onerous and difficult to bookmark each time you open a tab in that window and delete a bookmark each time you close a tab.

Then, there's context. It's a little thing, but remembering the scroll position is a useful cue for later, in a large article, though if some section or comment has a permalink I tend to click that before leaving the tab. Ideally I'd want to be able to annotate pages as well, to quickly note why I've kept that article, documentation, comment or whatever open, but we take what little we can get from the tools we have. (It's possible to select text regions in each tab, at least in Firefox, but I've never actually checked if those selections stay selected across a browser restart. Anyway, they disappear uncomfortably too easy to rely on.)

> Even if tabs are sleeping, if you have 100 different mini-projects going on from the past year, do you have... 100 different windows open all the time? How do you even find the window you need?

For perspective, I wouldn't say I do 100 mini projects in a year, it's fewer than that, but a number of them span multiple years.

I don't have 100 windows, I have currently 22, but it's temporary and will reduce. I consolidated some related things recently. Three windows are for my current work project, for which there are about 300 tabs. This is because there's an active working area window (GitHub etc), a collected-things-from-work-and-researched-items-for-work window, and another for activities on a different monitor like watching videos and shared notes.

With some tab management extensions you can make foldable groups - this is what people talk about with Tree Style Tabs, Sidebery (which I'm using now) and other hierarchical tab management extensions. This means you don't need 100 windows for 100 projects; you can effectively archive projects.

To even find Windows used to be very difficult until I started using an extension that lets me give names to Windows. Ironically the window-naming extension I use is Tab Count in Window Title, because I tried several others and they showed up as using more browser resources, so this is the one I use. Having the tab count is quite helpful anyway :-) (Because if I forgot to give a window a title, it still tends to have a a recognisable tab count and current page.) Now they all have names in the "Window" menu, and when moving around in the window manager. I find this useful for "Move to window" (by name) as well, which I use to move a tab that was opened in the wrong place or something ephemeral I decided to keep, to the appropriate window where I can go through and organise them a bit more later.

There's also a geographical aspect. Those browser windows are overlapping but not at quite the same place on the desktop, and they are different sizes. The locations work ok with my memory for recently used windows. MacOS's four-finger-swipe-down is good, and I position windows somewhat consciously to be helpful for this. Some of them are deliberately shaped as narrow rectangles, as a reminder they have queued items I need to organise (and then probably close that window).

There are a lot of improvements possible to this setup. I don't feel I've found what would be ideal for me. I have a fairly clear idea of what I'd like, but don't know any tool that comes close, and I don't have the spare time to write one. But bookmarks of URLs in linear lists or with basic folders, flat history lists that don't distinguish things I want to keep versus things I don't, are not it. I tried the history thing, it was very time consuming to recover the information I needed from it.

I'm in a very similar situation as you are regarding my browser usage and needs. I now have 46 windows open and 2.1K tabs open, but I've had at some point almost 70 windows and more than 7K tabs...

The most useful extensions I've found to manage this complexity are https://github.com/tpamula/webextension-window-titler and https://github.com/l10nelw/winger.

This is the script I made to bring up the firefox window I desire from the custom name I gave it using window-titler:

    #!/usr/bin/env bash
    #
    # switches to the firefox window that starts with the provided word between brackets
    
    NAME=$1
    
    WIN=$(wmctrl -l | grep Firefox | grep "\[${NAME}")
    if [[ -z $WIN ]]; then
        echo "no window found"
        exit
    fi
    
    NUM_WINS=$(echo "$WIN" | wc -l)
    if [[ $NUM_WINS -ne "1" ]]; then
        echo -e "$NUM_WINS windows found, please be more specific:\n"
        for w in "$WIN"; do
            echo "$w" | cut -d' ' -f4-
        done
        exit
    fi
    
    WIN_NAME=$(echo $WIN | cut -d' ' -f4-)
    WIN_ID=$(echo $WIN | cut -d' ' -f1)
    
    echo opening: $WIN_NAME
    wmctrl -iR $WIN_ID

And winger allows me to stash not-currently-needed windows in bookmarks, and restore them later...

This is a less than perfect system, but it's good enough for me for now.

Thank you for the brain dump. I liked that this came up. I used tree style tabs for a few years starting way back in maybe 2012, but eventually just abandoned it because of the same performance problems you mentioned. I didn't replace it with anything good, and was just recently getting annoyed at the state of things as i suddenly find myself context switching a lot on mini projects. I was just setting myself up in Emacs org mode and felt i needed better integration with the browser. I have a little extra time to put into making it right. I think at the very least i am going to write some small amount of integration for the currently clocked Emacs org task, the main OS views, and Firefox, just Mac OS X to start, all open source.

Anyway, i was exploring options and i was glad to find your experience. I think i am ultimately looking for something similar to what you want and maybe will email you at some point to ask about this if i do indeed get a little deeper into it if you don't mind.