This is hardly the worst UI pattern in existence, especially when you consider that even a poorly implemented autoscroll is an order of magnitude improvement over the UX experience it replaces.
> even a poorly implemented autoscroll is an order of magnitude improvement over the UX experience it replaces.
I completely disagree. The best possible implementation of infinite scroll is better than pagination, but most infinite scroll implementations are worse to me than pagination.
First of all, the main problem I have with multi-page web sites is not that I have to click a "next" button. That's such a minor inconvenience that it doesn't even register. The main annoyance with arbitrary pagination is that you can't easily search the page. Infinite scroll helps with that, but simply having a single page per chunk of related data (i.e. one page for a blog post) works better.
Secondly, with pagination, or with an ordinary non-infinite single page layout, I can close my browser tab and reopen it, restart my computer, reload the page, whatever, and when I come back, it will be scrolled right there in the same place. I have never seen an infinite scroll implementation that could do that.
Finally, bad implementations of infinite scroll just let the page grow and grow, consuming resources without end. Especially on sites that have a lot of images, this creates a practical limit to how far you can scroll before the site becomes unusable. Even if the site offers an multi-page alternative layout, you then have to find your place again at that time.
Secondly, with pagination, or with an ordinary non-infinite single page layout, I can close my browser tab and reopen it, restart my computer, reload the page, whatever, and when I come back, it will be scrolled right there in the same place. I have never seen an infinite scroll implementation that could do that.
Anyone who's used LocalStorage want to comment on whether it could solve this problem by saving the scroll position? It seems doable.
I've used history.replaceState API add a position indicator on long infinite scroll pages into the page hash so you get
http://somesite/foo#scroll=20121104120000
It has some rough edges, multiple jerky transitions on uncached load, for some reason replaceState is an expensive operation on Chrome, but it was a better experience than the alternative for that page (pagination or forgetful autoscroll)
Exactly. And I'm pretty sure I've never used an infinite scroll site that didn't have a big, hairy pause that locks up the scroll while additional content loads.
I used to be a big proponent of infinite scrolling, but it breaks down the second I want to send someone a link, or for that matter resume later on where I left off. It also tends to break the "back" functionality, good auto-scrollers will somehow save where you are at but the browser still ends up loading all previously scrolled through content and there is a delay until the scroll bar jumps down to where the user last left off.
It also does not allow me to easily link to a results page. Scenarios like "check out these mid-range priced items here" where I linked to page 4 of 8.
Now having pagination be AJAX based so the entire page doesn't reload unnecessarily, that I am all for!