Spritely launches Supporter Drive
Christine Lemmer-Webber, Amy Grinn —Here at Spritely, we're building the future of decentralized networking technology for social networks and other applications!
As you can tell by the banner of this website, we just launched a supporter campaign and could really use your help.
Spritely Institute is a 501(c)(3) nonprofit and donations within the US are tax-deductible! We have a few donation levels with different perks for each one. Some of them even let you get your name in video game credits! More on that later...
History and Inspiration
Spritely is built by people who know and understand decentralized networks and their strengths and weaknesses today very well. Jessica Tallon and Christine Lemmer-Webber, two co-founders (and the first two working on Spritely's engineering) are both co-authors of the ActivityPub spec powering the fediverse!
Unfortunately, it's not feasible or easy to do everything we'd like in decentralized social networks today. Not on the fediverse nor anywhere.
The vision of Spritely is "secure collaboration". Finding out how to do it was a four-year research project before the Spritely Institute was even launched!
It turns out there's a whole group of people who figured out how to do "secure collaboration" right: the object capability security folks! Spritely builds on their history.
Here's an image of Electric Communities Habitat: a P2P, secure, 3D virtual world with player-run economies and safe, untrusted execution of code, all the way back in 1997!
Goblins: Secure and Decentralized, by default
Ultimately, Spritely is working towards user-facing software with secure-UI ideas applied to them. Here's a little mock-up!
Right now it is way too hard to build this kind of software correctly. P2P tech shouldn't be the domain of only super-experts. When using Spritely's technology as a starting point, a secure P2P application is the default thing that you get.
That's what our first piece of technology, Spritely Goblins, is for! Goblins is a capability-security-by-default, distributed programming environment with a few key features:
- P2P application builder
- a time-traveling debugger
- a powerful serialization framework
- transactional rollback for error handling
Goblins takes care of the hard parts of distributed programming by abstracting them out so you can focus on the application you want to build. This is a game-changer, and it's the essential foundation for everything else we're doing.
Goblins is fully transactional. Remember when we said it supports "time travel" debugging? Here's a terminal-based space shooter built on Goblins. As you can see, we can roll backwards and forwards in time.
The important thing here is that not a single line of gameplay code was added to support time travel, because that comes built in to any application built with Goblins!
OCapN Protocol
Goblins is deeply integrated with the Object Capability Network, or OCapN, protocol. OCapN supports wild things like:
- distributed, efficient capability security
- sending messages to objects before they even exist (called promise pipelining)
- distributed garbage collection
- and much more!
OCapN is based on CapTP from the E language (from which EC Habitat was built), and is a new open standard we're collaborating with other organizations to use. To learn more about it, visit ocapn.org.
Goblins abstracts the network away, though. You usually never even need to think about whether an actor is remotely or locally available.
Hoot: Goblins in the Browser
The other big piece of Spritely's tech stack is Hoot, our Scheme-to-WebAssembly compiler. This helps us get our tech to everyone!
The most important thing to us is that Spritely's distributed programs are coming to the browser, but Hoot is much more than that, it's an all-around Wasm toolkit!
Hey, remember when I mentioned you can get your name in Spritely's video game credits by donating?
You can go play a Goblins-based video game right now in your browser, thanks to Hoot!
Cirkoban is a hell of a lot of fun and you should definitely give it a shot. If you manage to get all the gems, let us know!
Why all this? Why the video games? Why the weird low-level tech? Why not just focus on writing some new higher-level software?
Lots of people are writing great high-level software right now! That's good, but right now we need new foundations. We need to change the game.
Our Mission
We need to make it simple and easy to run decentralized apps that don't just scale up, but scale down. That means more independent nodes running with fewer resources rather than fewer, higher capacity nodes which exert outsized control over a network.
We need decentralized technology that's easy to build and reason about!
We need tech that's safe and secure.
And we need tech that's cooperative, where everyone can have a stake.
I don't know about you, but there's a lot about the world today that worries me. I don't think building decentralized versions of existing social networks alone is going to get us where we need to be. Trying to replicate Web 2.0 user experiences is simply not enough to meet the challenges ahead.
I worry about activism on such platforms today. We need platforms which serve individuals, communities, and activists and empower each of them to take on a larger role in supporting a network.
You might be thinking: we've started to get into some serious topics like "activism" and "human rights" but also she's showing us video game screenshots? What on earth is going on?
Well, aside from being great demos, I think we need fun and whimsy. It's gotten us this far, at the very least.
It's easy to forget that social networks have owed their success more than anything to people enjoying being on them. I think sometimes people say, "we need to focus on serious things", and it's easy to accidentally make the story sterile. We aren't going to make it if we don't have fun along the way.
So, please come participate in our supporter drive. Try out our tech, ask questions, we are all eager to respond. We're only going to succeed if we all move forward together.