I'm sorry your feelings were hurt when I declined to install your wonderful app that offers access to your website. Perhaps I just wasn't open to the awesome possibilities your app was offering me, but I already have a web browser that works just fine and couldn't be arsed to install more stuff. It's not you, it's me. I'm a bad, bad person. I get it. Now, about your "Scroll Up Bar"... It is indeed a very fine looking user interface, but my web browser already has one. I just can't seem to stop doing things that hurt your feelings, but could you please give me the option to turn that thing off?
If you're really having trouble justifying your job, perhaps I can help you out with a small suggestion. You may have noticed a trend towards wider aspect ratio screens over the last few years. Screens have gotten so bloody wide that practically nobody wants to read a column of text that is fully as wide as their screen! People were designing websites with UI elements on the sides even back when screens were slender 1.33:1 twigs instead of the McDonald's super-sized behemoths we have on our desks today. Perhaps you should take your bar, rotate it 90 degrees, and stick it on the side where there's space for it!
An ungrateful, lazy, bad person who just can't be pleased.
I always feel totally alienated by the mobile page, there is information left out, annoying badly-implemented JS scrollers, etc...
The "desktop" site looks always more nice and familiar, and you can zoom and scroll around as you wish to read everything.
Reading such articles feels claustrophobic, because you're stuck in this long tunnel of text, with little visual indicator of how long it lasts, inducing anxiety about wasted time. If you're somewhere in the middle, it's a long trip back up to the top.
The close to optimal mobile browser for me was the original (AOSP) Android browser around 2.3. It rewrapped text on double-tap to fit in the visible page area, meaning you could choose what effective font size worked well for you. And zoom still worked, so you had a good handle on where you were on the page, and an easy way out of it.
Neither Firefox nor Chrome on Android are as good a browser for me. Unfortunately, getting the AOSP browser back is awkward, unless you want to use Dolphin or similar, and besides, it no longer has the rewrap functionality.
PS: Google are the evil people here. They deliberately removed this feature from Chrome and AOSP browser, and are punishing sites that don't serve mobile-specific content - i.e. content that is less usable for people who prefer zoom-based navigation.
Just the damned copy.
If you've got navigation elements, don't cram them into sidebars. Put them at the top of the page (but not fixed), or bottom (dittos).
For a huge number of sites, I disable presentation of headers, footers, and sidebars entirely. I'm not on the sites frequently enough to care to use them.
Some mobile sites do pretty well by removing extraneous elements, others cram in more fixed elements (top, bottom, or side), all of which send me running. There's simply not sufficient real estate to deal with that crap.
Increasingly, Web design isn't the solution, Web design is the problem.
I've suggested gently to the author of this site that he'd do better with balanced left/right margins, a 45em or so content width, semantic markup, and white backgrounds, but he's apparently not interested:
Seriously, when the easiest way to read content is to grab plain text via lynx or w3m, add Markdown, and re-export the page as HTML or PDF, you're doing it wrong.
I explain the feeling a bit more here: http://lelandbatey.com/posts/2014/02/shoot-your-mobile-site/
I will also mention that I think having switched to an Android phone with a large screen (the Galaxy S5) has improved this problem for me. The iPhone screen is just too small and Apple really needs to make a larger screen phone because that tiny thing isn't competitive, but I'm a very big person with big hands and big pockets. The S5 is also a very good phone, the plastic casing is weird, but I just put it in a really nice case and I never even notice the cheap materials the thing is made with.
[image on new line, click to open in new window]
I don't think the iPhone is too small at all. In comparison to others, yes, but standalone, I don't think so. I use pocket for reading anyways since all my articles are centralized.
Yes, "fixed bars" are annoying. We've had "fixed bars" on non-mobile for as long as I remember: Main Menu Bar, Title Bar, ooh and now a "Tab Bar" which is just the modern version of Windows MDI, maybe Windows MDI, Navigation bar(s) which sometimes takes up a quarter of the screen height I kid you not, the Bookmarks Bar which gets hidden the first time I open the browser and all corporate links get deleted what a pain.
Including your "bar" in the contents and letting it scroll away might be easiest, and the author noted medium's clever idea.
Please just have one site, make it efficient, and be done with it.
Here's what the EC2 console looks like on mobile:
It appears that Amazon is doing this on purpose...
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
> From Google IO 2013 session https://www.youtube.com/watch?feature=player_embedded&v=Dujf...
A lot of people at StackExchange seem to recommend zooming though:
I guess we spacebarers are a minority and most people use the mouse wheel or the down arrow.
I wondered recently if this doesn't bother other people; but all three of the other developers I sit with said they scroll via mouse/touchpad. One of them said he wasn't even aware of doing it consciously.
But I'm not sure exactly what the mechanism is that causes this; I thought it was simple a case of forgetting to add top padding to the page body, but that doesn't always seem to be the case. Last time I saw a site that did this, it already had the padding but still misbehaved in Chrome. Yet the paging worked correctly in Firefox! Further testing showed Safari worked, so (in this case, at least) it seemed to be webkit-related.
But that's just one scenario. I suspect there's a number of ways people get this wrong, and it's unfortunately not just a single simple fix for all cases.
Anyway Firefox did make some effort to work around this common web design error (that being what I'd call it) which is probably why it behaves differently to Chrome:
but I still find it hit and miss between from one page to the next. As you mention there are many scenarios - what if the fixed header only goes across say half the width of the page? What if it's less than 100% opacity? What if it varies in height? The browser makers have to resort to "heuristics" and now we're off into the land of deep unpredictability.
While writing this I've also just noticed that - fixed header or no - pressing space / page down doesn't go exactly the same distance (in Firefox) as paging down by clicking on the scroll bar. Which is also a bit disconcerting.
I suppose it wouldn't be so bad as part of a website when viewed from a desktop environment, because you can easily highlight where you left off on the page much easier than you can on a tablet, for example.
I never have any problem remembering that I'm readding HN.
I realize I'm likely a very small portion of the demographic, by my prior two decades' experience with Web Annoyances tells me that my own sentiments aren't much different from those of the typical Web user, it's just that I'm aware of, and make use of, tools to fix many of the problems.
Though, personally I would like pagination (like Google) back for Facebook, Flickr and also Google Images - scrolling down a few "pages" is just buggy on those sites, and click on the wrong link and you have to go back and scroll all the way down!
If anything, these bars are worse on devices that have poor scrolling behavior, as I've found they tend to interfere with scrolling.
I Blame it on the design patterns of (Twitter) Bootstrap. A lot of sites are put together with it. Although the default nav-bar is not bolted to the top it is easy to read how to do that in the docs and implement it because it seems like a good idea at the time. Others, not using Bootstrap then copy the 'new convention'.
Personally I believe that for some content, e.g. a Tumblr style blog, the nav-bar at the top (and fixed) makes a lot of sense. If you also have pet-peeve infinite scroll (as many do on Tumblr blogs + Pinterest), then it is helpful to have a fixed header as there is no footer.
One place that didn't work is at Forbes.com because they're using CSS to implement that particular annoyance.
I highly recommend to refrain from using position:fixed on mobile devices.
So, the advice not to use position: fixed on mobile may still be good, but iOS isn't the reason why.
It baffles me that nobody ever noticed this bug, but on the other hand I can see how this would happen. The developers probably never noticed because they already had the cookie that prevents the popup from showing. Still...
Sadly, that's rarely the case.
A site like Forbes gets paid every time you click through to another article. Once you've landed on an article and you're reading it, your value to them has been expended. Thus they have almost a diametrically-opposed interest to yours- you want to read the content uninterrupted, and they want you to click another link.
Plain html works great on any device, is very readable, accessible and lightweight. There's nothing to lose in having 0 loc css.
It's still a work-in-progress, but it's great for documenting my code as I work on websites. Here's a demo page with some tests of the markdown output I generated on the command-line using pandoc: http://staticresource.com/misc/demo.html I'm grabbing web fonts from Google. It's responsive and reads well on desktop, tablet, and phone. The styles still work offline (with no web fonts)
There isn't a whole ton of CSS there (I work with files 500 loc CSS up to 5k or 7k a a time. I whipped this up in one morning because I was tired of my IDE's markdown live preview, so now I have folders on my server that are watched, and any time I save a markdown file it automatically regenerates the HTML in the same folder.
Anyway, you can't say there's NOTHING to lose having 0 loc CSS. Here's what that same markdown demo that looks like with no CSS: http://staticresource.com/misc/demohtml.html
Think they are equivalent?
The only real issue is that mobile browsers don't allow extensions of any kind (at least the ones I've used don't). So there is no real way to add such customizations to mobile browsers, and we're left hoping they go mainstream enough that someone either creates a browser around that feature (ie useragent switch, which is kind of annoying to use because it means copying the url and switching apps), or a dev in a mainstream browser makes it their weekend project. Neither one of these options is ideal, in the first you're left with a bunch of browsers that do one thing, in the latter you're going to end up with a feature that will slowly stop working as the dev's main work builds and his manager tells him to drop it.
An interesting way to solve the issue is to hide the bar when scrolling down, and show it when scrolling up.
I typically stick to reading around the top of my device, and occasionally I want to re-read something I just read. Instead of just getting to re-read the hidden lines, I have to continue scrolling while stupid chrome or a fixed bar appears, and then finally lets me scroll the content.
It's probably the case that a lot of people love this, but I hate it. If I want to see the browser chrome or navigational elements, I'm happy to tap the top of the window to scroll me there. I don't want the browser trying to figure out what I want to do based purely on scrolling.
In fact, the iOS behavior is rather more nuanced:
* Scrolling down hides chrome
* Swiping up quickly reveals chrome
* Scrolling up slowly does not reveal chrome
* Scrolling to the top of the page reveals chrome
* Over-scrolling past the bottom reveals chrome
Do any mobile browsers have a "return to top of page" function? My keyboard has a "Home" key, my phone does not.
We feel your pain. It may not seem like it since we develop ever more complicated UI schemes to overcome the W3C's frankenstandards (seriously, who comes up with a coordinate system based on a 'nominal arms length away' from the screen and then creates another set of units for mobile. I know there's a lot of smart people who contribute great data standards from the W3C, but when it came to presentation standards they either 1) completely forgot their linear algebra or 2) didn't bother to look at Postcript's coordinate system or both).
Some of us are reinventing the browser as it should have been written (with polyfills and shims), but this will take a while to get right. (For those that remember, Alan Kay originally said there should be no browser, just a code container, we are once again getting close to something he said decades before).
We understand that the W3C has set the expectation that everything bad on the web happens because of us devs not following their "standards" (even when alt changes to title changes to picture caption in as many years), but at some point it might be worth asking them "why are your presentation standards so inconsistent and hard to follow?"
A webdev who is tired of cajoling CSS and JS to reinvent the same god-damned three column layout that should have worked in the 90's (oh wait, you didn't realize that Postscript predates the web? Yes, yes it did. So the W3C could have sought presentation layer experts of its time in drafting presentation standards, but didn't).
I built headroom.js  to handle exactly this. It simply adds classes at scroll up or down so you can be as fancy as you want (or not!) with the show hide effect. You can set a custom offset (eg. Don't invoke the hide/show mechanism until 100px down the page), you can set a tolerance (eg. Must have scrolled more than 10px before hide/show) and a few other features for more advanced usage.
And for fun I built a little playground so you can explore the various features and find a configuration you like 
(meta: I submitted it here, but it never gained traction, someone else submitted it to designer news and it absolutely blew up, can't believe it almost has 4000 stars!)
I don't want a page to analyze every of my behaviors and try to predict what I want to do. Sometimes I just like to scroll up and down to look for stuff, and I don't want some bar flashing in and out.
The main argument against using a menu-button is that it hides the contents behind it, which makes them hard to discover and interact with.
No. When I scroll up, that's what I usually want to do: scroll up, see some content that is currently out of view. If that bar appears first, I have to swipe an inch more, which doesn't sound that horrible, but it results in an inconsistency between mental model (swipe down 1 inch, see what is 1 inch above) and technological reality (sorry, you need to scroll 2 inches!).
In the eBay Android app, where I want to quickly compare search results, this annoys the hell out of me.
One of the best things about touch interfaces is the natural mapping between mental model and technology. Let's not break this.
The HN guidelines ask you not to rewrite titles. Especially please do not rewrite them to make them more controversial.
And it's all for functionality I'm not even going to use!
You can make a reasonable assumption that users scrolling down are reading content, and thusly have no need for the menu bar. What I'm seeing from your perspective is that you're failing to recognize that "losing your place" in order to reveal the menu is a complete change of task. By bringing back the menu, or even using it if it were in place statically, your task and intent has shifted. If you've decided to abort your menu task and revert to reading content, it provides less cognitive friction to let the user scroll themselves back to their original place.
My question to you is - what logical sense does it make to stop reading an article midway through and begin interacting with the menu, unless your intent is to navigate away from the content itself? And if it makes sense to you to do this, why do you find yourself changing and aborting tasks so swiftly? Are there other interactions that you've failed to discover that might be beneficial (tap and hold to get a menu, for example)?
TL;DR - you're bitching about an edge case.
> Secondly, even if I am changing tasks, that doesn't mean ruining the state I leave in it is an acceptable side effect. Your browser history isn't corrupted when you leave Firefox.
That's a stretch. Ruining? You can still scroll down. The affordances of these actions means, at most, you're going to have to touch the screen once more to "get back to where you were." If you're using an application that doesn't provide the menu after a short swipe, that's a fair enough issue to raise with the implementation of the pattern, not with the pattern itself. It doesn't surprise me that you encountered it on FF Mobile, because FF has a longstanding tradition of ripping things off from successful UIs and getting them wholly wrong in their implementations.
> I can hardly believe the question needs to be asked, but it would be more appropriate to say "what logical sense does it make to bind scrolling to menu actions?" (The answer is none, which is why we didn't have this feature until now, and won't have it for long.)
That's your opinion. Unfortunately for you in this case, it's wrong. Try it on iOS Chrome / Android Chrome or Safari and see how it's done properly before making a sweeping judgment on the interaction pattern itself.
I tend to read tweets from oldest to newest, and the "Home/Discover/Activity" bar always gets on my way. Moreover, I don't even need the top blue bar. Just gimme the content!