Poking at Threads in the Fediverse

March 22, 2024

Yesterday, the Threads team started rolling out their fediverse integration to users in the US, Canada, and Japan. I tried signing up for this when I saw that some users were boosting their first cross-network posts. Sadly, the sign-up process 1 didn’t work all Thursday for me. It all worked this morning though, and I’ve spent some time poking at it.

Meta advertises the fediverse integration as an unfinished beta. This makes sense! Integrating ActivityPub in a way that serves an existing 130+ million users is an intimidating task. That said, I definitely wasn’t alone in my issues getting my Threads account federated. It was great to see the issue resolved quickly, though. Also, it currently takes several minutes for posts made on Threads to be pushed to a follower on Mastodon. I’m assuming the lag is a growing pain, however.

The integration is also tentative. For starters, users must choose to explicitly enable account federation. I’m not sure if this will ever change, but it does limit the number of Threads users who will federate. For those who do enable federation, posting is currently one-way. A Mastodon user (for example) can follow someone on Threads, but Threads users can still only follow other Threads users today. Also, a user from Mastodon can comment on or boost content from Threads, but the Threads user won’t be notified about it. The only action that does get federated notifications in the Threads UI is a “like”, but the details in that notification are quite limited.

In a post on Meta’s engineering blog, the authors outline these limitations and discuss what’s next. The post mentions that the team are working toward having two-way communication between Threads and fediverse servers, but they also outline some design and safety considerations. For instance, the ActivityPub standard doesn’t currently specify how to implement quote-posts. Threads launched with quote-posting, but Mastodon doesn’t currently support it. The Threads team is using the Misskey ActivityPub extension as a way to signal quote-posting, but it’s not clear if this unofficial extension will gain traction 2. There are also UX concerns around federated Threads users interacting with non-federated Threads users. The Threads team wants the Threads-native UX to take priority over any complexities caused by content federation. This seems reasonable to me, but it demonstrates how tricky adding this functionality to a large system can be.

Even with these limitations, I’m excited to see Threads push this work forward in public. When Threads first launched, I remember many being skeptical that they’d ever follow through on federation. It seems to me that they want to show progress, and the official communications seem earnest and thoughtful about how they’re rolling things out.

But maybe I’m just being naïve. As I’ve written before there are a lot of people who think Meta taking advantage of an open standard means the end of the fediverse… or something. Not pointing fingers, but I’ve seen some open standards advocates very upset by Meta’s use of ActivityPub in Threads. I struggle to understand this point of view. Meta is putting a large amount of engineering effort into integrating with a system that has — generously — about 2 million monthly active users. Is Meta trying to cut the legs out from beneath a possible open source competitor? I guess anything’s possible, but that sure doesn’t seem like an efficient use of resources. I’m pretty confident that people running their own Firefish server aren’t going to move to Threads. And even if Threads “wins”, I don’t think these small communities will be affected if they choose to defederate from it.

There are two potential dangers I see from this. One is that users might choose Threads as the primary network to share content, knowing that it will federate to other ActivityPub services. I saw one instance of this yesterday as Threads fediverse integration was announced. It was between Alex Heath (deputy editor for The Verge) and Eugen Rochko (the founder of Mastodon). Alex is saying that, currently, posting news on Threads gives him more reach. Eugen is making the point that, if you keep posting on Mastodon, eventually Threads users will be able to read your Mastodon content natively. The word doing a lot of work there is “eventually”. I’m optimistic that Threads will allow two-way federation in the next few months, but there’s no guarantee. In the meantime, it’s hard to argue that Threads doesn’t give you a lot more reach.

The other potential issue: fediverse admins defederating from other instances who choose to allow Threads content in. There are a lot of users who are concerned about Threads somehow “stealing” their data, and want to preemptively defederate from Threads because of this. That’s fine, though misguided 3. Part of the promise of the fediverse is that anyone can run their own instances and choose their own rules. But I worry that “purity tests” might be the real end of the fediverse, not Threads.

  1. The sign-up process is quite nice when it’s working. There’s a nice overview of federated networking as part of the sign-up/consent flow. 

  2. Another interesting ActivityPub extension by Misskey is isCat

  3. Threads only has access to your public data or the data you share with Threads users. That data’s already public, or being shared with Meta explicitly. Anyone with access to the web can scrape and index the public data already.