Discourse back button sucks

Again. Making the back button not take someone out of a topic (page) is a complete non-starter. It’s insane to even propose. It would result in a huge number of support requests about why the back button is broken for the user.

I understand the desire to get to your lowest read position. But that’s… not the way.

It’s not a desire to get to my lowest read position. It’s a desire to GO BACK.

Imagine if there was a link 10 posts up from here, that linked to a reply 50 posts up from here. After clicking that link I want to GO BACK, regardless of whether or not the post 10 up from here is my last read position or not.

edit: I have edited post 45 to illustrate this. Note that if you click that link <---- you can’t actually get “back” to this post you’re reading now! You can go to the end of the thread, but that’s a different thing.

Anyway, go to post 45. Click the first link. Click your back button. Click the second link. Click your back button. OOPS YOU CAN’T. You’re now stuck! You’ll never get back to post 45 unless you wrote down on a piece of paper “I was just reading post 45 in thread 127491, even though my read position was post 62”. edit since this post and ‘post 45’ has been “split out” into this new topic, the intended illustration no longer works, because they’re no longer in the same topic. Infact that link to “post 45” takes you to a non-existent post in another topic.

Good luck doing this on mobile. There Android has a system level back button that Discourse happily ignores and makes you exit the thread when you leave it, even though the UI guidelines tell you not to do that.

Making the back button not take someone out of a topic (page) is a complete non-starter. It’s insane to even propose.

I think it’s insane to change the back button to mean “leave the thread”. I already have buttons to do that: I can click on a category, or ‘latest’, or ‘unread’ or whatever. If I want to GO BACK I will press THE BACK BUTTON.

Breaking the back button in the browser because you worship iOS is just pointless user interaction friction. It means that it’s harder to read, and reading is fundamental.

OK so if I click that link to a previous reply, then click a few other links to previous replies in the topic, how many backs is that now? Two? Three? And the user is gonna remember to count, like Dirty Harry with his revolver, exactly how many presses of the back button it will take to, y’know, go back to the previous page?

Well, to tell you the truth, Mr. Pod, in all this excitement, I’ve kinda lost track myself.

It’s not insane at all. Back always means “go back to the previous page”, just like every other page on the internet, since the dawn of the web browser.

What would be insane, is asking users to guess, like Dirty Harry with his revolver, exactly how many presses of back it will take to … go back to the previous page.

Also, @pod I thought this link you posted was in fact excellent:

Notably, here:

The short version: users expect the back button to take them back to what they perceived to be their previous page. The notion of perception is the key factor here, since there’s often a difference between what is technically a new page and what users perceive to be a new page – which can create discrepancies between where the user expects the back button to take them and where it actually takes them.

At the center of the issue is what users interpret as a new webpage. Generally we’ve observed that if a new view is sufficiently different visually, or if a new view conceptually feels like a new page, it will be perceived as one – regardless of whether it technically is a new page or not. This has consequences for how your website should handle elements like overlays / lightboxes, accordions, form submits, pagination, and filtering.

Thus, it is not a reasonable expectation that moving upward in the topic, which is EXACTLY THE SAME VIEW AS BEFORE, BUT SHIFTED UP, would be considered a “new page” and thus require a press of the browser back button to get back from.

(The other argument you posted, that a near-fullscreen image on mobile seems like a new page, is actually one I have heard before on meta.discourse and I am somewhat sympathetic to. For the record.)

But you arguing – at quite some length – that simply moving up 20 posts in a topic is a “new page” and thus requires a “back button”… I’ve literally never, ever, ever in the history of Discourse… ever… had this discussion. Which doesn’t make it bad or wrong, but sets off all kinds of spider sense tingling from my years of software development.

And just to reiterate, because fuck at this point why not, I am also very sympathetic to the argument that our current “move me back to my lowest read position please” button behavior on the timeline is quite shit, and should be improved.

a) I don’t think back button means “go back to the previous page”, nor does it mean that to any one other than you, as you’re a website developer. It simply means “go back”.
b) The user doesn’t have to remember. They click back, they’re now at a previous point. They want to go back further? They click back! Trying to second guess where they want to go is fruitless and frustrating.
c) As an example, I’ve already provided a my-first-html page that illustrates how continuous hpyerlink navigation within a single html page can be navigated through with the forward back buttons. So yes, if a user goes to wikipedia, and clicks 3 #id hyperlinks in a row, then they’d happily expect to press back 3 times. This is normal. It’s been this way since forever. this site, in it’s ‘Users Rely Extensively on the Back Button’, illustrates this.

I am now legitimately pissed off. You are not listening. You are not even trying anything. You just think you know the answer when you’re legitimately 100% wrong.

  1. Have you tried that HTML page I suggested? And clicks some links? And then clicked the BACK button on your browser?
  2. Have you tried what @ArmandoPenblade suggested by going to wikipedia, going to a random article, and clicking on a link in the artcle’s table of contents?

I’m certain the answer is “no” to both.

Reading may be fundamental, but you’re not bothering to do it.

