By advantage I mean posts from those instances receiving more visibility than others on feeds that sort by score (active, hot, top).
There seems to be at least two ways in which posts from instances that don’t allow downvotes receive an advantage:
- They don’t federate downvotes. That means other instances only count downvotes from their own users but not from the rest of the fediverse.
- A downvote sometimes can be counted and federated as an upvote. This happens when you first upvote a post and then change it to a downvote.
Let’s see an example. Suppose we are a user from instance A that allows downvotes and we want to vote a post on instance B that doesn’t allow downvotes. Watch what happens on instance C that also allows downvotes.
-
Before the vote this is what users from each instance see (upvote - downvote = total score)
A: 10 - 0 = 10
B: 10 - 0 = 10
C: 10 - 0 = 10 -
Now we upvote the post:
A: 11 - 0 = 11
B: 11 - 0 = 11
C: 11 - 0 = 11 -
We misclicked, we meant to downvote the post:
A: 10 - 1 = 9
B: 11 - 0 = 11
C: 11 - 0 = 11
If the post was hosted on an instance that allowed downvotes users from instance C would see a total score of 9.
Keep in mind that not everyone is using the upvotes weighting, so it’s not just about “those who allow downvotes and those who don’t”.
Personally, I find the whole upvoting/downvoting thing to be a very toxic feature that encourages hive mind and blaming divergence, so I hide scores and I sort posts and comments by chronological order. I would not use Lemmy if I was forced to be under the influence of social scoring, so defederating from instances which do not apply the same rules on downvoting would feel very detrimental to me.
Upvotes/downvotes were implemented by websites like Reddit as a scaling trick, so they can get millions of users without the need to hire hundreds of thousands of moderators. But it turned out that adding subreddits with volunteer moderators worked better anyway, and this is already what we have on Lemmy, with instance owners and community moderators, so there is really no need for some dystopian scoring of everything someone says.
This. I would up vote, but I’d sacrifice myself on the altar on irony by doing so.
😂 No worry, I would not have seen it anyway. :)
I’ve been coming to realize how much votes affect the way I interact on Lemmy (and not in a good way). They have their utility of course, but if you’re sorting by new anyway they don’t really have an effect other than, like you said, giving a score to everything everyone says - which I’d really rather not be a part of my interactions as I find it does more harm than good. I hadn’t considered just hiding them entirely though, thanks for bringing that up as a possibility. What do you use to do that? Don’t suppose it’s anything that would work on mobile too?
You’re welcome. I don’t use mobile myself : do you use an app, or it’s just about opening your Lemmy instance url in a browser? If it’s the later, you can go in the settings and there is a “Show Scores” checkbox. Just uncheck it, hit the “save” button and you’re done. :) This is also where you find the “Sort Type” select box which allows to define default sorting and put it to “New”. It only works for posts on the homepage, though, you have to take the habit to manually click “new” after reading a post to sort its comments (I could have swear it was using the “Sort Type” option before, or maybe just remembering last sort, but it’s not the case anymore).
I use the mobile site, so this is perfect! I’d been through the settings but totally missed that checkbox. Thank you!
It’s funny, I vaguely remember having comments sorted differently by default too, but I can’t seem to find any actual record of it. Mandela effect? Anyway, I’m hoping the option will be added soon, since I can’t get it to work quite right with a script:
window.addEventListener("load", function(event) { document.querySelector('[id$="-new"]').click(); })
This only seems to work when the page is refreshed for some reason. If you or anyone else happens to know a solution that’d be greatly appreciated, I don’t know javascript well.
Thanks, that’s a good idea.
The reason why it only works on page reload is because Lemmy is a SPA : it makes it look like you’re browsing several pages, but it’s actually always the same, and it uses javascript to change the url and load new content. So the “load” event, triggered when the current page is done loading, is only triggered once because the page is only changed once. If you wonder why : SPA became commonplace in the 2010s because javascript applications started to get way bigger than previously, and it was helping with page load speed. For a time… because when you make page load faster, people just make it load more things until it’s slow again. :)
My first reaction was that additionally to binding to the
load
event, we probably just can bind to thepopstate
event, which happens when the url is programmatically changed. But my first tests were not successful in doing that. I’ll have a quick look at the source code of Lemmy later today to see if I can solve this.Thank you for the explanation! That’s wild, I’ve certainly visited SPA sites but I’ve never given much thought to what must be happening under the hood there. I guess it has its use cases but from a user’s pov the quirks can be kinda annoying. Case in point, I see why
load
wouldn’t do the trick - hope you can find whypopstate
wouldn’t either (and thanks again)!You’re welcome. :) Oh yeah, you probably use a lot of them, they are everywhere, although it’s not obvious to the user. One way to figure it out is to open the browser inspector (usually control + shift + i, same to close it) and look on the “network” tab, which lists all network requests made by the page, to see if this list gets emptied when you click a link (if it’s a real new page, the list is emptied and new requests appear).
My apologies, I spent an hour on the popstate problem before losing interest and calling it a day. Lemmy uses the
inferno
frontend framework (a clone ofreact
), which uses theinferno-router
router to handle page changes, which uses thehistory
lib to do it, which… usespushState
as I expected it would. And yet, binding on popstate won’t work. 🤷 Maybe I’ll have an other look at it one day if it bugs me enough. :)