Fediverse

I like the idea of the Fediverse as this interconnected system which we maintain organically. There will always be a place for centralization, but if that were to ever fail the thing we’d likely fallback on the maintain ties would be some combination of federated systems.

I had a couple ideas about the Fediverse that I wanted to write down.

Static Sites

There is a really popular trend right now with Hugo, Jekyll, Netlify, Github Pages, and etc. of making entirely static websites. This all kind of started because of Jekyll and Github Pages making the idea of generating static pages “cool again”. It’s hard to remember now, but that used to be considered a code smell. But the fact that static websites ran no code (except for the nginx/apache server serving those files) and that it made managing the data via git easy was a winning combination to change minds.

The other thing was that Github Pages, just serving static files, was very cheap to offer for free. And running it yourself on S3 was a bit of work, but it cost cents per year to keep running for most people’s personal websites. Cost of hosting and maintience is a huge reason why static websites are so cool even though they are fairly low-tech on the whole.

That makes connecting static sites to the Fediverse hard, because static sites should really be cheap to maintain and right now connecting to the fediverse requires some way to host/run the invevitable code needed so other parts of the fediverse are updated as the content is updated in semi-realtime.

I think Severless functions chould be written to update others in the fediverse as well as publish on other services like Twitter or even Email. Or you could run a disconnected server which gets some kind of notification, or polls, and then runs code for you. Maybe it runs at home on one of your comptuers

I’ve seen services already which do this for a bunch of people from a single service, but it feels werid to do fediverse stuff and then rely on another service outside your control to connect your site to the rest of the fediverse.

Replacing Email using Fediverse’s protocols

I think it’d be a really cool thing if you could actually replace email with some kind of ActivityPub system which people could write new Email clients for. We could even write adapters which accepted normal email into the server.

I’m not sure what it would take or why that might not work, but I definately want to think about it.

I really dislike Email because it’s just too free form and so there isn’t a way to enforce some kind of UX norm to it like you can with Slack. Many treat Email as instant messenger even though it’s slow and often their clients embed entire threads into that same email. Email clients have a horrible time figuring out what part is the new message, what it’s actually in reply to, and how to display the thread best.

A system around ActivityPub would have the ability to Post, possibly to many people at once, and then handle replies/reactions to that message in a thread like way. For instance it’d be nice in Email to simply mark you’ve seen something with a :thumbs-up: or similar instead of needing to reply to the whole thread “got it” with their signature and the entire thread attached. Not to mention clients can be more intelligent now and only notify you when actual replies are made. And with ActivityPub it should be possible for the client to only notify you in threads when you’re mentioned and make this obvious and easy to do for non-technical users.

The other fun part can be that transactional emails might require a token of some kind to be allowed to publish messages to you and revoking that token prevents spam. You can even revoke the whole sender or domain if it becomes a problem similar to how we deal with spam today.

Instagram deals with messages from people you don’t already know very nicely by hiding it in a “requests” section for you to review. So everything is spam by default unless you have some kind of token to show you’re authorized.