This is not one continuous 1996 era HTML page page, fully loaded in the browser. What you’re referring to is old-school HTML in-page anchor behavior. And yes, on a single static page of documentation, it’s… reasonable. It’s not particularly common on today’s web, not particularly expected by the average user, but like old <frame> HTML pages, you do sometimes see it.

But on a discussion with hundreds or thousands of posts? No. Hell, in any traditional vBulletin paginated discussion no reasonable person would expect that behavior either.

I’ll refer you again to the article you linked. It really was quite good, and makes the point I am trying to make better than I can. Maybe try reading that? Again if needed?

Generally you should watch out for all new views states initiated by the user which either look like, or conceptually feel like, a separate page.

There is no zero reasonable argument one can make that simply moving upstream in the exact same topic would “look like, or conceptually feel like, a separate page”.

If you disagree fine. Then we disagree. So be it.

YOU’RE NOT READINg

I NEVER STATED THIS

Really? That’s exactly what you said.

“50 posts up”
“10 posts up”

simply moving upstream in the exact same topic

This debate is getting a bit over the top and the tone not really conducive to constructive discussion.

Pod, I can kind of understand where you are coming from, but the way Discourse is structured, the fact that the thread is one view and clicking back takes you out of that view and back to the thread list is IMO consistent and quite intuitive.

It really doesn’t matter how you are effectively scrolling / jumping up or down (a restricted form of navigation, if you will) that view. When you hit back, the browser takes you back out of the view.

As @wumpus has been saying, there is a use case to make it easier to scroll back to a previous position within the thread. But that’s not the same as navigating back to the previous view. And this is a different case from a simple html anchor.

In any case, you might not find it ideal (though I would argue it’s the best way to handle the kind of Discourse UI and consistent), but the tone of the debate has gotten a bit over the top.

Apologies if I misunderstood exactly what you are after.

It looks and feels like moving to a separate page for me. Conceptually I’ve clicked on a link and moved to a completely different view. Other forums have conditioned me to expect that following a link to some other post is going to change the page. Wikipedia (and other sites) have conditioned me to expect that even moving within a big page will respond to the back button as if I have switched pages.

Yep, look, if wumpus thinks that he’s invented a new and better way of handling this issue, that’s fine. I mostly just want to point out that his is not the One True Truth on the matter, and that there is a preexisting alternative way of handling similar situations on the web. Which was mostly Pod’s original point, too.

But since it looks like wumpus finally managed to admit that maybe possibly some websites have used the Back button correctly (sorry, couldn’t help myself), I’m more or less good here!

Technically correct: the best kind of correct

It definitely isn’t the One True Way.

That said, I feel Discourse chose the best way to handle the back button. Most people don’t expect it to skip up higher on the same page, even though HTML anchors circa 1996 do work that way. If the back button worked that way I would personally find it much less convenient.

(secret insight: I hadn’t clicked one of those goofy ass up arrows to see a full quoted reply before this whole mess came about, so I have more or less zero dogs in this fight)

I just expand it in place.

I do think that wumpus’ explanation that “you’re just expanding the page/moving the window up” is wrong in that it puts the burden of knowing technical details onto the user. Yes, you’re still technically in the same thread, but if the user clicks a link and the onscreen content changes altogether, it is not at all unreasonable for the user to expect that the back button ought to go back to the state before he clicked the link.

I don’t want it to change. Right now the back button does exactly what I expect it to do - goes back to previous page. Maybe if some want it different there can be an option in account settings for the other behavior that’s desired by some?

Really? So this “page”

“looks and feels” like a different “page” than this one?

At best this is a user preference, but a bizarre one.

You click a button and you’re looking at a totally different set of posts. Conceptually, I can see the argument that it feels like clicking a link to one of the suggested topics more than it does to simply scrolling up manually, so it should leave a breadcrumb trail to go back to whatever you were just looking at.

In practice, I almost never click the button to go to the original source of the quote, so I don’t particularly care either way.

Yes, it does. It a UI issue. Moving around in a page is via scrolling (or clicking on scroll arrow) and generally involves a visual motion to the new place. Clicking on a link is a single action that visually involves a discontinuous jump to a new location. While I know that moving within a thread is just moving within one page it looks and acts like a link to a separate page.

No, it doesn’t. You just clicked and scrolled up. That’s why the glyph for it is literally an up arrow.

And I’ve never gotten this feedback on any other Discourse, out of thousands of instances. I also can’t think of a single meta.discourse.org topic on this in four years.

Anyways, I’m totally on board with much better “back to lowest read position” button availability in the vertical timeline and on mobile. Still delayed due to annoying internal operational issues, but next week for sure.

(As an aside, it is quite possible to have multiple, sizable gaps in your reading on a large topic, which is why “lowest read position” is the only way to think about this. If you said “take me to the next unread post!” that could be a lot of places in a topic you’ve read only sporadically. Imagine entering a topic, scrolling down to #30 then jumping to the end, which is say #300. Now you have a big reading gap of unread posts from #31 to #298 or so, but you are indeed at the end of the topic…)

We’re talking about different things.

I don’t think that link works any more after this topic got separated out but I am referring to links to other posts in the thread not to using the up arrow that you pictured. You are correct that the arrow helps to identify a scrolling-like action.