StackExchange-userscripts icon indicating copy to clipboard operation
StackExchange-userscripts copied to clipboard

Top-Nav-Choices not working well on Ask Ubuntu (especially sticky mode)

Open ByteCommander opened this issue 8 years ago • 4 comments

I think a screenshot says more than thousand words:

Ask Ubuntu, non-sticky, page top: Ask Ubuntu, non-sticky, page top

Ask Ubuntu, sticky, page top: Ask Ubuntu, sticky, page top

Ask Ubuntu, sticky, scrolled: Ask Ubuntu, sticky, scrolled

ByteCommander avatar Oct 13 '17 21:10 ByteCommander

@ByteCommander, Thanks for reporting this. It will be resolved in the next version.

However, it does bring up an issue as to which header should be primary for those sites with an additional custom header. So far, my opinion is that if the user has selected "sticky", then the "Stack Exchange" header should be considered primary (i.e. at the top of the page). OTOH, if the user has selected not-sticky, then the site's header should remain as the "top" header. I'm open to other opinions, and/or having it be optional in some way.

Here's what I've got so far (still needs more testing on other sites):

Sticky:

sticky

Not sticky:

not sticky

Hmmm… The more I think about it, I feel there should be an option for the user to select that the Stack Exchange header be primary, even when they have not selected it to be sticky.

makyen avatar Oct 14 '17 00:10 makyen

Nice, thanks for your quick response. The non-sticky version looks perfect. IMHO, the Ubuntu bar should not be between the sticky header and the page content, because it doesn't really belong there and disturbs me. I don't know how difficult it would be to get it above the sticky header, but let it disappear once the user scrolled away from the top, but probably that would look nicer. Maybe you could add both as options, or even allow hiding the Ubuntu bar completely behind another button in the header?

ByteCommander avatar Oct 14 '17 10:10 ByteCommander

The problem I have with putting the Ubuntu bar above the sticky header was that it would feel weird to have a "sticky" SE header slide up and then lock as sticky to the top when the page is scrolled. In addition, it leads to questions of what to do with the "sticky" bar when scrolling up. Does the user expect the Ubuntu bar to show prior to the scrolling getting to the top of the page? Do they expect it to also remain visible and sticky? Generally, I haven't liked most implementations I've seen on other websites where a top-header has shrunk as the page scrolls down, then expands as the page scrolls up, or when it reaches the top.

It's also a bit more complicated. It requires having a JavaScript listener for scroll events to monitor the scroll position and adjust the CSS/position of the header. Currently, no JavaScript from the userscript is active past making the changes to the top-nav, except on the preferences page. It's not a big deal, nor is doing so that complex.

My view on it was that by making the SE bar sticky, the user was, basically, saying SE is their primary focus, not Ubuntu. Thus, it was more appropriate to have the SE bar above the Ubuntu bar.

Another possibility is to have the Ubuntu bar immediately below the SE bar:

Ubuntu bar directly below the SE bar

I didn't really like that placement when I originally tried it (prior to shifting it down), due mostly to the lack of visibility of the "Ask!" indicator bar (the bar above the "Ask!"). The fact that it happens to end up directly below the drop-down indicator for the consolidated site-switcher doesn't help. However, placement directly below the SE bar is more consistent with the stock look, which has the "Ask!" marker at the top of the page anyway (i.e. already not that visible). Does this look better to you? (I'm going back and forth as to which I prefer.)

I don't have a problem with adding a preferences option to remove the Ubuntu header. However, having it hidden behind another button on the header would be a bit more complex.

makyen avatar Oct 16 '17 01:10 makyen

I'd probably prefer the version with no space between sticky SE header and Ubuntu header, if you're going for the simple solution, which I can totally understand and would be fine by me. Thanks again for your work.

ByteCommander avatar Oct 16 '17 20:10 ByteCommander