What's the plan for downvote federation?

ThatOneKirbyMain2568@kbin.social to /kbin meta@kbin.social – 16 points –

Right now, downvotes (reduces) don't federate to (and from?) Kbin instances. This lack of federation makes the downvote counter really inaccurate—a comment that looks like it's +10 might be -15 when you look at it from lemmy.world.

This leaves me with a few questions:

  • Is downvote federation going to be implemented?
  • If so, is it a priority or something that'll happen much further down the line?
  • If not, will downvoting be removed?
46

When it comes to /kbin as a platform, the federation of downvotes will certainly work and will be configurable per instance. Today, I started the initial work on implementing new ActivityPub services from scratch. This is a good time to start a discussion on how it should work on kbin.social - to your points, I would also add:

  • Downvote federation only applies to remote threads from other instances, without affecting local therads

Thanks for the response, Ernest!

This is a good time to start a discussion on how it should work on kbin.social

A while back, I made a thread on /m/AskKbin about this. While it's not solely kbin.social users, there's still a lot of good input, and you could use KES to sort through those who are and aren't on the instance if you want. My two cents are that it's important for downvotes to exist, be federated, and be shown separately so that (A) people can easily express that they feel something doesn't helpfully contribute to the discussion and (B) similar expressions from other instances aren't drowned out.

Downvote federation only applies to remote threads from other instances, without affecting local threads

To be clear, what exactly do you mean by this? Does this mean that downvote federation is one-way (i.e., that downvotes federate from Kbin instances but not to Kbin instances)?

EDIT: Fixed quote formatting.

I understand what you are saying here, and I have flip-flopped on the issue myself. At the moment I personally am a fan of the limited downvote federation because I do think it acts as a hivemind barrier; to use reddit as an example, as it got bigger the downvote was used as a means to disagree without adding any value to the discussion or to simply silence a dissenting point of view.

That is not to say there were not times when a downvote was warranted - hateful comments, racism, sexism, homophobia, transphobia, and general bigotry are all more than deserving of a downvote. There are also bots and general off-topic posts & comments that may warrant a downvote.

Overall though, I think the problem is how the downvote was used (on Reddit, at least) was not conducive to discussion. However, due to the fact that upvotes and downvotes are public on kbin it is possible that behavior could change, but then that could create problems with other instances where none of that information is public to begin with. (Nobody wants to have a crazy person come after them over a downvote.)

Right now, the fediverse is pretty small and Kbin is actually the most welcoming instance I have found so far. I am not sure if the lack of downvote federation has anything to do with this, but so far I actually like it. Maybe once kbin and the expanded fediverse grows larger my opinion will change, but right now I feel like it’s helping to make it more hospitable than reddit.

Edit: grammar and clarity

A key difference here is we can see who downvoted which I think makes people more cautious to downvote. I guess Lemmy users aren't used to that however (but it might change their behaviour when they realise we can see!)

Right! I sometimes wonder if that could not lead to a schism in the future; many, many people on lemmy value their complete anonymity and they could see kbin exposing their upvotes and downvotes as a violation of that. (Not saying that people on kbin don’t, but I think we act knowing that people can see who upvoted/favorited or downvoted/reduced a post.)

I can say that public voting has definitely changed my use of the downvote; I was much more trigger happy with it on reddit whereas I don’t think I have used it at all since I joined kbin. Lemmy users seem to use it the same way Redditors do, largely because voting isn’t public on their end.

@CoffeeAddict yeah it's made me very responsible about downvoting.

It has also made me more inclined to discuss things because now I don't just lazily "downvote to disagree" and move on.

Also, when someone weird starts following me around and downvoting all my posts, I can see who it is so it doesn't bother me.

It's way better than sitting there thinking "what did I do wrong".

Ill be honest, voting being public is a big deterrent from kbin for me, after having experiences in the past of having people harass me on the assumption that I had downvoted their content.

The risk of being targeted for harassment over a downvote basically cements kbin as an unusable platform for me.

E: And, on thinking about it? It also has me doubting the quality of kbin sourced content. Downvotes on reddit style forums, which this is, work as a community driven content filter. Actively discouraging the use of that filter means higher quality posts are harder to discern. And sifting through more chaff per good post is not appealing.

I see where you're coming from, but this to me seems more like a property of the fediverse than an issue with Kbin in particular. Right now, anyone can make an instance and choose to show downvotes. Someone could make their own instance, gather downvotes federated from other instances, and make a list of who's downvoted who. Being on an instance that doesn't show downvotes doesn't hide your downvotes from everyone — just you and others on instances that don't show them.

On this end, I feel that Kbin instances are just being transparent about the publicity of your votes. If anyone can see your downvotes just by looking at an instance that shows them, I think it's important that people are aware of that. Showing public votes is sort of telling you, "Hey, people can see how you voted on the fediverse," and that's preferable to pretending that nobody can see them.

That just drives me to use instances that dont federate with instances who show that information.

Like. Lets apply that logic elsewhere. I could make an instance that makes your ip address public, because that information is also available. Could stick it next to your username.

Would you use that service? Or do you prefer using an instance who keeps the information they can access private?

Obviously, if my instance was sending my IP address off to other instances, I would get off that instance. However, downvotes are different situation. To my knowledge, for votes to work and be somewhat reliable, instances need to have a user attached to each vote. It would be very problematic if an instance was sending userless votes and other instances were just accepting them without issue. Nothing about the fediverse requires sending my IP off to other instances, whereas votes need to have corresponding users to be trustworthy.

Yes, thank you, obviously my exaggerated example to highlight the point was exaggerated. But you get my point, yes?

E: here, since you responded my just describing the function of how votes work. Lets try a different example.

Servers can track what posts you look at. That is something they can do, and many websites do. Would you be pleased to have every single post you viewed listed on your profile?

Kinda? Your example wasn't really an exaggeration of the situation with downvotes but a different situation entirely, so it didn't really address my point. Again, as long as there are downvotes on the fediverse, the people behind them will be visible to anyone who wants to know just by looking at an instance that shows them. Thus, being on an instance that doesn't show who you downvoted doesn't make your downvotes more private than if you were on an instance that did.

I 100% get being worried about people seeing who you downvoted, but in that case, I'd suggest being on an instance that just doesn't have downvotes. Those exist, and I've seen plenty of people who prefer things that way.

EDIT: A bit of clarification.

Not having downvotes at all makes the exact reason I dont like kbin even worse. A lack of downvotes is, in part, what made facebook so vividly toxic and rife with hate speech and fake news. When a site lacks upper moderation and a method of inter-community moderation, there is no way to filter out bad content and bad users.

Removing downvotes is something wanted by people who dont want content filtered. Showing downvotes is something wanted by people who want to weaken filters. Weak or nonexistent filters is what allows the worst aspects of the internet to fester and rot.

I did literally say I am drawn towards instances that would refuse to federate with privacy free instances, which includes the ones that make votes public. In the exact same way I would not want federation with instances that make your ip or view history public.

2 more...
2 more...
2 more...
2 more...
2 more...
2 more...
2 more...
2 more...
2 more...

It so happens that I had a discussion with someone about this very issue on the kbin codeberg some months ago, starting with this comment here:

https://codeberg.org/Kbin/kbin-core/issues/455#issuecomment-977168

But while I've also gone back and forth on the question, I've basically settled on the view that public downvoting encourages _responsible _downvoting, and the risks associated with downvotes being public are exaggerated given how much else of one's activity is public anyway.

Back in the day facebook only had a like button and people demanded a dislike button. I don't know what facebook thought internally.

I think what kbin really needs is reasons. (like slashdot - though I havne't been there in 20 years so I don't know what is current). Upvote because it is funny is different from upvote because it is insightful (I may want to filter on that). Downvote because it is SPAM vs downvote because it is insightful on how someone who is wrong thinks (which probably should count as an upvote) Of couscous I don't know what the fedration protocol allows.

Back in the day facebook only had a like button and people demanded a dislike button. I don't know what facebook thought internally.

😆

@CoffeeAddict

Right now, the fediverse is pretty small and Kbin is actually the most welcoming instance I have found so far. I am not sure if the lack of downvote federation has anything to do with this, but so far I actually like it.

