
Why Infinite Scrolling is probably a bad idea (2015) - ohjeez
https://medium.com/simple-human/7-reasons-why-infinite-scrolling-is-probably-a-bad-idea-a0139e13c96b#.cxmisrsjt
======
97s
I am a huge enemy of infinite scrolling. It forces me to constantly open links
in a new tab instead of being able to use the back button as I am used to. It
also forces me to think about my decisions on that website in a critical
manner because if I mis-click anywhere or do anything that I would consider
normal browsing it forces me to re-scroll through all that infinite data to
where I was before. Usually I just click off in frustration.

~~~
icebraining
It's possible to use the new HTML5 History API to update the current URL as
you scroll, and so allow you to return to that specific place. Alas, as with
most behaviors that have to be manually implemented by each site, we can be
sure that a large numbers of them won't do it correctly.

------
vinceguidry
I think infinite scroll is, for the most part, a lazy design pattern that
tries to take advantage of our laziness. Every time I go to Facebook, I want
to catch up on the latest shares from the people and pages I care about. I
only need up to the last article I read, then I'm done. It's queue processing,
not television watching. You should be able to get to the end of the feed.
Instead it just starts rehashing old content.

Certain applications do more resemble television watching, where there's way
more content than you could ever fit into a processable queue. Instagram, for
instance. What I want there is for pics I've seen to get marked as seen and
not come up again. Here infinite scroll makes sense.

Another interesting example in this space is Tinder. I'd like an Instagram-
like experience for Tinder. Instead of having to swipe to see a new pic, I
should just be able to scroll, and already-seen pics are treated the way left-
swipes are.

~~~
rzzzt
I occasionally see the "There are no more posts to show right now." message,
but it usually appears after you have waded through lots of old posts way down
at the bottom.

------
rahkiin
Regarding the memory argument: better implementations of infinite scrolling,
like Facebook, actually replace content with a single element of the same size
when out of view, to decrease the DOM size. Content in and just around the
viewport is still in memory.

I do agree with many of the other arguments though, especially
bookmarking/history.

~~~
wyager
When I scroll down an image-heavy Facebook page for a long time, it eventually
becomes unusably slow. Something there is taking polynomial time.

~~~
TeMPOraL
Don't know why you're getting downvoted. It's a fact - when you keep scrolling
Facebook, it eventually slows to a crawl. Want a proof? Just go to a profile
page of any of your frequently-posting friend and keep scrolling down.

Also, given how fast you can scroll _back_ to the beginning, I don't buy the
DOM-replacing technique. I've never seen it working on the desktop website.

