jakebsky
Joined 3 years ago
Joined 3 years ago
The reference implementation: https://github.com/bluesky-social/atproto
Complete React Native Android/iOS/Web app: https://github.com/bluesky-social/social-app
Go libraries: https://github.com/bluesky-social/indigo
PDS distribution: https://github.com/bluesky-social/pds
All dual MIT / Apache 2.0 licensed.
Running an "AppView" (an atproto application aggregator/indexer/API server) is generally an order of magnitude more expensive and complicated. But still not beyond the reach of a user coop, non-profit, or small startup.
So these services should all be well within the capabilities of at least multiple companies operating in the atproto ecosystem as it scales.
And in many cases it should make good sense for these companies to do this since it will improve their performance by colocating their services and enable them to do things like schedule their own maintenance windows, etc.
Speaking personally, it just strikes me as very pedantic point with not much substance behind it. I do get why this post is "ackchyually" bait though.
Custom feeds on Bluesky are federated so that anyone can create a new one using any algorithm they wish. There are already many thousands to choose from.
There are other clients for Bluesky that do the same thing as the bsky.app web app: https://docs.bsky.app/showcase?tags=client
1. The expected scenario is that people would run PDS hosts on small VMs (Digital Ocean, Vultr, AWS, etc) where an IPv4 address is the default.
2. People running PDS hosts behind NAT would use a tunnel service of some kind (Cloudflare Tunnel, Tailscale Funnel, Ngrok, etc).
But IPv6 is something we do want to support, and it won't be a huge effort. It will just take a bit of time to get to it.
> "the protocol has an official webpage with a waitlist and a private beta?"
Both the waitlist and the private beta are gone.
> "The “protocol” is just a description of whatever the Bluesky app and servers do, it can and does change anytime the Bluesky developers decide they want to change it"
1. atproto is well documented and the plan and desire is to make it a proper internet standard.
2. There are hundreds of independent projects relying on the protocol to create alternative clients and custom feeds (algorithms).
3. The protocol includes namespaced schemas so that different apps can evolve without breaking each other e.g. the "app.bsky" namespace is for the Bluesky microblogging app.
> "The “DID Placeholder” method..."
There is already support for did:web and plans to support other DID methods, including potentially (non-POW) blockchain methods.
> "All posts go through the Bluesky central server..."
All posts go through any Relay that anyone cares to operate. It's also possible to fetch posts directly form the origin PDS host, it's just slower and results in more load on the PDS.
> "And you, as a reader, doesn’t have any control of what you’re reading from either..."
Apps are in full control over where they get posts from. An app can enable users to select a Relay/AppView or fetch posts directly from the origin PDS.
> "But I fail to see why even more than one network provider will exist,..."
People may want to operate their own Relay/AppView services so they have more control for their specific application, for higher performance (latency/throughput) reasons, or for geographic/jurisdictional reasons, to name a few.
And the compute/network requirements are not beyond the capabilities of small startups, non-profits, coops, or public services and likely never will be.
But we do certainly plan to make IPv6 work on all our network services.
This is an odd claim since it's completely possible today and has always has been.
Each Bluesky Relay and PDS host has endpoints that anyone can use to receive network data (post/like records, etc) in a totally permissionless way.
A Relay:
websocat wss://bsky.network/xrpc/com.atproto.sync.subscribeRepos
A PDS websocat wss://puffball.us-east.host.bsky.network/xrpc/com.atproto.sync.subscribeRepos
And there are additional sync methods as well for doing backfill, etc. Not sure how this could be more open.Another really neat aspect of atproto, is that apps can interact theoretically. So you might create a blog system but use "app.bsky" (Bluesky) for comments.
OAuth support is coming soon as well, which is a big step in simplifying auth.
I'm about as anti-ads as it gets but I don't object to other people using apps with ads in them, if that's their choice.
The plan is to increase limits sufficiently to account for all legitimate usage.
(It's also worth pointing out that these limits only apply to our Relay service. The expectation is that there will be other Relays on the network in the future.)
Engineer @ Bluesky Social, PBC.
[email protected]
On the Bluesky app here: https://jacob.gold