We’re in a new golden age of decentralized versions of Twitter. Mastodon (an open source project built on the ActivityPub protocol), Bluesky (a company building the AT Protocol) and now Nostr (an open protocol project) are all attempting to fulfill the promise of Twitter in 2007, when it was erroneously called an open platform.
Intriguingly, each of these three projects is coming at the problem of social media from a slightly different angle. Add to the list Scuttlebutt, an open protocol that I profiled in 2021, and there are now multiple open protocols challenging the proprietary software of Elon Musk’s Twitter.
Because it’s probably the least familiar, let’s start with Nostr. In a recent interview, long-time social media developer Rabble (a.k.a. Evan Henshaw-Plath) explained that he has moved his focus from Scuttlebutt to the Nostr protocol. Rabble’s product was formerly a decentralized social network product called Planetary, which had been built on Scuttlebutt. But in March, Rabble announced a pivot to Nostr, along with a new product called Nos — a Nostr client app based on Planetary.
Rabble also commented on the differences between Nostr and Bluesky (which is basically a Twitter clone at this point). One of the appeals of Nostr, he said, is the flexibility to be able to create his own app. “Bluesky is real, but I don’t know if we’re gonna be able to make Bluesky flexible in the way that Nostr has all of these apps,” he said. “So, Scuttlebutt had all these crazy apps, and Nostr has all these crazy apps.”
“The servers in Bluesky are stronger and more opinionated in how they do it, to just do the needs of cloning Twitter,” he continued. “And so that’s going to make the building of all these other crazy apps, which is part of the fun of Nostr, really hard — but it might make the just straight Twitter social-like app easier.”
Nos, Rabble’s beta Nostr app.
Part of Rabble’s reluctance to embrace Bluesky (although he is by no means against the project) is that it isn’t yet as open as Nostr. The Bluesky protocol, AT Protocol, has been developed largely in-house so far, so external developers like himself have had limited say in its future direction. Also, the way Bluesky has been implemented so far has — perhaps by necessity — been less decentralized than Rabble would like. In particular, he points out that sign-in on Bluesky is not decentralized.
“It’s as if everybody in the network were using the same key, and then we just attach different identities to it,” he said, “and so that’s not a decentralized network.” He added that the company, Bluesky, promises in its terms of service that the key is “yours and you can move it to another server,” but he wants to see it before he believes it.
Bluesky for Devs
Bluesky, the product, is currently in private beta — just today, it broke the 100,000 user mark. However, more than half of that total have yet to post more than once (see image below), so the active community is more like 40-50,000.
Bluesky stats, 30 May 2023; via Jaz.
I am one of the privileged people currently on the service and, by current standards, I am pretty active there (54 posts at the time of writing). So far, Bluesky has reminded me a lot of early Twitter. The nascent community tries to have a fun vibe — “shitposting” is encouraged on Bluesky — which is a deliberate contrast to the more earnest Mastodon community. The user experience is also a lot more polished on Bluesky than on Mastodon, so the early indications are that it has a better chance of ultimately challenging Twitter, once Bluesky is opened to the public.
Not everyone is enamored of Bluesky, though. Jack Dorsey, who initiated the Bluesky project in late-2019 as a project within Twitter (it was later spun out as an independent company) has been critical of Bluesky this year. “Unfortunately they went a bit too hard on focusing on a Twitter product and not developer community,” he wrote on Nostr in April. Nostr has seemingly become Dorsey’s favored social media account.
The same day Dorsey made that comment, Bluesky (the company) published a blog post about the AT Protocol developer ecosystem. Bluesky CEO Jay Graber claimed that there are already “many projects building on the ‘firehose’ of Bluesky app data” and that its development philosophy is “to build on existing software stacks that make interoperability simple.” She pointed out that “the at proto ecosystem” uses IPFS dev tooling, the DID specification for the identity layer, and an API that is “well specified and is simply JSON over HTTP.”
A month later and there is now a healthy list of AT Protocol projects, which at first glance bears some similarity to the third-party projects built on top of the late-2000s Twitter API.
Bluesky in May 2023, while still in private beta.
This does sound promising, but as Rabble pointed out, the AT Protocol developer ecosystem is fairly tightly controlled by Bluesky at the present time. Although it is all open source (unlike Twitter, even in its early days), we don’t yet know what kind of centralized pressure Bluesky (the company) might exert in future.
Indeed, one of the criticisms of ActivityPub is that Mastodon — by far the biggest project running on the protocol — might have an undue influence in the further development of ActivityPub. So there is a danger that a similar risk presents itself in the AT Protocol, with Bluesky dominating proceedings.
Why Should Devs Care About Nostr?
A key benefit that developers like Rabble see in Nostr is that there is little apparent risk of power coalescing in a centralized project (like Mastodon) or company (like Bluesky).
According to its GitHub page, the protocol “doesn’t rely on any trusted central server, hence it is resilient; it is based on cryptographic keys and signatures, so it is tamperproof; it does not rely on P2P techniques, and therefore it works.”
The name of the project is an acronym for “notes and other stuff transmitted by relays.” Relays are servers, but they aren’t massive hubs like on Mastodon (at least when we’re talking about the main servers, like mastodon.social) or Bluesky. “To publish something, you write a post, sign it with your key and send it to multiple relays (servers hosted by someone else, or yourself),” states the Nostr documentation.
Rabble described the Nostr architecture as “small pieces loosely joined.” When he talks about why he chose to pivot to Nostr for his decentralized social media product, Rabble sounds distinctly nostalgic.
“So when I started working on decentralized social, I wanted us to go back to the world of the Facebook app platform and the Twitter API, where all sorts of developers were coming up with all sorts of crazy ideas and you didn’t need permission to do them.”
I assume he’s referring to the early years of Facebook and Twitter, but in any case, he sees a similar permission-less environment currently in Nostr. “I want that easy space by which we can have a lot of different apps,” he said. “And at the moment that exists on Nostr, but doesn’t on Bluesky — […] until the point at which they [Bluesky] don’t have a choke point to turn it off, then you can’t trust it.”
I’ve played with Rabble’s new app, Nos, and it was easier to use than another Nostr client I’d tried. That said, the Nostr network is still difficult to get your head around and so far I’ve yet to make any social connections on there. The content I’ve seen on the network has a strong libertarian bent, indicative of its roots in the Bitcoin community (both the creator, known as fiatjaf, and Dorsey are known Bitcoin proponents).
It’s too early to say which of AT Protocol or Nostr (or ActivityPub) is better for developers when it comes to evaluating decentralized social media protocols. Bluesky certainly is the most likely to challenge Twitter, but will it come at the expense of less control for developers? Nostr looks the most flexible of the protocols, and the ‘safest’ in terms of developer control, but it’s also the least likely to reach a mainstream user base.
Ultimately, it depends on what your goals are as a developer. If you’re aiming to reach a wide user base, Bluesky or Mastodon are your best bets. But maybe, like Rabble, you’d rather have complete control over your app’s destiny.