I personally despise infinite scroll, at least on mobile sites, as it limits:<p>1. My ability to orient myself in the content.
2. My ability to control my consumption of the content (e.g., jump back to top, jump to end, jump to rough internal location).<p>Some sites have added navigation buttons or tool bars, but, to be useful, they must always be visible, so they take up valuable space that should be used for content. Depending upon implementation, they can also be distracting.<p>There are certainly ways that navigation options could be restored while still not significantly interfering with content, of course. If decent feedback of current location were also provided, then infinite scroll could be OK.<p>Most content breaks down pretty naturally into some smaller increments, though (pages, chapters, sections, topics, days -- whatever), so I think it typically makes more sense to present it in that way.<p>Just because we <i>can</i> do infinite scroll, doesn't mean we should.
All these problems are solvable. I co-founded Discourse (<a href="http://discourse.org" rel="nofollow">http://discourse.org</a>) which uses infinite scrolling heavily. Discourse is also 100% open source so you can see how we did it.<p>My responses below:<p>> Users will lose the page length orientation - the browser scrollbar become useless.<p>We have a fixed "x/y" posts widget at the bottom with a progress bar.<p>> There’s no ability to jump to the end of the list.<p>The aforementioned widget has an up arrow and down arrow to jump to the top/bottom.<p>> Your users will not be able to get back to the same in-page position in 1 click.<p>We use replaceState to update the URL as they scroll. The back button works fine, and you can link to any position in the topic.<p>> There’s no visible footer until your users come to the end of the list/content.<p>Isn't this true of all sites where the user scrolls anything? I guess the difference is you see it more often with pagination. We instead have a fixed header with navigation options and extra details.<p>> Slow Experience - You are using a lot of browser memory as the page scrolls down.<p>We unload posts that have scrolled off the screen. We released a library for it too - <a href="http://eviltrout.com/2014/01/04/hiding-offscreen-ember.html" rel="nofollow">http://eviltrout.com/2014/01/04/hiding-offscreen-ember.html</a><p>> If you switch away from the page by following a link there's no way of getting back to where you left off.<p>The back button works fine thanks to replaceState!<p>> Lack of sense of completion- no closure for users.<p>The progress bar and constantly increasing numbers in the widget help a lot.<p>> There’s no SEO opportunities for content located below the first scroll.<p>We serve up google indexable content just fine. See: <a href="http://eviltrout.com/2013/06/19/adding-support-for-search-engines-to-your-javascript-applications.html" rel="nofollow">http://eviltrout.com/2013/06/19/adding-support-for-search-en...</a><p>> You lose the ability to bookmark a dedicated point of interest.<p>With replaceState and updating the URL, you can bookmark at any point and return right back to where you left off.<p>> Distraction - The fear of missing out on data or other options will deter your users from completing an action.<p>I'm pretty sure this isn't relevant since we support all the above.
I don't hear P-interest users complaining. With some content you might want to use a 'Masonry'/'Isotope' layout as P-interest does. That comes with a ragged footer and doesn't really work unless you have infinite scroll.<p>As for the nonsense about 'never getting to the footer', the footer can be stuck to the window or dispensed with entirely, again a-la P-interest.<p>It is very easy to put together a '10 reasons why I hate this' blog article, it is much harder to put something together that works to the delight of millions.
Infinite scroll can be implemented well, but more often than not it's implementation is just terrible. Take Soundcloud for example. I love their service, their UI is generally pretty good, their site is usually fast, and in most cases, their product is a pleasure to use. But their implementation of infinite scroll is terrible. I'm not sure what it is, I haven't troubleshooted it too much but when you scroll a playlist with a lot of songs, every so often, the pages repeat themselves. And sometimes when you scroll down below a certain point it will just restart at page one.<p>So if I open a playlist with ~400 songs and I want to reach the bottom, there is no way for me to do it but to just scroll really fast and wait for each page to load. Okay, fine. But when I do this, usually about ~30% of the time it will start repeating pages or it will just start feeding the playlist from the first song again. In this case, I think infinite scroll does ruins the experience. If anyone out there from Soundcloud is listening, please consider implementing pagination.
Without going point by points to counter every reason I would like to say I absolutely love continuous scrolling when I am shopping or looking at items on a retailers website.<p>>Users will lose the page length orientation - the browser scrollbar become useless.<p>This is entirely untrue I can still use my scrollbar to get back to the top of the page again, it can also be used to easily skim the results that were displayed.<p>For most retail shopping I actually would rather have this than pagination especially if I am lazily browsing on my ipad, no reason to change hand positions.
I feel like just implementing pushState would be enough to solve almost all of these issues. Some simple design decisions could help with a few more of them.<p>I think saying flatly to not use infinite scroll lets me know that the writer doesn't have much technical skill. Rather, stating the current issues with infinite scroll and how to fix them is a million times more useful.
I'm sure there're 10 reasons to use too. infinite scroll as opposed to infinite pagination? I like infinite scroll, it's just fun. It's a lot about the goal. If it's facebook or instagram, users won't go too far, they don't have time and they check feed regularly, however for search infinite scroll might be not the best fit
As an alternative, I'm going to start using something like <a href="http://emberjs.com/list-view/" rel="nofollow">http://emberjs.com/list-view/</a><p>(warning: not mobile optimized)<p>It solves 1, 2, 3, 4, 5, 7, and 10, and could reasonably be implemented with bookmarking to fix 6 and 9.<p>SEO is still an issue, but really, when is it not?
I drag the scrollbar and use pageup/down keys as much as I use the mousewheel.<p>I don't enjoy getting near the bottom of the page and suddenly being warped several screens ahead, then having to go back and figure out where I was. Find a way to prevent this if you're just loading comments to an article.<p>I find the scrollbar less disorienting because it has a high resolution than most mousewheels, its feedback loop is tighter, and I can jump both short and long distances; that is, there's no tradeoff between speed and continuousness.<p>I switch to pageup/pagedown/home/end on pages with infinite scroll because I can be guaranteed I won't miss any content and it's just less tiresome that using a mousewheel IMO.<p>A really stellar example of these sorts of bad user interaction is the Google Art Project if anyone cares.
What a pointless article. Every single one of these can be mitigated if not completely re-mediated. It should be titled, "10 reasons why infinite scroll takes more effort than you think."
What if browsers had dedicated support for infinite scrolling? Just like you trust regular scrolling to the browser or even operating system rather than implementing it yourself in javascript.<p>You could solve some of these problems, like the browser being able to bookmark or get the url of a specific section, and standardizing the way it's done.
True the some of the issues can be solved, the problem is that most of the sites are not solving it. Probably I could name it "Point to take into account when implementing.. " I'm sure hope to see better implementations to infinity scrolls on the web.
Ideally I'd prefer (rather than infinite scroll) progressive gzip and just flush/chunk out more data all at once. Technically not infinite but fast, simple and overall a better experience, in my opinion.
Number 7 is exacty what you want: <a href="http://www.nirandfar.com/2012/08/the-webs-slot-machine.html" rel="nofollow">http://www.nirandfar.com/2012/08/the-webs-slot-machine.html</a>
Here's how linkedin does pagination<p><a href="https://pbs.twimg.com/media/BkKYEmkCAAA3x8u.png:large" rel="nofollow">https://pbs.twimg.com/media/BkKYEmkCAAA3x8u.png:large</a><p>I think an infinite scroll would be better...
These are for sure good reasons to not use infinite scroll. But I think this is more like an implementation problem than a problem with infinite scroll itself.
infinite scrolling works for things like Facebook, Twitter or any other case when you probably don't want the user to be alarmed by the amount of time they've spent on a site..<p>If i saw 'page 11' on Facebook, i'd instantly think about all the time i just wasted and try and be sure i didn't so that again.
The use of infinite scrolling does have certain obstacles that have to be taken into consideration. However- when done correctly it can be utilized correctly. Making a simple system that loads content at the end of the page is not enough- if you want to include infinite scrolling on your website you also have to take in mind the memory issue (as pointed out by EvilTrout), as well as other ways to dynamically update the url for book marking.<p>I am personally not a huge advocate of infinite scrolling (in most cases)but if are you are a seasoned programmer, that's not to say there are practical (and safe ways) to implement it.<p>If you want to launch a new site, and you have limited time (or are the only programmer) it's not cost effective to spend hours and hours working out all the kinks and make sure it's cross browser reliable etc... the novelty of infinite scrolling is something you should avoid. But if you have a good need, a good team (or yourself can spend time on thinking of all the various issues with it)- there is no reason why you could not implement it successfully.<p>I will not be using infinite scrolling on the comment system I'm writing for my start-up, pagination is good enough. But I will probably use it for the scroll back on a chat window (no one generally bookmarks chat...)<p>I agree with rch- people are always resistant to change... when you have something that removes a level of control- people freak out... new challenges introduced does not mean that it's bad, it just means it's a whole new set of things to think about. Humans are pretty resourceful. I liked the full physical keyboard on an old Nokia I had- but I got used to the touch keyboard- sure the touch keyboard is different, but there are many ways to make it better, and a physical keyboard adds a lot of much bulk to the phone.<p>I agree with the title of the post-- there are many reasons NOT to use infinite scrolling-- especially if it's just more of a novelty. But if done correctly (for for the right kind of content) it can provide an enhanced user experience.<p>My advice would to be: If you want to implement infinite scrolling-- make sure A) if you want to use infinite scrolling think about the aspects you have to deal with B) know general user's computer systems-- and how much memory you want to capture, C) decide if it's worth all the time to make it work right.<p>"New technology and trends always have good applications- it is up to you to decide if you are implementing it simply because it's trendy, because you want to learn, or because you want to enrich the community- if it's the latter- the best way to do is by sharing what you have learned, and learn from past failures" - Gus Anderson
This really should be, 10 reasons illustrating the need for a more robust infinite scroll. Most of these issues seem to be solvable. Except maybe the footer thing, that's just dumb.
Infinite scrolling also consumes a lot of memory since resources like images pile-up endlessly.<p>Compare that to a page-number navigation scheme where only the displayed resources on a given page are loaded.<p>Not everyone has a fast computer (or tablet).