New Posts / Bottom of Page Navigation UI March 24, 2020 1:19 AM   Subscribe

I ran into these UI/UX issues in the politics megathreads, and am frustrated by them again in the coronavirus threads. Can any of these be improved?

The "go to bottom of screen" downward arrow / widget:
* When browsing on my ipad, and I've zoomed in so the text is taking up the full screen width, the little down arrow widget is offscreen. So to jump to the bottom, I have to zoom out first to click it. Note: I am running my iPad using the default Safari browser, but with a system-wide larger than normal font size.
* The widget is on a toolbar which doesn't auto-show until you scroll down a bit. So to click it, I have to load the page, zoom out, and then scroll down.
* The widget literally jumps to the bottom of the page - I almost always want it to jump to the last post.
* Therefore, to get new content on a long thread, I find myself doing this six step dance: load page, zoom out, scroll down, click the widget, zoom in, then scroll back up (trying to remember the last post I read).
* When there was a single megathread, I would cheat and just remember "I last checked around 9am yesterday" which made it (relatively) easy to scroll back to find the new posts. With multiple threads, I can't remember that many "last checked times" in my head.


Perhaps this all represents me mis-using the "jump to bottom" widget? What I really want is probably different: a "jump to my last unread post" widget:

* When loading a page that I've viewed before, I'd like the default to be "jump to where I was last time". Tons of other forum software supports this.
* On the home page, there are two links for posts: "X comments (Y new)" but the "(Y new)" link seems to literally mean "new posts since the last time I loaded the home page" - the link itself seems to be include an anchor hashtag for a specific post #. This is almost never what I want.
* Could the "(Y new)" link should be something like "#unread" instead?
* Could this #unread anchor link to "the last post that I read" ?

Some of these features kind of already exist: When you are viewing a post, there is some server/client chatter that updates the "XX new comments, show" link at the bottom of a page. Basically, is there some way to get back to that state, when the page itself is not open (or was reloaded)?
posted by soylent00FF00 to Feature Requests at 1:19 AM (9 comments total) 1 user marked this as a favorite

When loading a page that I've viewed before, I'd like the default to be "jump to where I was last time". Tons of other forum software supports this.

On the home page, there are two links for posts: "X comments (Y new)" but the "(Y new)" link seems to literally mean "new posts since the last time I loaded the home page" - the link itself seems to be include an anchor hashtag for a specific post #. This is almost never what I want.


So, basically, this is possible, but to make it work the way you're expecting, we would have to store every user's position in every post they've looked at – This is not actually data I want to have around, because storing what posts you've read is a pretty extreme violation of privacy.
posted by frimble (staff) at 1:25 AM on March 24, 2020 [10 favorites]


You can bookmark the timestamp of the last post you read if this helps
posted by glasseyes at 1:58 AM on March 24, 2020 [1 favorite]


You can also click the timestamp of the last comment you read so when you reload the page it takes you to the last comment you read and not the top of he post.

as an aside it is amazing to me what a poor computing platform phones/tablets are. I forgot to take my laptop power cable on my last work rotation (I work away from home in a camp) and was reduced to using my phone to surf metafilter and holy hell that was painful.
posted by Mitheral at 4:18 AM on March 24, 2020 [2 favorites]


So, basically, this is possible, but to make it work the way you're expecting, we would have to store every user's position in every post they've looked at – This is not actually data I want to have around, because storing what posts you've read is a pretty extreme violation of privacy.

It would only be an invasion of privacy if it were in a readable format. What about hashing the story ID using the user's password hash as the salt and then storing the position based on that? When you load up a page you hash the story ID and the user's password hash and then look it up in a table with the position in the article. You could also set a last accessed field so that you can trim any entries over 30 days old to stop the table from ballooning.

You wouldn't know which user a hash belonged to from the database table and you wouldn't be able to place a user to a position from just that table. You need the correct story ID and the correct password hash to be provided to match it to the correct record. If no record is found, start at the top of the page.

If the feds come looking and demand the "logs" you just send them the hash table. They would have to brute force everything which would be technically impossible.
posted by Your Childhood Pet Rock at 6:45 AM on March 24, 2020


> They would have to brute force everything which would be technically impossible.

Nope. There are not that many article ids and user ids, it would be very possible to generate a list of article hashes for a given user (or even all users) and cross-reference it with the table.

This is really a client side problem. Just bung the information in local storage or similar as the user scrolls. Make it optional, since I like how .js-lite MF is at the moment.
posted by AndrewStephens at 7:30 AM on March 24, 2020 [2 favorites]


Client-side would be my preference, and it could even be pretty imprecise and still be better than status quo. Perhaps something like "every few seconds, save the window scroll position to local storage. On a page reload, restore the scroll position".

Of course, "it should be simple" rarely is - lots of things affect the scroll position calculation:
* landscape vs. portrait orientation
* zooming in or out
* window size
* deleted comments
etc.
posted by soylent00FF00 at 10:07 AM on March 24, 2020 [1 favorite]


It's possible to do it client side even without any involvement from the site. Metafilthy used to do it pretty flawlessly (aside from the unnecessary to operation phone home feature) years ago but the writer stopped supporting it.
posted by Mitheral at 12:51 PM on March 24, 2020 [1 favorite]


OK, I'm slow but I only just realized that in the FPP summaries that say things like 36 comments (5 new), the "new" link is clickable.

If you're reading the big megathreads on most visits I think that solves like 80% of the issues? If you're storing it up for a week then trying to catch up obviously not so much.
posted by mark k at 1:01 PM on March 25, 2020 [1 favorite]


Maybe it isn't easily available anymore or something but the Metafilter Scroll Tag userscript stores current scroll location in a cookie. It works fine until the cookie gets too big which suggests it could probably be done better using a different storage mechanism but in any case, I've been using it for years. It is essentially a jump to last read comment widget.
posted by feloniousmonk at 11:59 AM on March 27, 2020 [1 favorite]


« Older Corona Virus Check-in Thread no. 3   |   What if recent activity was limited to recent... Newer »

You are not logged in, either login or create an account to post comments