social.tchncs.de is one of the many independent Mastodon servers you can use to participate in the fediverse.
A friendly server from Germany – which tends to attract techy people, but welcomes everybody. This is one of the oldest Mastodon instances.

Administered by:

Server stats:

3.9K
active users

At @spritely we're building the future of decentralized networking tech (social networks and otherwise)! We just launched a supporter campaign and could really use your help! spritely.institute/donate/

I'm also going to talk about why Spritely is important & deserves your support! 🧵

Before I get any further, I just want to say that the Spritely Institute is a 501(c)(3) nonprofit, your donations are tax-deductible in the US!

And we have a few different donor levels... some of them even let you get your name in video game credits! (More on that in a few!)

Spritely is built by people who know and understand decentralized (social) networks and their strengths and weaknesses today very well: @tsyesika and I, 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 how to do it was a four-year research project before the Spritely Institute 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 Electric Communities Habitat: P2P, secure 3d virtual worlds, player-run economies, safe untrusted execution. In 1997!

Ultimately, Spritely is working towards user-facing software with secure-UI ideas applied to them. Here's a mockup!

But it's WAY TOO HARD to build this stuff right now. P2P tech shouldn't be the domain of super-ultra-experts.

With Spritely's new foundations, secure p2p tech is the *default*.

Here's where the first piece of @spritely's tech comes in: Spritely Goblins!

Goblins is a capability-security-by-default distributed programming environment. It supports:

- p2p programming (by default!)
- a time traveling debugger
- a powerful serialization framework
- & much more!

Goblins takes care of *so many* of the hard parts of distributed programming for you. It abstracts them, so you can focus on the program you want to build!

This is a big 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"? Here's a terminal-based space shooter built on Goblins. As you can see, we can roll backwards and forwards in time!

*Not a single line of gameplay code was added* to support time travel, because Goblins supports it!

Goblins is deeply integrated with its network protocol OCapN (the Object Capability Network).

CapN supports wild things like:

- distributed, efficient capabilty security
- sending messages to objects before they even exist (promise pipelining!)
- distributed garbage collection
- and much more!

OCapN is both old tech (it's based on CapTP from E, the same language the EC Habitat game used) and new; we're collaborating on making this a standard everyone can use at ocapn.org/

Goblins abstracts the network though. You usually never even need to think about it! Just do ordinary programming!

ocapn.orgOCapN Pre-standardization Group

The other big piece of Spritely tech is Hoot, our Scheme-to-WebAssembly compiler. This helps us get our tech to everyone!

But Hoot is more than that! It's an all-around WASM toolkit!

The good news is that Hoot means that Spritely's programs are coming to the browser!

Hey, remember when I said 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! davexunit.itch.io/cirkoban

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.

We need to change the game so that it's *easy* to run decentralized tech that doesn't just scale up, it scales down.

We need decentralized tech that's easy to build and reason about.

We need tech that's safe.

And we need tech that's cooperative.

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 Web 2.0 era social networks is going to get us there.

We need tech that's secure, that's robust.

We need tech that's *participatory*.

We need tech for you and me.

One of the things I'm most proud of about the fediverse is that it owes its success to a lot of queer people working on it. This lead to the fediverse being very queer itself. I'm proud of that.

Maybe it's weird to say, but that seems to be happening again with Spritely.

But again, I just don't think decentralized social networks aiming to replicate web 2.0 are what we primarily need to meet the challenges ahead.

I worry about activism on such platforms today not being robust enough.

We need platforms which meet the needs of individuals, communities, activists.

Which starts to get into serious business territory when you throw "activism" and "human rights" out there but then on the other hand I'm showing you 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.

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 a fun time.

Philip Bernhart

@cwebber And people normally run whimsical things on "serious" stuff. One needs not to forget that Smalltalk, the inspiration for modern desktops, GUIs, IDEs had exactly that kind of "silliness" when the people back then where thinking about how children could use these things to create programs.

This playfulness is something which is lacking currently in "frameworks", libraries, etc. all very boring strictly typed nonsense where no REPL can be found.