You are reading content from Scuttlebutt
@andrestaltz %LKqAORPSwWHNrEzQGgXRVGzmy8xOej71685p26a6PSg=.sha256

Protecting SSB from yuge orange face or anyone like him

In our #ngipointer chat, @cryptix and I were talking about the capitol hill attack, worried overall, and worried for SSB. We do not want to be building all this censorship-resistant tech just to see it used to rotten the world. So things we're worried about are: centralized platforms did the right thing to deplatform orange face, if it were the case that SSB were used by millions, how could we deplatform them? Besides the deplatforming concerns, there's also an eye on https://en.m.wikipedia.org/wiki/Network_Enforcement_Act and https://en.wikipedia.org/wiki/Digital_Services_Act and how these EU directives could affect SSB if/once SSB is widely used. Similar concerns as "GDPR on SSB".

We don't have a centralized switch on SSB that can immediately deplatform anyone. We don't have that power, by design. And we actively mitigate against accumulation of such power and enforcement features.

That said, we have power. It's just evenly distributed to all peers. Per peer, it may seem small, but in aggregate it's as much power as an admin would have. We just need better mechanisms of putting that power into effect.

Some ideas how to put our decentralized power into effect. One of them is 'done', #trustnet, and I believe it's absolutely the future of SSB moderation, despite it not being implemented anywhere here, yet. I had two other ideas, last night, one of them is an extension of #trustnet:

Trustnet looks at blocks in a community, computes numbers, and the outcome is a binary decision to block or not based on 2nd and 3rd party blocks. We could utilize the trustnet numeric computation to provide fuzzy results before the binary decision is applied. For instance, say orange face is blocked by one of your 500 friends. Let's say Trustnet computes the number 0.2 but deems it not enough for a block (let's say it would have to be 0.5). But 0.2 could be fed into a news feed algorithm that deprioritizes posts from orange face. This way we can get a smooth transition from "fully present" to "fully absent", and this can change without any user input, it's just based on the user's community and how blocks are occurring in the community.

Another idea is reblocks. We seem to have agreed that we don't want 'retweets' or 'reboost' mechanisms in SSB, because these are ways of propagating viral content, which turns out to boost attention-seeking behaviors, which in turn boosts controversial and toxic content. Social networks are good at propagating things by gossip, and retweets are essentially a gossip mechanism. And SSB already functions with gossip, it just uses it for technical data replication and networking. What if we would use gossiped blocks? This is just a small UI tweak: when someone is blocked, there would be a prominent button "reblock" that makes it easy for you to also choose to block them. SSB already functions quite different from Twitter, because block events are shown on Patchwork and Manyverse's feed, I don't think Twitter does this. And people here already use this information to choose to block-them-too, so our blocks are already more "gossipy" than on Twitter for instance. We could reinforce this culture by doing a small UI tweak.

Now I'm trying to think how to factor in blocks (done with contact messages) into the new design of #ssbroom. It's a bit harder because rooms by design don't replicate SSB msgs. But there's space for something to be done, and I need to figure it out soon before we start implementing rooms.

I'm open to discussion and critical thoughts.

User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
@Danie %iqpr6tYCVtBrdHdmM2XMCI57ntwCQ5r5hlS4wzZYSgI=.sha256

Good we're thinking about this as just in the last week or two Aether got invaded and it got really very personal and ugly in one of the forums. Problem is most democratic systems rely on a few votes to decide an outcome but what if you get invaded en mass by a large group who decides to do their own voting... In Aether's case this could mean you as the moderator gets voted out of your own sub. Aether has no profile block mechanism.

With SSB I don't think we have that same problem as we are choosing who we link to, so what we see is determined largely by who we link to. If 10 of us unlink / don't link to that new group strictly speaking we should not see them or transmit their posts? But I'm not sure how our channels work as you still see when the tag is being used even though none of us follow the poster. Ours is more profile bound so we can block profiles too if I recall.

All I'm really saying is we are largely sorted for one or two individuals, but we must consider a mass invasion as that is how it seems to be going out there. I for one don't mind a robust debate around differences but I stop debating when personally insulted and discriminated against in an open forum.

When we finalise the TrustNet it will be good to guide new users around what measures they can take to protect themselves because we also need to be safe haven for minority groups and those who feel they have been discriminated against. The protections are vitally important for a feeling of welcome and safety. It's sad when a freedom of speech is taken to be a right to abuse and insult...

User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
@andrestaltz %3IOgyeVTfHniqxildIW1WDaTdeQrA90480P4TL0elQk=.sha256

Thanks for the many comments so far! Lots of stuff to digest, let me try

Algorithmic feeds

Let's start by admitting that algorithms exist, even right now with Patchwork, Oasis, and Manyverse. It's not possible to build programs without algorithms. It might be a very simple algorithm, like (Manyverse:) "show all threads, from newest thread to oldest thread, where 'new' is defined as most recently commented-on or created". That's an algorithm. I think Oasis's popular feed is slightly more sophisticated than Manyverse's and it's pretty good for your digital wellbeing, and it's something I'd like to do in Manyverse one day too.

A community designed by an algorithm does not sound super appealing to me

It would be actually the other way around, an algorithm designed by a community. ;)

So there is no such "no algorithmic anything". But I understand that the argument suggests "very sophisticated opaque non-customizable feed algorithm" like Facebook, so that the user does not feel in control. That is not what I meant when I suggested trustnet numbers could be used for reducing the frequency of a post. The algorithm could be fully customizable, you could choose to disable the automatic hiding of trustnet-blocked accounts. It could also be a rather simple algorithm, that we could teach, explain, and make transparent.

Trustnet scores for flagging content

That said, it was just an idea, and this discussion brought up new ideas, one which I liked:

That means that I don’t want trustnet to affect the prioritization of posts or filter anything out at all, but I think it could be useful to show a trustnet score next to peoples usernames, as a heads up that this person is controversial in your network.

trustnet scores could be used for flagging content! Or even for automatically applying a content warning looking notice, similar to what Twitter is doing to orange face when he posts something dubious about elections.

Assigning trust?

Interface with block suggestions

@cblgh thanks for the idea. I think that's pretty doable, it's like assigning a (soft) moderator that will only suggest blocks to you. Or hard moderator if the assignment is 1.0. The suggestion idea, though, is not too different from the current status quo, because every block thread we see here can and does act as a suggestion to block, and you can make a judgement at the moment, regardless of whether you have officially trusted the block creator or not. E.g. my trust of people may change over time (usually increasing), and I may forget to even follow them despite enjoying their content and trusting their judgement. So it's useful for me to see their blocks even if I don't follow them and I haven't assigned official trust.

So this looks like so far everyone in this thread agreed with the reblock button, which is an easy thing to build and try out, and unlike typically in p2p, it's also easy to undeploy, because it's not a new message type, it's just a UI mechanism. I'm interested in trying it out.

User has not chosen to be hosted publicly
@andrestaltz %Gkq/oUHPXIM8yEHaDT2Pg60HSmL4n9y6FgdlBuiHYCc=.sha256

@sami "quick thought: as ssb is of now, as a platform, it is of very little interest to operators who produce and deliver Orange Juice."

As of now, SSB puts a 2 huge barriers to adoption, which is (1) hunting for an invite, (2) initial sync. Our goal with NGIp is to solve both of those, so we should expect a tsunami of users (remember extrasolar?) once these barriers are removed. I think it's sensible to find "new" barriers to add simultaneously as we're removing barriers. The new barriers should be more logical and more intentional than the accidental "initial sync heavy processing is what's protecting this community".

@inoas "Filter bubbles are very bad for society integration"

I would challenge this assumption. And there are three parts to that assumption: (1) society must integrate globally, (2) isolation of communities is bad, (3) SSB should allow society to integrate globally.

I'll first challenge (2). Obviously indigenous groups will disagree with you, in the present day as well. Pinging @Luandro Pàtwy and @Ana Rosa for example stories. In fact we have extensive historical records that humans on the planet have mostly been boxed into communities for most of the time. Is it a coincidence that we have a lot of social unrest coinciding with the launch of global communication platforms like Twitter and Facebook?

I would agree with (1) when it comes to solving global issues, specially climate change. Overall (1) is a pretty decent goal for some global concerns, and I agree.

But about (3), SSB is not well designed for a use case like Twitter, the "public square" metaphor, where people of all kinds come to discuss and create consensus, and failing to create consensus, shout at each other endlessly. SSB is in many ways technically unprepared for that use case.

User has not chosen to be hosted publicly
@Hendrik Peter %9grD06fUO6oSpqNo8RZoUL0Dq4X+yZv8uQFXM5lvSSo=.sha256

The issue would be polarized matters wouldn’t it? If any popular/heated political issue comes up for example and some people would block each other then all of a sudden your algorithm starts filtering away those you would disagree with but also people you’d potentially agree with.

Then there is the issue of the nature of me and others blocking people from time to time. Most of the time I don't block people because they are bad, but because they are too great hubs of links, relations, etc for my poor 64gb iPhone to deal with. These people aren’t bad and probably don’t deserve being “canceled” by automated algorithms. I very much like that this platform is gardened by humans right now.

I do however think that SSB has passed an important turning point and that we need to adjust some things. Right now SSB clients will try to connect to whatever they can connect to. My Patchwork client automatically connects to any pubs it can find (by default i can choose to turn this off in config), when I’m on WiFi or a shared VPN it’ll automatically download data from WiFi peers, etc.

All of this made sense before. “The network” was small and a fair amount of people would rejoice over each new connection that popped up (I did).
SSB has grown and matured a little bit since I connected for the first time (or maybe I just became old.. I don't know).
Maybe it’s time to no longer connect to new nodes by default (unless configured) and allow people to choose who they want to connect to (turning the default around, much like Manyverse already does and how Rooms have worked so far).
And then while we’re at it change default hops from 3 to 2 (Find your friends and their friends).

That way the stuff you see in your feeds is more curated by the people around you that you have chosen to trust.

That brings me to a problem however. Ever since I've been more careful and ever since I'm no longer connected to pubs anymore I've noticed a fair amount of "possible connections" to have become @UnReAdbleCiphers123. I'm no longer pulling everything that my client can see and as such I don't know who people are. I'd love to steal the idea @andrestaltz had in his rooms implementation and set some kind of master "name" in config that can be used to identify another peer before you decide to connect to them.

The idea in OP is quite big and would require a shift in how major parts of SSB actually function. I'd much rather take smaller steps and allow the network to grow along with it.
Change default program behaviors now, deal with the challenges they introduce (like the example I gave with the names) and then if we need to go into the direction @andre is pointing; arrive there not because it's a neat idea, but because "user experience" brought us there.

That's probably also easier™. Changing connection behavior "defaults" will probably be a small config change in ssb-conn, ssb-handshake or wherever its configured, but It'll require lots of work in all those implementations of SSB and its clients out in the wild.

A bigger change that would make sense in my mind: "Trace-routes". How/why are messages from person X (and their extreme left/right buddies) arriving to me? Right now you can follow/block people and if there are no bridges of friendship in between you'd get a message warning "none of your followers follow this person". I'd love to have a "breadcrumb-trail" under user names to indicate to me why they are connecting to me and block their messages and messages from new "baddies" to reach me by blocking the person that keeps following them and creating links.

sorry for the </rant> ;)

@cryPhone📱 %HCBnB7RWuSqGcJFFMCPyEqwbtUAVUFaq9BbZlFPm13M=.sha256
Voted ## Protecting SSB from yuge orange face or anyone like him In our #ngipoin
@andrestaltz %pJDJzayFzZL9FPWlmyvArsGzc4qbs4ExXfdCGlP2eus=.sha256

Lots of good thoughts @Hendrik Peter

all of a sudden your algorithm starts filtering away those you would disagree with but also people you’d potentially agree with.

Yes, this would be an inconvenient. I think since reading these discussions, I have changed my opinion: I would no longer vote for automatic hiding of content based on 2nd party blocks. I would rather do flagging: indicate to the user that the person who wrote that content is blocked by some of their friends. The subtlety of the UI display of this flagging is important. A tiny flag has different community effects than a red big warning.

Most of the time I don’t block people because they are bad, but because they are too great hubs of links, relations, etc for my poor 64gb iPhone to deal with.

You can use private blocks (block messages encrypted to yourself) for that. Then it doesn't signal to other people that these are bad accounts. That's supported in Manyverse at least. We probably need to find a better way of UI-displaying these different semantics. One of them is a customization of your diskverse, another one is a community signal.

Right now SSB clients will try to connect to whatever they can connect to.

ssb-conn's default scheduler configures that you need opt-in, and Patchwork uses ssb-conn but on top of that it also adds more features to automatically connect to others. When I made a PR to Patchwork to use ssb-conn, I didn't remove these features because I didn't want to change the baked-in opinions that Patchwork had, I only wanted to upgrade a module.

Ever since I’ve been more careful and ever since I’m no longer connected to pubs anymore I’ve noticed a fair amount of “possible connections” to have become @UnReAdbleCiphers123.

I have the same kind of problem, but I don't think ad-hoc usernames given by the room is a good solution to that. In fact usernames alone are not enough to understand who is a certain person. But there's something coming up that may be decent: partial replication! Once we have partial replication built (it's an #ngipointer goal), it will allow your client to fetch the about of an account without fetching all of their other content. And maybe we may be able to fetch their latest N posts (this is harder to do when there's all sorts of temporal corner cases in distributed systems), maybe.

Even if we don't get partial replication, another solution is that when you open this anonymous account, a prompt shows on your SSB app saying "do you want to temporarily view this account's content?". If you press yes, it performs replication of that feed (possible because you're directly connected to them, so no gossip), but stores the replicated content in /tmp or something, and let's you view their content. If you don't follow them, the content would be automatically deleted later.

A bigger change that would make sense in my mind: “Trace-routes”. How/why are messages from person X (and their extreme left/right buddies) arriving to me?

Superb idea! I have to write it down somewhere where I can remember.

@Hendrik Peter %mP8jT9+7ZGY0co4bHW5GRPdFxclKdw0C5saZZJ0ynOY=.sha256

Great ideas!

User has not chosen to be hosted publicly
@farewellutopia %81rOX5WoY5ITGqDvTrAkEXr18IVN4pfDWC1pPxphJeA=.sha256

I would like to second @uncle Rodney's facebook timeline in not seeing reasons for too much concern.

Sure, with SSB there's no way of globally blocking fascists or snake-oil salespersons. I think that it nevertheless has a massive potential to promote facts-oriented discourses and enlightenment. The reason for this is that the SSB architecture fosters some consistency within the accepted sources of information rather than promoting anything that is likely to gain some attention and clicks. So yes, it is perfectly possible to create an SSB community of believers in an alternative reality where the world is flat and homeopathy is more effective than placebo. While SSB can not and should not attempt to prevent such a use of the protocol, it contributes to make its participants "collide" with reality more quickly, this happens when participants realize that by banning rationality and science from their networks they no longer find usable information on how to fix their dishwasher. What I mean to say, is that believers of irrational or inhumane ideologies still have areas in which they depend on realism and experience compassion, by rooting the network in actual social connections and real community realism and empathy will prevail faster.

Does this make sense?

User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
@Alexandre Oliva %VV6HmFACuUrw6lR6xwPu0OYgczah6UO1S8xMOqsepe0=.sha256

We all need to have the ability to censor the posts we don’t want to hear

I don't think "censor" is a good word to express your selection of what you wish to see, hear, or devote your attention to.

you're not censoring when you switch channels, or when you step out of a conversation you're not interested in.

