Idiomdrottning’s homepage

I Want a New Folksonomy

I really miss the collaborative bookmarking/tagging site I’d love to see a decentralized, FOSS / Franklin-statement style replacement for it. Multi-scheme because I don’t only wanna see Gemini on there, I want all the schemes. SSB still has URLs right? I’ve never been on there. I mean Torrent magnets, HTTPS web pages, FTP pulls, mailto:links, irc://network/channel style links, everything could go in there.

A superset of Fedi specs or twtxt specs is one but not the only option. Like, I’d easily be willing to start a separate account on my instance or a specific text file or whatever.

For adding, integration with qutebrowser/elpher etc is ofc important.

For browsing, there could be both Lieu-based (or similar) search, and just going through a directory formed by your own and your followees tags.

Not the entire network—it should be set up by design to never have or attempt a global or local view. It should only ever be you and your own direct followees.

This has three advantages.

  1. No more accidentally hosting/boosting a bunch of weirdos’ stuff.
  2. Scales way better, servers won’t be croaking and there’ll be less traffic
  3. Also it’s by design. The whole point of a bookmarking site is to find what you have personally selected.

In such a system it’s good to encourage “boosting” i.e. saving things from your followees down into your own directory, editing the tags as you see fit (that’s how we used to do it back on for the benefit of yourself and for all your followers.

Implementation ideas

One idea for implementation of the protocol would be to take a leaf from how twtxt started out and everyone has a textfile hosted somewhere.

Each line being like this

tag other-tag more-tags https://my-boring-page.url/is/here%20percent%20encoded The title of the page

Records are separated by newlines and fields are spearated by one single space. The first field that contains at least one slash ior colon is the URL. The (zero or more) fields before the URL are individual tags. The (zero or more) fields after the URL are joined together (spaces reinserted) and is the title/description, which may include additional URLs.

Tags cannot contain colons, slashes, newlines or spaces.
URLs can’t contain newlines or spaces.
The description can’t contain newlines.

Tags, URLs, or descriptions (after joining!) that cointain any of the sequences %20, %25, %0A, %3A or %2F are to be considered percent encoded. Fields that don’t contain specifically those char triplets are not percent encoded so you can write a % sign normally. But if a field has at least one of these triplets, then it’s to be interpreted as if it was completely percent encoded i.e. normal percent signs are written as %25 etc. Decoding these percent encoded parts of the record (as opposed to preserving them and presenting them as is) is optional.

This is just a wire format. On the back end you likely wanna use a database.

There should be one url that serves all the bookmarks and another url that serves, say the last week or so of bookmarks so pollers don’t need to grab the entire index.

Poll at most 3 times per day because this isn’t meant as a conversation, it’s just a directory or means of discovery.

Then we just need to implement the browser.