{"id":"da25dc4c-9c67-47fa-9b55-ce44ca25a8da","slug":"s17e07-the-great-social-network-heist","subject":"s17e07: The Great Social Network Heist","title":"The Great Social Network Heist","publish_date":"2024-02-02T21:49:24.001600+00:00","year":2024,"month":2,"season":17,"episode":7,"episode_label":"s17e07","canonical_url":"https://newsletter.danhon.com/archive/s17e07-the-great-social-network-heist/","is_premium":0,"word_count":3696,"body_html":"<h1>0.0 Context Setting</h1>\n<p>It’s Friday, 2 February 2024 in Portland, Oregon. It’s not raining, and I’ve just finished today’s Hallway Track.</p>\n<p>Of which...</p>\n<h2>0.1 Hallway Track News</h2>\n<p><strong>Hallway Track 008: Infrastructure and Systems</strong> is on Thursday, 8 February, at 11am Pacific, 2pm Eastern, and 7pm London.</p>\n<p>Our guests will be:</p>\n<ul>\n<li>\n<p><a href=\"http://debcha.org/\">Deb Chachra</a>, engineering professor and the author of How Infrastructure Works [<a href=\"https://www.penguinrandomhouse.com/books/612711/how-infrastructure-works-by-deb-chachra/\">US</a>/<a href=\"https://www.penguin.co.uk/books/461276/how-infrastructure-works-by-chachra-deb/9781911709541\">UK</a>]. She speaks, writes, and consults widely at the intersections of design, technology, culture and education; and</p>\n</li>\n<li>\n<p><a href=\"https://gsvoss.com/\">Georgina Voss</a>, artist, writer, and educator, author of <a href=\"https://www.versobooks.com/products/991-systems-ultra\">Systems Ultra: Making Sense of Technology in a Complex World</a>; and co-founder of studios including <a href=\"https://www.strangetelemetry.com/\">Strange Telemetry</a> and <a href=\"https://www.suprasystems.studio/\">Supra Systems Studio</a>.</p>\n</li>\n</ul>\n<p>Here’s the blurb:</p>\n<p>While Twitter continues to implode, Bluesky and Mastodon are busy carving out their niches and Meta storms ahead with Threads, let’s talk about ways people might improve their experience on social networks, starting with blocking. We’ll talk about things like:</p>\n<ul>\n<li>what we can learn from fantastic products like Block Party (RIP);</li>\n<li>how blocking is or isn’t used as a content moderation signal in various social platforms’ recommendation algorithms;</li>\n<li>where blocking should be used as a content moderation signal to prevent post or account recommendation;</li>\n<li>are people actually using the block function? How much? And how or why might they use it more?</li>\n<li>reasons why platforms might have to hide or de-emphasise blocking;</li>\n<li>exactly how bad would it be (very bad) to gamify and incentivize blocking?</li>\n<li>how these topics might tie into the idea of a marketplace of content moderation providers.</li>\n</ul>\n<p>What’s Hallway Track, if you’ve forgotten or I never told you?</p>\n<p>Hallway Track is a series of free, ad-hoc gatherings, where we pretend to be in the hallway chatting with each other after a great conference session. It’s for small groups of only 25 people so it’s not too big people can’t talk and not too small there’s dead air; they run for 90 minutes; they’re not recorded, to encourage free conversation.</p>\n<p><a href=\"https://www.verylittlegravitas.com/hallwaytrack\">Register for Hallway Track 008: Infrastructure and Systems</a> and find out more.</p>\n<hr />\n<h1>1.0 Some Things That Caught My Attention</h1>\n<h1>1.1 The Great Social Network Heist</h1>\n<p>Let’s go steal an open social network<sup class=\"footnote-ref\"><a href=\"#fn1\" id=\"fnref1\">[1]</a></sup>.</p>\n<h2>Smash cut to flashback</h2>\n<p>I’ve been wrong a lot.</p>\n<p>I’ve written before about Mastodon and why news organizations should have their own Mastodon instances<sup class=\"footnote-ref\"><a href=\"#fn2\" id=\"fnref2\">[2]</a></sup>.</p>\n<p>Or rather, in a more self-serving way, I think I’ve been wrong-but-inaccurate before, and that there’s importance in details. What I <em>actually</em> said was:</p>\n<blockquote>\n<p>The first news organization to stand up a Mastodon / activitypub server at, for example, follow.washingtonpost.com gets a medal</p>\n</blockquote>\n<p>I’ve been thinking a lot about Mastodon over the last year-and-a-bit, which is to say, less than other people have been thinking about it. But, predictably, <em>I have opinions</em>, and if you’re reading this newsletter, you have, for some reason, decided that you would like to know what they are.</p>\n<h2>Mastodon isn’t great, actually</h2>\n<p>No, really, it’s not. But hear me out, before you well-actually me to death.</p>\n<p>ActivityPub is the thing that’s great.</p>\n<p>Yes, I am now one of those people who’s all in on <em>actually, it’s ActivityPub/Mastodon</em>.</p>\n<p>Mastodon, which is a sort of agglomeration of protocols, extensions, applications, APIs, and clients, is the least-bad, most-successful application running on the ActivityPub platform. Mastodon is an application-that’s-a-social-network.</p>\n<p>This is probably going to sound like I’m shitting on Mastodon, but... I am not? Because I want to emphasize that it’s ActivityPub’s killer app.</p>\n<p>I just think Mastodon-as-the-killer-app is showing signs of finding a niche and filling it, and not particularly growing.</p>\n<p>Some problems with Mastodon:</p>\n<p>If I want to offer a managed, hosted Mastodon service, phooey is it difficult. Mastodon doesn’t support multi-homing, so you can’t use one instance of the application to serve multiple domains.</p>\n<p>It is... a wildly successful hobby project for hobbyists. Imagine you’re (horrors) a Brand, or you’re an Institution and you want to be “on Mastodon”. It isn’t that customizable without hacking deep into it. By customizable, I mean “recognizably branded”, beyond “here, go nuts with the CSS”. A comparison here would be “what would Mastodon need to be like to be like Wordpress, and support a Wordpress-like stupendous ecosystem”.</p>\n<p>The pace of change is... well, change is happening. Search exists now! But I’d argue (and others have) that Mastodon hasn’t appreciably <em>changed</em> in the last 12 months, whereas the company that’s stupendously resourced and famous for moving fast and breaking things has, undeniably, moved fast with Threads.</p>\n<p>(Instead, there’s been quite a bit of innovation [sic] on the client side.)</p>\n<p>One last thing: people have <em>issues</em> with its architecture and performance.</p>\n<h2>Well if you’re such a fan of ActivityPub then name five ActivityPub applications!</h2>\n<p>Okay, here you go. I won’t include Mastodon.</p>\n<ol>\n<li><a href=\"https://bookwyrm.social\">Bookwyrm</a>, a not-goodreads;</li>\n<li><a href=\"https://pixelfed.org\">Pixelfed</a>, a not-Instagram;</li>\n<li><a href=\"https://join-lemmy.org\">Lemmy</a>, a not-Reddit;</li>\n<li><a href=\"https://github.com/mrmartineau/Otter\">Otter</a>, a not-Pinterest;</li>\n<li><a href=\"https://joinpeertube.org\">PeerTube</a>, a not-YouTube</li>\n</ol>\n<p>This is anecdata: I don’t use any of these apart from BookWyrm. I don’t use BookWyrm because of any of its federated-ness, I use it because it’s <em>not goodreads</em>.</p>\n<p>I joined <em>one</em> Lemmy instance and you will not be surprised to find out what it is<sup class=\"footnote-ref\"><a href=\"#fn3\" id=\"fnref3\">[3]</a></sup>.</p>\n<p>The ActivityPub federated-ness of all of these applications doesn’t matter to me. Theoretically actions and posts can go from one place to another: I don’t see them. Nobody, I think, follows my BookWyrm account “from Mastodon”. Technically you can follow Mastodon bots in Lemmy but the one time I saw people tried to do that, it got super complicated.</p>\n<h2>What, I thought you said ActivityPub was good?</h2>\n<p>Hahahaha. ActivityPub is <em>good</em> because in principle an open protocol is better than a closed protocol.</p>\n<blockquote>\n<p>Actually “ActivityPub” is a set of three specs: ActivityPub<sup class=\"footnote-ref\"><a href=\"#fn4\" id=\"fnref4\">[4]</a></sup>, Activity Streams 2.0<sup class=\"footnote-ref\"><a href=\"#fn5\" id=\"fnref5\">[5]</a></sup>, and Activity Vocabulary<sup class=\"footnote-ref\"><a href=\"#fn6\" id=\"fnref6\">[6]</a></sup>. If you really want to understand the entire thing, you should read Darius Kazemi’s guide to reading the specs<sup class=\"footnote-ref\"><a href=\"#fn7\" id=\"fnref7\">[7]</a></sup>, because Kazemi writes clearly, understands his audience, and is annoyingly prolific.</p>\n</blockquote>\n<p>ActivityPub lets applications send messages to each other about things that happen, but no major applications or services are incentivized to use it, because it makes more sense (and economic sense, in the absence of regulation) for them to have lots of control.</p>\n<p>You may wonder why this is a good thing and why you’d possibly care about things that happen in one place showing up in other places. That is a <em>very good question</em>.</p>\n<p><em>One</em> of the reasons this is a good thing is because it would let lots of people make even more things, things we haven’t even imagined yet. This is not, I appreciate, and one that depends on someone’s ability to inspire and persuade you through rhetoric.</p>\n<h2>OK, but <em>if</em> ActivityPub is good, how do we get from here to there?</h2>\n<p>Good question.</p>\n<h2>Also, you promised me a heist</h2>\n<p>Here’s the heist bit.</p>\n<p>You want to steal an open social network?</p>\n<p>To steal an open social network, <em>at the very least</em>, you’d need:</p>\n<ul>\n<li>reach: lots and lots of people using it</li>\n<li>a sustainable software ecosystem</li>\n<li>a way for people to make money</li>\n<li>applications that are better than alternatives</li>\n<li>trust and safety: verification, content moderation, and so on</li>\n</ul>\n<p>Thing is, you can’t grab all of these at the same time. Or, you need to grab all of these, in different ways and stages, at the same time. It’s quite complicated!</p>\n<p>You’d also need to be patient. This is something like a 10-year heist.</p>\n<p>But hey, you met me here at this cafe and I’ve got this napkin and this pen. Or this iPad and Concepts.</p>\n<p>Before we start on this job, you need to accept that open protocols, standards, and interoperability are good. There are lots of arguments for this. I am not going to persuade you about this here.</p>\n<h3>We’re going to need reach</h3>\n<p>Reach is, weirdly, potentially one of the easiest things to steal in this heist, if only because weirdly, for <em>reasons</em>, a super big social network with hundreds of millions of users decided to integrate with the network of ActivityPub protocol applications, irritatingly in my mind known as <em>the Fediverse</em>.</p>\n<p>Or: Meta has a plan to integrate Threads, a social network platform with hundreds of millions of users, with, practically speaking, “Mastodon”<sup class=\"footnote-ref\"><a href=\"#fn8\" id=\"fnref8\">[8]</a></sup>, a network with optimistically 2 million daily active users<sup class=\"footnote-ref\"><a href=\"#fn9\" id=\"fnref9\">[9]</a></sup>.</p>\n<p>So. You need to make sure Meta follows through on integrating with the Fediverse. You need to understand the incentives and disincentives and tweak them to get Meta to do what you want.</p>\n<h3>We need to steal some software</h3>\n<p>For us to pull this off at the “posting message social network” level, we’re going to need something better than Mastodon for a bunch of the reasons I outlined above. Just go with it, I could spend hours (and have) talking about this.</p>\n<p>Even better, we’d want <em>multiple</em> things better than Mastodon.</p>\n<p>Making (and sustaining) software costs money, though. You need someone or something to stump up that money. Facebook has a bunch of money, but they’re not ever going to open source any implementation because there’s no way that ever makes sense.</p>\n<p>Going further, if you <em>really</em> believe open protocols are <em>socially</em> important in terms of assuring people the option of ownership and control, then you might end up thinking that perhaps the costs of developing and sustaining such software could be socialized.</p>\n<p>Huh.</p>\n<p>So you might think, okay, maybe you could persuade a bit of government to fund developing this software?</p>\n<p>But you talk to a bunch of people in government and they’ll say “yes, it makes <em>sense</em> for us to have more control and ownership over social media accounts, and we have direct examples of why thanks to Twitter’s implosion, but what you’re saying costs money, and the software is terrible”.</p>\n<p>No particular government department, office, or agency is going to do that, <em>especially</em> now that they can just get an account on Threads and start posting.</p>\n<p>What does Threads get a government account? Reach and verification. Bluecheck and people to talk to and replies and all that good stuff. <em>For free</em>, too.</p>\n<p>So you’d think okay fine at a high level, I need to solve for reach from an ActivityPub account, and also verification/trust, and also make it cost no money.</p>\n<p>Assume Meta follows through and your ActivityPub account will federate through and Threads users can follow it. Reach is done.</p>\n<p>Verification/trust and bluechecks, then. Now I’m <em>guessing</em> here, but government organizations can already get bluechecked on Facebook, and at a high level I reckon the process is a bit like “send us an email from a .gov domain, fill out this form and give us a signed letter on your letterhead and fax it to us, and we’ll go check your department and title actually exists”. Whatever, the important thing is the bureaucratic process exists.</p>\n<p>So you go over to Meta and you say: <em>as the government</em>, I want you, Meta, to federate out bluecheck verification to off-network accounts, <em>so that I can assure users of my identity and provenance while retaining control of my account</em>.</p>\n<p>And Meta will say no, and then you will quietly tell them to say yes because, well, socio-political-governance reasons.</p>\n<p>Meta might say “ahaha no, are you kidding, we’d need to figure out how to extend verification from a technical perspective” and then you’d say <em>actually no</em>, because a) we just delegate part of that trust process to “there’s a process for getting a .gov domain”, b) “you already have a bureaucratic internal process for verifying government accounts, so just also use that”, and c) if that bureaucratic process is good enough for you, then you can also design a bureaucratic process that’s good enough for this, we can do it together if you want.</p>\n<p>I mean hell, people just send fake faxes to request for information pretending to be law enforcement.</p>\n<p>Okay. You’ve just gotten the verification part.</p>\n<p>Now you need it to cost no money for all these government offices and agencies to implement, because siiiiigh yet another managed service that, hopefully, isn’t Mastodon because Mastodon is shit to manage.</p>\n<p>I mean, <em>do you</em> need it to cost no money?</p>\n<p>What you need is for it to not cost <em>any more money</em>.</p>\n<p>Because what you <em>could</em> do is tweak government to say: yeah, so you, government office/department/agency, normally you wouldn’t do this because of money and yadda yadda and it’s more work.</p>\n<p>But we’re going to just <em>tell you to do it</em> because we’ve decided it’s important.</p>\n<p>(This has the potential to piss off a lot of people, especially depending on the way you do it, but people should also do well to remember that “this is also how government works” - it gets to make decisions. Unless the Supreme Court decides not to let it, of course).</p>\n<p>Fine, fine, we’ll do it if we have to, say all these offices/departments/agencies (at, I hasten to add, every level of government).</p>\n<p>Do you have any money for us to do it?</p>\n<p>And then the federal government will look in its pockets and I suggest it look quite hard at what IRA money can be spent on and also <em>who’s wasting IRA money</em> (even though people will accuse this of being a waste of IRA money).</p>\n<p>You’d set up some limited scope trials.</p>\n<p>You’d do a super cheap, fast (3-6 months?) trial with stock Mastodon to discover the delta between Mastodon and “what needs to exist”, or put together the roadmap for your ActivityPub implementation.</p>\n<p>So, to recap:</p>\n<ol>\n<li>Change government policy to acknowledge the importance of independently owning and operating “social media accounts”</li>\n<li>Ensure those independently owned and operated accounts can interoperate to achieve reach</li>\n<li>Set up bureaucratic procedures to assure authenticity</li>\n<li>Fund implementation and development</li>\n</ol>\n<p>Ta-da. Easy. This also solves a tiny sliver of the trust and safety problem. Go us! Excellent stealing so far.</p>\n<blockquote>\n<p>I mean, just the other note I messed around with ChatGPT to generate some ActivityPub Activities around Schools and School District actors for school closures and what extended vocabulary you’d stick in the JSON-LD. Fun! A Thing!</p>\n</blockquote>\n<h3>Let’s make some money, and, let’s make some great apps</h3>\n<p>These two are related. You’re unlikely (not impossible!) to make some great apps without stealing a, uh, economically profitable and sustainable open platform economy.</p>\n<p>What do you need to make great apps?</p>\n<p>First, you need reach. Thanks, Meta! We’re excited about you delivering reach by supporting open standards and protocols <em>for whatever reason</em>. Excellent kickstart there.</p>\n<h3>A Sweaty Steve Ballmer, Yelling for All Eternity</h3>\n<p>I mean, not so much <em>developers</em> as <em>platforms</em> [sic].</p>\n<p>Second, you need to make it easy to build ActivityPub applications. In principle, this shouldn’t be hard, but... it is? Kind of?</p>\n<p>It’s not that pure ActivityPub implementations don’t exist -- they do! -- but they’re also what I might call immature. In Wardley Map terminology, I’m confident that ActivityPub implementations are in the Genesis stage.</p>\n<p>Also, what do I mean by ActivityPub implementation? There’s lots of bits!</p>\n<ul>\n<li>an ActivityPub server that implements server-to-server interaction, so the federation part but also “interesting things you might want a server to do because it makes sense to do them on a server”;</li>\n<li>an ActivityPub server that implements client-to-server interaction, the part of the open spec for receiving and sending ActivityPub activities to, uh, clients; and</li>\n<li>Libraries for Your Favorite Language to deal with (construct, parse, send, receive, act on, etc) ActivityPub actors, activities, and objects</li>\n</ul>\n<p>You might say “oh but Dan I definitely have libraries to do the latter already I simply import Mastodon in Python and I’m good”. To which I would say yes, <em>that’s a Library for interacting with Mastodon</em>, i.e. Mastodon’s particular subset and extensions to ActivityPub that use ActivityPub as one of the components of a Free and Open Social Network Product.</p>\n<p>What I think is <em>least</em> interesting thing ActivityPub is the social network stuff.</p>\n<p>What I think is the <em>most</em> interesting stuff about ActivityPub is that it’s an open protocol for sending messages around, and that one of the largest internet companies in the world says it’s going to adopt it, in some fashion.</p>\n<p>“Sending messages around” was one of the things Twitter tried out when Twitter had no idea what it was and when Twitter’s API strategy was different.</p>\n<p>(Arguably Twitter still does not know what it is, so perhaps the problem is more of a Twitter-in-itself problem, rather than a problem of whomever is holding the bag of Tweets at the time)</p>\n<p>Twitter for “sending messages around” was a great time. Things would Tweet, like bridges and lamp posts and, uh, other things. There was a lot of whimsy. Those Tweets were all human-readable, though. Thing is, Twitter was a private platform and its usefulness and reliability as a messaging bus was instantly demonstrated when it had a shift in strategy and suddenly... didn’t do those things anymore.</p>\n<p>But.</p>\n<p>An open protocol for sending messages around would certainly be... interesting. It would also form a sort of backbone for notifications in general.</p>\n<p>Here are some terrible, geeky, stereotypical, non-normie examples of things that could be followed and could send messages that don’t have mass appeal like “sports”:</p>\n<ul>\n<li>buses or public infrastructure transit, like a bus or bus stop that sends you a message when it’s 5 minutes away from your stop</li>\n<li>“legacy media” like, uh, that “radio program” or “broadcast television program” you like, which could send you a message when, uh, it’s broadcast</li>\n<li>every single internet of things device that suddenly has slightly more of a use case, like when there’s a stupendous forest fire and you can’t go outside and you’re like to know the AQI from a sensor nearby</li>\n<li>Industrial Internet of Things that, I suspect, doesn’t have any open protocols, like agricultural stuff, because everyone’s incentivized toward their Platform Silo, like John Deere</li>\n</ul>\n<p>But. The general principle here is that if you’re reading this, you’re probably already persuaded that it would be <em>good</em> to have a robust, open protocol for sending messages that anyone could take advantage of. (Sure, a side-effect is that suddenly <em>every</em> app can receive messages.)</p>\n<p>There’s been bits of playing around the edges here. Terence Eden, in his prolific way, hacked up a Foursquare-type checkin demo over the past week<sup class=\"footnote-ref\"><a href=\"#fn10\" id=\"fnref10\">[10]</a></sup>. The thing is, Terence -- I think -- needed an ActivityPub (not Mastodon!) server for this, because he’s using other parts of the ActivityPub spec for Objects and Activities that Mastodon doesn’t use, <em>because Mastodon is a Twitter-clone free and open social network product</em>.</p>\n<p>It’s more like that having an open messaging protocol would be an enabling technology -- as in one that would enable sustainable businesses, new applications, and so on. The crucial thing here is that it would be <em>open</em>.</p>\n<p>Yes, this is like XMPP. Yes, we’ve tried this before. But as I get older, I keep wondering if there were a lot of times when, well, the timing wasn’t right. When the attempt was just too early, but the potential was clear. Maybe it’s worth trying again?</p>\n<p>Here are some things that I’d like to try, just as proofs-of-concept. Or, things that I’m in the middle of trying:</p>\n<ul>\n<li>A Home Assistant to ActivityPub bridge, so all the Home Assistant nerds can experiment with sending device messages out into the fediverse [sic] and what sort of vocabulary would be needed (and just sending includes a whole minefield of security and safety considerations)</li>\n<li>A GTFS Realtime<sup class=\"footnote-ref\"><a href=\"#fn11\" id=\"fnref11\">[11]</a></sup> to ActivityPub bridge, for the above mentioned Trope-y Bus Messaging.</li>\n</ul>\n<p>You may be thinking to yourself: but Dan, there exists at least one open messaging standard and it’s used <em>a lot</em> and it’s called XMPP<sup class=\"footnote-ref\"><a href=\"#fn12\" id=\"fnref12\">[12]</a></sup>. You may also be thinking that there’s another web3 messaging protocol, and <em>that one</em> is called XMTP<sup class=\"footnote-ref\"><a href=\"#fn13\" id=\"fnref13\">[13]</a></sup>. And you would be right that these are both messaging networks that exist, that the former is definitely used <em>a lot</em>, and that while XMTP certainly looks very shiny, it’s unlikely it’s used significantly more than ActivityPub, which is to say... not a lot.</p>\n<h3>Dan, this is a lot. A really, really lot.</h3>\n<p>Yes. This is a long and involved heist. There’s even a bit more to cover, and it’s already over 3,500 words long. So what I’m going to do is to stop and take a deep breath and come back to it in the next episode. Which will also give me an opportunity to do some re-organizing and, honestly, editing.</p>\n<p>Hopefully this isn’t so much a head-trauma inducing stop as a “to be continued”.</p>\n<hr />\n<p>Anyway, how are you doing? You good? Terrible? Just existing?</p>\n<hr />\n<p>Best,</p>\n<p>Dan</p>\n<hr />\n<h2>How you can support Things That Caught My Attention</h2>\n<p>Things That Caught My Attention is a free newsletter, and if you like it and find it useful, please [consider becoming a paid supporter]({{ upgrade_url }}).</p>\n<h3>Let my boss pay!</h3>\n<p>Do you have an expense account or a training/research materials budget? Let your boss pay, at <a href=\"https://buy.stripe.com/fZe28qbFOazZ4M04gh\">$25/month, or $270/year</a>, <a href=\"https://buy.stripe.com/cN200i8tCgYn4M0eUW\">$35/month, or $380/year</a>, or <a href=\"https://buy.stripe.com/bIYcN4cJSgYnbao9AD\">$50/month, or $500/year</a>.</p>\n<p>Paid supporters get a free copy of <a href=\"https://store.verylittlegravitas.com/l/ThingsVol1\">Things That Caught My Attention, Volume 1</a>, collecting the best essays from the first 50 episodes, and <a href=\"https://verylittlegravitas.gumroad.com/l/ThingsVol1/subscriber\">free subscribers get a 20% discount</a>.</p>\n<hr class=\"footnotes-sep\" />\n<section class=\"footnotes\">\n<ol class=\"footnotes-list\">\n<li id=\"fn1\" class=\"footnote-item\"><p><a href=\"https://leverage.fandom.com/wiki/Let's_Go_Steal...\">Let's Go Steal... | Leverage Wiki | Fandom</a> (<a href=\"http://archive.is/latest/https://leverage.fandom.com/wiki/Let's_Go_Steal...\">archive.is</a>) <a href=\"#fnref1\" class=\"footnote-backref\">↩︎</a></p>\n</li>\n<li id=\"fn2\" class=\"footnote-item\"><p><a href=\"https://newsletter.danhon.com/archive/s13e17-a-proposal-for-news-organization-mastodon/\">s13e17: A Proposal for News Organization Mastodon Servers and More</a> (<a href=\"http://archive.is/latest/https://newsletter.danhon.com/archive/s13e17-a-proposal-for-news-organization-mastodon/\">archive.is</a>), me, 28 October, 2022 <a href=\"#fnref2\" class=\"footnote-backref\">↩︎</a></p>\n</li>\n<li id=\"fn3\" class=\"footnote-item\"><p><a href=\"https://startrek.website/\">Star Trek: Website - The new home of r/StarTrek, r/DaystromInstitute, and <em>sigh</em> ...r/Risa</a> (<a href=\"http://archive.is/latest/https://startrek.website/\">archive.is</a>) <a href=\"#fnref3\" class=\"footnote-backref\">↩︎</a></p>\n</li>\n<li id=\"fn4\" class=\"footnote-item\"><p><a href=\"https://www.w3.org/TR/activitypub/\">ActivityPub</a> (<a href=\"http://archive.is/latest/https://www.w3.org/TR/activitypub/\">archive.is</a>) <a href=\"#fnref4\" class=\"footnote-backref\">↩︎</a></p>\n</li>\n<li id=\"fn5\" class=\"footnote-item\"><p><a href=\"https://www.w3.org/TR/activitystreams-core/\">Activity Streams 2.0</a> (<a href=\"http://archive.is/latest/https://www.w3.org/TR/activitystreams-core/\">archive.is</a>) <a href=\"#fnref5\" class=\"footnote-backref\">↩︎</a></p>\n</li>\n<li id=\"fn6\" class=\"footnote-item\"><p><a href=\"https://www.w3.org/TR/activitystreams-vocabulary/\">Activity Vocabulary</a> (<a href=\"http://archive.is/latest/https://www.w3.org/TR/activitystreams-vocabulary/\">archive.is</a>) <a href=\"#fnref6\" class=\"footnote-backref\">↩︎</a></p>\n</li>\n<li id=\"fn7\" class=\"footnote-item\"><p><a href=\"https://tinysubversions.com/notes/reading-activitypub/\">reading-activitypub</a> (<a href=\"http://archive.is/latest/https://tinysubversions.com/notes/reading-activitypub/\">archive.is</a>) <a href=\"#fnref7\" class=\"footnote-backref\">↩︎</a></p>\n</li>\n<li id=\"fn8\" class=\"footnote-item\"><p><a href=\"http://plasticbag.org/archives/2024/01/how-threads-will-integrate-with-the-fediverse/\">How Threads will integrate with the Fediverse – plasticbag.org</a> (<a href=\"http://archive.is/latest/http://plasticbag.org/archives/2024/01/how-threads-will-integrate-with-the-fediverse/\">archive.is</a>) <a href=\"#fnref8\" class=\"footnote-backref\">↩︎</a></p>\n</li>\n<li id=\"fn9\" class=\"footnote-item\"><p><a href=\"https://mastodon-analytics.com/\">Mastodon Analytics - How many users uses Mastodon?</a> (<a href=\"http://archive.is/latest/https://mastodon-analytics.com/\">archive.is</a>) <a href=\"#fnref9\" class=\"footnote-backref\">↩︎</a></p>\n</li>\n<li id=\"fn10\" class=\"footnote-item\"><p><a href=\"https://mastodon.social/@Edent/111845076721952945#.\">Terence Eden: &quot;I've built an ersatz FourSquar…&quot; - Mastodon</a> (<a href=\"http://archive.is/latest/https://mastodon.social/@Edent/111845076721952945#.\">archive.is</a>) <a href=\"#fnref10\" class=\"footnote-backref\">↩︎</a></p>\n</li>\n<li id=\"fn11\" class=\"footnote-item\"><p><a href=\"https://developers.google.com/transit/gtfs-realtime\">GTFS Realtime Overview  |  Realtime Transit  |  Google for Developers</a> (<a href=\"http://archive.is/latest/https://developers.google.com/transit/gtfs-realtime\">archive.is</a>) <a href=\"#fnref11\" class=\"footnote-backref\">↩︎</a></p>\n</li>\n<li id=\"fn12\" class=\"footnote-item\"><p><a href=\"https://xmpp.org/\">XMPP | The universal messaging standard</a> (<a href=\"http://archive.is/latest/https://xmpp.org/\">archive.is</a>) <a href=\"#fnref12\" class=\"footnote-backref\">↩︎</a></p>\n</li>\n<li id=\"fn13\" class=\"footnote-item\"><p><a href=\"https://xmtp.org/\">XMTP: The web3 messaging network</a> (<a href=\"http://archive.is/latest/https://xmtp.org/\">archive.is</a>) <a href=\"#fnref13\" class=\"footnote-backref\">↩︎</a></p>\n</li>\n</ol>\n</section>\n","body_text":"0.0 Context Setting\n\nIt’s Friday, 2 February 2024 in Portland, Oregon. It’s not raining, and I’ve just finished today’s Hallway Track.\n\nOf which...\n\n0.1 Hallway Track News\n\nHallway Track 008: Infrastructure and Systems\nis on Thursday, 8 February, at 11am Pacific, 2pm Eastern, and 7pm London.\n\nOur guests will be:\n\nDeb Chachra\n, engineering professor and the author of How Infrastructure Works [\nUS\n/\nUK\n]. She speaks, writes, and consults widely at the intersections of design, technology, culture and education; and\n\nGeorgina Voss\n, artist, writer, and educator, author of\nSystems Ultra: Making Sense of Technology in a Complex World\n; and co-founder of studios including\nStrange Telemetry\nand\nSupra Systems Studio\n.\n\nHere’s the blurb:\n\nWhile Twitter continues to implode, Bluesky and Mastodon are busy carving out their niches and Meta storms ahead with Threads, let’s talk about ways people might improve their experience on social networks, starting with blocking. We’ll talk about things like:\n\nwhat we can learn from fantastic products like Block Party (RIP);\n\nhow blocking is or isn’t used as a content moderation signal in various social platforms’ recommendation algorithms;\n\nwhere blocking should be used as a content moderation signal to prevent post or account recommendation;\n\nare people actually using the block function? How much? And how or why might they use it more?\n\nreasons why platforms might have to hide or de-emphasise blocking;\n\nexactly how bad would it be (very bad) to gamify and incentivize blocking?\n\nhow these topics might tie into the idea of a marketplace of content moderation providers.\n\nWhat’s Hallway Track, if you’ve forgotten or I never told you?\n\nHallway Track is a series of free, ad-hoc gatherings, where we pretend to be in the hallway chatting with each other after a great conference session. It’s for small groups of only 25 people so it’s not too big people can’t talk and not too small there’s dead air; they run for 90 minutes; they’re not recorded, to encourage free conversation.\n\nRegister for Hallway Track 008: Infrastructure and Systems\nand find out more.\n\n1.0 Some Things That Caught My Attention\n\n1.1 The Great Social Network Heist\n\nLet’s go steal an open social network\n[1]\n.\n\nSmash cut to flashback\n\nI’ve been wrong a lot.\n\nI’ve written before about Mastodon and why news organizations should have their own Mastodon instances\n[2]\n.\n\nOr rather, in a more self-serving way, I think I’ve been wrong-but-inaccurate before, and that there’s importance in details. What I\nactually\nsaid was:\n\nThe first news organization to stand up a Mastodon / activitypub server at, for example, follow.washingtonpost.com gets a medal\n\nI’ve been thinking a lot about Mastodon over the last year-and-a-bit, which is to say, less than other people have been thinking about it. But, predictably,\nI have opinions\n, and if you’re reading this newsletter, you have, for some reason, decided that you would like to know what they are.\n\nMastodon isn’t great, actually\n\nNo, really, it’s not. But hear me out, before you well-actually me to death.\n\nActivityPub is the thing that’s great.\n\nYes, I am now one of those people who’s all in on\nactually, it’s ActivityPub/Mastodon\n.\n\nMastodon, which is a sort of agglomeration of protocols, extensions, applications, APIs, and clients, is the least-bad, most-successful application running on the ActivityPub platform. Mastodon is an application-that’s-a-social-network.\n\nThis is probably going to sound like I’m shitting on Mastodon, but... I am not? Because I want to emphasize that it’s ActivityPub’s killer app.\n\nI just think Mastodon-as-the-killer-app is showing signs of finding a niche and filling it, and not particularly growing.\n\nSome problems with Mastodon:\n\nIf I want to offer a managed, hosted Mastodon service, phooey is it difficult. Mastodon doesn’t support multi-homing, so you can’t use one instance of the application to serve multiple domains.\n\nIt is... a wildly successful hobby project for hobbyists. Imagine you’re (horrors) a Brand, or you’re an Institution and you want to be “on Mastodon”. It isn’t that customizable without hacking deep into it. By customizable, I mean “recognizably branded”, beyond “here, go nuts with the CSS”. A comparison here would be “what would Mastodon need to be like to be like Wordpress, and support a Wordpress-like stupendous ecosystem”.\n\nThe pace of change is... well, change is happening. Search exists now! But I’d argue (and others have) that Mastodon hasn’t appreciably\nchanged\nin the last 12 months, whereas the company that’s stupendously resourced and famous for moving fast and breaking things has, undeniably, moved fast with Threads.\n\n(Instead, there’s been quite a bit of innovation [sic] on the client side.)\n\nOne last thing: people have\nissues\nwith its architecture and performance.\n\nWell if you’re such a fan of ActivityPub then name five ActivityPub applications!\n\nOkay, here you go. I won’t include Mastodon.\n\nBookwyrm\n, a not-goodreads;\n\nPixelfed\n, a not-Instagram;\n\nLemmy\n, a not-Reddit;\n\nOtter\n, a not-Pinterest;\n\nPeerTube\n, a not-YouTube\n\nThis is anecdata: I don’t use any of these apart from BookWyrm. I don’t use BookWyrm because of any of its federated-ness, I use it because it’s\nnot goodreads\n.\n\nI joined\none\nLemmy instance and you will not be surprised to find out what it is\n[3]\n.\n\nThe ActivityPub federated-ness of all of these applications doesn’t matter to me. Theoretically actions and posts can go from one place to another: I don’t see them. Nobody, I think, follows my BookWyrm account “from Mastodon”. Technically you can follow Mastodon bots in Lemmy but the one time I saw people tried to do that, it got super complicated.\n\nWhat, I thought you said ActivityPub was good?\n\nHahahaha. ActivityPub is\ngood\nbecause in principle an open protocol is better than a closed protocol.\n\nActually “ActivityPub” is a set of three specs: ActivityPub\n[4]\n, Activity Streams 2.0\n[5]\n, and Activity Vocabulary\n[6]\n. If you really want to understand the entire thing, you should read Darius Kazemi’s guide to reading the specs\n[7]\n, because Kazemi writes clearly, understands his audience, and is annoyingly prolific.\n\nActivityPub lets applications send messages to each other about things that happen, but no major applications or services are incentivized to use it, because it makes more sense (and economic sense, in the absence of regulation) for them to have lots of control.\n\nYou may wonder why this is a good thing and why you’d possibly care about things that happen in one place showing up in other places. That is a\nvery good question\n.\n\nOne\nof the reasons this is a good thing is because it would let lots of people make even more things, things we haven’t even imagined yet. This is not, I appreciate, and one that depends on someone’s ability to inspire and persuade you through rhetoric.\n\nOK, but\nif\nActivityPub is good, how do we get from here to there?\n\nGood question.\n\nAlso, you promised me a heist\n\nHere’s the heist bit.\n\nYou want to steal an open social network?\n\nTo steal an open social network,\nat the very least\n, you’d need:\n\nreach: lots and lots of people using it\n\na sustainable software ecosystem\n\na way for people to make money\n\napplications that are better than alternatives\n\ntrust and safety: verification, content moderation, and so on\n\nThing is, you can’t grab all of these at the same time. Or, you need to grab all of these, in different ways and stages, at the same time. It’s quite complicated!\n\nYou’d also need to be patient. This is something like a 10-year heist.\n\nBut hey, you met me here at this cafe and I’ve got this napkin and this pen. Or this iPad and Concepts.\n\nBefore we start on this job, you need to accept that open protocols, standards, and interoperability are good. There are lots of arguments for this. I am not going to persuade you about this here.\n\nWe’re going to need reach\n\nReach is, weirdly, potentially one of the easiest things to steal in this heist, if only because weirdly, for\nreasons\n, a super big social network with hundreds of millions of users decided to integrate with the network of ActivityPub protocol applications, irritatingly in my mind known as\nthe Fediverse\n.\n\nOr: Meta has a plan to integrate Threads, a social network platform with hundreds of millions of users, with, practically speaking, “Mastodon”\n[8]\n, a network with optimistically 2 million daily active users\n[9]\n.\n\nSo. You need to make sure Meta follows through on integrating with the Fediverse. You need to understand the incentives and disincentives and tweak them to get Meta to do what you want.\n\nWe need to steal some software\n\nFor us to pull this off at the “posting message social network” level, we’re going to need something better than Mastodon for a bunch of the reasons I outlined above. Just go with it, I could spend hours (and have) talking about this.\n\nEven better, we’d want\nmultiple\nthings better than Mastodon.\n\nMaking (and sustaining) software costs money, though. You need someone or something to stump up that money. Facebook has a bunch of money, but they’re not ever going to open source any implementation because there’s no way that ever makes sense.\n\nGoing further, if you\nreally\nbelieve open protocols are\nsocially\nimportant in terms of assuring people the option of ownership and control, then you might end up thinking that perhaps the costs of developing and sustaining such software could be socialized.\n\nHuh.\n\nSo you might think, okay, maybe you could persuade a bit of government to fund developing this software?\n\nBut you talk to a bunch of people in government and they’ll say “yes, it makes\nsense\nfor us to have more control and ownership over social media accounts, and we have direct examples of why thanks to Twitter’s implosion, but what you’re saying costs money, and the software is terrible”.\n\nNo particular government department, office, or agency is going to do that,\nespecially\nnow that they can just get an account on Threads and start posting.\n\nWhat does Threads get a government account? Reach and verification. Bluecheck and people to talk to and replies and all that good stuff.\nFor free\n, too.\n\nSo you’d think okay fine at a high level, I need to solve for reach from an ActivityPub account, and also verification/trust, and also make it cost no money.\n\nAssume Meta follows through and your ActivityPub account will federate through and Threads users can follow it. Reach is done.\n\nVerification/trust and bluechecks, then. Now I’m\nguessing\nhere, but government organizations can already get bluechecked on Facebook, and at a high level I reckon the process is a bit like “send us an email from a .gov domain, fill out this form and give us a signed letter on your letterhead and fax it to us, and we’ll go check your department and title actually exists”. Whatever, the important thing is the bureaucratic process exists.\n\nSo you go over to Meta and you say:\nas the government\n, I want you, Meta, to federate out bluecheck verification to off-network accounts,\nso that I can assure users of my identity and provenance while retaining control of my account\n.\n\nAnd Meta will say no, and then you will quietly tell them to say yes because, well, socio-political-governance reasons.\n\nMeta might say “ahaha no, are you kidding, we’d need to figure out how to extend verification from a technical perspective” and then you’d say\nactually no\n, because a) we just delegate part of that trust process to “there’s a process for getting a .gov domain”, b) “you already have a bureaucratic internal process for verifying government accounts, so just also use that”, and c) if that bureaucratic process is good enough for you, then you can also design a bureaucratic process that’s good enough for this, we can do it together if you want.\n\nI mean hell, people just send fake faxes to request for information pretending to be law enforcement.\n\nOkay. You’ve just gotten the verification part.\n\nNow you need it to cost no money for all these government offices and agencies to implement, because siiiiigh yet another managed service that, hopefully, isn’t Mastodon because Mastodon is shit to manage.\n\nI mean,\ndo you\nneed it to cost no money?\n\nWhat you need is for it to not cost\nany more money\n.\n\nBecause what you\ncould\ndo is tweak government to say: yeah, so you, government office/department/agency, normally you wouldn’t do this because of money and yadda yadda and it’s more work.\n\nBut we’re going to just\ntell you to do it\nbecause we’ve decided it’s important.\n\n(This has the potential to piss off a lot of people, especially depending on the way you do it, but people should also do well to remember that “this is also how government works” - it gets to make decisions. Unless the Supreme Court decides not to let it, of course).\n\nFine, fine, we’ll do it if we have to, say all these offices/departments/agencies (at, I hasten to add, every level of government).\n\nDo you have any money for us to do it?\n\nAnd then the federal government will look in its pockets and I suggest it look quite hard at what IRA money can be spent on and also\nwho’s wasting IRA money\n(even though people will accuse this of being a waste of IRA money).\n\nYou’d set up some limited scope trials.\n\nYou’d do a super cheap, fast (3-6 months?) trial with stock Mastodon to discover the delta between Mastodon and “what needs to exist”, or put together the roadmap for your ActivityPub implementation.\n\nSo, to recap:\n\nChange government policy to acknowledge the importance of independently owning and operating “social media accounts”\n\nEnsure those independently owned and operated accounts can interoperate to achieve reach\n\nSet up bureaucratic procedures to assure authenticity\n\nFund implementation and development\n\nTa-da. Easy. This also solves a tiny sliver of the trust and safety problem. Go us! Excellent stealing so far.\n\nI mean, just the other note I messed around with ChatGPT to generate some ActivityPub Activities around Schools and School District actors for school closures and what extended vocabulary you’d stick in the JSON-LD. Fun! A Thing!\n\nLet’s make some money, and, let’s make some great apps\n\nThese two are related. You’re unlikely (not impossible!) to make some great apps without stealing a, uh, economically profitable and sustainable open platform economy.\n\nWhat do you need to make great apps?\n\nFirst, you need reach. Thanks, Meta! We’re excited about you delivering reach by supporting open standards and protocols\nfor whatever reason\n. Excellent kickstart there.\n\nA Sweaty Steve Ballmer, Yelling for All Eternity\n\nI mean, not so much\ndevelopers\nas\nplatforms\n[sic].\n\nSecond, you need to make it easy to build ActivityPub applications. In principle, this shouldn’t be hard, but... it is? Kind of?\n\nIt’s not that pure ActivityPub implementations don’t exist -- they do! -- but they’re also what I might call immature. In Wardley Map terminology, I’m confident that ActivityPub implementations are in the Genesis stage.\n\nAlso, what do I mean by ActivityPub implementation? There’s lots of bits!\n\nan ActivityPub server that implements server-to-server interaction, so the federation part but also “interesting things you might want a server to do because it makes sense to do them on a server”;\n\nan ActivityPub server that implements client-to-server interaction, the part of the open spec for receiving and sending ActivityPub activities to, uh, clients; and\n\nLibraries for Your Favorite Language to deal with (construct, parse, send, receive, act on, etc) ActivityPub actors, activities, and objects\n\nYou might say “oh but Dan I definitely have libraries to do the latter already I simply import Mastodon in Python and I’m good”. To which I would say yes,\nthat’s a Library for interacting with Mastodon\n, i.e. Mastodon’s particular subset and extensions to ActivityPub that use ActivityPub as one of the components of a Free and Open Social Network Product.\n\nWhat I think is\nleast\ninteresting thing ActivityPub is the social network stuff.\n\nWhat I think is the\nmost\ninteresting stuff about ActivityPub is that it’s an open protocol for sending messages around, and that one of the largest internet companies in the world says it’s going to adopt it, in some fashion.\n\n“Sending messages around” was one of the things Twitter tried out when Twitter had no idea what it was and when Twitter’s API strategy was different.\n\n(Arguably Twitter still does not know what it is, so perhaps the problem is more of a Twitter-in-itself problem, rather than a problem of whomever is holding the bag of Tweets at the time)\n\nTwitter for “sending messages around” was a great time. Things would Tweet, like bridges and lamp posts and, uh, other things. There was a lot of whimsy. Those Tweets were all human-readable, though. Thing is, Twitter was a private platform and its usefulness and reliability as a messaging bus was instantly demonstrated when it had a shift in strategy and suddenly... didn’t do those things anymore.\n\nBut.\n\nAn open protocol for sending messages around would certainly be... interesting. It would also form a sort of backbone for notifications in general.\n\nHere are some terrible, geeky, stereotypical, non-normie examples of things that could be followed and could send messages that don’t have mass appeal like “sports”:\n\nbuses or public infrastructure transit, like a bus or bus stop that sends you a message when it’s 5 minutes away from your stop\n\n“legacy media” like, uh, that “radio program” or “broadcast television program” you like, which could send you a message when, uh, it’s broadcast\n\nevery single internet of things device that suddenly has slightly more of a use case, like when there’s a stupendous forest fire and you can’t go outside and you’re like to know the AQI from a sensor nearby\n\nIndustrial Internet of Things that, I suspect, doesn’t have any open protocols, like agricultural stuff, because everyone’s incentivized toward their Platform Silo, like John Deere\n\nBut. The general principle here is that if you’re reading this, you’re probably already persuaded that it would be\ngood\nto have a robust, open protocol for sending messages that anyone could take advantage of. (Sure, a side-effect is that suddenly\nevery\napp can receive messages.)\n\nThere’s been bits of playing around the edges here. Terence Eden, in his prolific way, hacked up a Foursquare-type checkin demo over the past week\n[10]\n. The thing is, Terence -- I think -- needed an ActivityPub (not Mastodon!) server for this, because he’s using other parts of the ActivityPub spec for Objects and Activities that Mastodon doesn’t use,\nbecause Mastodon is a Twitter-clone free and open social network product\n.\n\nIt’s more like that having an open messaging protocol would be an enabling technology -- as in one that would enable sustainable businesses, new applications, and so on. The crucial thing here is that it would be\nopen\n.\n\nYes, this is like XMPP. Yes, we’ve tried this before. But as I get older, I keep wondering if there were a lot of times when, well, the timing wasn’t right. When the attempt was just too early, but the potential was clear. Maybe it’s worth trying again?\n\nHere are some things that I’d like to try, just as proofs-of-concept. Or, things that I’m in the middle of trying:\n\nA Home Assistant to ActivityPub bridge, so all the Home Assistant nerds can experiment with sending device messages out into the fediverse [sic] and what sort of vocabulary would be needed (and just sending includes a whole minefield of security and safety considerations)\n\nA GTFS Realtime\n[11]\nto ActivityPub bridge, for the above mentioned Trope-y Bus Messaging.\n\nYou may be thinking to yourself: but Dan, there exists at least one open messaging standard and it’s used\na lot\nand it’s called XMPP\n[12]\n. You may also be thinking that there’s another web3 messaging protocol, and\nthat one\nis called XMTP\n[13]\n. And you would be right that these are both messaging networks that exist, that the former is definitely used\na lot\n, and that while XMTP certainly looks very shiny, it’s unlikely it’s used significantly more than ActivityPub, which is to say... not a lot.\n\nDan, this is a lot. A really, really lot.\n\nYes. This is a long and involved heist. There’s even a bit more to cover, and it’s already over 3,500 words long. So what I’m going to do is to stop and take a deep breath and come back to it in the next episode. Which will also give me an opportunity to do some re-organizing and, honestly, editing.\n\nHopefully this isn’t so much a head-trauma inducing stop as a “to be continued”.\n\nAnyway, how are you doing? You good? Terrible? Just existing?\n\nBest,\n\nDan\n\nHow you can support Things That Caught My Attention\n\nThings That Caught My Attention is a free newsletter, and if you like it and find it useful, please [consider becoming a paid supporter]({{ upgrade_url }}).\n\nLet my boss pay!\n\nDo you have an expense account or a training/research materials budget? Let your boss pay, at\n$25/month, or $270/year\n,\n$35/month, or $380/year\n, or\n$50/month, or $500/year\n.\n\nPaid supporters get a free copy of\nThings That Caught My Attention, Volume 1\n, collecting the best essays from the first 50 episodes, and\nfree subscribers get a 20% discount\n.\n\nLet's Go Steal... | Leverage Wiki | Fandom\n(\narchive.is\n)\n↩︎\n\ns13e17: A Proposal for News Organization Mastodon Servers and More\n(\narchive.is\n), me, 28 October, 2022\n↩︎\n\nStar Trek: Website - The new home of r/StarTrek, r/DaystromInstitute, and\nsigh\n...r/Risa\n(\narchive.is\n)\n↩︎\n\nActivityPub\n(\narchive.is\n)\n↩︎\n\nActivity Streams 2.0\n(\narchive.is\n)\n↩︎\n\nActivity Vocabulary\n(\narchive.is\n)\n↩︎\n\nreading-activitypub\n(\narchive.is\n)\n↩︎\n\nHow Threads will integrate with the Fediverse – plasticbag.org\n(\narchive.is\n)\n↩︎\n\nMastodon Analytics - How many users uses Mastodon?\n(\narchive.is\n)\n↩︎\n\nTerence Eden: \"I've built an ersatz FourSquar…\" - Mastodon\n(\narchive.is\n)\n↩︎\n\nGTFS Realtime Overview  |  Realtime Transit  |  Google for Developers\n(\narchive.is\n)\n↩︎\n\nXMPP | The universal messaging standard\n(\narchive.is\n)\n↩︎\n\nXMTP: The web3 messaging network\n(\narchive.is\n)\n↩︎","raw_format":"markdown","source":"api","summary":"This issue examines the promise and limitations of ActivityPub-based social networks in the wake of Twitter's decline and the rise of alternatives like Bluesky and Threads. The author argues that while ActivityPub itself is a valuable open protocol, Mastodon—its most successful application to date—is finding a modest niche rather than capturing mainstream adoption, hampered by technical limitations like lack of multi-homing support and difficulty customizing for institutional users. The broader ecosystem of ActivityPub applications (BookWyrm, Pixelfed, Lemmy, PeerTube, Otter) exists largely in isolation rather than as a truly integrated federated experience, suggesting the protocol's theoretical promise of interoperability hasn't yet translated into practical user benefits that drive engagement.","reading_minutes":18,"links":[{"url":"http://debcha.org/","normalized_url":"http://debcha.org/","domain":"debcha.org","anchor_text":"Deb Chachra","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"https://www.penguinrandomhouse.com/books/612711/how-infrastructure-works-by-deb-chachra/","normalized_url":"https://penguinrandomhouse.com/books/612711/how-infrastructure-works-by-deb-chachra","domain":"penguinrandomhouse.com","anchor_text":"US","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"https://www.penguin.co.uk/books/461276/how-infrastructure-works-by-chachra-deb/9781911709541","normalized_url":"https://penguin.co.uk/books/461276/how-infrastructure-works-by-chachra-deb/9781911709541","domain":"penguin.co.uk","anchor_text":"UK","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"https://gsvoss.com/","normalized_url":"https://gsvoss.com/","domain":"gsvoss.com","anchor_text":"Georgina Voss","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"https://www.versobooks.com/products/991-systems-ultra","normalized_url":"https://versobooks.com/products/991-systems-ultra","domain":"versobooks.com","anchor_text":"Systems Ultra: Making Sense of Technology in a Complex World","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"https://www.strangetelemetry.com/","normalized_url":"https://strangetelemetry.com/","domain":"strangetelemetry.com","anchor_text":"Strange Telemetry","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"https://www.suprasystems.studio/","normalized_url":"https://suprasystems.studio/","domain":"suprasystems.studio","anchor_text":"Supra Systems Studio","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"https://www.verylittlegravitas.com/hallwaytrack","normalized_url":"https://verylittlegravitas.com/hallwaytrack","domain":"verylittlegravitas.com","anchor_text":"Register for Hallway Track 008: Infrastructure and Systems","is_archive":0,"archive_url":null,"archive_service":null,"category":"self"},{"url":"https://bookwyrm.social","normalized_url":"https://bookwyrm.social/","domain":"bookwyrm.social","anchor_text":"Bookwyrm","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"https://pixelfed.org","normalized_url":"https://pixelfed.org/","domain":"pixelfed.org","anchor_text":"Pixelfed","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"https://join-lemmy.org","normalized_url":"https://join-lemmy.org/","domain":"join-lemmy.org","anchor_text":"Lemmy","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"https://github.com/mrmartineau/Otter","normalized_url":"https://github.com/mrmartineau/Otter","domain":"github.com","anchor_text":"Otter","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"https://joinpeertube.org","normalized_url":"https://joinpeertube.org/","domain":"joinpeertube.org","anchor_text":"PeerTube","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"https://buy.stripe.com/fZe28qbFOazZ4M04gh","normalized_url":"https://buy.stripe.com/fZe28qbFOazZ4M04gh","domain":"stripe.com","anchor_text":"$25/month, or $270/year","is_archive":0,"archive_url":null,"archive_service":null,"category":"plumbing"},{"url":"https://buy.stripe.com/cN200i8tCgYn4M0eUW","normalized_url":"https://buy.stripe.com/cN200i8tCgYn4M0eUW","domain":"stripe.com","anchor_text":"$35/month, or $380/year","is_archive":0,"archive_url":null,"archive_service":null,"category":"plumbing"},{"url":"https://buy.stripe.com/bIYcN4cJSgYnbao9AD","normalized_url":"https://buy.stripe.com/bIYcN4cJSgYnbao9AD","domain":"stripe.com","anchor_text":"$50/month, or $500/year","is_archive":0,"archive_url":null,"archive_service":null,"category":"plumbing"},{"url":"https://store.verylittlegravitas.com/l/ThingsVol1","normalized_url":"https://store.verylittlegravitas.com/l/ThingsVol1","domain":"verylittlegravitas.com","anchor_text":"Things That Caught My Attention, Volume 1","is_archive":0,"archive_url":null,"archive_service":null,"category":"self"},{"url":"https://verylittlegravitas.gumroad.com/l/ThingsVol1/subscriber","normalized_url":"https://verylittlegravitas.gumroad.com/l/ThingsVol1/subscriber","domain":"gumroad.com","anchor_text":"free subscribers get a 20% discount","is_archive":0,"archive_url":null,"archive_service":null,"category":"self"},{"url":"https://leverage.fandom.com/wiki/Let's_Go_Steal","normalized_url":"https://leverage.fandom.com/wiki/Let's_Go_Steal","domain":"fandom.com","anchor_text":"Let's Go Steal... | Leverage Wiki | Fandom","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"http://archive.is/latest/https://leverage.fandom.com/wiki/Let's_Go_Steal","normalized_url":"https://leverage.fandom.com/wiki/Let's_Go_Steal","domain":"fandom.com","anchor_text":"archive.is","is_archive":1,"archive_url":"http://archive.is/latest/https://leverage.fandom.com/wiki/Let's_Go_Steal","archive_service":"archive.is","category":"external"},{"url":"https://newsletter.danhon.com/archive/s13e17-a-proposal-for-news-organization-mastodon/","normalized_url":"https://newsletter.danhon.com/archive/s13e17-a-proposal-for-news-organization-mastodon","domain":"danhon.com","anchor_text":"s13e17: A Proposal for News Organization Mastodon Servers and More","is_archive":0,"archive_url":null,"archive_service":null,"category":"self"},{"url":"http://archive.is/latest/https://newsletter.danhon.com/archive/s13e17-a-proposal-for-news-organization-mastodon/","normalized_url":"https://newsletter.danhon.com/archive/s13e17-a-proposal-for-news-organization-mastodon","domain":"danhon.com","anchor_text":"archive.is","is_archive":1,"archive_url":"http://archive.is/latest/https://newsletter.danhon.com/archive/s13e17-a-proposal-for-news-organization-mastodon/","archive_service":"archive.is","category":"self"},{"url":"https://startrek.website/","normalized_url":"https://startrek.website/","domain":"startrek.website","anchor_text":"Star Trek: Website - The new home of r/StarTrek, r/DaystromInstitute, and sigh ...r/Risa","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"http://archive.is/latest/https://startrek.website/","normalized_url":"https://startrek.website/","domain":"startrek.website","anchor_text":"archive.is","is_archive":1,"archive_url":"http://archive.is/latest/https://startrek.website/","archive_service":"archive.is","category":"external"},{"url":"https://www.w3.org/TR/activitypub/","normalized_url":"https://w3.org/TR/activitypub","domain":"w3.org","anchor_text":"ActivityPub","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"http://archive.is/latest/https://www.w3.org/TR/activitypub/","normalized_url":"https://w3.org/TR/activitypub","domain":"w3.org","anchor_text":"archive.is","is_archive":1,"archive_url":"http://archive.is/latest/https://www.w3.org/TR/activitypub/","archive_service":"archive.is","category":"external"},{"url":"https://www.w3.org/TR/activitystreams-core/","normalized_url":"https://w3.org/TR/activitystreams-core","domain":"w3.org","anchor_text":"Activity Streams 2.0","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"http://archive.is/latest/https://www.w3.org/TR/activitystreams-core/","normalized_url":"https://w3.org/TR/activitystreams-core","domain":"w3.org","anchor_text":"archive.is","is_archive":1,"archive_url":"http://archive.is/latest/https://www.w3.org/TR/activitystreams-core/","archive_service":"archive.is","category":"external"},{"url":"https://www.w3.org/TR/activitystreams-vocabulary/","normalized_url":"https://w3.org/TR/activitystreams-vocabulary","domain":"w3.org","anchor_text":"Activity Vocabulary","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"http://archive.is/latest/https://www.w3.org/TR/activitystreams-vocabulary/","normalized_url":"https://w3.org/TR/activitystreams-vocabulary","domain":"w3.org","anchor_text":"archive.is","is_archive":1,"archive_url":"http://archive.is/latest/https://www.w3.org/TR/activitystreams-vocabulary/","archive_service":"archive.is","category":"external"},{"url":"https://tinysubversions.com/notes/reading-activitypub/","normalized_url":"https://tinysubversions.com/notes/reading-activitypub","domain":"tinysubversions.com","anchor_text":"reading-activitypub","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"http://archive.is/latest/https://tinysubversions.com/notes/reading-activitypub/","normalized_url":"https://tinysubversions.com/notes/reading-activitypub","domain":"tinysubversions.com","anchor_text":"archive.is","is_archive":1,"archive_url":"http://archive.is/latest/https://tinysubversions.com/notes/reading-activitypub/","archive_service":"archive.is","category":"external"},{"url":"http://plasticbag.org/archives/2024/01/how-threads-will-integrate-with-the-fediverse/","normalized_url":"http://plasticbag.org/archives/2024/01/how-threads-will-integrate-with-the-fediverse","domain":"plasticbag.org","anchor_text":"How Threads will integrate with the Fediverse – plasticbag.org","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"http://archive.is/latest/http://plasticbag.org/archives/2024/01/how-threads-will-integrate-with-the-fediverse/","normalized_url":"http://plasticbag.org/archives/2024/01/how-threads-will-integrate-with-the-fediverse","domain":"plasticbag.org","anchor_text":"archive.is","is_archive":1,"archive_url":"http://archive.is/latest/http://plasticbag.org/archives/2024/01/how-threads-will-integrate-with-the-fediverse/","archive_service":"archive.is","category":"external"},{"url":"https://mastodon-analytics.com/","normalized_url":"https://mastodon-analytics.com/","domain":"mastodon-analytics.com","anchor_text":"Mastodon Analytics - How many users uses Mastodon?","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"http://archive.is/latest/https://mastodon-analytics.com/","normalized_url":"https://mastodon-analytics.com/","domain":"mastodon-analytics.com","anchor_text":"archive.is","is_archive":1,"archive_url":"http://archive.is/latest/https://mastodon-analytics.com/","archive_service":"archive.is","category":"external"},{"url":"https://mastodon.social/@Edent/111845076721952945#","normalized_url":"https://mastodon.social/@Edent/111845076721952945","domain":"mastodon.social","anchor_text":"Terence Eden: \"I've built an ersatz FourSquar…\" - Mastodon","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"http://archive.is/latest/https://mastodon.social/@Edent/111845076721952945#","normalized_url":"https://mastodon.social/@Edent/111845076721952945","domain":"mastodon.social","anchor_text":"archive.is","is_archive":1,"archive_url":"http://archive.is/latest/https://mastodon.social/@Edent/111845076721952945#","archive_service":"archive.is","category":"external"},{"url":"https://developers.google.com/transit/gtfs-realtime","normalized_url":"https://developers.google.com/transit/gtfs-realtime","domain":"google.com","anchor_text":"GTFS Realtime Overview  |  Realtime Transit  |  Google for Developers","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"http://archive.is/latest/https://developers.google.com/transit/gtfs-realtime","normalized_url":"https://developers.google.com/transit/gtfs-realtime","domain":"google.com","anchor_text":"archive.is","is_archive":1,"archive_url":"http://archive.is/latest/https://developers.google.com/transit/gtfs-realtime","archive_service":"archive.is","category":"external"},{"url":"https://xmpp.org/","normalized_url":"https://xmpp.org/","domain":"xmpp.org","anchor_text":"XMPP | The universal messaging standard","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"http://archive.is/latest/https://xmpp.org/","normalized_url":"https://xmpp.org/","domain":"xmpp.org","anchor_text":"archive.is","is_archive":1,"archive_url":"http://archive.is/latest/https://xmpp.org/","archive_service":"archive.is","category":"external"},{"url":"https://xmtp.org/","normalized_url":"https://xmtp.org/","domain":"xmtp.org","anchor_text":"XMTP: The web3 messaging network","is_archive":0,"archive_url":null,"archive_service":null,"category":"external"},{"url":"http://archive.is/latest/https://xmtp.org/","normalized_url":"https://xmtp.org/","domain":"xmtp.org","anchor_text":"archive.is","is_archive":1,"archive_url":"http://archive.is/latest/https://xmtp.org/","archive_service":"archive.is","category":"external"}],"sections":[{"id":4231,"ord":0,"number":"0.0","heading":"Context Setting","level":1,"word_count":22},{"id":4232,"ord":1,"number":"0.1","heading":"Hallway Track News","level":2,"word_count":318},{"id":4233,"ord":2,"number":"1.0","heading":"Some Things That Caught My Attention","level":1,"word_count":6},{"id":4234,"ord":3,"number":"1.1","heading":"The Great Social Network Heist","level":1,"word_count":14},{"id":4235,"ord":4,"number":null,"heading":"Smash cut to flashback","level":2,"word_count":120},{"id":4236,"ord":5,"number":null,"heading":"Mastodon isn’t great, actually","level":2,"word_count":287},{"id":4237,"ord":6,"number":null,"heading":"Well if you’re such a fan of ActivityPub then name five ActivityPub applications!","level":2,"word_count":149},{"id":4238,"ord":7,"number":null,"heading":"What, I thought you said ActivityPub was good?","level":2,"word_count":199},{"id":4239,"ord":8,"number":null,"heading":"OK, but if ActivityPub is good, how do we get from here to there?","level":2,"word_count":16},{"id":4240,"ord":9,"number":null,"heading":"Also, you promised me a heist","level":2,"word_count":167},{"id":4241,"ord":10,"number":null,"heading":"We’re going to need reach","level":3,"word_count":124},{"id":4242,"ord":11,"number":null,"heading":"We need to steal some software","level":3,"word_count":934},{"id":4243,"ord":12,"number":null,"heading":"Let’s make some money, and, let’s make some great apps","level":3,"word_count":67},{"id":4244,"ord":13,"number":null,"heading":"A Sweaty Steve Ballmer, Yelling for All Eternity","level":3,"word_count":934},{"id":4245,"ord":14,"number":null,"heading":"Dan, this is a lot. A really, really lot.","level":3,"word_count":94},{"id":4246,"ord":15,"number":null,"heading":"How you can support Things That Caught My Attention","level":2,"word_count":35},{"id":4247,"ord":16,"number":null,"heading":"Let my boss pay!","level":3,"word_count":206}]}