Rendered at 08:16:00 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
pfraze 12 hours ago [-]
Luke's feedback on the permissioned data proposal is pretty interesting. The current proposal has a kind of locational element to permissions, where a record's URI reflects the access control, and I can understand why that would be jarring. I'm talking with the team about whether we think that's something that could change, and what a change like that would cost. We're still in the collecting feedback phase so it's good to hear how it hits people.
Regarding his other concern, I would've loved to make atproto a localfirst protocol -- that's the field the atproto team came from -- but we had to pick & choose where to spend our complexity budget. I wouldn't say it's a nonstarter for the ecosystem; you can use something like iroh in conjuction with atproto to share identities -- dial people at their dids or domain names -- and then commit state to the atproto repo once it's ready to leave your local sync mesh. Maybe that sort of thing makes its way into future versions of the protocol. But, engineering often involves trades, and for the v1 that was one of the trades we had to make.
jauntywundrkind 10 hours ago [-]
a meta-note that i think deserves attention: we never ever seen such a level of engagement around a social media protocol as this. count the number of mastodon protocol discussions that have happened, or dispora, or activitypub. they exist as background. matrix maybe comes close if you look at raw count anywhere, but i'd say has no-where near the visibility, doesn't surface/emerge into the public. atproto is succeeding at being a discussed protocol. at being a socialized social media protocol.
and that's just amount of discussion. but what about engagement by the people working on it? nothing like this, not by high level people, discussing in open, talking about protocols. you don't see permissioned data blog serieses coming out about the direction. you don't see the same blogsphere posts. you don't see the CTO coming to chat about it.
a huge amount of this is just that Bluesky people really work hard to do the right thing, are humble and trying hard to build good protocols, good network design, trying to build the most distributable most easy to get the content network out there that works the best. i think also though, the ability of the systems / protocols here to be expressed lends itself to being discussable, has good primitives, that make it fruitful and interesting for things like Permissioned Data, or things like the sync 1.1 protocol, to be generally understandable, good primitives, that are discussable.
luke's points about local first are really good. this is hard challenge for "Authenticated Transfer Protocol", at protocol, which prioritized a sense of identity and data coupling, that is harder to do in local context, that is harder to distribute without the online verification. great concern, great area to focus on. i look forward to more people experimenting with interesting PDS architectures & seeing what if anything might possibly relax to accommodate.
Arathorn 8 hours ago [-]
> you don't see the CTO coming to chat about it.
Speaking as the CTO at Element (and proj lead for Matrix), i feel like i've spent a bit too much time coming to chat about Matrix on HN over the years ;)
That said, I agree that Bluesky is doing well in terms of breaking through into mainstream awareness - much more so than Matrix (although obviously big-world-social-media is something of a different beast to distributed-instant-messaging).
The reason Matrix hasn't done better here is primarily economic: we spent too much time and money building out Matrix for everyone in the early days... and not enough time focusing on building either consumer (as Bluesky has) or enterprise or government specialised products. We then got traction at Element on the government side of things (https://element.io/en/matrix-in-europe etc) as it turns out governments love their digital sovereign communications - which in turn meant that in order to get sustainable and survive we had to focus hard on building stuff for that market. Now, ideally the stuff which works for Govt would work for mainstream too (after all, we're generally competing with Signal and WhatsApp, which are of course mainstream apps) - but in practice it has been hard to get that balance right. You can see my <del>TED Talk</del> FOSDEM 2025 talk about the road to mainstream matrix here: https://www.youtube.com/watch?v=lkCKhP1jxdk
Meanwhile, the plan on Matrix is to get to profitability via Govtech and then invest the money back into improving Element (and Matrix) so it also works well for mainstream usage - so hopefully we'll get back on the radar then. It's a long haul though. Meanwhile, kudos to Bluesky for getting to focus on the mainstream use case; I'm jealous, and I hope they find a good sustainability model!
inigyou 2 hours ago [-]
Matrix's biggest blocker is that it doesn't work very well. You try it, you get a worse experience than Discord, you switch back to Discord. I hope the Matrix project figures this out one day.
pfraze 8 hours ago [-]
Well, I really appreciate the kind words. I think the atproto dev community in its entirety is full of good people who care quite a bit, and we all know something like this is a big project that we have to earn, so we're doing everything we can to make it happen. It's hard work but it's rewarding, and it's certainly nice to hear something like this. I'll be sure to pass it along.
inigyou 2 hours ago [-]
Mastodon Protocol is a protocol only used between copies of mastodon and its clones. If ATProto was just the Bluesky protocol it would have a similar amount of attention, but it's not, it's trying to be the everything protocol.
MarceColl 13 hours ago [-]
I've been building a board game community on ATProto. The idea revolves in trying to build the feeling of local clubs but online, instead of "PLAY NOW" being on the landing page (although you can play now if you want) it's organized around clubs. I also wanted to move away from one game oriented community. I play Go and Chess and I would love clubs to be for mixed games. You can create leagues, or tournaments, etc.
As an extension of that I've been building a small language to build games (with a nice time traveling debugger and automatic replays) inspired by Elm. Go and Chess are both built on top of this and you could fork them and modify the rules. Want to code a new Chess variant? Go ahead! Want to code a whole new game you want to try? Go ahead!
What I'm very excited with ATProto is that because all games are broadcast on it and each shares a core system of turn-based replays (and review system with branching) software can be built on top to do AI analysis, or a replay view. The idea that my application can be extended without me adding an API is very exciting and very much in the direction I want to take the system (community is the core tenet).
verdverm 13 hours ago [-]
How do you prevent a player from manipulating game state outside of the app view?
There is a subgroup in the Atmo working on games, have you found them yet?
inigyou 2 hours ago [-]
Publish the moves, not the game state?
MarceColl 11 hours ago [-]
I have a referee server handling that. I haven't! I don't even know what Atmo is, tbh.
verdverm 11 hours ago [-]
"Atmosphere" (atmo) is the self-given name for the broader developer community around atprotocol
So far they are mostly trusted authority rather than peer systems. But, since each player owns their own PDS state, one could perhaps just hash the previous state they are working off of. That can at least detect if a game is consistent/agreed to by both sides, allow one player to detect the other's tampering.
ekosz 13 hours ago [-]
Reading articles like this one, I do think people are trying to put a square peg (their applications) through a round hole (ATProto). The ATProto was designed around all data being public. You write public data to a user's PDS and then any application can read that public data and do something with it. If all data was private (encrypted?) by default then that would defeat half of all of ATProto's goals.
Imagine someone starts startup A on-top of the ATProto. They raise some money, get some users, some people love it, but ultimately they die. If the data was private to that service, that data dies with the startup. But if the data is all public future startup B can read that old data and do something with it. As a user that's brings me a ton of utility and comfort trying out new services.
If you're trying to built a local-first, mostly private service I just don't think the ATProto is the right tool for the job.
billdybas 12 hours ago [-]
> If you're trying to built a local-first, mostly private service I just don't think the ATProto is the right tool for the job.
I agree! I think the "permissioned data" working group is aiming to solve the middle ground – where you want to broadcast something "publicly" but to a specific audience instead of the whole world (e.g. invite-only event, membership club). It's "private" in the sense it's not open to all but not in the sense that only you can see the data.
Nick Gerakines has been sharing some good examples of what you could build using permissioned data:
atproto permissioned data [1] will solve the dilemma you're describing. Ultimately all the data is in the same place (your PDS) and you can always read and write any data there. If startup A goes away, startup B can read that old data and do something useful with it.
> If all data was private (encrypted?) by default then that would defeat half of all of ATProto's goals.
Yeah, this is the reason why I don't understand why they succumbed to the idea ATProto must handle private and has started on work trying to figure it out (https://atproto.wiki/en/working-groups/private-data). Instead, focus on just really great public data archiving and displaying, at scale.
verdverm 13 hours ago [-]
> I don't understand why they succumbed to the idea ATProto must handle private
The answer is very simple, the people demand it.
Technically, or if you squint the right way, it is a new protocol (atp://) that shares some parts with the public side. Notably the relay is out (for now?) and the data lives in a different sqlite table (iirc/aiui).
SiempreViernes 12 hours ago [-]
Yeah, running a social website where you can't write anything in private to just your friends is not very based.
mosura 11 hours ago [-]
Like this one?
SiempreViernes 11 hours ago [-]
Are you saying you are here to make friends on this thing?
verdverm 11 hours ago [-]
HN is an exception to this rule imo, and remains our diamond in the rough
jshen 13 hours ago [-]
If the primary user concern is "all data is public", then the utility of ATProto is extremely narrow and will likely lose to something with a different philosophy.
Or you just use a different protocol for private stuff. Square peg, square hole. Round peg, round hole.
verdverm 13 hours ago [-]
> The ATProto was designed around all data being public.
I might turn this around to say that ATProto was the square peg trying to fit into the round hole (the vast majority of people want privacy)
fidotron 13 hours ago [-]
The main need is strong authentication, certainly for enabling P2P microblogging type apps.
The privacy stuff is covered by Signal etc. anyway, and you could layer that on top if you wanted to, but in a P2P setup privacy is always going to be a bit disappointing as so much metadata is inevitably exposed unless you do crazy stuff like flood fill the network with every message without regard to routing.
verdverm 13 hours ago [-]
The definition of privacy is a spectrum, with what you describe at the most information secops end. Most people are not so worried about metadata leakage (they don't even know what it is, similar to atproto for most bluesky users).
What most want is to not be reposted and ratio'd by terminally online people like Blue MAGA did on Bluesky. They also just want to post to their followers or friends, not the world.
fidotron 13 hours ago [-]
So in your concept if you are A and have two folowers B and C that don't know each other but both comment on your post what should happen? Should you see both but they not see each other?
This is the tip of the iceberg of boring questions that fall out, all of which have annoying user experience implications which are intimately tied to the underlying infrastructure and cryptosystems, effectively setting them in stone. There are reasons these systems fall into the camps of either federated with strong ID or really very centralized.
verdverm 13 hours ago [-]
> what should happen?
A core principle of ATProto is that the cost of switching is low, thereby facilitating real competition on social media. So the answer is two parts
1. App views decide permission parameters for their modality and frame the user experience
2. Users use these permission parameters to dial in their personal or community experience
I believe there is more middle ground than you leave space for. See systems like ReBAC/Zanzibar, Anonymous Credentials, and UCANN. Google Workspace is a good model that many many people understand and are happy with (IAM wise).
With a design like this, you can build an enforceable world-read, mutual-following-write version of Bluesky, something users ask for every time Bluesky announces any new feature.
fidotron 10 hours ago [-]
> 1. App views decide permission parameters for their modality and frame the user experience
Yeah, so this is the problem. A system flexible enough for that will be some combination of centralized, hilariously over complicated, massively inefficient, and full of odd unexpected behaviors.
verdverm 10 hours ago [-]
Perhaps if you are after public square social media. If you are after small social media, the usage patterns and tradeoffs look different.
Modded Minecraft (smp) servers are interesting prior art for me.
tancop 11 hours ago [-]
the first version of bluesky was an internal effort to make twitter decentralized. atproto comes from twitter/ig type social media where almost all content is public so not supporting private data for v1 was an obvious choice.
they only decided to expand into other domains after the elon takeover made people move away from twitter and bluesky got popular way faster than expected.
verdverm 11 hours ago [-]
> obvious choice ... decided to expand into other domains after
I'm not sure what the obvious answer is. I imagine the user insights at Twitter would be very informative, but was never on the inside to know. It's also worth noting that many members of the team joined on after ATProto was broken out from Twitter. Only they can provide an accurate recount of the information they had at hand and the decision making process around it.
sbt 1 hours ago [-]
Disclaimer: I have not looked carefully at the permissioned data proposal, but I know atproto reasonably well.
Stepping back for a momement, it's clear that permissioned data is driven by real world use-cases (Bluesky needs DMs, Tangled needs private repos, etc). However, I think the synergies with the existing atproto needs to be pretty significant to warrant developing yet another encrypted space spec. We already have various double ratchet protocols, Matrix is having a huge boom. From the point of view of an app developer, does everything need to be handled by atproto, or could we accept that atproto is just for the public stuff?
Probably one of the most fun projects I’ve ever worked on, and I largely attribute that to the protocol.
I’m particularly interested in the permissioned data spec, but don’t want it to hold me back, so some functionality is on ice, and I went live without it.
arikrahman 12 hours ago [-]
I switched from codeberg to tangled, and the transition couldn't have been smoother. Being on the ATmosphere really helps with peace of mind.
LelouBil 5 hours ago [-]
Speaking about Tangled, is there an article somewhere about how they use ATProto ? Like what are in the records and all
danabramov 3 hours ago [-]
You can check yourself using https://pds.ls, just open any handle there that has Tangled repos
jjuel 12 hours ago [-]
I love tangled, but there are certain repos I don't want public. So with all ATProto data being public you can never have a private repo which is disappointing.
blackqueeriroh 6 hours ago [-]
That’s not going to be true for much longer.
verdverm 13 hours ago [-]
This author speaks to me!
> it should just be called “private data”
> the resulting design looks very hard to build on
> Private and public data are basically identical. ... The permission is world-read
Way back before Bluesky decided on their own what permissioned data would look like, when the Atmosphere Private Data WG still thought they had a say in the design, I gave a talk on a ReBAC/Zanzibar style system that aligns with what I think the author is looking for.
I suppose we could still build on and run a fork like mine if enough people wanted a more robust IAM system. There are some fundamental issues that I am not sure are resolvable without building them into the protocol core from the start. I have personally given up because of the leadership and am waiting/pondering the next protocol. Another design constraint I'd like to see is incentivizing apps to be federated and installable at the PDS as well as incentivizing small social over public square modalities.
I've followed the ATProto space (and seen you around the space) a bunch over time, and honestly for the private data portion of it, I'm quite bearish on the idea of an ATProto shaped thing winning here.
I do think "small social" is winning in almost every definition of the word. There's Discords for everything, each non-technical person I know is in 10s of group chats, folks on Instagram or Twitter seek their "communities" on these apps. HN and Reddit are somewhat platforms of yesterday, valuable only for the sheer volume of conversation, not really of any particular use, often used to doomscroll on the toilet or in the supermarket line.
But ultimately I don't see why you need a protocol for small social. ActivityPub could do it fine (even though it's largely used as a glorified JSON HTTP API), Matrix or IRCv3 can do it fine, email works and is being used, heck you could even roll a bespoke HTTP or Websocket RPC (de-facto ActivityPub) to fix the problem anyway. ATProto is useful because it's a protocol for socializing In the Large. I think user experience matters for this much more than a protocol. I know Bluesky users want it, but I'm not convinced that an ATProto derived solution is the answer.
verdverm 10 hours ago [-]
strong agreement here
> Ultimately I don't see why you need a protocol for small social.
For me, it is less about the technical reasons and more about the movement away from corporate control to community ownership. The desire among people is there because the growing shared belief that what we have today is not healthy for our self or society.
One thing Bluesky nailed was simplicity for the average user. UX is super important. That was despite the protocol which almost all users, and non-users who've heard of Bluesky, have no idea about. However, it was the protocol movement that formed the foundation for their success.
That being said, you can only realize the vision (of the people taking back social media from the capitalists and enabling real competition in social media) with a well designed protocol. ATProto gave us a lot towards this. So I'm now contradicting(?) my first sentence in this comment.
Karrot_Kream 9 hours ago [-]
Agree that you need a well designed protocol, but I think for small social, we're drowning in good protocols. A lot of the issues with ActivityPub, for example, come about because of socializing In the Large. Once you're just hanging out in a community it doesn't matter if someone trips and bans you or deletes all your messages; this is par-for-the-course for small social drama. What makes AP so fraught for large scale social is that small social drama affects the network as a whole. AP is just one example. IRC, XMPP, Matrix, mailing lists, they've all been working for years even decades.
I think you need someone to build out a good UX more than anything else. They who builds the UX will win the spoils IMO. There's plenty of protocol prior art to bolt on underneath the fact.
verdverm 9 hours ago [-]
If I do decide to work on a social protocol, I will be keen to not build on existing ones to avoid the prior drama and bikeshedding. (re: the AP vs AT debate pattern that has grown this year)
Will definitely "distill" several ideas from them tho! I maintain a space on my chalkboard for it.
My statement is not super constructive, but yes, I also really liked this article. Local-first, privacy, even the example of managing personal restaurant reviews.
I don't have enough meaningful thoughts here to contribute, but you & OP: I hope we can build a federated protocol for sharing stuff again.
verdverm 13 hours ago [-]
btw, for historical context, the reason it is called "permissioned" instead of "private" is because there were sufficient people in the atmo that were very opinionated the E2EE is the only true private. It became an exercise in bikeshedding every time "private data" came up.
The intention is good. I like the reviews idea. Since the author has hit the limitations of ATProto, could ActivityPub be an answer?
XanSurnamehere 10 hours ago [-]
I doubt it, since you'd own your data even less as a user than with ATProto. (stuck to a server without the ability to fully move backlinks, data, and identity to another. at least all those things stay the same when you move between PDSes!)
polymer8563 9 hours ago [-]
Nomadic Identity is an ongoing FEP (Fediverse Enhancement Proposal)
jocelyner 5 hours ago [-]
[dead]
inigyou 14 hours ago [-]
What's even the point of publishing anything online any more if you don't hope to become an influencer? The nature of the game has changed, and now does everything possible to discourage it.
steve_adams_86 11 hours ago [-]
You could say the same about publishing offline. We can always do it simply because we enjoy it and one or two others might find some enjoyment or utility in it as well. It doesn't have to matter, it doesn't have to influence anyone. It's fine as a relatively solitary practice like any other.
verdverm 10 hours ago [-]
I've moved off social media to zine making and this couldn't resound more with me these days!
polymer8563 9 hours ago [-]
This is the least human take I've seen on this site so far, and I don't even think you're a bot.
Striving7340 12 hours ago [-]
ATProto and its advocates increasingly sound like all the crypto-based decentralized platforms that failed. The difference is that crypto people actually had reasons to run nodes, they got paid to, while ATProto expects enthusiasts to do so for the love of the game or act like bluesky and have 99% of the "decentralized" platform on a centralized node.
It never catches on with application developers because it requires you to already worship the protocol and build around it.
FatFingers23 11 hours ago [-]
I came out to have a good time and I’m honestly feeling so attacked right now
andunie 12 hours ago [-]
I don't think anyone ever got paid to "run nodes".
LoganDark 12 hours ago [-]
I think what they're talking about is like how bitcoin miners get paid in bitcoin for mining
pfraze 12 hours ago [-]
We don't even get paid to be in this cult, that's how organic it is
polymer8563 9 hours ago [-]
You do get paid, you're the CTO of Bluesky, are you not?
secretaboutbox 5 hours ago [-]
he's just making a cult joke. it's okay to be silly sometimes.
Striving7340 10 hours ago [-]
Apologies if "worship" came across as calling you a cult, but it doesn't seem that you took what I said too seriously either. Good luck on ATProto, certainly don't want to deal with this kind of replies from you or Dan every time criticism or concerns come up, maybe once the protocol leaves BlueSky, but let me guess, it's planned for some point in the far future like every other concern?
polymer8563 9 hours ago [-]
Seriously, the entire separation of Bluesky from ATProto not happening is my main reason for not trusting it at all. You can't have a protocol owned by a for-profit entity and seriously call it "open"
None of these make ATProto removed from Bluesky, the working group scope is not clear from the article either.
blackqueeriroh 5 hours ago [-]
Huh.
Tell that to LSP, QUIC, SPDY, GraphQL, WebRTC, BitTorrent, HTTP/2, and other protocols.
I guess they weren’t “open” either for the first 5-10 years of their existence either?
Weird.
inigyou 2 hours ago [-]
Yes? Correct?
blackqueeriroh 5 hours ago [-]
You guys are really confused about what atproto has to do with Bluesky and how much of the protocol is developed by or managed through Bluesky.
It really seems you all think the only company or community doing anything on atproto is Bluesky, when that couldn’t be further from the truth.
Have you even paid attention to what’s happening lately?
inigyou 2 hours ago [-]
Well the whole protocol relies on a "PLC server". There can only be one and guess who owns it.
verdverm 12 hours ago [-]
the cultiness is why I left crypto and atproto, it plagues many great ideas by creating in and out groups around opinions on the right way to do things
blackqueeriroh 5 hours ago [-]
Really strange, considering there’s more debate, disagreement, and lack of conformity in atproto than I’ve ever seen in crypto.
I think you might mean, “people who disagree with me intensely because they believe strongly in the way they view things.”
Atproto is very, very far from a cult. It is a bunch of poasters, though, and nobody should be surprised when a social protocol has a bunch of, well, really social people in its leadership, and you shouldn’t expect them to act like senior leadership of Intel, IBM, or Nvidia.
The fact Paul makes jokes on a social forum at or with people is a reminder that he’s a human. He’s smart, passionate, nerdy, talented, and sometimes extremely annoying, much like everyone else here, and I’m GLAD the leadership of the company and the protocol are as engaged with the community as they are.
It’s a social protocol, for god’s sake. Remember when everyone would complain that the people who ran Twitter would never use it? I do, and just because Elon is down the K-hole and a posting menace doesn’t mean the criticism was incorrect.
pfraze 12 hours ago [-]
You remain, as ever, a heretic in the wilderness
crossroadsguy 6 hours ago [-]
Wow. Irrespective of what the other commenter did to you outside of this thread (assuming you two have a history) your comments (this and others) here feel indeed like trolling and almost egging.
Are you the CTO? If you are then this just feels like a red flag and kind of tells me as a user to look at this protocol/ecosystem (which truly is BSKY at the moment) with much caution.
verdverm 12 hours ago [-]
I'm not sure why you always feel the need to attempt to troll me personally on HN like this. Last time you did, HN flagged your reply. We do not have to agree, but we can be civil. For HN reader context, Paul (Bsky CTO) and I have discussed the protocol and permission system IRL and have different visions.
My sense it that microblogging platforms like X/Bluesky condition people to discourse in ways online they would not in the physical world, though I have encountered online behaviors manifesting in the real world in recent years. ymmv, I have left them all completely and have a much better mental state since.
pfraze 11 hours ago [-]
You replied to me, man
verdverm 11 hours ago [-]
I did not author it as a personal attack though, apologies if it came through it that way.
Regarding his other concern, I would've loved to make atproto a localfirst protocol -- that's the field the atproto team came from -- but we had to pick & choose where to spend our complexity budget. I wouldn't say it's a nonstarter for the ecosystem; you can use something like iroh in conjuction with atproto to share identities -- dial people at their dids or domain names -- and then commit state to the atproto repo once it's ready to leave your local sync mesh. Maybe that sort of thing makes its way into future versions of the protocol. But, engineering often involves trades, and for the v1 that was one of the trades we had to make.
and that's just amount of discussion. but what about engagement by the people working on it? nothing like this, not by high level people, discussing in open, talking about protocols. you don't see permissioned data blog serieses coming out about the direction. you don't see the same blogsphere posts. you don't see the CTO coming to chat about it.
a huge amount of this is just that Bluesky people really work hard to do the right thing, are humble and trying hard to build good protocols, good network design, trying to build the most distributable most easy to get the content network out there that works the best. i think also though, the ability of the systems / protocols here to be expressed lends itself to being discussable, has good primitives, that make it fruitful and interesting for things like Permissioned Data, or things like the sync 1.1 protocol, to be generally understandable, good primitives, that are discussable.
luke's points about local first are really good. this is hard challenge for "Authenticated Transfer Protocol", at protocol, which prioritized a sense of identity and data coupling, that is harder to do in local context, that is harder to distribute without the online verification. great concern, great area to focus on. i look forward to more people experimenting with interesting PDS architectures & seeing what if anything might possibly relax to accommodate.
Speaking as the CTO at Element (and proj lead for Matrix), i feel like i've spent a bit too much time coming to chat about Matrix on HN over the years ;)
That said, I agree that Bluesky is doing well in terms of breaking through into mainstream awareness - much more so than Matrix (although obviously big-world-social-media is something of a different beast to distributed-instant-messaging).
The reason Matrix hasn't done better here is primarily economic: we spent too much time and money building out Matrix for everyone in the early days... and not enough time focusing on building either consumer (as Bluesky has) or enterprise or government specialised products. We then got traction at Element on the government side of things (https://element.io/en/matrix-in-europe etc) as it turns out governments love their digital sovereign communications - which in turn meant that in order to get sustainable and survive we had to focus hard on building stuff for that market. Now, ideally the stuff which works for Govt would work for mainstream too (after all, we're generally competing with Signal and WhatsApp, which are of course mainstream apps) - but in practice it has been hard to get that balance right. You can see my <del>TED Talk</del> FOSDEM 2025 talk about the road to mainstream matrix here: https://www.youtube.com/watch?v=lkCKhP1jxdk
Meanwhile, the plan on Matrix is to get to profitability via Govtech and then invest the money back into improving Element (and Matrix) so it also works well for mainstream usage - so hopefully we'll get back on the radar then. It's a long haul though. Meanwhile, kudos to Bluesky for getting to focus on the mainstream use case; I'm jealous, and I hope they find a good sustainability model!
As an extension of that I've been building a small language to build games (with a nice time traveling debugger and automatic replays) inspired by Elm. Go and Chess are both built on top of this and you could fork them and modify the rules. Want to code a new Chess variant? Go ahead! Want to code a whole new game you want to try? Go ahead!
What I'm very excited with ATProto is that because all games are broadcast on it and each shares a core system of turn-based replays (and review system with branching) software can be built on top to do AI analysis, or a replay view. The idea that my application can be extended without me adding an API is very exciting and very much in the direction I want to take the system (community is the core tenet).
There is a subgroup in the Atmo working on games, have you found them yet?
https://discourse.atmosphere.community/ has game specific discussions to help you find the people to connect with.
So far they are mostly trusted authority rather than peer systems. But, since each player owns their own PDS state, one could perhaps just hash the previous state they are working off of. That can at least detect if a game is consistent/agreed to by both sides, allow one player to detect the other's tampering.
Imagine someone starts startup A on-top of the ATProto. They raise some money, get some users, some people love it, but ultimately they die. If the data was private to that service, that data dies with the startup. But if the data is all public future startup B can read that old data and do something with it. As a user that's brings me a ton of utility and comfort trying out new services.
If you're trying to built a local-first, mostly private service I just don't think the ATProto is the right tool for the job.
I agree! I think the "permissioned data" working group is aiming to solve the middle ground – where you want to broadcast something "publicly" but to a specific audience instead of the whole world (e.g. invite-only event, membership club). It's "private" in the sense it's not open to all but not in the sense that only you can see the data.
Nick Gerakines has been sharing some good examples of what you could build using permissioned data:
- Private Events: https://ngerakines.leaflet.pub/3mqxalpvn4k2e
- Bookmarks: https://ngerakines.leaflet.pub/3mqu653us3k2p
- Community content: https://ngerakines.leaflet.pub/3mqzsstcsok25
- Forums: https://ngerakines.leaflet.pub/3mr3uqjjaxs2d
- Polls: https://ngerakines.leaflet.pub/3mr3waxevjc24
[1] https://github.com/bluesky-social/proposals/blob/main/0016-p...
Yeah, this is the reason why I don't understand why they succumbed to the idea ATProto must handle private and has started on work trying to figure it out (https://atproto.wiki/en/working-groups/private-data). Instead, focus on just really great public data archiving and displaying, at scale.
The answer is very simple, the people demand it.
Technically, or if you squint the right way, it is a new protocol (atp://) that shares some parts with the public side. Notably the relay is out (for now?) and the data lives in a different sqlite table (iirc/aiui).
I might turn this around to say that ATProto was the square peg trying to fit into the round hole (the vast majority of people want privacy)
The privacy stuff is covered by Signal etc. anyway, and you could layer that on top if you wanted to, but in a P2P setup privacy is always going to be a bit disappointing as so much metadata is inevitably exposed unless you do crazy stuff like flood fill the network with every message without regard to routing.
What most want is to not be reposted and ratio'd by terminally online people like Blue MAGA did on Bluesky. They also just want to post to their followers or friends, not the world.
This is the tip of the iceberg of boring questions that fall out, all of which have annoying user experience implications which are intimately tied to the underlying infrastructure and cryptosystems, effectively setting them in stone. There are reasons these systems fall into the camps of either federated with strong ID or really very centralized.
A core principle of ATProto is that the cost of switching is low, thereby facilitating real competition on social media. So the answer is two parts
1. App views decide permission parameters for their modality and frame the user experience
2. Users use these permission parameters to dial in their personal or community experience
I believe there is more middle ground than you leave space for. See systems like ReBAC/Zanzibar, Anonymous Credentials, and UCANN. Google Workspace is a good model that many many people understand and are happy with (IAM wise).
With a design like this, you can build an enforceable world-read, mutual-following-write version of Bluesky, something users ask for every time Bluesky announces any new feature.
Yeah, so this is the problem. A system flexible enough for that will be some combination of centralized, hilariously over complicated, massively inefficient, and full of odd unexpected behaviors.
Modded Minecraft (smp) servers are interesting prior art for me.
they only decided to expand into other domains after the elon takeover made people move away from twitter and bluesky got popular way faster than expected.
I'm not sure what the obvious answer is. I imagine the user insights at Twitter would be very informative, but was never on the inside to know. It's also worth noting that many members of the team joined on after ATProto was broken out from Twitter. Only they can provide an accurate recount of the information they had at hand and the decision making process around it.
Stepping back for a momement, it's clear that permissioned data is driven by real world use-cases (Bluesky needs DMs, Tangled needs private repos, etc). However, I think the synergies with the existing atproto needs to be pretty significant to warrant developing yet another encrypted space spec. We already have various double ratchet protocols, Matrix is having a huge boom. From the point of view of an app developer, does everything need to be handled by atproto, or could we accept that atproto is just for the public stuff?
Probably one of the most fun projects I’ve ever worked on, and I largely attribute that to the protocol.
I’m particularly interested in the permissioned data spec, but don’t want it to hold me back, so some functionality is on ice, and I went live without it.
> it should just be called “private data”
> the resulting design looks very hard to build on
> Private and public data are basically identical. ... The permission is world-read
Way back before Bluesky decided on their own what permissioned data would look like, when the Atmosphere Private Data WG still thought they had a say in the design, I gave a talk on a ReBAC/Zanzibar style system that aligns with what I think the author is looking for.
https://www.youtube.com/watch?v=oYKA85oZc8U&t=3730s
I suppose we could still build on and run a fork like mine if enough people wanted a more robust IAM system. There are some fundamental issues that I am not sure are resolvable without building them into the protocol core from the start. I have personally given up because of the leadership and am waiting/pondering the next protocol. Another design constraint I'd like to see is incentivizing apps to be federated and installable at the PDS as well as incentivizing small social over public square modalities.
https://github.com/verdverm/atproto
I do think "small social" is winning in almost every definition of the word. There's Discords for everything, each non-technical person I know is in 10s of group chats, folks on Instagram or Twitter seek their "communities" on these apps. HN and Reddit are somewhat platforms of yesterday, valuable only for the sheer volume of conversation, not really of any particular use, often used to doomscroll on the toilet or in the supermarket line.
But ultimately I don't see why you need a protocol for small social. ActivityPub could do it fine (even though it's largely used as a glorified JSON HTTP API), Matrix or IRCv3 can do it fine, email works and is being used, heck you could even roll a bespoke HTTP or Websocket RPC (de-facto ActivityPub) to fix the problem anyway. ATProto is useful because it's a protocol for socializing In the Large. I think user experience matters for this much more than a protocol. I know Bluesky users want it, but I'm not convinced that an ATProto derived solution is the answer.
> Ultimately I don't see why you need a protocol for small social.
For me, it is less about the technical reasons and more about the movement away from corporate control to community ownership. The desire among people is there because the growing shared belief that what we have today is not healthy for our self or society.
One thing Bluesky nailed was simplicity for the average user. UX is super important. That was despite the protocol which almost all users, and non-users who've heard of Bluesky, have no idea about. However, it was the protocol movement that formed the foundation for their success.
That being said, you can only realize the vision (of the people taking back social media from the capitalists and enabling real competition in social media) with a well designed protocol. ATProto gave us a lot towards this. So I'm now contradicting(?) my first sentence in this comment.
I think you need someone to build out a good UX more than anything else. They who builds the UX will win the spoils IMO. There's plenty of protocol prior art to bolt on underneath the fact.
Will definitely "distill" several ideas from them tho! I maintain a space on my chalkboard for it.
I don't have enough meaningful thoughts here to contribute, but you & OP: I hope we can build a federated protocol for sharing stuff again.
You can find the discussions here: https://discourse.atmosphere.community/tag/private-data/2
It never catches on with application developers because it requires you to already worship the protocol and build around it.
https://docs.bsky.app/blog/plc-directory-org
Tell that to LSP, QUIC, SPDY, GraphQL, WebRTC, BitTorrent, HTTP/2, and other protocols.
I guess they weren’t “open” either for the first 5-10 years of their existence either?
Weird.
It really seems you all think the only company or community doing anything on atproto is Bluesky, when that couldn’t be further from the truth.
Have you even paid attention to what’s happening lately?
I think you might mean, “people who disagree with me intensely because they believe strongly in the way they view things.”
Atproto is very, very far from a cult. It is a bunch of poasters, though, and nobody should be surprised when a social protocol has a bunch of, well, really social people in its leadership, and you shouldn’t expect them to act like senior leadership of Intel, IBM, or Nvidia.
The fact Paul makes jokes on a social forum at or with people is a reminder that he’s a human. He’s smart, passionate, nerdy, talented, and sometimes extremely annoying, much like everyone else here, and I’m GLAD the leadership of the company and the protocol are as engaged with the community as they are.
It’s a social protocol, for god’s sake. Remember when everyone would complain that the people who ran Twitter would never use it? I do, and just because Elon is down the K-hole and a posting menace doesn’t mean the criticism was incorrect.
Someone mentioned you are the CTO at BSKY, is this true? (Here https://news.ycombinator.com/item?id=49029317)
Are you the CTO? If you are then this just feels like a red flag and kind of tells me as a user to look at this protocol/ecosystem (which truly is BSKY at the moment) with much caution.
My sense it that microblogging platforms like X/Bluesky condition people to discourse in ways online they would not in the physical world, though I have encountered online behaviors manifesting in the real world in recent years. ymmv, I have left them all completely and have a much better mental state since.