Me too. I'm with you on this, I find our current voting culture way better and more welcoming than most of the lemmys.

At the moment I personally am a fan of the limited downvote federation because I do think it acts as a hivemind barrier;

I think it's a lot less straightforward than this. While it definitely drowns out the "hivemind" of the wider fediverse, it also creates a bubble within your own instance. If a lot of people outside of your instance think you made a bad comment but few inside your instance do, limited downvote federation creates an inaccurate representation of what people think.

Additionally, having downvotes but limiting their federation makes them extremely unintuitive and only serves to further confuse new users. It's actively misleading—you'd think that if you see 0 downvotes that nobody clicked the downvote button, but that might actually be 5 people or 10 people or 30 people. At least if you don't have a downvote counter at all, it's clear that downvote functionality just isn't recognized on the instance. I'd much prefer that over a straight up incorrect counter.

Overall though, I think the problem is how the downvote was used (on Reddit, at least) was not conducive to discussion.

I agree that there's a big problem with how downvotes are used. I personally use downvotes if something is:

  • spam
  • straight up hateful
  • completely off-topic
  • a nonsensical take that the poster doesn't support

In other words, if something isn't a reasonable contribution to the discussion, I'll likely downvote it.

However, lots of people seem to use the downvote button as a disagree button. I see this less on kbin.social than I do on other instances, and that could be a potential reason to not federate downvotes. If downvotes are used differently on kbin.social than on other instances, then I can see it making sense to not lump them all together. However, that only makes sense if people on kbin.social aren't using the downvote button as a disagree button (which they are, just less so than on other instances). And even still, there's the problem of an unfederated downvote counter still being misleading.

Rambling aside, I see three ways of handling this:

  1. Remove the downvote button entirely.
  2. Remove the downvote button, but replace it with reactions that people can use ("This is spam," "This is hateful", "This doesn't contribute to the discussion," etc.). If other instances adopt this set of reactions, reactions from those instances could federate.
  3. Keep the downvote button and federate downvotes.

I don't like #1 very much because then you don't have a great way of indicating spam, hateful posts, unhelpful comments, etc. outside of reports that only moderators can see. #2 seems really nice, though both it and #1 come with the downside of filtering out negative feedback from instances with downvotes. #3 is also good, though it comes with the problems of downvote misuse.

Might be interesting to have per-instance weighted voting. So local votes would count as 1x, votes from other instances could count as 0.5x, and votes from that one instance that has a lot of vote brigading would count as 0x. Would be useful for smaller, specialized instances that tend to get harassed by outsiders.

Like you mentioned, that could be interesting for specialized instances used by a small group of people, but that wouldn't work for any general instance due to the vote counters being really unintuitive. If an instance were to do that, I imagine they'd also want to have something you can click that shows how many votes were local, how many were from other instances, how many were blocked, etc.

I imagine they'd also want to have something you can click that shows how many votes were local, how many were from other instances, how many were blocked, etc.

Actually, that would be really cool and worth doing regardless. Have a voting statistics view for each post where upvotes and downvotes are broken down per instance, and maybe by other criteria too. @ernest

If a lot of people outside of your instance think you made a bad comment but few inside your instance do, limited downvote federation creates an inaccurate representation of what people think.

But we're cooler than anyone else. :P

It's much more important to me to know what kbin thinks about my comment, than it is to know what the aggregate of kbin+hexbear or kbin+lemmy.world thinks.

And if you do want to know you just hit view on original instance and see all the votes.

That's not really a culture I want to be fostered here on kbin.social. Kbin instances are part of the wider fediverse, and there's nothing about someone on kbin.social that makes their vote more important than someone else's vote. If Kbin had a reaction system (like I mentioned in another comment) instead of downvotes, then not federating downvotes would make more sense, as specific "this is spam" or "this doesn't contribute to the discussion" reactions are more useful than just a down arrow. But the system we have right now is extremely unintuitive to new users and promotes a culture of "Eh, downvotes from people on other instances don't really matter. What's important is what people who are arbitrarily on my instance think."

