Social bookmarks in the Fediverse

Andy Piper - Sep 11 '23 - - Dev Community

Last week, there was a flurry of interest in a new addition to the #Fediverse: Postmarks. It's social bookmarking (like Digg, del.icio.us, or more recently, Pinboard), now with ActivityPub support. Neat!

Organising stuff, "back in the day"

Back in the 2000s I was a huge fan of a site called del.icio.us, and the original iteration of our weekly podcast - currently called Games at Work dot Biz - was named Dogear Nation. Back when Michael and Michael kicked off that show, there was a podcast called Digg Nation which tried to round up the interesting community links and trends from the week on Digg. IBM at the time had an internal version of a social bookmarking / folksonomical platform similar to del.icio.us called "dogear" (like, folding the page of a book to mark it), so Dogear Nation encouraged listeners to tag links on del.icio.us for us to discuss each week... del.icio.us was bought by Yahoo! in 2005, and eventually, went away.

Fast forward 15 years to our current podcast, and we still love it when listeners share links for us to discuss, but there's less of an organised way to do it!

Join the Federation

Unlike the centralised "Web 2.0"-based, largely corporate-owned sites that dominate the current web, the Fediverse is a set of related services that share some common protocols (ActivityPub is one, but there are others involved) and are loosely-connected. As well as each service usually having some form of "flagship" instance, it is is also very common to encourage diversity by location and interests, and often self-hosting, so it won't be possible for an unsavoury billionaire to buy the things you use, or misuse and steal the data that you've put into them. Your network and your data are your own.

I'm very active across a range of sites and services that are analogous to those you might be familiar with. On Mastodon, for instance, I currently do some work with Mastodon gGmbH, the non-profit behind the project and host of two of the larger service instances; and although my original account was on one of those instances, at the end of last year I moved my account (taking the related network of connections with me) to a much smaller server run by a former coworker, mostly populated by other former coworkers, but I'm still connected with users across the rest of the Fediverse.

You can also find me on PixelFed (Instagram-like photo sharing), on Lemmy (Reddit-like groups and communities), on PeerTube (YouTube-like video channels) where I live on the diode.zone instance for makers and electronics enthusiasts, on Bookwyrm (GoodReads-like community), and so on. Basically there are a number of "me" out there, in spaces where it makes sense. Essentially, if you're on Mastodon and you're interested in my videos, you can follow my PeerTube account from Mastodon without having to sign up for PeerTube. It's pretty cool.

I strongly believe that federated services are the best opportunity for us to maintain a free and open Web.
- me, 2023

So, Postmarks?

Yes! Postmarks is a single-user, super small and simple server for managing your own bookmarks. When I add a bookmark on my own Postmarks server, my Postmarks account effectively publishes the new entry to the rest of the Fediverse as an activity. So, if you're interested in what I'm bookmarking and you have a Mastodon account, you can follow @andypiper@pipesmarks.glitch.me and you'll see the new entries as they get added. If you're not interested, don't follow my account, and we're all good. Oh, and it supports Atom feeds for different tags (categories), too.

Postmarks runs on Glitch - or, anywhere else you can stand up a Node.js / Express app. Personally I love Glitch, and I've been using it for many years now for hosting demos and trying out different projects - in fact, my main links page runs on Glitch. The Postmarks developer Casey Kolderup works there, and Casey has made it really straightforward to remix directly on Glitch, or import from GitHub there or to another service of your choice - it has very few dependencies.

Getting involved

My usual pattern for reading and saving content is whilst mobile. There's a bookmarklet that's part of the project, but no easy way to add it to my system for links to end up on Postmarks from my phone or tablet. I turned to Apple Shortcuts to help out.

A screenshot of Apple Shortcuts on iPadOS 17 beta, showing the sequence of steps to send a link to Postmarks
A screenshot of Apple Shortcuts on iPadOS 17 beta, showing the sequence of steps to send a link to Postmarks

This does not do too much - it takes a link from the share sheet or clipboard, and opens the add bookmark page popup in a browser tab. At the moment there's no full API for Postmarks, so this is a bit of a stopgap or workaround. Annoyingly, it will also leave you with an empty browser tab you'll need to close, but it works.

If you'd like to try the automation, you can get it via RoutineHub, which links to the Shortcut in iCloud. You'll be prompted to add the hostname of your Postmarks instance, and you will already need to have signed in to that site in your web browser of choice.

Beyond that, Glitch makes it easy to hack on features, because everything runs in the browser, including a code editor. So far I've been adding small features such as support for the nodeinfo endpoint used by other Fediverse servers, and a slightly improved Atom feed. There's lots I can think of to add, but not so much time to play - this is giving me a chance to learn a bit more about ActivityPub internals, as well as "scratching an itch".

I'm also playing with another single-user ActivityPub server, Shuttlecraft, but that's a post for another day.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .