6 ms·
Why not to use infinite scroll on your website
- hugobessa 12y agoThese 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.
- deleted 12y ago[deleted]
- kzrdude 12y agoIf you do use page numbering and next-links, please make the link to the next page amply big. Really big please, you don't have much to lose.
- bbarn 12y agoAll the time I see people complaining about usage of HTML tables vs. pure CSS, and yet the one thing that drives me absolutely insane is a 4 point smaller than the rest "prev 1..3,4,5..10 next" navigation control at the bottom of a page. Always a treat to use on mobile too :)
- Sindisil 12y agoI personally despise infinite scroll, at least on mobile sites, as it limits: 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). 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. 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. 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. Just because we can do infinite scroll, doesn't mean we should.
- cliveowen 12y ago8) isn't absolutely true: http://googlewebmastercentral.blogspot.it/2014/02/infinite-scroll-search-friendly.html http://googlewebmastercentral.blogspot.it/2014/02/infinite-s...
- dethtron5000 12y agoThis would have been better if it infinitely scrolled.
- patrickmay 12y agoThey did finish with "Scroll down for 10 more." ;-)
- ThomPete 12y agoAs always it's never that simple. Infinite scroll is great for browsing images. That's whats it's always been good for.
- misthop 12y agoExcept it's not. Those image loads start to bring a heavy memory hit. It especially stinks on mobile browsers.
- ecnahc515 12y agoThat's something that's fixable. It's just people who use infinite scroll don't do a good job of fixing some of the problems of causes. But that doesn't mean infinite scrolling is bad.
- dandelany 12y agoUnless you unload old images after you've already scrolled past them, in which case it works fine.
- kraag22 12y agoI totaly agree. It is really great, when you need to click on link in the footer of the page, that keep running out.
- mbq 12y agoBut please don't paginate a 500 word text into 10 pages either...
- m1117 12y agoI'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
- abimaelmartell 12y agoHere's how linkedin does pagination https://pbs.twimg.com/media/BkKYEmkCAAA3x8u.png:large https://pbs.twimg.com/media/BkKYEmkCAAA3x8u.png:large I think an infinite scroll would be better...
- christiangenco 12y agoAs an alternative, I'm going to start using something like http://emberjs.com/list-view/ http://emberjs.com/list-view/ (warning: not mobile optimized) It solves 1, 2, 3, 4, 5, 7, and 10, and could reasonably be implemented with bookmarking to fix 6 and 9. SEO is still an issue, but really, when is it not?
- darrhiggs 12y agoFor SEO use the next link relation[0] e.g. <a rel="next" href="/resource?page={next_page_in_sequence}" />. I am assuming more results are loaded based on scroll-depth < 100% + an overlay to stop the user clicking. Google/bots will be able to activate the link and request the next set. Uesful resource http://www.iana.org/assignments/link-relations/link-relations.xhtml http://www.iana.org/assignments/link-relations/link-relation... [0] http://www.w3.org/TR/html5/links.html#link-type-next http://www.w3.org/TR/html5/links.html#link-type-next
- badman_ting 12y agoAnd GOD HELP YOU if you have a page with a footer and infinite scroll.
- teemo_cute 12y agoInfinite scrolling also consumes a lot of memory since resources like images pile-up endlessly. Compare that to a page-number navigation scheme where only the displayed resources on a given page are loaded. Not everyone has a fast computer (or tablet).
- prepost 12y agoThere are ways around that, too. I'm sure there are better descriptions but just for example: http://engineering.linkedin.com/linkedin-ipad-5-techniques-smooth-infinite-scrolling-html5 http://engineering.linkedin.com/linkedin-ipad-5-techniques-s...
- andypants 12y agoI hate flickr's infinite scrolling because of this. It's impossible for me to browse more than a few pages worth of images on flickr. And of course flickr doesn't have any good tools for fine-tuning search results, so infinite scrolling is the only way to try and find what you want.
- gagege 12y ago#6 is the one I hate the most. Twitter does an alright job of taking you back to where you were but most sites don't.
- Theodores 12y agoI 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. 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. 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.
- deleted 12y ago[deleted]
- kirkbackus 12y agoThis 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.
- Raphmedia 12y agoMost of those issues can be fixed.
- dblacc 12y agoinfinite 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.. 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.
- vkjv 12y agoWhat 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."
- EvilTrout 12y agoAll these problems are solvable. I co-founded Discourse (http://discourse.org http://discourse.org) which uses infinite scrolling heavily. Discourse is also 100% open source so you can see how we did it. My responses below: > Users will lose the page length orientation - the browser scrollbar become useless. We have a fixed "x/y" posts widget at the bottom with a progress bar. > There’s no ability to jump to the end of the list. The aforementioned widget has an up arrow and down arrow to jump to the top/bottom. > Your users will not be able to get back to the same in-page position in 1 click. 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. > There’s no visible footer until your users come to the end of the list/content. 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. > Slow Experience - You are using a lot of browser memory as the page scrolls down. We unload posts that have scrolled off the screen. We released a library for it too - http://eviltrout.com/2014/01/04/hiding-offscreen-ember.html http://eviltrout.com/2014/01/04/hiding-offscreen-ember.html > If you switch away from the page by following a link there's no way of getting back to where you left off. The back button works fine thanks to replaceState! > Lack of sense of completion- no closure for users. The progress bar and constantly increasing numbers in the widget help a lot. > There’s no SEO opportunities for content located below the first scroll. We serve up google indexable content just fine. See: http://eviltrout.com/2013/06/19/adding-support-for-search-engines-to-your-javascript-applications.html http://eviltrout.com/2013/06/19/adding-support-for-search-en... > You lose the ability to bookmark a dedicated point of interest. With replaceState and updating the URL, you can bookmark at any point and return right back to where you left off. > Distraction - The fear of missing out on data or other options will deter your users from completing an action. I'm pretty sure this isn't relevant since we support all the above.
- iamstef 12y agoI think discourse handles this fantastically well!
- hamburglar 12y agoI think discourse handles this impressively, and I thought of them for almost every point on this list. They're almost all fairly minor technical obstacles if you really want to solve them. Discourse really wanted to solve them and they did it masterfully. But the funny thing is...I still don't like using infinitely long pages, even in discourse. The scrollbar is a very capable control that works exactly in a way we are familiar with, and we're accustomed to it in ways that the little progress widget simply can't compete with. And we're not going to get accustomed to the widget in the same way unless it really is universal and behaves in a very standard way (like a scrollbar does), so until that happens, I wish people would stop insisting that a page with a goofed-up scrollbar can be just as good because, hey, magic widget! EDIT: just to give discourse a chance to prove me wrong, as it had been a long time since I looked at their widget, I went and looked at a 1000 post thread on try.discourse.org and I'm sorry, but the experience completely sucks compared to having a real scrollbar. There's no way to tell how long the thread is at a glance (the widget just says "2" and the scrollbar indicates maybe 40% is visible), there's no way to scroll to somewhere in the middle (say, you know you're looking for something around post 200) without incredible tedium, there's no fast scrolling. Their solution is technically gorgeous, but it's just jaw-dropping to me that anyone could be so stubborn as to suggest that this is a reasonable replacement for a scrollbar for content that is of a very long but known length.
- dillon 12y agoI 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. 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.
- regularfry 12y agoWhat problem does infinite scroll solve? Why add the complexity of more code which needs fix upon fix to get back functionality we already had? Getting infinite scroll "right" takes a lot of work (and nobody's done so yet, to my knowledge). Knowing how to fix the issues might be useful, but being able to spot that you don't need to incur the cost at all is so much more so.
- deleted 12y ago[deleted]
- nathanappere 12y agoNumber 7 is exacty what you want: http://www.nirandfar.com/2012/08/the-webs-slot-machine.html http://www.nirandfar.com/2012/08/the-webs-slot-machine.html
- wil421 12y agoWithout 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. >Users will lose the page length orientation - the browser scrollbar become useless. 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. 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.
- rlguarino 12y agoI really don't like continuous scrolling for retail shopping. its easier to remember what page something was on than a relative position. I don't mind it for pointless content consumption like Reddit and Facebook, because I rarely ever want to go back to something on those platforms.
- wil421 12y agoI can see your point. The best use I have seen is a hybrid approach. Load 10 or so out of 100 items, use continuos scroll to show the remanding 90 and then use pagination to access the other results.
- regularfry 12y ago> 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. Pop quiz: according to convention, while using your scrollbar to skim the results that are displayed, what position do you move the scrollbar to (or avoid moving it to) in order to trigger (or avoid triggering) loading the next chunk of content? Hint: it's not the bottom.
- wil421 12y agoI dont actually know, usually I just slide back to the top of the page and slide down to where I think I need to be.
- dntrkv 12y agoInfinite 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. 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.
- math0ne 12y agoThe scroll bar things is such a serious issue i would never consider using infinite scroll until that is dealt with on a browser level.
- hoilogoi 12y agoI drag the scrollbar and use pageup/down keys as much as I use the mousewheel. 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. 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. 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. A really stellar example of these sorts of bad user interaction is the Google Art Project if anyone cares.
- katzboaz 12y agoTrue 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.
- pjbrunet 12y agoIdeally 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.
- Houshalter 12y agoWhat 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. 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.
- ivthreadp110 12y agoThe 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. 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. 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. 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...) 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. 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. 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. "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