This is still the header! Main site

Bookmarks

2024/01/22

Computer science has some problems that have been solved already in better ways... and despite this, we keep solving them in ways that are worse than those. Mostly because the better solutions would involve controlling code / infrastructure / etc. that inventors of worse solutions do not have control over.

Browser bookmarks are one of these things.

The typical bookmark UI involves a tree of bookmarks that you can open. You can also search for them from the browser title bar. Optimally, they can be organized in a hierarchy. They... really don't do a lot. Better browsers do have a reasonable way of managing them, too.

the firefox bookmark manager window

They should be files.

As in... yes, we could reimplement a hierarchical file browser, but... on at least some operating systems... we already have something that closely resembles a hierarchical file browser.

(... it's the hierarchical file browser.)

a Windows folder, with url files

As it turns out, most operating systems even have an "internet shortcut" file type, which, when double-clicked, will open the page it points to. They are really easy to create, too: you just grab the little icon left of the URL bar & drop it into a file browser / desktop / etc.

(The above directory was generated by just dropping some of the bookmarks into a random directory.)

Isn't this great?

Nevertheless, you might also have noticed that, despite the seeming similarities, the directory of URL files is significantly uglier than the in-browser variant. The UI is also... somewhat less convenient.

So why exactly...?

the same files, as nicer icons

Here. They are now prettier. With very little extra effort.

As it turns out, you can pick icons for them! It's pretty efficient, too: all they store is a path & an icon ID, so you can either use the system-provided ones (to generate a quaint 90s feel) or supply your own.

Note that there is no such functionality in the Firefox bookmark manager. (Likely because no one thought you'd need such functionality.) The icon you get there is that of the actual website.

icons are from websites.

Which is... actually likely a better default than a Firefox icon. It's actually so good that no one bothered implementing an icon picker.

This is not a big loss. But then... you could have gotten one for free?

Bookmark sync

Browsers can sync bookmarks. With... themselves. As long as you sign in with a Google / Firefox / etc. account. Before this was a thing, you would (you probably still do?) have extensions explicitly for syncing bookmarks.

But... if they're files...

... just throw them into Dropbox? Or rsync them? Or throw them onto a network drive?

Dynamic bookmarks

Ever wanted a list of your top 10 pending pull requests available from your browser?

URL files are super simple:

[InternetShortcut]
URL=https://simonsafar.com/2024/not_using_terminals/
          

... even if you add an icon:

[InternetShortcut]
URL=https://simonsafar.com/2024/not_using_terminals/
IconIndex=22
HotKey=0
IDList=
IconFile=C:\Windows\System32\shell32.dll
          

... so if browsers actually used these instead of their own database, you could super easily generate a list of them.

Automated processing

You press Ctrl-D to bookmark something. It creates a file.

Some background process notices the file & archives the full page for you. Or makes an mp3 out of the video. Or downloads the paper pdf, sends it to your tablet, extracts all references and calls GPT-4 to make some Anki cards out of it for you to review.

The conclusion being: reusing existing abstractions is nice. And although turning everything into files is not necessarily always a good idea, we could possibly turn more things into files before we run out of the good ones.