The politics of purely client-side apps

https://news.ycombinator.com/rss Hits: 3
Summary

You make a post on Bluesky. How does it happen?Option 1:Your client calls putRecord on the user's PDS 200 OK, the record was created The record goes through the relay to the Bluesky server Bluesky servers index the new record Option 2:Your client calls createPost on the Bluesky servers The Bluesky servers call putRecord on the user's PDS The Bluesky servers update their indexes 200 OK, the record was created (The record shows up again via the relay and can be reindexed if needed) Both of these are now possible in the Atmosphere, but which of these options is the "good one"? It turns out, that's a pretty nuanced question.Option 1 - PDS proxies all trafficOption 1 is the "PDS proxies all traffic" philosophy. In this model, the client logs into the PDS and then sends all traffic to the Atmosphere by proxying through the PDS.This has some interesting consequences:1. The client mutates records by directly writing them to the PDS2. The PDS is able to intercept and modify traffic to apps3. There's no opportunity for server-side computation within the lifetime of a transactionPoints 1 & 2 have positive political implications. The ability to write directly to a PDS means that third-party "pure clients" (no backend of their own) have a lot of freedom in how they operate. Then the ability to intercept and modify traffic means that a PDS can make decisions on behalf of their users which might be contrary to the application's decisions. These are both good balances against the power of an app.Point 3 just sucks though. What's not obvious about Option 1's flow is that the time between "200 OK" and "Bluesky servers index the record" is indeterminate. The 200 OK ends the transaction from the client's perspective, so now the client is going to struggle to show the user the actions they just took.Right now, the PDS takes advantage of traffic interception to modify getPostThread and inject the user's recent posts. That does work, but it means the PDS has Bluesky business logic baked i...

First seen: 2025-11-16 14:58

Last seen: 2025-11-16 16:58