Skip to content(if available)orjump to list(if available)

The politics of purely client-side apps

kenforthewin

If, like me, you were wondering what PDS stands for: https://github.com/bluesky-social/pds

TekMol

Why is this so complicated?

Can't we build a social network with a simple protocol:

1: Each user has a private key that they use to sign their messages.

2: Each user keeps a list of instances who announced that one of their members follows them. When the user posts something, they broadcast the post to those instances.

Shouldn't this be enough?

It could all be url based. One user, one url.

When Sue wants to read Joes latest posts, she sends this request:

someserver.com/joedoe?action=latest_posts

When Sue wants to follow Joe, she sends this request:

someserver.com/joedoe?action=follow&from=otherserver.com/suelue&sig=f819h...

nozzlegear

> Can't we build a social network with a simple protocol:

> 1: Each user has a private key that they use to sign their messages.

> 2: Each user keeps a list of instances who announced that one of their members follows them. When the user posts something, they broadcast the post to those instances.

> Shouldn't this be enough?

> It could all be url based. One user, one url.

I might be misremembering how it works, but this sounds conceptually similar to how Ghost (the blog platform) works after their recent 6.0 update. They now support federation, posting on Bluesky and Mastodon, etc.

pwg

For a small network and low "follower" counts, yes.

But the moment you start scaling to potentially millions of posters each with a disjoint set of millions of followers the M:M connections for broadcast become problematic. The result of a chatty enough group would look identical to a DDOS to many/most of the nodes.

TekMol

Every instance would only get the messages that its members have subscribed to. How can any system be more efficient than this?

A $5/month VM could ingest millions of messages per day. What's the problem?

pjc50

shrug if you think it's simple, why don't you build it?