My “weekend project” of implementing Bluesky support into Bridgy is finally, several months later, complete! Ish.
Bridgy is an important part of the IndieWeb; it is responsible for ensuring that responses to posts on social networks like Mastodon get backfed so they show up on the original posts on this website.
Like many people, I recently started using Bluesky. Bridgy’s maintainer, Ryan, has been working on supporting the AT Protocol, Bluesky’s underlying protocol, in Bridgy Fed for some time. I took it upon myself to add Bluesky support to the vanilla Bridgy.
At the time of writing, we’ve shipped backfeeding! That means Bridgy can send webmentions in response to replies, likes and reposts on Bluesky. Publishing - POSSEing things over to Bluesky from your website - will come later.
You can try it for yourself! Head to Bridgy to get started. In the meantime, here is a short list of thoughts I had about the development process.
Python is…good? Maybe?
I hadn’t really touched Python “in anger” for quite a few years. We use it in some legacy systems at Emitwise, but I haven’t gone too deep into the depths of those myself.
My impression of Python from my limited exposure to it since the days when it was my main language was that its lack of static typing made programming in it quite sloppy, overreliant on external tools and editor plugins to ensure the code you’re writing makes basic sense.
I still kind of think that’s true. However, working on Bridgy has reminded me of a few things about the language I really like:
- Inbuilt debugger support just by adding a
breakpoint()
statement - Decorators are extremely cool
- Generators and list comprehensions, ditto
and, of course, one thing I’d forgotten how much I hate:
- Pip.
I enjoyed dipping my toes back into Python, and it’s been great practice for when I inevitably have to use it professionally again, but I must confess I found myself missing Go.
The AT Protocol is extremely well thought-out
I run a Mastodon instance, and I’m kind of inclined to root (toot) for Mastodon in the battle to succeed the Bird Website. With that being said, working with the AT Protocol has been really lovely. I think it has a couple of key advantages over ActivityPub:
- Using DNS as the source-of-truth to look up a user’s DID (identifier) is really smart.
- The repository-based structure means some of the big, difficult problems Mastodon is currently facing can hopefully be solved in a structured way, in particular account migration between instances.
Of course, the proof will be when federation actually happens.
Next bits
I’ve got a few bugs to iron out, but the next big thing in this process is publishing. I’m personally very excited to have this done, as it means I’ll be able to fully automate the POSSE stuff for this website.
To close, a shoutout to Ryan Barrett, for being the model of what a good open-source maintainer looks like: friendly, encouraging, knowledgable and responsive.