Hello all!

As of yesterday, I have updated the the instance to 0.19.2-rc.5. This should fix some of the remaining federation problem.

This morning it was brought to my attention through the Matrix chat that a feature has been added to the UI to allow admins to view votes: https://github.com/LemmyNet/lemmy-ui/pull/2303

I would like to add a bit of context. Viewing votes has always been possible in at least two ways:

  • Since votes are stored in the database, admins with access to the database have always been able to retrieve the list of voters by running a postgres database query.

  • Some applications in the fediverse will display votes by default. For example, content federated with friendica displays the votes as “likes/dislikes”, so any user can see federated votes.

What this feature has changed is that admins, regardless of whether they have access to the server, are able to see the list of up-votes/down-votes through the user interface.

This is effectively making a “hidden” admin feature more transparent. This can also help admins easily identify if bots are being used to mass down-vote.

I am bringing this up explicitly here because I think users might be interested in knowing if their votes can be seen, and so I want to be transparent about this change and about votes in general.

I also have some thoughts that I would like to discuss. If users are uncomfortable with admins having this power, I could remove this feature from this instance. But that would only be symbolic, as the votes can always be retrieved from the database anyway - and other instance admins will still have this feature to see federated votes.

I can also keep it this way. Only admins can see votes, and I can simply not abuse that power.

I can enable this feature for every user. Then everyone can see everyone’s votes.

Another option is to disable down-votes altogether.

