<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: activitypub</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/activitypub.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2024-11-24T02:17:13+00:00</updated><author><name>Simon Willison</name></author><entry><title>Quoting Tim Bray</title><link href="https://simonwillison.net/2024/Nov/24/tim-bray/#atom-tag" rel="alternate"/><published>2024-11-24T02:17:13+00:00</published><updated>2024-11-24T02:17:13+00:00</updated><id>https://simonwillison.net/2024/Nov/24/tim-bray/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://www.tbray.org/ongoing/When/202x/2024/11/15/Not-Bluesky"&gt;&lt;p&gt;Whatever you think of capitalism, the evidence is overwhelming: Social networks with a single proprietor have trouble with long-term survival, and those do survive have trouble with user-experience quality: see &lt;a href="https://en.m.wikipedia.org/wiki/Enshittification"&gt;Enshittification&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The evidence is also perfectly clear that it doesn’t have to be this way. The original social network, email, is now into its sixth decade of vigorous life. It ain’t perfect but it is essential, and not in any serious danger.&lt;/p&gt;
&lt;p&gt;The single crucial difference between email and all those other networks — maybe the only significant difference — is that nobody owns or controls it.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://www.tbray.org/ongoing/When/202x/2024/11/15/Not-Bluesky"&gt;Tim Bray&lt;/a&gt;, Why Not Bluesky&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/email"&gt;email&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/social-media"&gt;social-media&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mastodon"&gt;mastodon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/activitypub"&gt;activitypub&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/bluesky"&gt;bluesky&lt;/a&gt;&lt;/p&gt;



</summary><category term="email"/><category term="social-media"/><category term="tim-bray"/><category term="mastodon"/><category term="activitypub"/><category term="bluesky"/></entry><entry><title>How decentralized is Bluesky really?</title><link href="https://simonwillison.net/2024/Nov/22/how-decentralized-is-bluesky-really/#atom-tag" rel="alternate"/><published>2024-11-22T21:57:21+00:00</published><updated>2024-11-22T21:57:21+00:00</updated><id>https://simonwillison.net/2024/Nov/22/how-decentralized-is-bluesky-really/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://dustycloud.org/blog/how-decentralized-is-bluesky/"&gt;How decentralized is Bluesky really?&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Lots of technical depth in this comparison of the Bluesky (ATProto) and Fediverse/Mastodon/ActivityPub approach to decentralization, from &lt;a href="https://www.w3.org/TR/activitypub/"&gt;ActivityPub spec&lt;/a&gt; author Christine Lemmer-Webber.&lt;/p&gt;
&lt;p&gt;One key theme: many of the features of Bluesky that aren't present in the rest of the Fediverse are the result of centralization: Bluesky follows a "shared heap" architecture where participating nodes are expected to maintain a full copy of the entire network - more than 5TB of data already. ActivityPub instead uses a "message passing" architecture where only a subset of the overall network data - messages from accounts followed by that node's users - are imported into the node.&lt;/p&gt;
&lt;p&gt;This enables features like comprehensive search and the ability to browse all messages in a conversation even if some come from accounts that are not followed by any of the current node's users (a problem &lt;a href="https://simonwillison.net/2023/Sep/16/notes-on-using-a-single-person-mastodon-server/"&gt;I've faced in the past&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;This is also part of the "credible exit" mechanism where users can theoretically switch to a different host while keeping all of their existing content - though that also takes advantage of content addressed storage, a feature that could be added to ActivityPub.&lt;/p&gt;
&lt;p&gt;Also of note: direct messages on Bluesky are currently entirely dependent on the single central node run by Bluesky themselves, and are not end-to-end encrypted. Furthermore, signing keys that are used by ATProto are currently held custodially by Bluesky on behalf of their users.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://social.coop/@cwebber/113527462572885698"&gt;@cwebber&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/mastodon"&gt;mastodon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/activitypub"&gt;activitypub&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/bluesky"&gt;bluesky&lt;/a&gt;&lt;/p&gt;