User has not chosen to be hosted publicly
User has chosen not to be hosted publicly
User has not chosen to be hosted publicly
@Linas %9adydfvv2MAZNuVMWlGUCIVosQ0v4tv3KvTI/3y2xSQ=.sha256
Voted ## Protecting SSB from yuge orange face or anyone like him In our #ngipoin
@Linas %LBl/lAJF9yrGsr6ru2fyO4gestjLU4BVCWiCbvC4SPw=.sha256
Voted ## Some thoughts on TrustNet within the SSB context [TrustNet](https://cbl
@Linas %YNKEfCSIStujj0C13Vn4lHTzmcGAYMLgPRiKD2UxZAs=.sha256
Voted My preference would be, to not be served algorithmic anything, blocks inclu
@Linas %spj4xQgOguVaD4pet6+YsGWW2qE7AKI5IS9bJSApT2Q=.sha256
Voted quick thought: as ssb is of now, as a platform, it is of very little intere
@Linas %8FU1Hds2qIdleV+i6OeaIPaESZd1F5AuzgvqftityJA=.sha256
Voted I'm with [@abekonge.often](@xf25ivgqN8m7GvaZBVm5lOgGgBm4SBmuTY05as9Duos=.ed
@Linas %569OnMdgvWpjDt6f480r68OcDk1mc0Q/4qI1u/rtCzI=.sha256
Voted # on centralized services I would not be to proud about centralized servic
@Linas %hj9Bdzs3PhpyWwDRvnQSiOBIH1jFUxg889y4n0ycfbY=.sha256
Voted I would like to second [@uncle Rodney's facebook timeline](@BQXNdakpRpHqxDP
@Linas %MjZKiStbOih5wP7OWBRxw65w9JsUBRkGKZH2nZZdpKQ=.sha256
Voted [@andrestaltz](@QlCTpvY7p9ty2yOFrv1WU1AE88aoQc4Y7wYal7PFc+w=.ed25519) I a
@Linas %Xf/oJM9YLv1Pia8wEkAg21BMJ+fpzIYFbc2T2kRt4Wc=.sha256
Voted @andrestaltz "We do not want to be building all this censorship-resistant t
@Linas %0+aDe08F4lA/HcWcjsmknNmPzWH4FSDOxUB74hI2pqY=.sha256
Voted > We all need to have the ability to censor the posts we don’t want to hear
@Linas %JVkSHmVNQ+AR/dIgxkYsFy7n78uITqfTpWnnSRozsoc=.sha256
Voted [@lxoliva](@hhknMruxen2tXWeQYkpKlFsm09ye5R9TrYQyKsM47kU=.ed25519) [@moid](
@Linas %46rG9K4CATlXO103+gYuvXa7xQaKnzIXy53K+wC7PZQ=.sha256
Voted [@andrestaltz](@QlCTpvY7p9ty2yOFrv1WU1AE88aoQc4Y7wYal7PFc+w=.ed25519) I d
@Linas %XLfMrr2mtLyKRGtZPxih8GhrDhzMYV82CiBqmtI3Fh4=.sha256
Voted > [@sami](@BQXNdakpRpHqxDP2QZP/RJr95osWzW+q89MXYOZJpzw=.ed25519) "quick tho
@Linas %aXu9bX3NWoltlwBxO3fCehbT3pRX2IZXjPpyiLrsC+s=.sha256
Voted The issue would be polarized matters wouldn’t it? If any popular/heated pol
@Alexandre Oliva %uZstBV6kOsTiySxB5+pQUSDahEL2xnxZwD+dL8Xm4bM=.sha256

I am censoring when I block

no, you're just refraining from echoing it. you're not stopping them from expressing any idea, you're not stopping them from being heard by whoever wishes to listen to them, you're merely refraining from participating in the process.

censorship would be preventing them from posting, or preventing their post from being seen. blocking in SSB does not do that. you have no power over them. you just have freedom to decide what you receive, what you pass on, what your nodes devote their cycles and storage to

as a friend of mine from long ago used to say: my ears are not a toilet :-)

your ears, your choice.

your node, your choice of what to see, and what to amplify.

no real possibility of censorship. no one in the SSB network has that kind of power. it's a censorship-resistant network.

User has not chosen to be hosted publicly
@Linas %6m9dE7Ia5IZz41RYo/7GsCJdPOKe5BknHnI1rrv6AGY=.sha256

I'm very nervous about automated blocking. Thus, I agree whole-heartedly with

I also note that andrestaltz is a prolific blocker: he has the largest blocklist I've ever seen, and I'm one of the people he has blocked. So he won't see my dissenting message! Hah! He has already walled himself off into his own filter bubble, which he can populate with the kind of (name-calling) type of people who (name-calling) are unable to deal with (name-calling) as it really is. He doesn't want my opinion. He has already delivered an insult to me, which I take personally.

If we are going to promote social warfare within #ssb, I will retaliate by saying that any idea that andre has is necessarily a bad idea, and I don't feel bad saying that, because he fired the first shot. Eye for an eye, I think that is how that line of thinking works. In militaristic terminology, this is called "escalation", and Andre is calling out for escalation. I don't see that as a healthy path. I'm opposed to it. It's a bad idea.

That said, tools for superior curation are welcome. I am very interested in finding the unusual, and in exploring extremes, stuff that is edgy and out-there and non-mainstream. Tools that allow me to curate what I've found would be excellent. Having a tool that lets me easily see the network flow of blocks, tracing them, would be great. That's the correct place to devote developer attention.

Full disclosure: I label myself as a die-hard progressive with socialist tendencies. And that means I spend a fair amount of time observing, and sometimes interacting with alt-right mobs. They are intellectually interesting to observe and understand, from a sociological / anthropological standpoint. It means I often play devil's advocate. I'd be irked if I was labelled as a "danger to ssb society" simply because I followed too many alt-righters. It takes away my voice as actor and change-agent.

@Linas %I7Eq6HyXHgpRvR02fjPrYDNxS1RF/QGhthAfmFq1wBE=.sha256

Testing testing 1,2,3 ... are my posts to this thread being blocked, because Andre started this thread, and he has me blocked? If anyone sees this, can you let me know? Because if this is how blocking works, its uhh.. well, ... uhh ... err. Hmmm.

User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
@cryPhone📱 %p+6BhxAjB7pZcNnEalh/bwAbLLpO1Ksu78gCh+IklZU=.sha256

For example @Linas is censored from this thread as he's blocked.

This is a client specific thing though. I thought only patchwork does that. Planetary doesn’t for instance. I can see it from a harassment perspective, to be honest but it definitely has its downsides.

All of this is a hairy subject and while I sympathize with the “currently not a problem” vibe, it’s also an area where I rather not wait until it is a problem to think about solution.

User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
@Linas %YSP8GC2C+NEvYbTEKmnB/49X+SSI0UzowziiduSX3XI=.sha256
Voted I read your [@Linas](@KswLLKHtpKd0Nay95TEmH4vKLYbOMkS6Co716pddmWI=.ed25519)
@Linas %uPcvncCSHJFrRp+RNdwUKMHkik23nxZLhbYxeVIOoK8=.sha256

I read your @Linas

So I guess the only person who is not seeing my comments is Andre Staltz, then? Because, what's weird about this is that I am not seeing my own comments. They never show up in this thread (I'm using patchbay).

In other words, I am not muted for this thread, except to Andre, who can't hear me, and myself, as I don't see my own comments getting posted? Is that right?

