By Johannes Ernst

  • 2023-08-16

    The Peer Computing Architecture

    I used that term frequently a long time ago, before the centralizing platforms took over all of technology. I believe it’s time to dig it back out, because for the first time in over a decade, perhaps even two, there’s real uptake in this computing architecture with protocols such as ActivityPub and Matrix.

    My definition is at

    Feedback appreciated.

    (Historical note: there was a time I called it the “four-point architecture”. My old blog tells me I wrote about it in, gasp, 2005. That means 18 years of walking in the desert, and only now do the doors open up again.)

  • 2023-07-21

    Meta’s plummeting Threads engagement numbers are good news for the Fediverse

    The Wall Street Journal reports that:

    User engagement on Threads has continued to fall after an initial surge in sign-ups … the number of daily active users [has fallen] to 13 million, down about 70% from a July 7 peak, according to estimates from market intelligence firm Sensor Tower. The average time users spend on the iOS and Android apps has also decreased to four minutes from 19 minutes.

    That’s quite a bit different than the headlines of “fastest app growth in history” and “more than 100 million accounts in a week”. It was always clear that only a fraction of those initial users were going to stick around, but more concerning – from Meta’s point of view – is that decrease in time spent with the app by the users that do continue to use the app: from 19 minutes to four minutes is a very significant decline.

    From the perspective of the (open) Fediverse, however, I think this is very good news:

    • At these numbers, Threads is still significantly larger than the rest of the Fediverse combined, but far less so than it looked like a week ago. There was a possibility that Meta would simply drop their plans to implement ActivityPub, or just do a very rudimentary job, because why would you spend much attention on this if all you can connect to is a network 1% the size of your own. At 10-20%, as it looks like right now, that argument is very different.
    • Rather than leaning back, and celebrating its success, Meta now needs to work hard to compete with Twitter. (And Twitter will have to compete back.) That is good for the world in general, and indirectly good for the Fediverse as the “market” for text-based microblogs is suddenly competitive again. People realize they have at least two (well-marketed) choices; it’s not a foregone conclusion that “Twitter owns this”. If there are two choices, maybe there are three of four, including the non-Meta Fediverse.
    • And perhaps, as a side effect of all of this, some of the dollars being spent may find their way into the Fediverse. Certainly Meta is now even more incentivized to highlight Threads’ differences with Twitter, and key to that is ActivityPub. I would think that should make them more willing, rather than less, to spend a bit of money on Fediverse infrastructure, like a test suite, that benefits the entire network.
    • Of course, it’s also good news for everybody who had been concerned that Threads would overwhelm the culture of the Fediverse the same way AOL overwhelmed in the culture of Usenet in the nineties.

    (Note: I am in favor of Meta implementing ActivityPub in Threads; in fact I would like it to implement it in all of its social media properties, and messenger services like WhatsApp – or perhaps a similar protocol like Matrix. I believe the same for non-Meta apps like LinkedIn, YouTube etc.

    IMHO, the ability to interoperate across platforms is a major disinfectant, and can be a major factor in reducing product lock-in, which can lead to better products, more choices, and fewer “forced” policies like privacy invasions, because users have the ability to go elsewhere. I understand those Fediverse users who do not want to touch anything that Meta does and sympathize; the good news is that you, as a user, have unprecedented control in the Fediverse over who you do and do not want to interact with, and more power to you if you exercise that control.)

  • 2023-06-28

    ActivityPub everywhere?

    In previous posts, I argued the EU’s Digital Services and Digital Markets Acts are the most likely reason why Meta is implementing ActivityPub in its upcoming Twitter competitor “P92”, and that ActivityPub is really the only game in town that meets Meta’s requirements for interop for “P92”, as they require protocols that are proven to work and governed in a lawyer-vetted process by a legitimate standards organization.

    But if that line of reasoning is correct for for why Meta would pick ActivityPub to meet its interoperability obligations under EU’s new rules, it is likely also correct for all other social networking products, by Meta and others, that are required to interop by the same new rules, notably:

    • Facebook (also Meta)
    • Instagram (also Meta)
    • Snapchat (Snap)
    • LinkedIn (Microsoft)
    • Twitter
    • and perhaps even YouTube (Google).

    (The full list is here although I think the EU puts them in different markets. Update 2023-06-30: Actually, this is the wrong list; the list of “gatekeepers” will only be established in a couple of months under the Digital Markets Act. Chances are it’s very similar to this list of “Very large on-line platforms”, however.)

    Let me say this again. The product teams of all of those products are very likely asking themselves the very same question right now that Meta asked itself: what are we going to implement to meet our interop obligations, and when are we going to do it?

    I believe most will arrive at the same conclusion: they will look for protocols that can demonstrably work for these kinds of interop requirements, and that are maintained by a well-understood standards organization. And will find that ActivityPub is the only game in town that meets those requirements.

    (It is possible that one or two of the organizations above come up with a “spoiler” strategy developing or picking an alternate protocol. To make up a random example, say, Microsoft might buy Bluesky and declare it to be its interop architecture. They would have to turn that protocol over to a standards org, however, before its competitors would even consider it. And that might not gain them much; sticking with ActivityPub is simpler.)

    (It is also possible that some of the above organization will choose to fight the EU in court; Twitter comes to mind. I’m not a lawyer, I don’t know how likely this might succeed; however, the EU has shown to be tenacious and unstoppably moving forward in this direction, so I wouldn’t bet on that strategy if I were them.)

    Which means a number of things – starting with the ActivityPub standardization process in the W3C:

    • Meta, Microsoft and others will suddenly show up in the W3C ActivityPub community. It’s easy for them to do, they already have been spending significant amounts of time in the W3C.

    • They will show up with requirements currently considered out of scope by the W3C SWICG, but driven by the need that the entire stack is standardized that is necessary to enable interop between, say LinkedIn and Facebook. If they decide that real interop is actually necessary – my premise – then an “assembly required” standard (like ActivityPub is today) is not sufficient for them.

    • Therefore the official Social Web Working Group will need to be re-constituted, and its charter will need to be broader than it was before.

    • There will be loud screaming in the existing W3C social community. (Because many of the members of the current SWIGC are extremely strongly in opposed to surveillance capitalism – the prevailing business model of most of the companies above – or, in some cases, that any kind of business has any role in desirable forms of social media at all.) An accommodation will have to be found, as the W3C as an organization wants to serve all willing participants in a standards process, not just those with a certain value system.

    But there more intriguing, and exciting possibility is this:

    • When everything is said and done and my line of reasoning is reasonably correct, interoperability via ActivityPub indeed might be “everywhere”: Facebook, Instagram, P92, LinkedIn, Snapchat, even Twitter.

    Social media would end up being a radically different beast. A potentially much better, beast as I believe. Ponder this.

    Updated 2023-06-30:

    • Added Digital Markets Act in addition to the Digital Services Act; it’s really both and the intent behind them that drive this.
  • 2023-06-27

    Meta, ActivityPub and the EU’s Digital Services and Market Acts

    Imagine you are Meta executive management, and one day your lawyers come to you and say:

    “We assess it as very likely that within a year or two, Meta’s social networking products will need to interoperate with social networks from other vendors, such as Twitter, LinkedIn, Snapchat and the like. Europe’s Digital Services and Market Acts have come in effect, they apply to us, and while we think we can delay enforcement for a while, ultimately we will need to interoperate with other social networks if we don’t want to leave the entire European market or get sued out of existence. These Europeans are not kidding.”

    You might argue with them for a bit, but if they insist that their assessment is correct, and there are no viable legal options to avoid doing this, if you were the Meta executive team, what would you do?

    I think there are two key questions:

    • What exactly are you going to implement?
    • When are you going to implement it in which product?

    Let’s start with the second question. Whatever you end up doing, it’s novel: nobody has ever federated social networking products at the billion+ user population level. And so nobody has any experience what kinds of problems might occur – whether technical, moderation-wise, protocol governance, fixing interop problems by collaborating with your competitors, cross-jurisdiction issues if content seeps from another social network that’s banned there etc etc. Nobody even knows what the list of potential problems even could be. So even if you are not trying to drag your feet, you will want to start small, and gain some experience how to do this, before scaling up to billions of users. I think even the most zealous regulator will probably accept that a gradual approach is warranted.

    But: your existing social networking products, notably Facebook and Instagram, have billions of users. It’s not obvious how you can start small and not confuse the heck out of everybody. Works only in the EU? What if people travel or move? And the EU with its almost half a billion people is too large anyway as an initial user population.

    As luck has it, you also just decided you were going to compete with Twitter. With a completely new product which currently has a user population of … zero! And given you haven’t really built it yet, you can architect it from the get-go to be interop friendly. Much easier than to refactor Instagram at the billion user scale. So why not start there?

    Back to the other question: what exactly are you going to implement? Let’s assume the lawyers have also advised to you that mere lip service is not going to be good enough, the interop actually needs to work, work well, and be a reliable, supported feature, for many years to come.

    It also needs to work not just with one competitor, like, say, Twitter, but at least a half dozen of them, and new ones show up from time to time you will need to interop with, too. So bilateral deals won’t work, and it needs to be based on an industry standard; either one that exists already or that is to be created. And that industry standard needs to be maintained by some standards organization that you understand, that does not give any one vendor outside influence, one whose process you have vetted and perhaps have experience with.

    Enter ActivityPub. It seems to work, at least at the million-user level. And it’s the only social networking interop standard around that has been created by a bona-fide standards organizations, the W3C. None of the other protocols – like Bluesky, Nostr etc – meet those requirements; ActivityPub is really the only (existing) game in town for what you need.

    Ergo: you end up with ActivityPub in your upcoming Twitter competitor, pretty much from the very beginning. Which is the most plausible reason I found in a previous post why Meta might do this completely out-of-character thing and implement ActivityPub in its new “P92” product.

    Updated 2023-06-30:

    • Added Digital Markets Act in addition to the Digital Services Act; it’s really both.
    • Feedback from the Fediverse correctly points out that so far, only interop requirements for messaging services (“Whatsapp” etc) are prescribed in detail (in the Digital Markets Act). However, IMHO that misses the larger picture: I read the aim of the text of the acts as applying to all “commonly used digital services that mostly directly intermediate between business users and end users” and “where concerns about weak contestability and unfair practices by gatekeepers are more apparent and pressing from an internal market perspective” which arguably applies more to social networking than messaging services. Also, Twitter-like services are very much also used as direct messaging services as well.
  • 2023-06-25

    Why would Meta implement ActivityPub? 1½ reasons are compelling, another is not

    Meta has gradually locked down all of its apps. Now they are coming out with a Twitter competitor that, according to all reports, will have ActivityPub standards support. This promises to make it interoperable with other social networking apps like Mastodon in the broader Fediverse decentralized social network.

    The Fediverse is in uproar, debating fiercely how to react to it, with a sizable group of operators already promising to block them out of the gate, mostly on the grounds that Meta is the personification of everything that the Fediverse is against: tracking, surveillance, manipulation, advertising.

    But why would Meta support ActivityPub in the first place? It is completely out of character for them. I would suggest that only if we understand Meta’s goals with ActivityPub support can we make a rational assessment what, if anything, we should do to react.

    First, let’s dispense with this first commonly cited reason why they do this. It does not pass muster.

    1. Meta wishes to leverage today’s Fediverse to get started, and then embrace and extinguish it.

    No, it does not. Two good arguments:

    • Numbers: Alex Heath is reporting that “Meta is hoping for at least tens of millions of users within the first few months of availability”. The Fediverse currently has between 1 and 2 million active monthly users. So Meta is expecting at least 10x of those numbers by the end of the year.

      (If you think of it, of course they want those kinds of numbers. Both Facebook and Instagram have far more than a billion users each. Why would they build another app if they didn’t think they would get at least 100 million users?)

      Embrace and extend is an entirely ineffective strategy if what you want to embrace and extend has only a tenth of the users you want “in just a few months”. It is not worth to embark on such a complex strategy if it only works for a month or two at best.

    • Would you really go to market focused on an initial customer segment that contains all the people – and perhaps only those people – most actively hostile to you as a company?

    Verdict: NO.

    Let’s move on to a more likely reason:

    2. Meta observed that Elon cut off many third-party apps from Twitter, and wants to attract those third-party developers to the new app so the new app can more effectively compete with Twitter.

    This is a more compelling reason. Building an ecosystem of complementary apps and services is a tried-and-true, successful strategy to compete against a product that does not have them. And which just burned its bridges with the developer community by cutting them off out of the blue.

    However: if that was goal, why would they implement standardized ActivityPub, as opposed to simply creating a (proprietary) API, like Meta has for its other products? It’s not like the cut-off Twitter app developers will require a standard API to come to Meta: not losing their business is good enough for them. Also, implementing a standard protocol comes with substantial costs and risks to Meta, including its inability to change it on a whim when Meta’s business circumstances should change.

    Verdict: INSUFFICIENT as an explanation.

    3. The European Union is coming down hard on Meta, demanding all sorts of interoperability as part of its Digital Services and Digital Market Acts. By implementing a bona-fide W3C interoperability standard as part of a new app, Meta can signal both cooperation with the EU authorities, while delaying opening its core business as long as possible.

    In the US, we tend to ignore changes in European law. We also seem to consider it inconceivable that any meaningful jurisdiction would actually pass the kinds of laws that they have been passing left and right. But they have, and the EU commission is not kidding with enforcement either. While Meta may decide to leave Canada to not have to comply with certain Canadian laws, they cannot afford to leave an affluent, almost half-billion people market.

    I’m sure Meta is embarking on a multi-pronged strategy to resist, including lobbying, lawsuits, dragging their feet, and all sorts of other things. This multi-pronged strategy probably also means they have to throw the regulators a bone, on occasion. What better than to do this with a new product where there is no downside to an existing business, because there is no existing business? And if that helps with improving brand image – which it does – and appeal to 3rd-party developers, which the incumbent just turned against themselves, why not?

    Verdict: MOST PLAUSIBLE.

    If this analysis is more or less correct, this has consequences both for what Meta will doing going forward, and what today’s Fediverse should do to prepare and react. More in another piece. Follow me in the Fediverse to stay in the loop.

    Updated 2023-06-30: Added Digital Markets Act in addition to the Digital Services Act.

    Some selected comments: