Agreed and there's also the problem that on Bluesky, one user blocking another means that the thread of conversation gets broken for everyone else who may read it.
> As it stands, if 20 people are involved in a discussion, and ONE single person decides to block someone, then all of a sudden, the 19 other people in the discussion (+ any other viewers) are now inconvenienced simply because one person had an issue with someone else.
> Bluesky does have a bit of a block culture, and as such, this issue is only going to get worse and worse, and threads are going to get harder and harder to read and follow as more and more people get blocked.
Trying to create a Reddit-like experience around this limitation would be very difficult, as the thread breakage is done server-side so the clients don't even get enough info to reconstruct the conversation.
I haven't looked at how Threadsky does it, and I don't want to weigh in on the merits of different approaches.
But blocking in ATProto happens at the application (AppView) layer. A different application can absolutely make different choices from the Bluesky app about how blocking works and is displayed.
If I block you, then my client will prevent me from seeing your records.
There's nothing at the protocol level that prevents you from seeing my records, even when blocked, because all records are public. Anyone (even without an account) can see everyone else's records.
Well behaved clients are guided not to show posts to a blocked user, but this is a developer norm to enhance user experience all around -- seeing posts from someone who blocked you generally doesn't do anyone any good. But the protocol fully lets you build a client that shows you exactly who has blocked you and what they're posting.
Right, but there's more to blocking than content filtering (which is more akin to muting in twitter nomenclature). It should also restrict the blocked person from interacting with my content. At least that's what I'd expect (and I suspect most would).
I'm struggling to come up with what intent this behavior was supposed to perform. I block probably one person every other thread.
I don't block you because I had some kind of conflict, I blocked you because I don't like what you tweet and I don't want to see it and it's not clear what "not interested" actually does. Why this would impact anyone other than whom I'm blocking is perplexing. I certainly can't vouch for what they want to see and whom they want to interact with.
The reason this impacts other people is because Bluesky wants to discourage “dunk” culture in which one user continues to make fun of or harass another user who has indicated they do not wish to interact or participate. By orphaning interactions after users block each other, it becomes much harder for unrelated users to QT a post and add their own commentary to something that has already been definitively concluded.
Dunking on people is like half the value of twitter-like platforms. I only go on twitter (or I'm guessing bluesky) to see politicians and journalists and pundits and celebrities get dunked on. It's a public square: open moderation of social values is half the point. It's the conflict that makes us stronger.
Haters will say dis/misinformation makes it not worth it, but i simply point out that it's the truly stupid people who speak the loudest and you need to look deeper. There's no going back to a world where for-profit media is above critique. The relentless violence in palestine firmly endorsed and enabled by western media has pretty much destroyed any faith I had that our for-profit media is capable of self-regulation. Dunking on these morons is a public good.
What we really need to figure out is a way to systemically encourage punching up, not down.
The way blocking works on Bluesky is easily the most frustrating part of the platform I've encountered. I'm all for blocking trolls, spammers, etc but it seems even a mild divergence from the crowd gets you whacked. It's a bit stifling in my experience. I wonder if they'll change the way it works..
Agreed. Bluesky is useless for this reason and the way that blocking works individually as well.
Imagine if HN had a "block" option you could select against a user, that when you click it, it wipes out every comment that this user ever made on a post that you both commented in, past and future - but not just for you, for every other HN user as well. And there's no "showdead" option to see them either, for anyone.
Like if I or anyone who replied to you blocked you now, with this hypothetical Bluesky-like feature on HN, no-one at all would be able to see your comment. Except maybe dang if he went poking around in the database.
That's basically how Bluesky blocks work. It's absurd.
It makes a lot of sense. If you came to my house and started talking nonsense, I would ask you to leave the house, not stand with my eyes closed and ears plugged in my own house while you continued to rant to my guests.
It actually has worked well for me, and I've had some interesting discussions on there and some arguments, but over facts and not emotions. I think people have a right to express their opinions, but they don't have a right to make me hear what they're saying if they're known belligerents, spreaders of disinformation, or similar things.
if alice blocks bob:
it hides all posts bob made in response to alice posts; blocks bob from replying to future posts of alice; but more importantly it erases bob from alice's feed wich is often the only healthy thing to do because bob is a deranged lunatic and alice does not owe bob the attention he seeks
> it hides all posts bob made in response to alice posts
Exactly, it hides these from anyone else who might read the thread, including others participating in the thread.
This offers Alice not just the means to control her own Bluesky experience, but also to unilaterally control which parts of the conversation that all others on Bluesky can see.
It is in effect a feature to selectively delete the posts of others for any reason.
> because bob is a deranged lunatic and alice does not owe bob the attention he seeks
That is generally not the reason why users on Bluesky hit the block button. There's a strong tendency there of blocking because someone disagrees with you, or they explained why you're wrong about something, or they pointed out that you're spreading misinformation.
On Bluesky, blocking is a way to quickly and conveniently hide any dissent.
yes, alice has autonomy over who participates on conversations she started. bob is still free to have the same conversation, just not on alice's conversations or as replies to her.
i dont't think we're going to agree on why people generaly block others. you seem to see yourself as some sort of dissenter, or a truth-teller of some kind, but when you get blocked for interjecting into someone else's coversations it's just because no one asked you to be part of that conversation and now you lost your access privileges. this rejection probably fucks with your self-esteem more than it should but i'm no therapist so maybe go find one instead of annoying folks on the internet.
It seems that a lot of people today have a really difficult time understanding that free speech does not mean you get to follow someone around yelling at them, you don't get to come into their home, follow them to the bar they go to with their friends. That's not free speech, that's harassment.
I'd go so far as to say that social media without a block button is unethical, and promotes propaganda and harassment. The block button means the user heard you, use used your free speech! Congrats! Now they want to walk away from you. Ooops. No, you are not entitled to get any response, nor to continue talking at them if they choose to leave the area.
no one is missing the point, it has been state multiple times: when you get blocked you no longer get to reply to that person, and all previews replies are hidden, to them and everyone else.
the one other point that seems to be ignore though is: you are still capable of continuing that conversation on your own terms on you own feed. your posts will not be visible to the people blocking you but everyone else can still see them.
it's probably the single feature that will drive me away from Bluesky given how abused it is. not fun erroneously getting lumped in with MAGA and finding yourself in a void.
Musk Social provides some options for you to control who can reply to your posts (like followers only), at least it did before I nuked all my accounts.
Bluesky provides a richer set of options. I should be able to choose who interacts with my posts. If that's not your style, fine, there are other options out there. Bluesky users like this feature. It reduces the toxicity and makes it a more enjoyable platform.
The culture around "don't engage, just block" the trolls helps keep the discourse more civil. With a fresh start, we can stay ahead of the trolls and bots. It's a group effort
You have misunderstood. The way Bluesky blocking works is not just about controlling who else can interact with your posts, it affects the posts of others too, and applies to every other user whether they like it or not.
> As it stands, if 20 people are involved in a discussion, and ONE single person decides to block someone, then all of a sudden, the 19 other people in the discussion (+ any other viewers) are now inconvenienced simply because one person had an issue with someone else.
> Bluesky does have a bit of a block culture, and as such, this issue is only going to get worse and worse, and threads are going to get harder and harder to read and follow as more and more people get blocked.
> Just the other day I got a notification, and I clicked on it, and once again, the post they were replying to was "blocked", not because of me, but because the person who made the post blocked the person they were responding to. I was trying to make sense of their post, but now I couldn't as I had no idea what the hell they were replying to... then I think I found the post they replied to; it showed "1 reply", but when I clicked on it, no replies were shown.
> Now, this functionality was probably done with good intentions - but you know what they say, "The road to hell is paved with good intentions".
Another comment explaining the problem:
> This is working as intended but I agree it should be reassessed. For example:
> 1. In a popular thread, User A posts some nonsense
> 2. User B replies to that reply explaining why it's nonsense
> 3. User A blocks User B
> 4. Now User A has successfully hidden the rebuttal to his comment from everyone. The only defense against this is if the thread OP happens to block User A.
> This is a pretty serious downside of the "nuclear block" system imo. It creates an escalation ladder of blocking where the first user to hit "block" is advantaged. On the other hand it causes me personally to avoid blocking where I otherwise would, because I want the conversation to still be visible for others.
> There should at least be a "show reply" button on posts that are hidden for this reason IMO. Otherwise you've given every user the unilateral power to hide a reply, for everyone, permanently. If I hide a reply the normal way, it's not deleted for everyone! There is a "show hidden reply" button! The effect of hiding someone else's reply should be consistent across these two ways to do it.
The beauty of ATProto is that you can build an alternative App View that handles blocks differently. The Bluesky app is open source so you don't have to start from scratch either.
Choice and competition will make this network a better long-term social fabric than the centralized systems we are used to.
What's this "costly barrier to entry"? It is certainly not a given from where I am looking
By any account, it is far less than building an independent social network application. The components are also decoupled so you don't have to rebuild everything. If you want to build an App View, it's just a webapp or react native. You don't have to rebuild everything
re: incentives, there are many, people have different perspectives and motivations to do so
The omission of blocked posts is done server-side by the app.bsky.feed.getPostThread endpoint, so you'd need to reimplement that to return the content of blocked posts instead, both upthread (parent) and downthread (replies). It would require acquiring and maintaining your own replica of the data, which is hundreds of gigabytes in size.
This is significantly more complex than making a few small changes to the frontend app.
The filtering of blocked replies is done server-side. You can view whatever top-level posts you want in the protocol; making those visible/invisible is up to the client software.
If I post something that gets traction, and someone replies with an ad for ED pills, I should be able to remove that spam from the discussion on my thread and not just from my view of it. If others have already "engaged" with a plug for boner pills, their replies are not lost but are just no longer part of the thread stemming from my post.
If you as the OP don't want this behavior, there are other tools at your disposal (mute the replier instead, "hide for everyone", etc).
I have written my own webapp (https://blebbit.com) and I can see content and accounts I have blocked on Bluesky. I just validated this to be the true. This because I have not implemented block respecting in my own code yet. It's more work to actually respect the blocking.
The full backup of ATProto is more than 5T now.
You seem really misinformed about all of this.
Or maybe you created an account to intentionally spread falsehoods about Bluesky? There has been a flurry of this on HN lately
Now for whatever reason, user B decides to block user A. The entire subthread starting with user B's response to user A is removed, which includes making the discussion between user A and user C no longer viewable in that thread, to anyone:
Having to visit the Replies page of user C and try to piece together snippets of conversation - some of which are still unviewable - is not a reasonable solution. In particular, posts 7 and 8 are not there and the link between posts 1 and 2 is severed.
That's your opinion. The vast majority of ATProto users like the enhanced controls over their conversations. If you don't like it, use a different social media platform
That it's unreasonable to expect users to mitigate this by hunting around others' profiles for snippets of conversation is my opinion, yes.
That one user blocking another user makes chunks of the conversation disappear for everyone else viewing the thread is verifiable fact. As it is a verifiable fact that this is done server-side via the getPostThread endpoint, by which posts in the parent and replies fields of the response are omitted.
This is not "absolutely and provably wrong", as you put it. Maybe do some research yourself before accusing others of intentionally spreading falsehoods?
You said posts were blocked when what you are actually describing is replies being disconnected from a post on that post. They are still visible within the network
It's working as expected
You have made multiple other inaccurate statements about Bluesky / ATProto throughout your comments with your new account
This whole thread nastoy has been making the argument that blocked posts are omitted from the thread for all viewers, and circumventing this behavior requires modifying the relay (and hence ingesting the firehose) not just the client
You have been arguing that blocked posts still appear in your custom client, which is a different claim than nastoy. As detailed by the GitHub issue that started this disagreement, bluesky relays have introduced thread breaking behavior that one can not get around simply by forking the appview.
I haven't hacked away at the bluesky api but isn't the aforementioned "app.bsky.feed.getPostThread" called against an instance of a bluesky relay hosted at api.bsky.app, as opposed to a PDS or an appview?
That being the case, when you want to get posts of a thread, the information of which posts belong to which thread are the responsibility of a relay, which is doing the firehose-level-aggregation of which posts belong to which threads, am I misunderstanding?
See e.g. https://github.com/bluesky-social/social-app/issues/7021
> As it stands, if 20 people are involved in a discussion, and ONE single person decides to block someone, then all of a sudden, the 19 other people in the discussion (+ any other viewers) are now inconvenienced simply because one person had an issue with someone else.
> Bluesky does have a bit of a block culture, and as such, this issue is only going to get worse and worse, and threads are going to get harder and harder to read and follow as more and more people get blocked.
Trying to create a Reddit-like experience around this limitation would be very difficult, as the thread breakage is done server-side so the clients don't even get enough info to reconstruct the conversation.