ATProto
New Fediverse Bluesky bridge in beta testing
The bridge has been built and the switch has been turned on! Even though there was a lot of struggle and strife, arguments, and knockdown-drag-outs, @snarfed.org@snarfed.org, AKA Ryan Barrett persevered by taking into account everyone's opinions on what a cross-fediverse bridge between the ActivityPub powered landscape dominated by Mastodon and the ATProto protocol that powers BlueSky. It's important to many people including myself that all networks in what I call the Open Social Media Services (OpenSNS) collection of decentralized federated networks be able to talk and interact with each other; else we might as well just go on creating big-ass tech silos that eventually will wall people off based on pre-existing factors like ethnicity, geography, culture at best and/or consolidate power to just one group of people or companies at worse. But I've talked ad-nauseam about this in other postings already; it's time to talk about how this thing works!
1️⃣ Getting ready to cross
Whether you're coming from ActivityPub/Mastodon and friends or ATProto/Bluesky, the first part is the same: You need to follow the bot that will register your OpenSNS username with Bridgy's servers. This will count as an intent on your part that you wish your posts to be popped over to the other side.
- For 🐘 ActivityPub accounts interacting with 🦋 ATProto, follow
@bsky.brid.gy@bsky.brid.gy
andyour bridged ATproto username is
@[username.server.tld].bsky.brid.gy
- For ATProto accounts interacting with 🐘 ActivityPub, follow
@ap.brid.gy
and your bridged ActivityPub username is@[username]@bsky.brid.gy
🚧 At some point there's going to be a message that will also let you know you've done this right after you registered sent to your existing account in the form of a unlisted message, but for now just head over to your new user page manually:
🐘 for ActivityPub users, your bridged user page is
https://fed.brid.gy/ap/@[username]@[server name].[tld]
- 🦋 for ATProto users, your bridged user page can be found at
https://fed.brid.gy/bsky/[username]
There, you can even add followers and check logs to see if something isn't working properly with syncing.
2️⃣ Let's hop across the bridge
At this point things should be up and running and you really don't have to do much; the system will poll somewhere between every 5~10 minutes looking for new posts to translate to the other side from you. Of course it's in early beta right now, so it's polling whenever Ryan gets around to it while he makes changes and works out the kinks. I recommend having an account on your target SNS site just so you can see the output and make sure it shows up correctly. There's also a handy RSS output in your Bridgy userpage that you can subscribe to and keep track of things as well.
It's a simple bridge really-- you post in one place and it translates and posts it in the other place. If you get activity on that post in the other place, it rolls back to you wherever you are.
3️⃣ Following across the bridge
If you want to follow someone else in the other place, you need to know how their username translates just as in 1️⃣ above. Here's some examples:
- You're a Mastodon user wanting to follow my Bluesky account
@starrwulfe.xyz
, then you need to search for@starrwulfe.xyz@bsky.brid.gy
in your user search engine on Mastodon or in the app, just you'd do for a normal user. - You're a Bluesky user wanting to follow my Mastodon account
@starrwulfe@social.vivaldi.net
, then you need to search for@starrwulfe.social.vivaldi.net.ap.brid.gy
in the Bluesky users search field.
There's a bit more to it, so please read the docs to get a good understanding:
4️⃣ Construction Notices
This is a very early beta. I outlined the core feature set, but there are some such as more interactive onboarding and opt-in notices that aren't in production yet. Also polling is being done manually by Ryan as he works out kinks in the program and scales things up. Expect lots of changes in the next few weeks as use cases roll in and traffic is shaped. You can be a part of the process though by filing issue comments on the Github for the project:
5️⃣ Enjoy the scenery!
I'd like to thank Ryan for taking the time out of his... well life really. Bridgy has been a free service he's operated to enable the crossposting across different social media and blogs since 2017. This blog is half powered by it whenever someone comments via Bluesky and Mastodon! He charges $0 and while he insists it's a negligible cost to keep the infrastructure up, his rapid response to problems and ability to chat about how it works anytime has gotta be a serious time weight, passion project or not. This endeavor is very much appreciated and highly valued by me and lots more, I'm sure. 🙇🏾♂️
Also, be sure to catch his Flipboard/Dot Social interview if you'd like to know more about the project and the rollercoaster ride around it.
Messing around with Bluesky post embedding codes
Per
, I’m testing some ways to embed Bluesky posts into my Wordpress powered site here. As I find other ways, I’ll add them here.Simple Blog Card using a shortcode and plugin: [simpleblogcard url="bsky.app/profile/k…"]
Bluesky.lol snippet creation using javascript:
Skyview.social snippet creation using iframes:
On the subject of Connecting Federated Social Media Networks
The past few days on the Fediverse have served to remind me a few things:
- The internet is as smart and as ignorant (and everything in between) as the macrocosm known as "human civilization" reflects upon it.
- Sometimes the victims will become the victimizers in any given situation, usually without them being aware of it.
- Upon pointing it out to said type above, instead of working to acknowledge and understand, they will double-down under the guise of righteousness, again unwittingly using the exact playbook that they had been persecuted under at some point in the past.
- As usual, any attempt by a rational third party to diffuse whatever situation breaking out on the internet will lead to a wider conflict/argument/brigade session where everyone winds up digging their heels in and missing entirely the point.
- And finally, as usual, there's a 95% chance it was started by someone who was all to ready to be triggered by anything and everything so they could start some shit on the internet at that moment.
OK, with that preamble out the way, let's get into the latest drama related iconically to trying to bridge this patchwork, fledgling open social media landscape. As you may be aware, there are two federated decentralized social media protocols that are pretty big right now; ActivityPub and ATProto. Per my previous notes on both:
- ActivityPub is a federated social networking protocol that enables users to interact across different servers and platforms used by popular projects like Mastodon, Pleroma, and PeerTube. It's been around since 2017 and is born from previous projects like Statusnet and Ostatus. It's in full federation right now, mainly serving as the underpinning to Mastodon, a microblogging server.
- ATProto is a newer protocol developed by Bluesky, a public benefit company born from the ideas from former Twitter engineers. The protocol's main advantage is that it provides true account portability and can scale up with search and discovery. Since it was originally developed to be the successor to Twitter, it also has hooks for composable moderation and algorithms. It's not federated at the moment, but the only instance using it, the self-titular Bluesky (bsky.app) says "its immenent. Indeed, the company just took down the waitlist and opened up registration to everyone worldwide a few weeks ago.
So what the hell happened?
In short, someone built something that can connect both networks together in a sense and a bunch of people who likely don't really know the technology's underpinnings instead proceeded to blow up their victim status to trigger everyone else and brigade the developer who was asking for constructive dialoge and ideas before he got too far in the development process.
Now I must note, I've been using Ryan's Bridgy site and suite of crossposting tools ever since I got into the Indieweb movement as it ticks all my boxes for making my content go all over the web and whatever comments and discussions take place out there, I can track and archive them on my site without worrying if I'll get taken down, or the site goes dark. Bridgy already has bridges for Mastodon, Reddit, Facebook, and even supported Instagram and Twitter before they became… drunk with power. I am eagerly awaiting the day when I can sit on Bluesky and follow Mastodon folks or sit on Mastodon and comment on Bluesky posts… Or better yet, tag everyone in both places from this blog right here. ActivityPub and ATProto are open source and its pretty easy to make tools like this unlike feeling around in the dark with undocumented APIs that may get shut down at any second; That's why we can't do this with Instagram!
It's no secret the fediverse is the social media of choice for those who feel voiceless and vulnerable on the other "big" networks; you can gain a sense of community and comradery on an instance with others sharing the same experiences. However, it is still a social network.
- Social: relating to or involving activities in which people spend time talking to each other or doing enjoyable things with each other.
- Network: a system of devices, or entities including people and animals that are connected and can communicate with each other.
So in regard to having a bridge to connect the two together… Yeah, it's kind of a no-brainer and I thought everyone else was looking forward to having it like myself. Boy was I wrong:
You need to make this opt IN not opt OUT. It absolutely fucking sucks that you want to force the majority of decentralized posts here into content for Jack fucking Dorsey.
Cyrus (still a bit spooky tbh) (@Cyrus@zirk.us)
honestly fuck you. Do you really expect everybody to have enough space in their bios to opt-out of your fucking bs? How many opt-out bs am I supposed to put there?
Joshix 🦣 (@joshix@fosspri.de)
My Take:
I honestly don't get the vitrolic knee-jerk posts I saw coming left and right from some corners of the fediverse, then I started noticing the pattern: It's mostly people not understanding what the goals of both ActivityPub and ATProto are as a protocol and their equating it to Mastodon and Bluesky as "psudo-corporations" that have some level of control… And even perhaps Ryan's attempt to bridge both protocols with free and open source software that is literally already working to bridge other social networks as I type this, as some imaginary invasion mob coming to victimize them on the internet. 😓
Allow me to say this as a member of a marginalized group of people in real life who has had my share of internet trolls come at me: (I'm a Black man from the USA, and I have yet to lose my Black Card, am a refugee repping #BlackTwitter into the Fediverse on both Bsky and Masto so I think I can speak on some things.)
- Get out of your feelings. The animosity is unwarranted and uncalled for. This is the internet and it wasn't designed for you to have your entire-ass identity tied to it. This is truely the reason social media is some bullshit sometimes. The internet is supposed to be a communication tool, not some MMORPG for y'all to live your whole existence. If anything, your IRL personality should extend INTO it, not the other way around. Dude could've just cut the bridge on, posted Github links and lol'd all the way to the way to the next project and there wouldn't be much you or I could say; the fediverse has no Ts&Cs to violate!
- Attempt to learn the technology before you postulate whatever opinions around it. Don't come up with some off-the-cuff hot take on how you think the bridge is suddenly going to aim 3 million users of Network A at your posts on being a furry/inanimate-curious who happens to be in a cross-species relationship with a hubcap from a 1993 Chevy Corsica that happen to be publicly available on Network B. That's not how network bridges work. Understand that whatever you've posted publicly anywhere is subject to someone reading it and deciding to give you a like or give a hateful comment. They don't need a bridge to do it; they can already just make an account on the network you're already on and fuck with you. It's actually easier for them and less traceable!
- We already have bridges now. Consider this post is on my own personal blog powered by Wordpress. It's being cross-posted POSSE-style to wherever you're reading this or got referred from, whether it was through an automatic script, or I manually cut and pasted over. My blog is already acting as a bridge and there are many others like it. It's been that way in the past, and someone was bound to create this technology. If it's not @snarfed, then it'll be someone else. But mark my words, it's gonna happen.
- Learn the difference between protocols and applications. Bluesky is an application on the ATProto protocol. Mastodon is an application on the ActivityPub protocol. Both are facets of the wider fediverse. Don't conflate these things. This blog is an application on BOTH those protocols and also does webmentions and other cool things. Once ATProto is fully federated and opened, it's only a matter of time before I can snag an ATProto plugin in the same manner as the ActivityPub one and have it not even need to rely on a "translator" like Bridgy for that part. (If I just lost you with the technobabble, now you see why it's important to seek to understand this technology before reacting to some perceived threat.)
- You're not in a walled garden on the fediverse. You're in the open and as such you more than anyone should understand and respect the right to choose. The power here is in your hands and you have the ability to block, but your right to do so ends at the tip of your own nose and doesn't come anywhere near mine. Also realize both ActivityPub and ATProto were designed for openness first; if you seek privacy and isolation, then you need to grab Signal and create some rooms there with some buddies away from the open internet.
- Assholes exist everywhere. Don't conflate the tech of one place with the ability to keep bigots, fascists, bullys, and jackasses from your timeline. Moreover, don't shoo away people that are trying to do things that are inevitable anyway from doing it correctly! Understand federation is going to happen with or without your input if not by this project, by someone else. There's no hiding, there's no "safe place" except the one you create and control yourself within or without these places.
Letting you connect to other people you care about is not unethical or immoral. You have a lot of options for whether you want to participate in the BS bridge–either by managing your follows directly, by blocking users from that domain, or by blocking the whole domain. This is how federation works. You have absolute control over who you interact with.
Evan Prodromou (@evan@cosocial.ca)
I'm approaching this line of thinking from my longtime use, contribution and propagation of FOSS/open-source software and the use of my actual social media of choice, the indieweb which is best summed up here:
The #IndieWeb is for everyone, everyone who wants to be part of the world-wide-web of interconnected people. The social internet of people, a network of networks of people, connected peer-to-peer in human-scale groups, communities of locality and affinity.
tantek.com
Also, one more thing:
The most important lesson, I've ever learned about online privacy is this one: If you want something to be private online, don't put it online in the first place.
DavidB (@DavidBHimself)
Updates & Errata
Pardon the typos, grammar bombs and double negatives in my "stream of consciousness" manner of writing this particular post. My years of journalism prowess still requires fresh eyes and a fresher cup of coffee. Being that this is my blog and not a column in a major publication, I'm a bit lax so 🤷🏾♂️ ...fuhgeddaboudit!
🆕 Some other posts I've been reading that align with my opinions and have some additional references, and deeper information: