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?
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
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.