What's the plan for downvote federation?
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?
You are viewing a single comment
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:
Thanks for the response, Ernest!
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.
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.
I mean beehaw has no downvotes and they're not toxic at all if viewed from within their instance.
Understandable. I don't view showing downvotes as weakening filters—I see how it could deter downvoting to some extent, but in my experience, it leads to people handing out downvotes less freely and when it's more justified as opposed to not downvoting at all. Nevertheless, I see where you're coming from, and I want to stress that I think it's completely fair to not want people to see if you've downvoted them.
Note: I don't think defederating from an instance prevents them from seeing your content (according to this thread), so I'm not sure if defederation would make your votes private.
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.
+5 informative
@HeartyBeast that brings back memories...
😆
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.
@CoffeeAddict
Me too. I'm with you on this, I find our current voting culture way better and more welcoming than most of the lemmys.
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.
I agree that there's a big problem with how downvotes are used. I personally use downvotes if something is:
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:
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.
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
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
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.
@ThatOneKirbyMain2568
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.
@ernest
Personally I like the current system because:
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.
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.
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.).
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
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?