I’ve been working on Secure Scuttlebutt (SSB) and Planetary for the last 4 years. In that time I’ve met a ton of interesting people, joined a community, contributed back to that community, launched a company and built a scuttlebutt app, planetary.social.
Before i get in to strategy and plans, I wanted to share again the mission, vision, and values around which we’ve built planetary.
To make a contribution to the world by making tools for the mind that advance humankind.
Planetary is a place where communities can exist and grow through self organization and self ownership, in an environment that promotes creativity, playfulness, and a healthy commons.
We do this through building tech tools for a radically better world of social liberation and connection. Tech that treats humans as people not commodities and optimizes for health not engagement. We defend choice in who and what content you are connected to, with open source programming that allows you to contribute to the app design and your own algorithms, and transparency. A digital space governed by a commons, liberated from state and private ownership, because the digital space belongs to all of us.
• Culture of accountability
• Self Organization
• Self Ownership
• Agency and Trust
The mission of our company isn’t to build the best scuttlebutt app. We’ve got broader goals, and we need to periodically look the work we’re doing to make sure we’re doing our best to advance the mission, vision, and values.
In our research on what social media needed as part of Planetary, a bunch of things around ssb really work: its mutual aid model of content hosting is great, the follow graph is really effective at diffusing flamewars and abuse. The offline-first nature of SSB is also really nifty, but I increasingly wonder if that is holding SSB back.
In particular the core implementations scuttlebutt were clunky and it was hard to run them on phones. The way phones are walled off from the rest of the internet is also a big problem. So we first took the go-ssb code which wasn’t fully working, and continued developing it. Then more recently decided it needed a radical restructuring so we made scuttlego. The new planetary builds with scuttlego work really well, it feels snappy the way patchwork does.
Another core thing i wanted to tackle is how to find your people. How to discover individuals and communities that you want to talk to. At the moment, scuttlebutt is both a social space and technology. The social space is tightly interconnected and if you’ve got values which align with the solarpunk vibe, then it works great. But if you’re wanting to talk about different things, with different kinds of people, then it doesn’t feel like it’s for you.
To fix that i did many experiments including topical pubs, automatically connecting planetary users to a service pub, and most recently a web viewer paired with rooms. You can see it live at https://planetary.name. These community servers help people connect, discover their people, have visibility on to the larger web, and create a potential boundary around which a commons governance model can be built. It’s a bit of a hack, overloading features on top of scuttlebutt which is supposed to be a flat network, but needs this extra layer. Other protocols like at_protocol, chatternet, nostr, and farcaster do a better job of explicitly using multiple servers to be delegated hosts of content and be a place for shared moderation to happen.
Even with our work of room+pub+viewer that we’ve launched, there is a lot of stuff in scuttlebutt which makes it hard for me to recommend it to friends. It’s slow, the model is confusing, but most importantly, there is no delete and it is basically impossible to use the same identity on multiple devices. There are more technical stumbling blocks that we haven’t found a way to address. There are a bunch of other things which are preventing scuttlebutt from realizing its potential. It was designed first and foremost as a tool to run on computers not phones. When we try and move to the mobile environment, we get the advantages of always being with people, integrated camera, and the ability to do local mesh syncing via hotspot pubs or directly. This is all held back by fundamental design features in scuttlebutt like needing a whole log, not being able to see information about a user without finding and parsing all their about messages, and the coming but not yet ready private groups are major stumbling blocks.
For developers implementing an app on ssb is hard because of several things. First the custom RPC layer is ssb only, the libraries tend to use custom databases and a model of pull streams that aren’t well known, and there’s a lot to figure out.
Secure Scuttlebutt has a lot holding it back and we should learn from it without feeling obligated to provide backwards compatibility. This is the same conclusion that Andre has made as he looks to go to ssb2. It’s also the decision that lead to the development of earthstar, p2panda, moderator, chatternet, nostr, farcaster, and the at_protocol. So many people have looked at ssb and decided there’s something very interesting there, but also limitations.
The work on metafeeds, new feed formats, fusion identities, edits, delete, and private groups is all important but the progress is very slow because of the legacy use and implementations that we carry. The signing of the entire log makes everything harder and for what I want to build doesn't provide much value. The offline first stuff is cool, but rarely used and also makes everything harder.
Pivoting away from scuttlebutt The big 2023 news for me is that we’re taking code and ideas from planetary and pivoting off of SSB. The planetary app isn’t going away, in fact we’re about to push a major update using scuttlego which is improves the performance and experience. But we’re focusing new work on a new app, derived from planetary called nos.social. At the start of the year @Matt Lorentz wrote up a comparison between Scuttlebutt and Nostr.
The primary benefits that we saw in #nostr were these:
• There is no strong enforcement of message order with the signed log, clients just sign individual messages which are casually sorted via timestamp. This means some messages might not be kept around, but it makes syncing a bit harder and creating and consuming feeds much easier. Using relay servers and casual ordering means that Nostr users see updates faster than is possible with ssb.
• The cloud hosting of your content is intentional vs the way scuttlebutt has an uneasy relationship with pubs. With Nostr users choose where their data is hosted and that gives them more agency and control.
• Delete, edit, and ephemeral messages are easy because we’re not trying to validate the entire log. All of our user research showed that users want the autonomy of control over their data, and central to that is delete and edit. Even when they know their delete requests might not be honored everywhere.
• It’s easier to build on nostr, there’s more development happening, and a willingness to write specs. We’ve seen wave after wave of enthusiastic ssb dev’s give up because our protocol is too hard to work with.
I’ve always thought, and occasionally said, that if something better came along, we’d switch planetary over to it. I thought that p2panda and earthstar would be it, but although super interesting, both evolved in ways that weren’t a great fit for the kind of social app that planetary, manyverse, and patchwork provide users.
I then thought that @paul and @arcalinea would come up with a good successor protocol out of the bluesky project. The at_protocol is interesting, but the entire bluesky project is moving slow and I think the press and abundance of attention focused on it has made their job much harder.
Which brings us to Nostr… We made an evaluation to see if we can make an app and protocol which fits our mission, vision, and values.
Anybody who joins Nostr will quickly see that its early adopter community has a very different set of values and social norms from Scuttlebutt’s. It’s full of bitcoin bros (or as they like to call themselves, “maximalists”). But the thing is, I was never building tools just for solarpunk anarchists. I was building tools where a multitude of communities could each establish their own self-governing commons. By definition those tools will include many communities which are not mine, or where I wouldn’t feel welcome.
Nostr, with it’s open relays, is functionally very similar to scuttlebutt with its open pubs and rooms. Neither have the web of social trust that makes the intimate scuttleverse work. But in work to make scuttlebutt more open, accessible, and pluralistic, I’ve setup a ton of public rooms and pubs. These have helped people join the network and find community.
While nostr is not a purely pull model like ssb, there can be protections of users, for example the nostr model does let you push content to a user, but only if they read from a relay the pusher is publishing to. And many nostr clients display a global view, of all content they can find. This has lead to a bunch of spam on nostr, but i think if scuttlebutt had gotten attention we’d be seeing more spam on any open pub or room.
If we can make a way for users of nos.social to create their own communities, governed as a commons, that meets our vision, mission, and values, then that’s the actual point. And i think we can do that by introducing a bunch more solutions that come from many projects including ssb. Relays are nodes which can provide a more federated governance model than what we see in SSB, but also provides for user autonomy to have multiple personas than is possible in the fediverse. I think there’s a reason why many of the post ssb signed log gossipy social media protocols have gone from purely peer to peer to a hub and spoke model of content hosting. We’ve got easy cheap cloud computing, we should use it instead of making our phones work overtime.
What does this mean for planetary and the scuttlebutt community? We’re focusing on another protocol. We’ll keep planetary as a scuttlebutt app, supporting the existing rooms and pubs. We’re releasing a big update with #scuttlego this week. It wraps up the projects we started 6 months ago to make planetary as a scuttlebutt app work better. For example, I can now send people to rabble.nz and from that they can see something about me and #scuttlego me on any ssb app.
With this shift, we’re going to wind down funding of scuttlebutt. The funding of many ssb projects and several scuttlebutt gatherings is something we did to build out the larger ecosystem. And a lot of good came out of that. But I’m running a mission driven public benefit corporation with limited resources.
Some of the scuttlebutt projects we funded:
• Scuttlecamp 2018 - travel, staffing, venue, etc..
• dweb camp 2019 - paid for travel for butts to attend
• dweb camp 2022 - paid for travel for butts to attend
• p2basel 2023 - paid for travel for butts to attend
• @Christian Bundy - Provided salary for undirected development on open source ecosystem
• @cryptix - Provided salary for development of go-ssb in to a second full ssb implementation to compliment js ssb.
• @boreq - Funded the development on both go-ssb and also the creation of a new ssb sdk in scuttlego.
• @mixmix & @chereseeriepa - Funded building a ssb pub using ssb-db2 with a graphql interface and a updated version of the web viewer with formalization of PublicWebHosting spec.
• Funding through Open Collective of many ssb projects including patchfox, manyverse, ssb maintenance, peach cloud, and others.
The ending of active development of both Manyverse and Planetary, marks an end of an era. Both apps, like patchwork, continue to work. They’re open source, so anybody can step up a fork or make PR’s and contribute. When it comes to planetary, if we do get contributions, we’re happy to push out updated releases. We’re not shutting the app down or locking the repo like happened with patchwork. We’ll continue to run the associated cloud services as long as we’re able and they don’t become security or safety issues.
The communities using ssb can continue for a long time. Either waiting for new devs who want to take up the mantle or on the apps as they are. Scuttlebutt has always been an experiment, and is about more than a specific protocol or set of libraries. I’m sure that the communal effort to create a social media commons will continue. The future is one we’ll build together. We see increasing connections and collaboration between projects, like the way p2basel was not just a purely scuttlebutt event.
I look forward to talking to, collaborating with, and learning from all of you for years to come. I want to thank everybody who's been a part of making scuttlebutt what it is. In particular @andrestaltz for making manyverse, @mixmix for both the software contributions and also being the connector that brought the community together rooted in both running code and shared values. Lastly @Dominic creating scuttlebutt and secure scuttlebutt in the first place.