If you really want to know which votes are local and which ones aren't, it'd be much better to either

  • have an indicator next to each user in the activity tab showing whether they're local or not, like what KES does with threads & comments, or
  • have something you can click that lists the numbers of local votes and remote votes separately.

people who are arbitrarily on my instance

I don't think instance membership is all that arbitrary. I'm on kbin.social not hexbear or beehaw or lemmy.world for good reason, and it's not only because kbin is technically better.

It definitely is to some extent, and voting culture isn't a huge part of why people go to kbin.social. Kbin.social is the main Kbin instance. If someone prefers the Kbin's UI to Lemmy's or wants to have microblog support, many will just default to kbin.social. I came here because I thought Lemmy looked ugly and Kbin looked really nice.

When you're introducing the fediverse to people, a lot of people are just going to go to the default instance, and it's honestly good advice to tell people to just do that to start out (lest they turn away from the fediverse entirely due to not being able to make a choice). Voting culture has nothing to do with that. Just because someone's on lemmy.world doesn't mean their downvotes are worth less than ours, and just because someone's on kbin.social doesn't mean they don't just hand out downvotes in order to disagree.

Come to think of it, I think downvotes should become a message to the mod - either delete this unacceptable content, or remove the downvote. I'm not sure what the logistics of that are though - I'd be shocked if there are not serious unintended consequences of that.

If you want to get the mods to take something down, that's what the report button is for. Downvotes shouldn't also play that role, especially if they stay as downvotes. That down arrow is inevitably going to be used by a lot of people to express mere disagreement.

I don't want downvote for disagreement. Learn to debate a point and then leave it. Downvote for disagreement just discourages people from holding forth on complex unpopular positions ,even if they are correct. Of course it is most abused in politics where we can't objectively give a correct answer, but elsewhere i've seen real experts downvoted when they point out the popular narrative doesn't fit the facts.

I completely agree with you, but as long as there's have a down arrow button, there are going to be a lot of people who use it for disagreement — especially when the up arrow button is used for agreement. To my knowledge, it's not as much of a thing among kbin.social users (likely since votes are public), but it's definitely there, and I imagine poor downvote use will only become more prominent as the instance grows. Thus, it'd be really bad for some people to use and interpret downvotes as a pseudo-report button, as not everyone will use it that way.

EDIT: Typo fix.

2 more...

@ThatOneKirbyMain2568

(B) similar expressions from other instances aren't drowned out.

Some other instances are so much bigger than ours though. The "drowning out" will likely come the other way.

I don't have time to go through and find it right now but somewhere in my comments is screenshots of the difference in voting patterns on a comment thread (it happened to be one where someone was saying kbin is mostly trolls, so it was polarizing).

Kbin had voted in a completely different way to the lemmy, but because they were so much bigger than us, the aggregate would have looked like lemmy was the consensus.

Part of the appeal of an instance for me is its culture. It's hard to develop that when we risk being drowned out.

2 more...

@ernest

Personally I like the current system because:

  1. We on kbin have not developed a knee-jerk "downvote everything I disagree with" behaviour that reddit had and lemmy.world is starting to have.

I think this is because we can see each other's downvotes and so we use them more responsibly. People from other instances don't have that so they behave differently.

Downvote-to-disagree has an offputting effect on discussion and creates echo chambers.

  1. Not federating downvotes from much bigger instances allows us to develop our own culture here on kbin without it being buried in an avalanche from elsewhere.

Brigading from places like hexbear doesn't really affect us.

I'd prefer that kbin communities continue to develop based on the ethos of the people here, rather than potentially having our upvotes cancelled out by downvotes from a larger instance.

I responded in another comment of yours, but I'll also respond here for the sake of visibility.

  1. We on kbin have not developed a knee-jerk "downvote everything I disagree with" behaviour that reddit had and lemmy.world is starting to have.

I completely agree with this. From what I can tell, public voting has made people on kbin.social much more reserved with their downvotes — tending to only use them for spam, hate, off-topic, or noncontributory posts and less for just disagreement — without having the risks that come with a complete lack of downvotes (i.e., not having a quick way to give negative feedback on posts that are off-topic, noncontributory, etc.).

  1. Not federating downvotes from much bigger instances allows us to develop our own culture here on kbin without it being buried in an avalanche from elsewhere.