</summary><category term="mastodon"/><category term="activitypub"/><category term="bluesky"/></entry><entry><title>Threads has entered the fediverse</title><link href="https://simonwillison.net/2024/Mar/22/threads-has-entered-the-fediverse/#atom-tag" rel="alternate"/><published>2024-03-22T20:15:20+00:00</published><updated>2024-03-22T20:15:20+00:00</updated><id>https://simonwillison.net/2024/Mar/22/threads-has-entered-the-fediverse/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://engineering.fb.com/2024/03/21/networking-traffic/threads-has-entered-the-fediverse/"&gt;Threads has entered the fediverse&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Threads users with public profiles in certain countries can now turn on a setting which makes their posts available in the fediverse—so users of ActivityPub systems such as Mastodon can follow their accounts to subscribe to their posts.&lt;/p&gt;

&lt;p&gt;It’s only a partial integration at the moment: Threads users can’t themselves follow accounts from other providers yet, and their notifications will show them likes but not boosts or replies: “For now, people who want to see replies on their posts on other fediverse servers will have to visit those servers directly.”&lt;/p&gt;

&lt;p&gt;Depending on how you count, Mastodon has around 9m user accounts of which 1m are active. Threads claims more than 130m active monthly users. The Threads team are developing these features cautiously which is reassuring to see—a clumsy or thoughtless integration could cause all sorts of damage just from the sheer scale of their service.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://anderegg.ca/2024/03/22/poking-at-threads-in-the-fediverse"&gt;Gavin Anderegg&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/facebook"&gt;facebook&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/threads"&gt;threads&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mastodon"&gt;mastodon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/activitypub"&gt;activitypub&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/fediverse"&gt;fediverse&lt;/a&gt;&lt;/p&gt;



</summary><category term="facebook"/><category term="threads"/><category term="mastodon"/><category term="activitypub"/><category term="fediverse"/></entry><entry><title>ActivityPub Server in a Single PHP File</title><link href="https://simonwillison.net/2024/Feb/19/activitypub-server-in-a-single-php-file/#atom-tag" rel="alternate"/><published>2024-02-19T00:20:13+00:00</published><updated>2024-02-19T00:20:13+00:00</updated><id>https://simonwillison.net/2024/Feb/19/activitypub-server-in-a-single-php-file/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://shkspr.mobi/blog/2024/02/activitypub-server-in-a-single-file/"&gt;ActivityPub Server in a Single PHP File&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Terence Eden: “Any computer program can be designed to run from a single file if you architect it wrong enough!”&lt;/p&gt;

&lt;p&gt;I love this as a clear, easy-to-follow example of the core implementation details of the ActivityPub protocol—and a reminder that often a single PHP file is all you need.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://lobste.rs/s/jynnm3/activitypub_server_single_php_file"&gt;lobste.rs&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mastodon"&gt;mastodon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/activitypub"&gt;activitypub&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/terence-eden"&gt;terence-eden&lt;/a&gt;&lt;/p&gt;



</summary><category term="php"/><category term="mastodon"/><category term="activitypub"/><category term="terence-eden"/></entry><entry><title>Quoting Mike McCue</title><link href="https://simonwillison.net/2023/Dec/18/mike-mccue/#atom-tag" rel="alternate"/><published>2023-12-18T18:45:49+00:00</published><updated>2023-12-18T18:45:49+00:00</updated><id>https://simonwillison.net/2023/Dec/18/mike-mccue/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://www.theverge.com/2023/12/18/24006062/flipboard-fediverse-mastodon-activitypub-profiles-social"&gt;&lt;p&gt;Basically, we’re in the process of replacing our whole social back-end with ActivityPub. I think Flipboard is going to be the first mainstream consumer service that existed in a walled garden that switches over to ActivityPub.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://www.theverge.com/2023/12/18/24006062/flipboard-fediverse-mastodon-activitypub-profiles-social"&gt;Mike McCue&lt;/a&gt;, CEO of Flipboard&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/mastodon"&gt;mastodon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/activitypub"&gt;activitypub&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/fediverse"&gt;fediverse&lt;/a&gt;&lt;/p&gt;