If anyone has any thoughts/opinions about this, please let me know. I’m curious and interested in finding a good way to handle this.

  • mozz@mbin.grits.dev
    link
    fedilink
    arrow-up
    4
    ·
    5 months ago

    Tell me if I’m wrong – since votes are federated, anyone who’s tech-savvy / motivated enough can always expose the identity of who upvoted or downvoted things anyway. No?

    Maybe publicizing voting and making sure people know voting is public would be better (esp if it’s already exposed to all end-users through Friendica). I could see a few different ways it could lead to problems if people assume it’s private information when it’s really not.

    • Salamander@mander.xyzOPM
      link
      fedilink
      arrow-up
      2
      ·
      5 months ago

      Tell me if I’m wrong – since votes are federated, anyone who’s tech-savvy / motivated enough can always expose the identity of who upvoted or downvoted things anyway. No?

      I think that the easiest way is to create an instance and collect votes.

      But, as far as I can tell, It is not possible to retrieve the votes that were cast before the instance was created. The votes only get sent out to the subscribed instances at the time of voting. If you pull a comment or post later, it will arrive with 0 votes.

      Maybe publicizing voting and making sure people know voting is public would be better (esp if it’s already exposed to all end-users through Friendica). I could see a few different ways it could lead to problems if people assume it’s private information when it’s really not.

      I think so too. I have already been part of a few conversations with users who have just discovered that this is possible. I think that this transparency is something that the feature wants to achieve, but it is important to publicize it to avoid surprises.

      I can include this information in the instance’s application, then at least new users would be informed.

      • mozz@mbin.grits.dev
        link
        fedilink
        arrow-up
        5
        ·
        edit-2
        5 months ago

        I think that the easiest way is to create an instance and collect votes.

        Or even just make a little tool “hey I wanna stalk this (political / porn / whatever) community, run an endpoint for me that’s subscribed to it and give me a little report of who all is upvoting stuff in it”.

        I sort of assumed that the process that downloads a community’s history when it’s first federated also includes the identity of all the past votes (I feel like it has to be that way in order to make sure we’re not double-counting votes during federation?), but that’s just uneducated guessing.

        I think so too. I have already been part of a few conversations with users who have just discovered that this is possible. I think that this transparency is something that the feature wants to achieve, but it is important to publicize it to avoid surprises.

        Honestly I think that for new users the upvote / downvote buttons should literally pop up a message on every vote that says, “Hey! Due to the nature of the fediverse your upvotes and downvotes are semi-public information!” until you check the box that says “don’t show me again.”

        Personally for me I don’t have a problem with people being aware of my votes, but that’s partly because I assume it’s semi-public knowledge in the first place. I feel like enough people are unaware that taking too close a look at votes might be a privacy issue, but really the issue is the unawareness, not the looking.

        • Salamander@mander.xyzOPM
          link
          fedilink
          arrow-up
          2
          ·
          5 months ago

          I sort of assumed that the process that downloads a community’s history when it’s first federated also includes the identity of all the past votes (I feel like it has to be that way in order to make sure we’re not double-counting votes during federation?), but that’s just uneducated guessing.

          What happens is that the content arrives with 0 votes. There is no double voting, votes are just lost. The instance only sends out “user #X up-voted comment #Y” at the moment when the button is clicked. The list of votes does not get sent when a community is federated.

          Honestly I think that for new users the upvote / downvote buttons should literally pop up a message on every vote that says, “Hey! Due to the nature of the fediverse your upvotes and downvotes are semi-public information!” until you check the box that says “don’t show me again.”

          That’s a very good idea!

          • mozz@mbin.grits.dev
            link
            fedilink
            arrow-up
            3
            ·
            edit-2
            5 months ago

            What happens is that the content arrives with 0 votes.

            With Mastodon and Kbin I think you’re right, but I thought Lemmy deliberately went back and populated it all. I literally just federated https://lemmy.world/c/callofcthulhu@ttrpg.network to test (it wasn’t on lemmy.world until I searched it) and it arrived with all the right scores. IDK if that means vote identities go over though.

            (Edit: Oh, did you just mean scores were federated correctly but votes were lost? That would make sense yeah.)

            That’s a very good idea!

            Yeah! I think so. It might be worth a post to a wider swathe of the community.

            • Salamander@mander.xyzOPM
              link
              fedilink
              arrow-up
              3
              ·
              5 months ago

              I literally just federated https://lemmy.world/c/callofcthulhu@ttrpg.network to test

              I checked the votes of the most recent post and I do see votes from lemmy.world, so it was already federating!

              I also tested just now and I no longer see “0” votes, I do see a single vote (from the original poster). So that did change, but the score remains “1”. You can see:

              https://mander.xyz/c/onewheel@lemmy.world

              https://lemmy.world/c/onewheel

              Yeah! I think so. It might be worth a post to a wider swathe of the community.

              Since I am not confident I can code this myself, at least not quickly, I think it is better if I make a GitHub issue for it.

              • mozz@mbin.grits.dev
                link
                fedilink
                arrow-up
                2
                ·
                5 months ago

                I checked the votes of the most recent post and I do see votes from lemmy.world, so it was already federating!

                I also tested just now and I no longer see “0” votes, I do see a single vote (from the original poster). So that did change, but the score remains “1”. You can see:

                https://mander.xyz/c/onewheel@lemmy.world

                https://lemmy.world/c/onewheel

                That’s so weird. In your example it’s clearly working the way you say, but I could swear I’ve seen it auto-populate a new community including scores. IDK, maybe I am wrong; I might do some testing on creating-for-this-testing communities just to investigate more.

                Since I am not confident I can code this myself, at least not quickly, I think it is better if I make a GitHub issue for it.

                That’s awesome. Yeah, I think this would be a good thing. I asked about doing the same for mbin since I may be switching to it, but having it in all similar-to-Reddit platforms seems to me like it’d be a good thing.

  • ilovecheese@mander.xyz
    link
    fedilink
    arrow-up
    4
    ·
    5 months ago

    While I have no strong opinion on the up/down votes, (nothing’s private on the internet anyway) I generally think transparency is the right way to go.

    Thanks for bringing attention to this.

    • Salamander@mander.xyzOPM
      link
      fedilink
      arrow-up
      2
      ·
      5 months ago

      Thanks. My initial gut instinct was that the best would be to enable it for everyone, but after reading other’s perspectives and thinking more deeply about the privacy implications, I agree that transparency is the way to go.

  • Mothra@mander.xyz
    link
    fedilink
    arrow-up
    3
    ·
    5 months ago

    I’m not sure I’m 100% following with what’s possible in terms of enabling users’ access to see who voted what.

    If it’s possible to make the feature available I’d support that, but honestly I’m not phased if it’s only admins and tech savy outsiders who can access this info. I wouldn’t want you going out of your way to implement something like this, how much time and energy you want to spend on it is up to you!

    But above all I appreciate that you are being transparent about it and taking our opinions into account.

    • Salamander@mander.xyzOPM
      link
      fedilink
      arrow-up
      2
      ·
      5 months ago

      I like the suggestion of mozz@mbin.grits.dev of simply making a bigger effort of letting users know that votes are “semi-public” information in the fediverse, and I have opened an issue to suggest implementing that approach (https://github.com/LemmyNet/lemmy-ui/issues/2316)

      But above all I appreciate that you are being transparent about it and taking our opinions into account.

      One of the big selling points of Lemmy is privacy, and so many users do have a high expectation of privacy. It is important to be very clear and transparent about aspects that can raise privacy-related flags. Votes need to be public for the federation to work and to prevent double-counting, at least the way they are currently implemented, so transparency is the best solution.

      The argument for letting everyone see the votes is a bit more tricky. On the one hand, if the tech-savvy can do it, then why not just let everyone do it? On the other hand, if it is easy to do, you make it easier for users to witch hunt and attack each other on the basis of how they vote.

      Putting some additional thought on it… Enabling it for everyone has other privacy implications. For example, old votes would also become public and I can’t get backwards-consent from everyone. Votes from selective instances federating with us will too. I would need to wipe all of the votes from the instance before enabling that. I think making the effort to be transparent is a better approach.

  • nooneescapesthelaw@mander.xyz
    link
    fedilink
    arrow-up
    2
    ·
    5 months ago

    I like the idea of downvotes, and no nobody on this instance is really abusing them

    If they were being abused, then publicly viewable votes would probably hinder that a little bit. So far tho, it doesn’t look like there is any need for something like that imo

    • Salamander@mander.xyzOPM
      link
      fedilink
      arrow-up
      1
      ·
      5 months ago

      I like the idea of downvotes, and no nobody on this instance is really abusing them

      That is true! I have been lucky and there has not been much trouble. Only very nice people seem to like creating accounts here 😜

      Thanks for your input

  • jadero@mander.xyz
    link
    fedilink
    arrow-up
    2
    ·
    5 months ago

    I’ve long had concerns with up/down votes and like/dislike, especially the down/dislike. Nothing major, and I have no real solutions.

    My concerns are only to do with the ambiguity. There are so many different reasons why someone might vote one way or the other or even just not vote at all that I think it’s kind of weird that compiling the votes into a score seems to mostly work pretty good. That ambiguity means that it’s difficult to derive meaning from any individual vote, which I think argues in favour of keeping it somewhat private. Just because a non-admin can jump through hoops to get someone’s voting history, doesn’t mean it should be deliberately made public.

    As for keeping down votes, I’d be reluctant to mess with a system that works as well as it seems to. Personally, I very rarely downvote, as even that is more engagement than I’m willing to provide. In fact, one of the things I like about the client I use, Thunder, is that I have to long press a comment in order to vote. That little bit of friction means that I vote less often. When I vote, it’s because I really mean whatever I intend the vote to mean.

    • Salamander@mander.xyzOPM
      link
      fedilink
      arrow-up
      2
      ·
      5 months ago

      Thank you for your input, it’s very appreciated!

      As for keeping down votes, I’d be reluctant to mess with a system that works as well as it seems to.

      There is a toggle in the admin settings to enable/disable downvotes, and several instances do disable them.

      This hides the button and the results from the UI - other instances can still vote, but it’s not displayed. This change would be easy to implement and revert messing up anything. Personally, I do think that having up/down votes is a useful metric more often than it is abused. Disabling down-votes might be a good match for an instance dedicated to, for example, sharing one’s own art, as users might feel more comfortable sharing in such a space.

      • jadero@mander.xyz
        link
        fedilink
        arrow-up
        2
        ·
        5 months ago

        There is a toggle in the admin settings to enable/disable downvotes, and several instances do disable them.

        I didn’t realize that.

        Strictly as a user, from what I can tell, there doesn’t seem to be anything that resembles rampant abuse of downvotes. I’m glad that is what is visible at the admin level.

        Carry on, you’re doing great work as a community builder/manager.

        • Salamander@mander.xyzOPM
          link
          fedilink
          arrow-up
          2
          ·
          5 months ago

          Thanks!

          This is a comparatively small instance, the problem is more prominent in the larger instances!

          Also, I just found out that there is a user-level setting to turn off the visibility of all scores: