Edit

Thank you so much to those who responded. I think all of the answers here has given me the gist of why people want this feature: to see new content, but in a temporary sort of way (almost like a “new content” button). I think with this direction I should be good from here. If anyone has any specifics they’d like to see for this feature feel free to post it. I will read it all before I implement this feature tonight after work (in ~6 hours).

Original

This is concerning the action in the FAB overflow menu “Hide read”. I thought about this feature more yesterday and I ended up with ever more questions.

This button is an action which is what I think it making it so weird for me. It’s not a setting. So one would think tapping it would make some change each time, and that change is different each time it’s tapped (ie. it’s not idempotent).

Here is what I’m thinking. When a user taps “Hide read”, all posts that the user has read in that session and in the community they are currently looking at are added to some “hidden list”. This list will contain any posts hidden in this way and only this way (well i might add a hide post action on each post later).

This means that if you read a post yesterday, came back to the app today and then tapped “hide read”, that post will not be hidden even though you’ve read it.

Only posts that you have read in your current session for the current community you are on will be hidden.

There is an edge case here where a post you’ve read yesterday appears in the feed today, in the community you are browsing. In this case, if “Hide read” is tapped, that post will be hidden.

Is this what users would expect “hide read” to do? For people who used this feature in other app, is this what it did in that app?

  • idunnololz@lemmy.worldOPM
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    This unfortunately just gave me even more questions.

    On the surface this sounds literally the same as the server’s version of “show read posts” but client side. This has some issues such as when would posts actually be hidden? If you read a post and the went back to the post list screen. Will that post just instantly disappear? If mark post as read on scroll is enabled, it would be pretty jarring of an experience if you scrolled down and all your posts just vanished.

    This also raises some concerns performance wise as well. A client side hide read feature would require the client to request substantially more posts. Eg. you’ve read up to page 10 of “All”. Now if you refreshed “All”, the app will need to refetch up to 11 pages because it’s very possible you’ve already read the first 10 because Lemmy posts don’t change that often. I could just implement this and see what happens though, maybe it won’t be so bad.

    • idunnololz@lemmy.worldOPM
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Thinking about it more, my concerns with when a post will be hidden is probably why a lot of apps have it act like an “action” and not like a toggle. One crazy idea would be to combine the two somehow. Eg. have the “Hide read” button act as both an action and a toggle somehow. One idea is to have the row in the menu have maybe a long press to disable feature. This would be extremely hidden though.

      • ඞmir
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Probably not a good idea to hide things behind a long press. You could give the option to change the action between permahide and singlehide in the settings if you want to have both

    • ඞmir
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      The performance concerns make sense, that might be why Relay has it as an action only for already loaded posts. If you’re unsure of how to start I think just copying Relay’s behaviour would be good enough there - no performance issues, and not difficult to understand

      I personally don’t use/want hide on scroll, only hide on open/click (so I don’t read the same post twice). So for me posts vanishing as you scroll past them wouldn’t happen

      This brings me to a feature request that Relay is missing - a toggle to hide/collapse text of comments that were made before x time. Relay let’s you quickly navigate between comments that were made in the last x timespan, but not hide the rest alongside it. If I only wanna see subcomments from the last 3 hours then I need to order by “chat - new” and that collapses trees into single comments which is weird

      • idunnololz@lemmy.worldOPM
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        1 year ago

        I updated the post to give some information for which direction I’m going to take the feature. My current idea is to just make it be a “new content” button. You press it and you will only see new content (new content as in things you didn’t read) from the time you’ve pressed it. Force refreshing the page will disable it and show you old content again. This kind of deals with the performance issue by adding friction to the action. Eg. you need to physically press a button to hide read posts. This at least means users probably won’t press it every second like software would.

    • kratoz29@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 year ago

      The current button on the FAB is on point of a good direction and the read post should be hidden temporally just when you press it, that’s how Relay, Sync and Boost for Reddit worked.

      If you close Summit or refresh the feed the read posts should re-appear dimmed, until you hide them again.