~~~
elliottcarlson
Both Tumblr and Facebook do indeed replace off-page content in the DOM with
placeholders. A chrome extension I am making that makes an offline copy of a
page will make a snapshot of the page content with the hidden DOM elements in
place, as can be seen here:
[http://i.imgur.com/bwGA0tp.jpg](http://i.imgur.com/bwGA0tp.jpg). Also -
previously I worked at Tumblr, so familiar with the code base driving the
dashboard.

While this technique does save on immediate memory consumption, I am sure that
maintaining the stack still causes eventual slow downs.

------
VladKovac
This misses the most important question: Does it work better than alternate
designs at baiting customers to keep reading?

~~~
coldtea
This misses the even more important question: while these baiting tactics work
long term, or make users hate our guts and our site and jump ship the moment
something more respectful emerges.

The increased adoption of ad blockers happened for a similar disrespect for
the user -- and an over-embrace of "baiting"

~~~
VladKovac
I don't think infinite scrolling is an obvious lowest common denominator
manipulation technique like sexy photos, pimple popping thumbnails, or
clickbait titles. Mainly because it isn't signalling that the content is
obviously low quality, it's just a more accessible reorganization of the
layout.

------
ovt
On some sites, I have a tendency to click on the scrollbar and drag it instead
of scrolling with the keyboard -- and then when the infinite scrolling kicks
in, I find myself suddenly way down the page off in the weeds somewhere. So
then I exclaim "shit!" and think about not returning to that site.

------
naithemilkman
Infinite scroll on a desktop is potentially a bad idea.

Infinite scroll on a mobile device makes perfect sense.

~~~
foepys
I think that's exactly the other way around. While my desktop has a lot of
memory for the large pages, my mobile device has only about 2 gb. Browsing
tumblr for example kills my phone's browser if I read more than 10 "pages".

I am also more likely to open tabs on my desktop than on my phone because it's
more complicated to switch to the newly opened tab in Chrome.

~~~
bhauer
> _I think that 's exactly the other way around._

Precisely correct. Like you, on my desktop, I counter the user interface
deficiencies of infinite scrolling by opening links in new tabs. This prevents
the very real and very annoying problem of not being able to return to the
infinitely-scrolling list view at the position I left it. Tabs prevent that
loss of page context.

On a mobile device, tab-based workarounds are possible but more cumbersome, so
I usually choose to open one item from the infinite scrolling list
traditionally. If when I return via the back button, context is lost, I
usually concede defeat by this bad user interface paradigm and leave the site.

------
anotheryou
I think numbers speak for infinite scroll to keep users on the site.

No matter how bad it is: Either the problem is wider or there is a benefit.

A wider problem would be tying people to services with annoyances and playing
on addictive behavior.

A Benefit would be an undisturbed flow of skimming over content or using the
edge of the screen as a reading aid (I hate it, when I scroll down one screen
on HN and the site bottoms out. I than need to find until where I read and
where the previously unseen content begins¹).

¹ ok, might need to write an extention for a red line fading away after you
skipped a page :). A bit like the "read until here" lines in irc clients.

~~~
anotheryou
made the extention as a greasemonkey script. But for now not working on hn:
[https://greasyfork.org/en/scripts/20937-red-read-
line](https://greasyfork.org/en/scripts/20937-red-read-line)

To avoid a custom solution for HN i need to experiment on how demanding it is
to add scroll listeners to every div on a page...

~~~
anotheryou
oh and only Firefox... will update some time

------
anexprogrammer
I don't mind it if it's a mainly text page, but hate it when it's an image
heavy page. Trouble is, most pages are now image heavy.

If it's something mainly images, like tumblr, I'd be much happier actively
paging through than forcing my phone, or even my desktop, to load GBs of
images I'm skipping past.

Google+ and FB become unusable (and the browser you visit them in) if you go
down too far, so it's not just a bad idea, it's basically breaking.

------
xorcist
Here's another: Every user that has a momentary net lag for some reason will
think that they're at the bottom of the list when they're not.

~~~
aalbertson
so.many.times.

------
city41
I don't feel like a "show more" link should fall into this bucket. With a show
more link, the user remains in control and they can opt for the footer if they
prefer. It's also pretty straightforward to implement proper bookmarking using
the history API should that be needed.

~~~
wodenokoto
The back button is usually broken with this approach. At best the user is
going to get a very jumpy experience, usually they will need to scroll down
and click "show more" several times.

------
hallman76
To combat #1 my team advocates for a "semi-infinite" scroll whenever clients
request an infinite scroll. A screen will implement an infinite scroll for 2-3
pages of data, then we turn off infinite scroll and display a "load more"
button so the footer shows.

------
vinnyp
I don't buy into his argument.

This UX pattern does have benefits for the user. It has a low cognitive load
with very little friction to show more items. All the UX challenges he calls
out are solvable.

In addition, this has been solved on the desktop. File browsers and Media
players with large collections already do this well. The challenge is building
a great scrolling experience on the web.

I've seen many folks try to solve this with a repeater control and they
quickly find out that there's a long way to go to get something with great
performance. What's really needed to solve the problem is UI & data
virtualization, which is something that native app developers have a lot more
experience with.

------
ProxCoques
The title of this article should be "poorly implemented or badly designed
infinite scroll is probably a bad idea".

None of the issues he cites are insurmountable.

~~~
Retric
When every single sight with infinite scroll I have ever seen is 'poorly
implemented' it's probably an anti-pattern.

------
FezVrasta
Seems like the problems pointed are all about a bad implementation of infinite
scrolling, not about the problems of it. You should use a virtual list that
already knows how many elements are available totally, in this way you can
already provide the right size to the list and the scrollbar is not affected.
The footer could just be fixed ok bottom of the page. I mean, there are plenty
of good solutions.

------
syphilis2
What if Infinite Scrolling were utilized inside of a fixed or static
positioned element? I imagine a webpage with a header and a footer, and the
body element is of a fixed height and implements some type of Infinite
Scrolling?

Have you seen this approach used, is it a reasonable compromise, what problems
remain?

Is there a standard approach to release memory from items at the beginning of
the scroll when they're far off screen?

------
Tharkun
That obviously depends on what you're doing. Paginated content (with the
obvious exception of multi-page articles) is often a symptom of poorly defined
search criteria. Did you really mean to view all 6 billion cat pictures? Or
only the latest ones? Maybe only the ones of cute ginger cats?

------
unabst
I don't think the author is particularly against infinite scrolling. He
provides a great checklist of do's and don'ts, and is basically calling you
out if your page sucks.

If your page eats memory, needs finer analytics, and doesn't comply with
bookmarking and back button functionality, don't do it. But good infinite
scroll pages solve this.

Choice paralysis and scrollbar issues seems less relevant, because having 100
pages can be just as paralyzing and the scrollbar is a non-issue with wheels
and touch.

As for the last point he makes, being harder to use, the entire list applies
to any paginated page also.

Google Images is a good infinite scroll page. Content opens inline, you're
engaged in a visually seeking task where anything beyond looking would be
distracting, and the page does tap-off (cop out?) at a certain point so that
it isn't too infinite. Though you can "load more", at that point you are given
the opportunity to rethink your search criteria, and that speed bump is
practical.

~~~
egypturnash
> and the scrollbar is a non-issue with wheels and touch.

Yes, let's just completely dismiss the concerns of people whose preferred way
to move up and down in a web page is to grab the slider with their mouse or
stylus. Everyone is perfectly able to curl their fingers around a little pod
that makes them put their wrist into a position that can cause strain on the
tendons and make lost of tiny, precise movements with it. Nobody has any RSI
issues.

\- signed, a lady who uses her Wacom tablet instead of a mouse for all of her
desktop computing after her index finger decided it refused to double-click
without pain.

~~~
unabst
All I stated was the scrollbar is a non-issue with wheels and touch. And it
isn't.

I sympathize with any health issues, but to be fair, if we were discussing
accessibility then RSI is just the beginning.

Also, maybe you're not able to use it, but most Wacom pens have options to
allow scrolling by just clicking and dragging, making the scrollbar a non-
issue. The scrollbar has never been the most convenient of interfaces.

~~~
adambsilver
It's not just using the scrollbar to scroll. The _size_ of the scroll bar
indicates the length of the page, something which helps the user.

~~~
unabst
Right. Except either way, the length of the page hardly ever corresponds to
the amount of content. With pagination we are left counting the O's in goolge
for example.

------
jkot
Infinitive scroll is not a bad idea, but all implementations are bad => do not
use it!!

------
wtbob
Speaking of scrolling & performance degradation, there's something wrong with
Medium pages: with JavaScript turned off, and in Firefox on Linux, they scroll
_agonisingly_ slowly.

------
weberc2
While I agree with the premise, I do find it ironic that his blog platform's
header sporadically drops down to block the content I'm trying to read every
time I scroll down. >:(

------
chmike
It depends on the content type. It would make sense for reddit or hacker news.
Beside it's only rarely truly infinite.

------
lowry
Infinite scrolling fits SQL. Remember that LIMIT is considered harmful and is
actually not part of the SQL standard.

~~~
Hurtak
Why is it considered harmful, what are the alternatives?

~~~
lowry
Because the table can change. Imagine showing the first 0..10 rows, deleting
the 5th row, then showing 11..20 rows. And what happens if you insert rows
while paginating?

Iterators aka cursors are the other option.

------
dredmorbius
"Infinite scroll" to me screams "bad or nonexistant filtering tools".

Some of the issues listed in the article (memory consumption) can be addressed
through hacks (keeping the current and 1-2 higher or lower screens resident,
flushing others). Some (footer unusability) are real problems -- I've largely
concluded that sidebars are an anti-pattern for virtually all textual content
(hence my use of Reader Mode or Pocket for such content).

More often, though, I view a scroll or list as a set of potentially
interesting candidates _that I want to further winnow down_. The lack of
ability to do so in far too many contexts simply boggles me.

Not just Facebook (which I don't use), or G+ (which I do when Google aren't
overtly backing antidemocratic anti-equality measures such as the TTP and TTIP
-- oh, Facebook and Apple do too), or Reddit. But, say, _shoping_ sites.

I hop onto Amazon and am interested in, say, laptops. Or cords. Or pens. Or
chairs. And am presented with, in response to a reasonable search for that
term:

1\. A great many items which are in no way, shape, or form, laptops. Or cords.
Or pens. Or chairs.

2\. Items far, far outside my price range.

3\. Vendors whom I will not, ever, under any circumstances, purchase from.

Etc.

If I were in an actual full-service store, I'd indicate my preferences to the
salesclerk, and, if they were in the least worth their salt, _they would
remove the offending items and not present them again_. (And if they refused
to do so, I'd simply leave.) For all its vaunted capabilities, online
selection doesn't do this.

For content, I compare a stream with an offering of, say, publications,
authors, topics, and quality-of-writing. In a physical stack, again, I could
eliminate publishers, authors or reporters, genres, publication dates, etc.,
to get to specifically what I want. But online:

1\. Reddit doesn't allow me to filter by total quality of a post or
discussion. (The fact that its moderation system makes such filtering all-but-
useless is another problem).

2\. Google+ doesn't have author, topic, negative match (e.g., term exclusion,
say, -trump or -kardashian), or date selection in its searches.

3\. Amazon doesn't allow filtering within merchandise categories for matching
vs. nonmatching items. Say, stationary items which _aren 't_ pens, or clothing
items which _aren 't_ slacks.

 _None_ of these tools allows me to select a specific match and indicate "go
away" with some level of prejudice: don't show me this item, don't show me
this author, now, or forever, etc.

I've got hugely more utility with a pile of books or articles sitting on a
table.

Yeah: scrolls are lazy-ass cheap copouts to psychologically hook users (the
ones who aren't immediately pissed off and run like hell), and to avoid both
useful filtering and the necessary deep content classifications required for
actually beneficial content selection.

~~~
TeMPOraL
100% agree.

I came to think that an actually _useful_ , really pro-user ("user-friendly"?)
interface for the sites you listed would generally be a very thin UI over a
query language. So to use your example, when I visit Amazon, what I really
want to do is something like this:

    
    
       SELECT * FROM products WHERE category="stationery"
                AND tags NOT LIKE "%pens%
                AND price BETWEEN (20, 200)
                AND vendor NOT IN [my blacklist, fetched from the profile]
                ORDER BY price ASC
                LIMIT 100;
    

It isn't hard to make an interface for generating such a query with a mouse.
Hell, most of the sites already have most of the elements for that, they
aren't just showing enough of them enough times. I could imagine with such an
interface I could further refine my search by hovering over e.g. a "paperclip"
tag and clicking an "exclude" button that would dynamically show itself. Etc.

Now this interface would be infinitely more useful than what most of
e-commerce & social networking sites have, it would be much easier to do than
what they have - but here's the kicker. They don't want that. It's not in
their interest to make an useful tool, because they get to make less money
this way.

And speaking of social media and usefulness, Facebook got close to my ideal a
while ago. You could do almost SQL-like selects when searching for content.
But this function, known as Graph Search, is gone now. Probably because some
people called it "creepy". I guess everything even remotely distinguishing
your product from a TV program is now "creepy".

~~~
dredmorbius
That's one part of the problem, and yes, it's a large part.

The other, though is that the coding, presentation, and awareness of _what 's
offered_ is utterly shite.

Amazon quite literally has no fucking clue what the hell it's selling. And
it's among the better sites. Craigslist is even more abysmal -- I was
searching for a specific type of chair some time back and found myself
presented with anything from that (rarely) to hammocks to porches.

Whether it's quality control over item descriptions, or AI to sort out what
things are, or collaborative filtering, or nominated expert filtering, or
whatever, _better data over what 's actually represented by systems_ is _also_
required.

For articles and textual content, author, authority, and various other
metadata need stronger control. I see a Web in which such information being
accurately presented as crucial to search results placement helping, possibly.

------
forvelin
it is useful for tumblr 'at times'.

------
drinchev
> 1\. The footer becomes unusable

Yep, so just put it in the fixed sidebar.

> 2\. Performance degrades

Not really, if you've developed this the right way - which is render only
items that are currently visible and derender the ones that are above the
current scroll canvas.

> 3\. Analytics is harder to implement

> 4\. Bookmarking and the back button become problematic

I put those together, because they are relevant. Anyway Google suggest how to
remove this [1] and even presents a demo [2]

1 : [https://webmasters.googleblog.com/2014/02/infinite-scroll-
se...](https://webmasters.googleblog.com/2014/02/infinite-scroll-search-
friendly.html) 2 :
[http://scrollsample.appspot.com](http://scrollsample.appspot.com)

> 5\. People may suffer from choice paralysis

As other people here suggested, this depends on the content. If you work in
e-commerce there is quite a habit people to scroll infinitely with a huge
amount of products ( disclaimer - I'm the sole developer of `www.bagaholic.me`
- bags price comparison website ).

> 6\. The scrollbar becomes unusable and untrustworthy

Not a significant reason at all. Twitter, Pinterest, Facebook proved that.

> 7\. It’s generally hard to use

I think stating that, without some stats is kinda "opinionated". Again based
on the content a valid context with fixed sidebar, header is a must.

~~~
coldtea
I don't find any of the rebuttals convincing.

>1) Yep, so just put it in the fixed sidebar.

Who said the site has a fixed sidebar? Why create a design that necessitates
one?

>Not really, if you've developed this the right way - which is render only
items that are currently visible and derender the ones that are above the
current scroll canvas.

So change the list constantly under the user, and thus the scrollbar and
relevant position. Plus, the extra coding complexity, and what for?

> _5) As other people here suggested, this depends on the content. If you work
> in e-commerce there is quite a habit people to scroll infinitely with a huge
> amount of products_

Even in commerce, choice paralysis is a thing, regardless of if people tend to
"scroll infinitely" if they are shown a huge amount of products. That they
scroll doesn't mean they don't feel the choice paralysis.

>6\. The scrollbar becomes unusable and untrustworthy

FB wants to be immersive and keep you lost deep inside to show you ads, not to
do what's best for usability.

~~~
awesomerobot
This argument could go on forever, but why create a design that necessitates a
footer to begin with?

I mostly agree with the article, but it's crazy to say any one design solution
is universally good/bad. There are good and bad ways to implement just about
anything.

~~~
Retra
Design is primarily about presenting information according to its relevance. A
footer is a way of presenting unlikely-to-be-relevant-but-still-necessary
information. It is a tool that accomplishes something that is necessary for
just about every webpage.

"Footers" (or related things like captions) exist in just about every design,
and they almost always function the same. Art galleries have plaques. Books
have footnotes. Food packaging has nutritional info. If your design _doesn 't_
have a footer, then it's probably a mistake.

