Why is Meta adding fediverse interoperability to Threads?
Threads has taken a significant step towards their fediverse integration this week: people can now follow fediverse accounts from Threads. Although caveats apply, it marks a milestone in the process, and it has taken Meta over a year and a half to get here. This milestone provides a moment to reflect on what and why Meta is working towards.
When Threads first announced that they would implement ActivityPub, one of the crucial questions was: ‘Why?’ Why does the company that mastered the concept of ‘walled gardens’ suddenly care about decentralisation and interoperability? Why does one of the world’s richest companies that has made a gazillion dollars by keeping people locked onto their platform suddenly care about giving people freedom?
The Verge asked this of Mosseri, ‘why are you doing this at all?’ Mosseri spends almost his entire answer on account portability for creators, saying that Threads will be a more compelling place for creators if they have the safety of knowing they are able to take their audience with them if they decide to leave Threads one day. A short sentence at the end of his answer is more pragmatic, saying that Threads is ‘trying to lean into where the world is going’. Still, Mosseri is clear in his answer: the reason for Threads to implement ActivityPub is so that they can implement account portability and people can leave Threads more easily if they want to. In another interview, Zuckerberg is also asked a similar question, and he gives a similar answer, saying: “So, in a way, that actually makes people feel more confident investing in a system if they know that they have freedom over how they operate.”
So here we have a clear answer by the two top people of Meta. Why does Threads implement ActivityPub? Because they think that people are more likely to choose Threads when they know they have the freedom to move to a different platform.
Threads and ActivityPub, in practice
Reality is quite different, however. It’s been a year and a half since Threads first started working on implementing ActivityPub, and only just this week they finally released the first version of an implementation that even remotely resembles two-way federation. The amount of exceptions and barriers to actually using federation between Threads and the rest of the fediverse are significant however. Most importantly, you cannot search for people on the fediverse from Threads. So while you can theoretically follow fediverse people now, you immediately run into the problem of finding the people you want to follow.
If you want to follow someone on the fediverse from Threads, you first have to enable fediverse integration and click to a scary warning. Then you have to find a post that has a like or reply by a fediverse account, click on that account and hit follow from there. This means that interaction between the fediverse and Threads is completely serendipitous, depending on which fediverse accounts you happen to come across on Threads.
But this is not the only strange thing about Threads’ fediverse integration: there is a 15 minute delay before posts from Threads appear in the fediverse, preventing any real-time communication between the network. It also kills off the potential to use the connection for sport events or breaking news, where the delay of 15 minutes is highly impactful.
Who actually uses the Threads-fediverse connection?
Meta does not provide statistics about how many people use the fediverse integration on Threads, nor does their implementation of ActivityPub include the common NodeInfo endpoint. NodeInfo is used by most ActivityPub software to provide more information about the server. However, we can get quite some information about the actual usage of Threads’ fediverse integration, and that is by looking at the mastodon.social server.
Mastodon.social ‘knows’ about 21k Threads accounts, as per early Nov 2024. For a Mastodon server to ‘know’ about a Threads account, it means that any post of that Threads account has appeared on a timeline of a mastodon.social user, or someone on mastodon.social has searched (not necessarily followed) for that Threads account.
Mastodon.social is not the entire fediverse, but does account for a quarter of all active users on the fediverse. It stands also in contrast with other fediverse servers, who regularly block access to Threads: 9 out of the 20 most active fediverse servers have cut connections to Threads.
So while we cannot know the exact number of Threads accounts who use the fediverse connection, we can make an educated guess based on the Mastodon.social statistics. Personally I think it is likely that less than 50k Threads users have enabled federation. The Threads-fediverse connection is not particularly popular either in the other direction: Barack Obama is the most popular account on Threads, and only 3400 followers of his 6.2 million total followers come from the fediverse.
On availability in the EU
The fediverse integration for Threads is not available for EU users. Meta has been slower to roll out Threads to European users in general. Threads launched in July 2023, and only became available to people in the EU in December 2023. News reports blame the delay of launching Threads in the EU on the complexities of the DMA, with Mosseri blaming “the complexities with complying with some of the laws coming into effect next year”.
But that is for Threads in general. For the fediverse integration, to the best of my knowledge (please share sources) Threads has not given a direct explanation as to why it is not yet available. During an AMA in August 2024, Threads simply stated: “We’re working on bringing a federated Threads experience to the EU as soon as possible. Thanks for your patience with us 🫶”.
While compliance with European regulation is surely not easy, ActivityPub and the fediverse are also not incompatible with compliance either. The European Data Protection Supervisor was the first European agency to launch a fediverse platform for EU organisations with EU Voice. When their pilot project ended in spring 2024, the EDPS concluded: “The EDPS’ pilot project of EU Voice and EU Video proves that community-driven and decentralised social media platforms may prioritise users’ fundamental rights to privacy and personal data, and foster the EU’s digital sovereignty.”
Threads and Bluesky
Just to point out the obvious: Meta is a company with an incredible amount of resources, and employs highly talented people. When the company feels competitive pressure, they are capable of moving incredibly quickly. Threads now feels competitive pressure from Bluesky, and it took Threads less than two weeks to build Starter Packs, Custom Feeds, a better search tool, shift stance on default feeds, and mimic Bluesky’s UI. That is all to say: the speed at which Meta delivers a product is deliberate. It is not an accident, and Meta is certainly not a company that is resource-constrained. If Meta wants to do something, it will do something.
Meta and interoperability
The European Union has made a big deal of their Digital Markets Act (DMA), that aims to increase competition in European digital markets, and targets the Big Tech platforms. The DMA takes aim at gatekeepers in a variety of markets, from search engines to browsers to communications platforms. It gradually rolled out in 2023 and 2024, to much hype about how we could totally have interoperable communications platforms when WhatsApp would become interoperable.
It is now the end of 2024, and WhatsApp is now compliant with the DMA. There are zero apps that people in the EU can use that natively interoperate with WhatsApp. This is not for a lack of technology: I have seen demos this year that showed this capability, fully functional, I’ve held the phone. The technology exists. There is a simple reason why it is not available in the EU, and that is because Meta does not want it to be available.
A blog post by Matrix explains the situation in detail, but the crux of the matter is: Meta has interpreted the DMA in such a way that every other app that wants to connect with WhatsApp has to show proof for each user that they are physically geolocated in the EU. It goes against the mission of Matrix to track their users like that, and the same goes for other chatting apps. So we end up in a situation where the DMA is in effect, Meta is compliant, and nothing has changed. Meta applied the rules in a way that people could theoretically interoperate with WhatsApp. However, the practical barriers are significant enough that Meta is comfortable knowing likely nobody will be able to implement the interoperability in practice.
So why does the Threads-fediverse integration exist again?
To summarise:
- Threads says they are implementing ActivityPub so people can transfer their account away from Threads towards another platform. Threads is not currently working towards that goal.
- Threads has incrementally shipped fediverse integration at a low speed. The feature is difficult to use and crucial components are missing.
- Few people use the Threads-fediverse integration, likely less than 50k out of Threads’ 275 million monthly active users.
- The Threads-fediverse integration is not available in the EU, and Threads has not provided a clear reason for the delay.
- Meta is highly skilled in using European regulations on interoperability to their advantage.
- Meta can ship new features with rapid speed when the feel the need to do so.
Based on the above, I do not believe Mark Zuckerberg when, talking about decentralised social networks, he says that he has “always believed in this stuff.” I think there is another explanation as to why Threads is building a fediverse integration, but not rolling it out in the EU.
My take is that Threads is likely using the fediverse integration as a future bargaining chip with the EU. The EU is pushing towards more interoperability with the Digital Markets Act, and on the matter of social networking has designated Meta as a Gatekeeper with Facebook and Instagram (but not Threads!). Meta has shown that they are not a particularly huge fan of the additional interoperability requirements, to put things mildly. When the EU will push harder on the DMA interoperability requirements for Facebook and Instagram, Meta now has something to show the EU: “Look at how difficult this is! Give us more time, and make the requirements less stringent. We can totally do interoperability, look Threads in the rest of the world, just not in the EU with all your complicated regulations”.
I’ll be the first to point out that this is speculation. But I have a hard time coming up with a better answer as to why Threads is building the fediverse integration. There are few people who make use of the feature, and it does not seem to be contributing to growth. Threads is not even bothering to build it in such a manner that aligns with their stated goal of providing account portability. So why does this feature exist? Until I have a clearer answer, I personally find it hard to cheer on Meta and celebrate the Threads-fediverse connection as a win for the open social web.
#fediverse #threads
https://fediversereport.com/why-is-meta-adding-fediverse-interoperability-to-threads/