</summary><category term="mastodon"/><category term="activitypub"/><category term="fediverse"/></entry><entry><title>Wildebeest</title><link href="https://simonwillison.net/2023/Jan/23/wildebeest/#atom-tag" rel="alternate"/><published>2023-01-23T00:03:30+00:00</published><updated>2023-01-23T00:03:30+00:00</updated><id>https://simonwillison.net/2023/Jan/23/wildebeest/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/cloudflare/wildebeest"&gt;Wildebeest&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
New project from Cloudflare, first quietly unveiled three weeks ago: “Wildebeest is an ActivityPub and Mastodon-compatible server”. It’s built using a flurry of Cloudflare-specific technology, including Workers, Pages and their SQLite-based D1 database.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://fedi.simonwillison.net/@simon/109735539970564454"&gt;@simon&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/sqlite"&gt;sqlite&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/cloudflare"&gt;cloudflare&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mastodon"&gt;mastodon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/activitypub"&gt;activitypub&lt;/a&gt;&lt;/p&gt;



</summary><category term="sqlite"/><category term="cloudflare"/><category term="mastodon"/><category term="activitypub"/></entry><entry><title>Playing with ActivityPub</title><link href="https://simonwillison.net/2022/Dec/10/playing-with-activitypub/#atom-tag" rel="alternate"/><published>2022-12-10T00:58:42+00:00</published><updated>2022-12-10T00:58:42+00:00</updated><id>https://simonwillison.net/2022/Dec/10/playing-with-activitypub/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://macwright.com/2022/12/09/activitypub.html"&gt;Playing with ActivityPub&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Tom MacWright describes his attempts to build the simplest possible ActivityPub publication—for a static site powered by Jekyll, where he used Netlify functions to handle incoming subscriptions (storing them in PlanetScale via their Deno API library) and wrote a script which loops through and notifies all of his subscriptions every time he publishes something new.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="https://lobste.rs/s/xvvjza/playing_with_activitypub"&gt;lobste.rs&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/deno"&gt;deno&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tom-macwright"&gt;tom-macwright&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mastodon"&gt;mastodon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/activitypub"&gt;activitypub&lt;/a&gt;&lt;/p&gt;



</summary><category term="deno"/><category term="tom-macwright"/><category term="mastodon"/><category term="activitypub"/></entry><entry><title>Understanding a Protocol</title><link href="https://simonwillison.net/2022/Dec/6/understanding-a-protocol/#atom-tag" rel="alternate"/><published>2022-12-06T00:50:13+00:00</published><updated>2022-12-06T00:50:13+00:00</updated><id>https://simonwillison.net/2022/Dec/6/understanding-a-protocol/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.aeracode.org/2022/12/05/understanding-a-protocol/"&gt;Understanding a Protocol&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Andrew’s latest notes on how ActivityPub and Mastodon work under the hood, based on his extensive development work building out Takahē.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/andrew-godwin"&gt;andrew-godwin&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mastodon"&gt;mastodon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/activitypub"&gt;activitypub&lt;/a&gt;&lt;/p&gt;



</summary><category term="andrew-godwin"/><category term="mastodon"/><category term="activitypub"/></entry><entry><title>Quoting Andrew Godwin</title><link href="https://simonwillison.net/2022/Nov/19/andrew-godin/#atom-tag" rel="alternate"/><published>2022-11-19T16:02:57+00:00</published><updated>2022-11-19T16:02:57+00:00</updated><id>https://simonwillison.net/2022/Nov/19/andrew-godin/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://aeracode.org/2022/11/15/twitter-activitypub-future/"&gt;&lt;p&gt;... it [ActivityPub] is crucially good enough. Perfect is the enemy of good, and in ActivityPub we have a protocol that has flaws but, crucially, that works, and has a standard we can all mostly agree on how to implement - and eventually, I hope, agree on how to improve.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://aeracode.org/2022/11/15/twitter-activitypub-future/"&gt;Andrew Godwin&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/andrew-godwin"&gt;andrew-godwin&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mastodon"&gt;mastodon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/activitypub"&gt;activitypub&lt;/a&gt;&lt;/p&gt;