Or are you seeing my comments because we are friends; what about people who are not friends or followers; do they see my comments? The precise nature of blocking is less than entirely clear. Which brings up the point that there are several types of block that are useful/interesting.

1) During moderated discussions, one may want to mute everyone except the 1-2-3 people in the discussion panel (e.g. like classrooms: only teacher gets to talk)

2) Town-hall meetings, where even the town jerk gets to rant his tirade, even though, most of the time, most everyone has this person muted, because they don't want to hear from him. But, during special occasions, during "tribal deliberations", everyone gets to talk, even if you can't stand them. This thread is an example of a "town hall meeting".

3) Random social settings, which are neither classroom, nor town-hall: you want to mute anyone disruptive to that particular conversation.

4) My personal "feed": preventing offensive posts from showing up in my feed. If some user is posting offensive material that I do not want to see, then "blocking" that user makes sense.

Andre seems focused on case 4, but the proposals all tangle up cases 1,2,3 right along with them. The danger to democracy is case 2: muting dissenting opinions during community discussions.

@Linas %/YoxnNIxilzUx7ohN7Kwrmmj3bMUt78GvT/Yg5hZw3E=.sha256
Voted > no, you’re just refraining from echoing it. you’re not stopping them from
@Linas %iV2KP5f+jvbqLLhRwnMPUQE+qdj3ex5Kdh6ZQYto8Eg=.sha256
Voted [@Linas](@KswLLKHtpKd0Nay95TEmH4vKLYbOMkS6Co716pddmWI=.ed25519) [@be kind](
@Linas %JkCZMpWQp2PMaDb3OWor/zS5jF7zAn2DHQL8IbXt4Eo=.sha256

@uncle Rodney's facebook timeline @Linas I don't know what was discussed because I block Linas, but so far I understood there's some kind of discussion/controversy about my decision to block.

1) He has no clue about what I am saying, and is guessing wildly, and guessing incorrectly, about the conversation. To his own detriment, I think.

If I remember correctly, it was some very clear crossing of lines that made me block, such as directly attacking/insulting someone.

2) He blocked me because he misunderstood a light-hearted attempt at humour. I was attempting to make someone else feel better, which he mis-interpreted as a personal attack, because he is not a native speaker of English. Specifically, I was attempting to make this other person feel better about their mistake, by pointing out that we all make mistakes. Since the mistake was a social mistake, an assoholic kind of thing to do/say, I said "Welcome to the club of assholes." Because we all get to be part-time members of that club. Its the human condition. In other words, everyone gets to "cross the line", repeatedly, during their life on Earth. Some more than others. As to why, well, that's a sociological / genetic / anthropological / neuroscience issue. (I'm an amateur scientist who studies assholes, among other things.)

Thus is exposing the very nature of blocking, and the origins of social conflict: when you do not understand the social and cultural origins of behavior, it is very easy to mis-interpret that behavior as "offensive" and "crossing the line".

It would be a mistake to build a mechanism into ssb that artificially amplifies cultural mis-understandings.

It would be great is someone could re-post this message so that Andre could see it. And also the message about blocking in classroom-settings vs town-hall-settings vs trolling in discussion threads vs. unwanted content in personal feeds. These are four different and distinct blocking/muting scenarios, its a mistake to lump them together.

