What's wrong with Discourse: (and other silly scroll-hijacking pages):
1. Scrollbar no longer works properly when you try to navigate thread up and down. Normally you make mental note where there is something, and you can go back to it. But in Discourse, it isn't there, because you scrolled down, it loaded more replies, now you go back and there's something else in there.
2. You slowly drag scrollbar with your mouse. You near end of the page... it loaded more content, and now because you're still slowly dragging scrollbar, it again warps to the end, and WTF just happened, where is the thing I was reading!? Everything jumps and you just skipped dozens of replies.
3. Click any link. There's useless loading spinner, but oh well. Click any link, internal or external, and then go back. WTF!? I pressed back button, page should be in the same position it was before! It randomly snapped to some post, up, down, whatever, but it is somewhere else and now again, where is the thing I was reading!?
I cannot understand how anybody thought this was good design. It is horrible. Besides issue 3 which presumably could be fixed, issues 1 and 2 are fundamental problems. You cannot have page that have dynamic height and at the same time have scrollbar that is remotely useful. If you really insist on dynamic loading (and I don't know why you would, plain old HTML page is faster anyway), you could preallocate page height so it will work properly, but then you're back to square one: you need pagination.
You’re using the browser scroll bar when reading the text of a page to scroll through the text?
I’ve never heard or noticed anybody doing this. You must go crazy on infinite scroll webpages.
I’m using the PageUp and PageDown keys for page wide navigation and the arrow keys for the lineheight movements. On a desktop machine I’m using the scroll wheel as well.
I would only use the scroll bar for pixel perfect positioning of the viewport.
What's wrong with Discourse: (and other silly scroll-hijacking pages):
1. Scrollbar no longer works properly when you try to navigate thread up and down. Normally you make mental note where there is something, and you can go back to it. But in Discourse, it isn't there, because you scrolled down, it loaded more replies, now you go back and there's something else in there.
2. You slowly drag scrollbar with your mouse. You near end of the page... it loaded more content, and now because you're still slowly dragging scrollbar, it again warps to the end, and WTF just happened, where is the thing I was reading!? Everything jumps and you just skipped dozens of replies.
3. Click any link. There's useless loading spinner, but oh well. Click any link, internal or external, and then go back. WTF!? I pressed back button, page should be in the same position it was before! It randomly snapped to some post, up, down, whatever, but it is somewhere else and now again, where is the thing I was reading!?
I cannot understand how anybody thought this was good design. It is horrible. Besides issue 3 which presumably could be fixed, issues 1 and 2 are fundamental problems. You cannot have page that have dynamic height and at the same time have scrollbar that is remotely useful. If you really insist on dynamic loading (and I don't know why you would, plain old HTML page is faster anyway), you could preallocate page height so it will work properly, but then you're back to square one: you need pagination.