</summary><category term="andrew-godwin"/><category term="mastodon"/><category term="activitypub"/></entry><entry><title>Mastodon is just blogs</title><link href="https://simonwillison.net/2022/Nov/8/mastodon-is-just-blogs/#atom-tag" rel="alternate"/><published>2022-11-08T15:48:17+00:00</published><updated>2022-11-08T15:48:17+00:00</updated><id>https://simonwillison.net/2022/Nov/8/mastodon-is-just-blogs/#atom-tag</id><summary type="html">
    &lt;p&gt;And that's &lt;em&gt;great&lt;/em&gt;. It's also the return of Google Reader!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://simonwillison.net/2022/Nov/5/mastodon/"&gt;Mastodon&lt;/a&gt; is really confusing for newcomers. There are &lt;a href="https://mastodon.social/@Ciaraioch@mastodon.ie/109287818914999148"&gt;memes about it&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you're an internet user of a certain age, you may find an analogy that's been working for me really useful:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mastodon is just blogs&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Every Mastodon account is a little blog. Mine is at &lt;a href="https://fedi.simonwillison.net/@simon"&gt;https://fedi.simonwillison.net/@simon&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can post text and images to it. You can link to things. It's a blog.&lt;/p&gt;
&lt;p&gt;You can also subscribe to other people's blogs - either by "following" them (a subscribe in disguise) or - fun trick - you can add &lt;code&gt;.rss&lt;/code&gt; to their page and subscribe in a regular news reader (&lt;a href="https://fedi.simonwillison.net/@simon.rss"&gt;here's my feed&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;A Mastodon server (often called an instance) is just a shared blog host. Kind of like putting your personal blog in a folder on a domain on shared hosting with some of your friends.&lt;/p&gt;
&lt;p&gt;Want to go it alone? You can do that: run your own dedicated Mastodon instance on your own domain (or pay someone to do that for you - I'm using &lt;a href="https://masto.host/"&gt;masto.host&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Feeling really nerdy? You can build your own instance from scratch, by implementing the &lt;a href="https://www.w3.org/TR/activitypub/"&gt;ActivityPub&lt;/a&gt; specification and a few others, plus matching &lt;a href="https://docs.joinmastodon.org/spec/activitypub/"&gt;some Mastodon conventions&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Differences from regular blogs&lt;/h4&gt;
&lt;p&gt;Mastodon (actually mostly &lt;a href="https://www.w3.org/TR/activitypub/"&gt;ActivityPub&lt;/a&gt; - Mastodon is just the most popular open source implementation) does add some extra features that you won't get with a regular blog:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Follows: you can follow other blogs, and see who you are following and who is following you&lt;/li&gt;
&lt;li&gt;Likes: you can like a post - people will see that you liked it&lt;/li&gt;
&lt;li&gt;Retweets: these are called "boosts". They duplicate someone's post on your blog too, promoting it to your followers&lt;/li&gt;
&lt;li&gt;Replies: you can reply to other people's posts with your own&lt;/li&gt;
&lt;li&gt;Privacy levels: you can make a post public, visible only to your followers, or visible only to specific people (effectively a group direct message)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These features are what makes it interesting, and also what makes it significantly more complicated - both to understand and to operate.&lt;/p&gt;
&lt;p&gt;Add all of these features to a blog and you get a blog that's lightly disguised as a Twitter account. It's still a blog though!&lt;/p&gt;
&lt;h4&gt;It doesn't have to be a shared host&lt;/h4&gt;
&lt;p&gt;This shared hosting aspect is the root of many of the common complaints about Mastodon: "The server admins can read your private messages! They can ban you for no reason! They can delete your account! If they lose interest the entire server could go away one day!"&lt;/p&gt;
&lt;p&gt;All of this is true.&lt;/p&gt;
&lt;p&gt;This is why I like the shared blog hosting analogy: the same is true there too.&lt;/p&gt;
&lt;p&gt;In both cases, the ultimate solution is to host it yourself. Mastodon has more moving pieces than a regular static blog, so this is harder - but it's not impossibly hard.&lt;/p&gt;
&lt;p&gt;I'm paying to host my own server for exactly this reason.&lt;/p&gt;
&lt;h4&gt;It's also a shared feed reader&lt;/h4&gt;
&lt;p&gt;This is where things get a little bit more complicated.&lt;/p&gt;
&lt;p&gt;Do you still miss &lt;a href="https://en.wikipedia.org/wiki/Google_Reader"&gt;Google Reader&lt;/a&gt;, almost a decade after it was shut down? &lt;strong&gt;It's back&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;A Mastodon server is a feed reader, shared by everyone who uses that server.&lt;/p&gt;
&lt;p&gt;Users on one server can follow users on any other server - and see their posts in their feed in near-enough real time.&lt;/p&gt;
&lt;p&gt;This works because each Mastodon server implements a flurry of background activity. My personal server, serving &lt;em&gt;just me&lt;/em&gt;, already tells me it has processed 586,934 Sidekiq jobs since I started using it.&lt;/p&gt;
&lt;p&gt;Blogs and feed readers work by polling for changes every few hours. ActivityPub is more ambitious: any time you post something, your server actively sends your new post out to every server that your followers are on.&lt;/p&gt;
&lt;p&gt;Every time someone followed by you (or any other user on your server) posts, your server receives that post, stores a copy and adds it to your feed.&lt;/p&gt;
&lt;p&gt;Servers offer a "federated" timeline. That's effectively a combined feed of all of the public posts from every account on Mastodon that's followed by at least one user on your server.&lt;/p&gt;
&lt;p&gt;It's like you're running a little standalone copy of the Google Reader server application and sharing it with a few dozen/hundred/thousand of your friends.&lt;/p&gt;
&lt;h4&gt;May a thousand servers bloom&lt;/h4&gt;
&lt;p&gt;If you're reading this with a web engineering background, you may be thinking that this sounds pretty alarming! Half a million Sidekiq jobs to support a single user? Huge amounts of webhooks firing every time someone posts?&lt;/p&gt;
&lt;p&gt;Somehow it seems to work. But can it scale?&lt;/p&gt;
&lt;p&gt;The key to scaling Mastodon is spreading the cost of all of that background activity across a large number of servers.&lt;/p&gt;
&lt;p&gt;And unlike something like Twitter, where you need to host all of those yourself, Mastodon scales by encouraging people to run their own servers.&lt;/p&gt;
&lt;p&gt;On November 2nd Mastodon founder Eugen Rochko &lt;a href="https://mastodon.social/@Gargron/109277492892460574"&gt;posted the following&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;199,430 is the number of new users across different Mastodon servers since October 27, along with 437 new servers. This bring last day's total to 608,837 active users, which is without precedent the highest it's ever been for Mastodon and the fediverse.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That's 457 new users for each new server.&lt;/p&gt;
&lt;p&gt;Any time anyone builds something decentralized like this, the natural pressure is to centralize it again.&lt;/p&gt;
&lt;p&gt;In Mastodon's case though, decentralization is key to getting it to scale. And the organization behind &lt;a href="https://mastodon.social/"&gt;mastodon.social&lt;/a&gt;, the largest server, is a German non-profit with an incentive to encourage new servers to help spread the load.&lt;/p&gt;
&lt;p&gt;Will it break? I don't think so. Regular blogs never had to worry about scaling, because that's like worrying that the internet will run out of space for new content.&lt;/p&gt;
&lt;p&gt;Mastodon servers are a lot chattier and expensive to run, but they don't need to talk to everything else on the network - they only have to cover the social graph of the people using them.&lt;/p&gt;
&lt;p&gt;It may prove unsustainable to run a single Mastodon server with a million users - but if you split that up into ten servers covering 100,000 users each I feel like it should probably work.&lt;/p&gt;
&lt;p&gt;Running on multiple, independently governed servers is also Mastodon's answer to the incredibly hard problem of scaling moderation. There's a lot more to be said about this and I'm not going to try and do it justice here, but I recommend reading &lt;a href="https://time.com/6229230/mastodon-eugen-rochko-interview/"&gt;this Time interview with Mastodon founder Eugen&lt;/a&gt; for a good introduction.&lt;/p&gt;
&lt;h4&gt;How does this all get paid for?&lt;/h4&gt;
&lt;p&gt;One of the really refreshing things about Mastodon is the business model. There are no ads. There's no VC investment, burning early money to grow market share for later.&lt;/p&gt;
&lt;p&gt;There are just servers, and people paying to run them and volunteering their time to maintain them.&lt;/p&gt;
&lt;p&gt;Elon did us all a favour here by setting $8/month as the intended price for Twitter Blue. That's now my benchmark for how much I should be contributing to my Mastodon server. If everyone who can afford to do so does that, I think we'll be OK.&lt;/p&gt;
&lt;p&gt;And it's very clear what you're getting for the money. How much each server costs to run can be a matter of public record.&lt;/p&gt;
&lt;p&gt;The oldest cliche about online business models is "if you're not paying for the product, you are the product being sold".&lt;/p&gt;
&lt;p&gt;Mastodon is our chance to show that we've learned that lesson and we're finally ready to pay up!&lt;/p&gt;
&lt;h4&gt;Is it actually going to work?&lt;/h4&gt;
&lt;p&gt;Mastodon has been around for six years now - and the various standards it is built on have been in development I believe since 2008.&lt;/p&gt;
&lt;p&gt;A whole generation of early adopters have been kicking the tyres on this thing for years. It is not a new, untested piece of software. A lot of smart people have put a lot of work into this for a long time.&lt;/p&gt;
&lt;p&gt;No-one could have predicted that Elon would drive it into hockeystick growth mode in under a week. Despite the fact that it's run by volunteers with no profit motive anywhere to be found, it's holding together impressively well.&lt;/p&gt;
&lt;p&gt;My hunch is that this is going to work out just fine.&lt;/p&gt;
&lt;h4&gt;Don't judge a website by its mobile app&lt;/h4&gt;
&lt;p&gt;Just like blogs, Mastodon is very much a creature of the Web.&lt;/p&gt;
&lt;p&gt;There's an official Mastodon app, and it's decent, but it suffers the classic problem of so many mobile apps in that it doesn't quite keep up with the web version in terms of features.&lt;/p&gt;
&lt;p&gt;More importantly, its onboarding process for creating a new account is pretty confusing!&lt;/p&gt;
&lt;p&gt;I'm seeing a lot of people get frustrated and write-off Mastodon as completely impenetrable. I have a hunch that many of these are people who's only experience has come from downloading the official app.&lt;/p&gt;
&lt;p&gt;So don't judge a federated web ecosystem exclusively by its mobile app! If you begin your initial Mastodon exploration on a regular computer you may find it easier to get started.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://joinmastodon.org/apps"&gt;Other apps exist&lt;/a&gt; - in fact the official app is a relatively recent addition to the scene, just over a year old. I'm personally a fan of &lt;a href="https://apps.apple.com/app/toot/id1229021451?ls=1"&gt;Toot!&lt;/a&gt; for iOS, which includes some delightful elephant animations.&lt;/p&gt;
&lt;h4&gt;The expanded analogy&lt;/h4&gt;
&lt;p&gt;Here's my expanded version of that initial analogy:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mastodon is just blogs and Google Reader, skinned to look like Twitter&lt;/strong&gt;.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/blogging"&gt;blogging&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google-reader"&gt;google-reader&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/twitter"&gt;twitter&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mastodon"&gt;mastodon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/activitypub"&gt;activitypub&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/fediverse"&gt;fediverse&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sidekiq"&gt;sidekiq&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="blogging"/><category term="google-reader"/><category term="twitter"/><category term="mastodon"/><category term="activitypub"/><category term="fediverse"/><category term="sidekiq"/></entry></feed>