This is a good point, but there are a lot of issues with not federating downvotes. Yes, not federating downvotes DOES help to emphasize the downvoting culture on kbin.social, but it also means that the downvote counter is misleading and unintuitive. New users would reasonably think that, like the upvote counter, the downvote counter represents anyone who's downvoted your post (outside of people on defederated instances). Having downvotes act like they do right now makes kbin.social less approachable and more confusing to new users.

Also, as long as we're using the same system as other instances, I don't want to push the idea that negative feedback from other instances doesn't matter. A downvote is ultimately a downvote, whether it's from kbin.social, another Kbin instance, or a Lemmy instance. The last thing I want is for the main Kbin instance — the one to which many will default — to have an exclusionary culture.

If we don't federate downvotes, I think we'd be better off just ditching downvotes entirely and instead having something more conducive to how we want instant negative feedback to be used. As I've mentioned in other comments in this thread, it'd be great to have a set of reactions people can use. "This is spam," "This is hateful," "This is off-topic", "This doesn't meaningfully contribute to the discussion," etc. would be a much better system for promoting the voting culture we want here on kbin.social. And if other instances adopt such a system, we could federate those reactions with them as well.

@ThatOneKirbyMain2568

If we don't federate downvotes, I think we'd be better off just ditching downvotes entirely and instead having something more conducive to how we want instant negative feedback to be used.

This would be my second preference.

Out of curiosity, how would the current system be preferable to specific reactions? The whole idea of "we should only count downvotes on our instance" only makes sense if everyone on our instance is using downvotes in a more reserved manner, which isn't the case for everyone. Different people on kbin.social use the downvote button in different ways, and that'll be even more so as the instance grows. If we really want to preserve this voting culture we have, wouldn't it be better in every way to replace downvotes with reactions specific to how we'd want downvotes to be used?

@ThatOneKirbyMain2568 like I said, it's my second preference.

If you're asking why it's not my first choice, the answer's partly that I'm happy with the status quo for reasons I've already gone into, and partly pragmatism.

@ernest has a really long to-do list and figuring out how to implement it in a way that wouldn't undermine the report button or do something crazy e.g to reputation is probably not the best use of his time right now.

Definitely agree that Ernest has a ton to do and implementing a whole new system shouldn't rlly be the top of his priority list. If it's too impractical, I'd prefer that downvotes just federate instead of the unintuitive system we currently have, but I've already discussed that at length.

Well how does it work at the moment? I have the feeling that downvotes from some instances were synchronized in the past while others are not. Is it really that absolutely NO downvotes are synchronized at the moment from kbin?

2 more...

how it should work on kbin.social [?]

In my view ideally upvotes and downvotes federate both ways, but I can also see why some admins might choose not to federate in downvotes.

I guess the real question comes down to what you do with the information.
I think currently the sort order is very heavily skewed towards boosts (which I actually quite like), but I do also sometimes wonder how it would look if the sort order was aligned with the reputation system (i.e. boost= two upvotes).
Having both sort options available might be nice, (noting that we'll not federate in any boosts from Lemmy).

If we did federate in downvotes the current sort order (which seems based on boosts less downvotes?) probably wouldn't make sense?

...I'm also be keen to see others thoughts on this!

Edit: formatting

(i.e. boost= two upvotes).

I think this is an interesting concept.

Lemmy users don’t have boosts, so they would not be able to deliver “two upvotes” but I also think kbin shouldn’t be limited by what lemmy can or cannot do.

Having both sorting algorithms for both upvotes and boosts available as a sort option might be the most fair way forward.

@CoffeeAddict I might be wrong but I think boosts are more important when we interact with Mastodon?

A boost is effectively a retweet. The thing you boost gets re-shared from you to the people that follow you ... the stuff I boost with this account is gets added to my feed on my Mastodon account. You're basically saying "damn, I love this comment and want to make sure everyone else gets a chance to see it too!"

Turn upvotes/downvotes off and you’ll enjoy your experience here more, and your opinion will be less biased.