@Linas %GSPBxgunmeAfx54a5tRLzTwr5aYgNKrEgWo2437J2Io=.sha256
Voted Thanks for starting this discussion [@andre](@QlCTpvY7p9ty2yOFrv1WU1AE88aoQ
@Linas %03Yh5R3YyEWqCmzzng/CNxIvsqHRXwJ74hhAF/y8QfU=.sha256

@cblgh what's "caps"? I've been on ssb a year or two, and have read the technical specs, and never heard of "caps" before. I also can't quite guess what it is from context.

User has not chosen to be hosted publicly
@farewellutopia %zqan82+rNk8WEE+BGQXGkJ1fyFlZHGphUi3K1we5U40=.sha256

Maybe the one thing that we really should remove is the list of pubs from the onboarding docs.

@aig, if this happens we can still do that, but removing this useful on-boarding feature seems a high price for a problem that could be fixed in a short time (by removing it then and blocking the users).

@Linas %v9IuvGsw4cyTTT0bYwmUneD3FxZkd7NtlND8yCG1/yI=.sha256
Voted [@moid](@Sur8RwcDh6kBjub8pLZpHNWDfuuRpYVyCHrVo+TdA/4=.ed25519) [@cblgh](@C6
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
@Linas %7a/rcznlflazu9urVRcOQOZe8rcq5VdUXJP+ikiRnwQ=.sha256

Ehh, maybe kind-of off-topic, but a rate-limiting feature would be nice. Just today, The Economist spammed 600+ copies of the same article in a DoS attack. Now, lots and lots of people have blocked the Economist cause.. whatever. I was following, cause I like to sometimes read their stories. Woe is me! This is an account that went from friend to enemy in a willful? accidental? DoS attack.

Something different or more granular than simply follow/block would be nice for this case.

@Linas %3thGDaPxGx5ArSRk/p9k7ME0xjdXx/1qxG46wm0DPXc=.sha256
Voted %JkCZMpWQp2PMaDb3OWor/zS5jF7zAn2DHQL8IbXt4Eo=.sha256 @Linas posted some st
@Linas %16AQ1DpANxmd7eVsFb8f8qTdgUl29NHKsIIyyXJXNe8=.sha256
Voted I think a decent concrete example of this is Lemmy. Lemmy-if you aren't aw
User has chosen not to be hosted publicly
@Linas %trK+eqDK4eu2XPLHf52gu3hgNj/3vIFPK109ZxwxkPA=.sha256

And yet one more blocking feature / request (which Andre still can't see, but maybe someone else can amplify so that he can at least be aware of it):

I just now blocked The Economist because they spammed 564 posts in two hours. So I just now spent 5 minutes scrolling past all that spam, and finally saw a news story I did want to read. But patchbay won't let me read it! "Content from a blocked user" it says! WTF!

The point of blocking is to prevent additional crap from landing on my computer. Blocking should not be about me preventing myself from reading some specific post that I'm specifically interested in!

Try it! if you've blocked the Economist, try reading this story: The Capitol riot is a godsend for America’s critics -its not possible, at least in patchbay.

User has chosen not to be hosted publicly
@ओषधिः %zzEKIjK/UEnBZF7nJIMEAc81+OlE87c57PIX1AmuntE=.sha256

@andrestaltz @Linas

I think instead of an algorithmic block,
what I would like to see is a team that curates a block list which I can subscribe to,
such that whenever anyone on the team adds someone to the blocklist, I automatically also get that block

the team could have a transparent mission statement (of what types of stuff they block)
and even a transparent process, where they give reasons on what they did

I would also like to be able to ovverride individual choices by the team if I choose to

To make this more general, it could be a way to subscribe to the blocks of someone else so you automatically inherit them
and you could choose individuals and teams to inherit blocklists from,
there could also be multiple teams with different levels of priority

^ something like this is all human but also not all indvidual
the teams could also use algorithms as part of their process of finding stuff to review

User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
@Daan %zFo3D6igrftQ2Poc/MZeVELaYO8nQfTIgYwMPOuzEL8=.sha256

So after avoiding this thread for a few days (because I realized it would take time and energy that I just didn't have) I have now caught up with most of what's been written here. In honesty I skimmed some stuff, so do point out if I misrepresent your views; I'm sorry.

Personally I don't want any algorithmic ordering and certainly not algorithmic blocking.
I do realize that this is a matter of privilege, and I am happy that I feel comfortable and safe enough that I can open myself up to potential abuse, with "only" the option to block individual feeds by hand.
But as such a privileged member of the community I can also act as a bridge. This thread is actually a good example of that: @Linas' comments are not visible to some people here despite being quite relevant and relevant.

Side note: that is not to say I agree with everything they said, or how they said it, but it seems to me like they are more hurt than trying to be an a*ole. This is an important discussion, and they feel (rightfully, IMHO) left out.

Here's one quote from one of @Linas' replies that I think is relevant:

That said, tools for superior curation are welcome. I am very interested in finding the unusual, and in exploring extremes, stuff that is edgy and out-there and non-mainstream. Tools that allow me to curate what I’ve found would be excellent. Having a tool that lets me easily see the network flow of blocks, tracing them, would be great. That’s the correct place to devote developer attention.

Full disclosure: I label myself as a die-hard progressive with socialist tendencies. And that means I spend a fair amount of time observing, and sometimes interacting with alt-right mobs. They are intellectually interesting to observe and understand, from a sociological / anthropological standpoint. It means I often play devil’s advocate. I’d be irked if I was labelled as a “danger to ssb society” simply because I followed too many alt-righters. It takes away my voice as actor and change-agent.

Apart from wanting these aspects discussed, I also want to point out that, had I been using transitive blocking, there would be a good chance these points would simply not have been heard.

Regarding the term "algorithm"

I understand what an algorithm is, and I agree that verbatim it means very little in the context of software development since everything is an algorithm. But in this context I think the term is generally used to mean intransparent algorithms. As a shorthand for "black box algorithm" I thus think it is useful.

Crucially, the black box does not actually have to be totally opaque to qualify. A simple "if then else" with a few computed weights based on my network's follow/block structure suffices to make the decision process perfectly incomprehensible to most people who don't happen to do programming for fun or professionally.
Even for me as someone who could easily understand the principle of such a ranking or transitive-blocking algorithm, the specific outcomes would probably depend on enough data (follow/block links in my social graph) that I wouldn't easily be able to understand why a specific post was not shown to me.

That is, if I even realize that something is hidden from me. Because blocking (as in not replicating) means to not even be aware of what a feed is posting. I think the bar for hiding something (potentially relevant) from the user without pointing this out should be quite high, and probably be an opt-in thing.

<snip>

@Daan %aXS9+CHpIO7ztnn6pQ5Xmu5kp9hEp+8hQl2Tz8N2pvA=.sha256

On Re-Blocks

I'll come right out here and state that I am hard against this. I will try to elaborate a bit though:
I get the sentiment that, were Trump (yeah, I said his name) and his followers to flock to ssb, we'd have a lot to do, blocking individual feeds. But from what I remember with the Norwegian alt-right community a while back, their pubs got blocked (by individuals) pretty quickly, and I haven't seen them pop up in my feeds really. That is not to say we can't improve things. Especially people like @Linas who might lurk in their circles for other reasons than sympathy might want to keep these channels open, and I wouldn't want to see a situation where they get blocked for that alone.
Also (and I know I keep coming back to this, but it is a good example) the posts by @Linas here in this thread, but also my previous experiences of blocking and being blocked remind me that it is (or can be) a deeply hurtful experience on both sides.

On the purpose of blocking

In my mind, the reasons to have blocking features in SSB largely fall into two categories: personal safety and free listening on one hand, and systemic anti-virality on the other.

For personal safety reasons, I think individual blocks or opt-in transitive blocks like curated block-lists would be appropriate features. Of course, I can't and won't tell people what to do on their own computers, and who to listen to. If folks want algorithmic blocking (simple or complex) then I can't and won't stop them. And of course (as I mentioned above) I am by no means an experienced user of moderation features. But I think it is important to distinguish this from the systemic functions in the other category.
One problem with Trump and other populists is that they can exploit the dysfunctional mechanisms on mainstream social networks to their advantage. Because the incentives of these platforms are to keep people engaged, and because nothing is as engaging as rage, there is little done there to stop content (hateful or otherwise) from "going viral". @andrestaltz please correct me if I'm wrong, but I get the impression from your first post here that you are afraid that SSB could become the next big platform where this plays out. I know that I am.
The slowness of the SSB UIs, and the fact that they don't encourage low-effort engagement, is actually a strength. For example, oasis made the deliberate choice to not have infinite scrolling timelines or auto-loading or notifications or anything that would promote addictive or compulsive behaviour.

Which brings me back to the re-block button: I am strongly against this because, apart from the "like" button, it would be the single most virality-inducing feature of the UI. And in stark contrast to the "like" button, it is hugely disruptive to network connectivity (especially in combination with transitive blocking that affect replication) and can potentially cause pain on both sides of the block. In my opinion, such a feature should only be used deliberately, and not be made the single viral aspect of "the" SSB UI.

Adding Context

One thing I like about the SSB social norms is that people add context to blocks. I think that is excellent. A block alone is, as others have pointed out, of little help when deciding whether or not to also block a feed. The other way around, a follow is not a full endorsement of total trust. I do trust both @Hendrik Peter and @andrestaltz to have honest, respectful debate, but I would trust none of them to curate my timelines; @andrestaltz seems to block for similar reasons as me, but with vastly different thresholds, while @Hendrik Peter seems to block for different reasons entirely.

I thus propose to make it easier to add context to both blocks and follows. Personally, when I see a block message scrolling past in Patchwork, I am much more likely to engage with it and see if I want to block the same feed if there is a comment attached.
I will see how to implement this for patchwork. I think a simple text field might suffice. I would add the same option to follow messages even though I suspect it will be used less, but it would probably be easier to do it than not to.

That's a few things I was thinking while reading this thread. Sorry it got so long.

User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
@Linas %l6w1MjAmsY/h8jd3jZOUndJJiRfWShEc6zKS8p314xU=.sha256
Voted I'm not drastically against feed that are somewhat algorithmically filtered
@Linas %080L2F8aSnCpHGbQIKYU1AL1Te2UTD4FtwiUKAXv5Zc=.sha256
Voted [@andrestaltz_phone](@+UMKhpbzXAII+2/7ZlsgkJwIsxdfeFi36Z5Rk1gCfY0=.ed25519)
@Linas %fb+RBPz3yVLjQ4yJWHCmdLoZSPOUQPT2PkPhl7doNvY=.sha256
Voted [@andrestaltz](@QlCTpvY7p9ty2yOFrv1WU1AE88aoQc4Y7wYal7PFc+w=.ed25519) [@Lin
@Linas %3oHDQm7+jc6m1mvCNB5npzgw5R1M73fEPjZ36YDMzj0=.sha256

@notplants and @André

1) notplants, your proposal of curated block-lists reminds me of "circles". Back in the day of google+, they had the concept of circle-sharing. You could build a "circle of friends" (who you follow) and share it with others, who would then modify it to suit their own personal tastes. A curated block-list is the opposite of this, but is also an interesting thing to share.

2) After reading @punkmonk's message above, I now realize the core issue underlying this discussion is the mis-match between ssb replication protocols and human-centric design. Let me spell this out.

At the protocol level, the question is "do I want to replicate posts from identity @xyz into my flume/log.offset. The answer is either "yes" (follow) or "no" (block) or "replicate to level n" (foaf).

At the human-centric, user-friendly-design level, the above is much too blunt. At the human-centric level, I want something resembling traditional, pre-internet, pre-computer psycho-technology for giving voice, and muting others in conversation. Standard examples include lecture halls, private parties, public debates, cigar-smoke-filled back rooms, op-ed editorials, lunch meetings, town-hall debates.

For example, I might think that user @xyz is a boring person, so I don't want to see their posts. This is different from thinking that @xyz is a spammer. Which is different from thinking that @xyz is a disruptive a-hole who I always want to block. So if I think @xyz is boring, I don't want to read the threads they started. Fine. But if @xyz shows up in some interesting threads, I won't complain, I'd like to see what they said, even if its probably gonna be boring. This is different from the case where user @xyz is spamming fun conversations with repugnant memes. This is different from a town-hall meeting (like this one), where @xyz has a constitutional United-Nations human-rights right to be heard during town hall (unless they are mounting a denial-of-service attack, or posting child-porn to the town-hall, in which case the bailiff of the community has the right to eject them for disruptive behavior).

We (ssb) are trying to solve all of these different cases with the same protocol-level device: replicate, or don't replicate. The protocol-level block is too blunt an instrument to meet the human-centric design that fits how people actually meet, talk, organize, work.

I don't want to propose technical solutions right now (e.g. per-thread blocking, or per-thread following, per-thread un-muting.) I do want to emphasize that technology has to have human-centric design, should adopt itself to the user, instead of forcing the user to adopt to the technology.

(p.s. if you still don't get it: ask yourself "what would Apple do?" Much as I despise Apple, I have to admit this is one thing they understand very very well. I know that some of y'all are Apple fans, so ask yourself: would Apple solve this with a protocol level block? No. It might be there at the protocol level, but it would not be part of the user interface.)

(p.p.s. time-wasting rabbit-hole of design: SED - Stunning Eastern Design = Schönes Einheits Design = Savoir Eviter le Design Its a Taschen book, not a web-page. Text in German, English, French. About Soviet East-German consumer products. Illustrates what happens when you criminalize designers, and hand it over to the factory assembly-line workers. Kind of like what happens when software programmers make user-interface decisions.)

@Linas %pUFd1SRXwtc0UhkGf+CRl1AudqMS4zeUALzxCu3GoJk=.sha256
Voted So after avoiding this thread for a few days (because I realized it would t
@Linas %j/wywzdv3dE4SUYtuK7045PE/jOrhurhBIgQT0VYJ1s=.sha256
Voted ## On Re-Blocks I'll come right out here and state that I am hard against
User has chosen not to be hosted publicly
@Linas %jlYdQ2JDyhj4aShd51fL1z8u0rPzMOkMd2EnQxbDmdk=.sha256

Blocking unpleasant junk in my feed, vs. Exploring the netherworld.

No one wants offensive junk in their feed. Blocking is great for that. But what if you want to go out and explore, so that, when you are in the mood, take a trip to explore the broader network? Check it out, see what's going on? Is my only option to unblock and follow, wait 24 hours for stuff to trickle in, look at the stuff, then reblock and unfollow when I am done?

I'd love to have a private "filter out this person" option for my main feed, because, honestly, a lot of people post boring stuff I'm not interested in. But they are my friends, so sometimes I look at it anyway. So, "filter out this person for the next week". I don't want to broadcast that, because it's hurtful.

What about the, uhh, people you disagree with? Well I don't want to follow them, of course, and sometimes I want to block them but sometimes, I want to see what they are up to, these days. Because, you know, unpleasant people often exhibit magical properties.

And discovering magical properties is the whole point of being alive, isn't it? Life ain't worth living if you can't encounter the weird. How can I dial up the weirdness factor? How do I control ssb so it doesn't turn into a boring whitebread of homogeneity?

#blocking #block-list

As a techie, I can certainly build a solution that works for me: build a machine with a 4TB disk drive, follow everybody and everybody else, and then build a custom client that allows me to crawl that super-feed any way I feel like, that day. But surely I am not the only person who wants to go out and #explore , every now and then? How does #exploration work on ssb? Or rather, what would it take to allow/enable exploration?

User has not chosen to be hosted publicly
User has chosen not to be hosted publicly
@andrestaltz %yKjQZpClMK77kKA4Y3RJ03CuZNGgwrHi4UAqBKq7GNc=.sha256

Okay folks I'm coming back to this thread after having read several of your deeply thoughtful comments, thank you! My opinions have certainly changed since the OP. I'll post with headers to make it easier to skim, and you can assume I'm talking about features to build or not to build in #manyverse as that's how I help shape SSB.

Special thanks to @Daan and @mnin's latest additions to this thread. 🙏 PS: I had forgotten about it, but I love the phrase "community as immunity".

I essentially dropped all the ideas that were controversial or divided people's opinions, and I adopted ideas that nearly everyone (as far as I remember) approved or suggested.

Dropping the reblock idea

It's clear that context is important: (1) who is blocking, (2) who is being blocked, and (3) why they're being blocked. (1) and (2) are given in the message header usually (in Patchwork or Manyverse), but sometimes you don't get enough context about the blocked person unless you open their profile, read their bio, check their picture in full width, read their posts, etc. So a quick reblock button invites you to skip some context, that's not good. I think it's a good practice currently that if you want to re-block someone being blocked, your only UI pathway is to open that profile screen, and then choose to block, so at least this pathway invites you to look more carefully on the profile screen. (3) is very important and we already have a community habit of adding a reply to the block msg. So essentially there's nothing I would change. Perhaps only one thing, which is (next header:)...

Info popups about blocking

In Manyverse there is "block" and "block privately". I think it would be useful to spawn a dialog that informs you what that action means and what it will do, and then you choose to confirm. I think in many cases where people would block, they should instead block privately. As @Daan noticed, blocking can be surrounded by hurt experienced by both blocker and blocked. Blocking privately minimizes hurt to the blocked person.

Trustnet for warnings, not for blocks

Trustnet is a good algorithm, and it produces a score. I think we can show that score to users, but we don't need to take an action for users based on that score. Taking the action automatically removes user self-determination, and creates opaqueness effects like "FB algorithms".

Regarding this, @Wouter Moraal made some nice suggestions in our Manyverse team private chat, which is to simply display a warning triangle near a person's username when their score is low enough (some threshold). See sketch below from Wouter:

triangle.jpeg

Upon clicking that triangle, it would open a list showing all your friends who have blocked this person. Preferably, you could click an item on that list to see the block thread and the reply with the justification, etc.

An important detail here is color. It would not be always a red triangle. For not-so-bad scores, it would have to be subtle, like a light gray. For sort-of-bad scores, maybe yellow. And then, for the almost-all-my-friends-block-them score, it would be a red triangle. Obviously the thresholds of scores and the associated colors are all things that need experimentation and tweaking, I have no idea what they should be yet. But the idea sounds good as a first candidate to what many of you suggested in this thread.

Follows/blocks msg format unchanged

@Daan I agree with the idea of asking, upon block, to write a text field to justify the block, but I wouldn't publish it as a new msg format (or even an extension of the type: contact format), I would just publish it literally the same way we're doing today: the root msg is type:contact, and a reply is a type:post. In the UI, it could publish two messages at once, but I would preserve the exact same data conventions we have now. And that's simply for compatibility with all sorts of SSB apps out there (including all sorts of versions of Patchwork, in case people don't update!).

User has not chosen to be hosted publicly
@Linas %rQ61bIzG8dRUaXYH11yIjW6bW3P0457VBHMg7dhU+Nk=.sha256
Voted Okay folks I'm coming back to this thread after having read several of your
@Linas %jttUeTU+FfjrrkxMpgbDA1pwK9of1glRGghakvUgGYU=.sha256
Voted Okay folks I'm coming back to this thread after having read several of your
@Linas %dDZqmxkjOxcPF6FnhAgMz+OyAr1VKL7yDMQQlfDQhLE=.sha256
Voted Okay folks I'm coming back to this thread after having read several of your
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
@Silver %ex10TEHKeMiOQdcId15NY6QiUdkta+/4y5CC9Q5Q6oo=.sha256
Voted ## Protecting SSB from yuge orange face or anyone like him In our #ngipoin
Join Scuttlebutt now