kota's memex

Back in September 2018, I was in school doing lots of research paper writing nonsense. I thought it would be nice to quickly save a list of my open browser tabs to a text file, which I could later reopen or send to a different computer.

I'm aware you can make a Firefox account and "sync" your tabs between different devices. I gave it a shot, but it was a little glitchy and ideally I'd like to have the actual list of tabs in a file so I can copy some of the links out for citations, send a list of links to a friend, or if I have a bunch of videos open, pass the file to youtube-dl to download a bunch of videos quickly.

I figured being able to save your current tabs to a text file was a pretty basic browser feature. So, I did some research to see if there was a hidden option in Firefox. There is not. You can save your "session," but the UI is confusing and it saves way more information than you need in a weird internal format. I searched for a browser extension, but couldn't find anything decent. There were a few that would save your tabs to a "cloud" service and some that would download an XML file, but had bad UIs and weren't very reliable. This was all happening just after Firefox's "quantum" update -- in which they changed the extension API and forced all existing extensions to be rewritten in the new format.

While talking to my friend Matthew Eisenstein about this, we got pretty enthusiastic about the idea and the mere thought of using a browser without this feature became a chore. It took us about two weeks to have a working version finished and uploaded to the addon store. Matthew helped with some weird bugs and updated the file loader with checkboxes.

I still find use for this extension from time to time. Mostly for downloading videos (protip: see the -a option in youtube-dl or the -i in wget). The source is here and the extension is here. However, Firefox has been on a steady decline since I wrote that extension and I more or less switched to qutebrowser last year, which happens to have a very similar feature built-in with the :w command.