
Google’s suggestion for a better infinite scroll? - jonshariat
http://scrollsample.appspot.com/items
======
davb
I'm surprised at how many people here seem to like infinite scroll. I
personally can't stand it.

Imagine having a book where no matter how much you read, it never seems to
end. No milestones, no sense of progress. Just page after page after page.

It just feels... icky.

~~~
georgemcbay
I wish to join your infinite scroll haters club.

To paraphrase Jeff Goldblum's "Ian Malcolm" in Jurassic Park:

"Yeah, but your front-end developers were so preoccupied with whether they
could that they didn't stop to think if they should."

I personally find infinite scroll to be far worse than cleanly paginated pages
in every regard. YMMV, I guess.

~~~
dubfan
Every time I've witnessed infinite scroll being implemented into a project
I've been involved with, the decision was not made by the developers.

------
jakub_g
I would feel kind of okay with infinite scroll if it wasn't creating memory
problems. Especially on image-heavy (tumblr) / DOM-heavy (facebook) pages. If
I browsed the web in 90s mode (one window, one page opened) that would maybe
work, but when I have dozens of tabs opened, youtube playing in background and
I start browsing an endless memory-hungry page, my laptop (3 GB RAM) starts
dying.

Another issue is the one mentioned in the other subthread here, often when you
accidentally click some link on the page, you can't go back, it'll start
loading everything from scratch. Happens to me e.g. on facebook on IE Mobile
(apparently they don't use pushState). This effectively means I have to open
links in a new tab.

~~~
smoyer
Google's Wave used (and reused) a fixed number of DOM elements that were
filled by fly-weights containing the data to be shown on that page. While the
scroll bar showed the appropriate position in the thread, there was a limited
amount of data for the items above and below the visible set, and an even more
limited number of DOM elements that could be filled with data.

~~~
_greim_
Wave didn't strike me as the most performant of client-side webapps, but
certainly may have been ahead of its time in terms of what it was trying to
do. I wonder if browsers could make this sort of thing easier, or even
automatic. Querying the positions relative to viewport of elements on scroll
is expensive, even using throttling.

~~~
DonPellegrino
My friends and I were heavy Wave users back in college. It was simply the best
tool available by combining chat, Google docs and forums into a single tool.
It was slow at first, but after the first 6 months of improvements it became
progressively very responsive.

------
_frog
I really liked Discourse's approach to infinite scrolling[1], it updates the
URL as you go with the History API's replaceState() function so you can safely
navigate away from the page without losing your position.

[1]: [http://eviltrout.com/2013/02/16/infinite-scrolling-that-
work...](http://eviltrout.com/2013/02/16/infinite-scrolling-that-works.html)

~~~
jonshariat
If you look at the URL bar in google's example it does that as well.

~~~
prawks
The difference is that Discourse does it on a per-item basis, Google's on a
per-page. A small implementation detail.

~~~
navs
Well with discourse you want to go to a very specific comment in the thread so
doing it per item is best. But that's not for every use case.

------
geminitojanus
Infinite scrolling like this works pretty well if you want to do scrolling
for, say, search results.

It's all around horrible for something like Twitter, IMO.

The problem with Twitter is that it's conversational, and it's showing the
newest part of the conversation at the top. So instead of having a nice
conversation history:

    
    
      Hi!
        Hello to you good sir.
          How are you doing today.
            I'm fine.
    

You get:

    
    
      I'm fine.
         How are you today?
           Hello to you good sir.
             Hi!
    

...and you lose the navigation state, so it's impossible to tell where you
were at last on Twitter except by memory.

 __tl;dr __: don 't copy Twitter's UI. Please.

~~~
ivanca
Twitter already fixed this in iOS (you always apparead where you left so you
read everything in order), is just taking them a while to fix it in the
browser.

------
kzahel
One of my favorite features of infinite scroll is how it can make clicking on
the footer of a page nearly impossible. E.g. try clicking on "About" or
"Careers" on the bottom of [http://venturebeat.com](http://venturebeat.com)

~~~
toxik
There's a link to the footer, and the footer links are in a fixed footer that
is always visible. Not super-pretty but I think infinite scroll just means no
footer.

~~~
jfoster
On Facebook there is a footer, and seemingly no way to get to it unless you
find a short enough page or manage to get to it faster than the infinite
scroll can load.

~~~
garethadams
All of the links in the footer are also at the bottom of the right-hand main
column

~~~
jfoster
Thank you for pointing that out. I think that area might have been a blind-
spot for me. (immediately below the ads)

------
lubujackson
It still jumps around if you hold and drag the scrollbar - always my complaint
with these.

~~~
usaphp
I wonder how many people do hold and drag the scrollbar, I am so used to
scrolling using a touchpad on Mac and mousewheel on PC, so I never even touch
a scrollbar.

~~~
ef4
You'd be surprised.

I've done many user tests and training sessions only to inwardly wince every
time the user painstakingly does that. (And this on their own hardware, with
their own mouse they use every day at work.)

After you explain it, they say "wow, that's neat." And then promptly forget it
and start dragging the scrollbar again.

~~~
Lagged2Death
I was until recently a devoted scroll-wheel-user. But I'm starting to see the
first signs of arthritis in my fingers (far too early if you ask me) and
scroll wheels are becoming increasingly uncomfortable.

I've been surprised to find that dragging an old-fashioned scroll bar is
actually a faster and more accurate than the wheel if you're scrolling by more
than a page or so.

------
jonshariat
More explanation on their blog:
[http://googlewebmastercentral.blogspot.com/2014/02/infinite-...](http://googlewebmastercentral.blogspot.com/2014/02/infinite-
scroll-search-friendly.html)

~~~
khyh
Thanks.

I could not find what was new witouth explanation.

------
Aoyagi
I suggest not using infinite scrolling. It's annoying as hell when I want to
get back to where I was or just browse some older entries.

------
duncans
This dentist had it all figured out 3 years ago
[http://tumbledry.org/2011/05/12/screw_hashbangs_building](http://tumbledry.org/2011/05/12/screw_hashbangs_building)

Discussion:
[https://news.ycombinator.com/item?id=2592741](https://news.ycombinator.com/item?id=2592741)

~~~
thatthatis
Sometimes there is no substitute for the insight of an outsider saying "that
makes no sense, this is how I expect it to work"

------
sergiotapia
I hate infinite scrolling with a burning passion. You're reading the article
and scroll down 2 pixels too far and WOP you're loading something again.
Qz.com is one of the worst offenders here.

~~~
donohoe
You're welcome.

In this case I called it pre-loading (it's not infinite either). You get to
the end of an article and we have the next one ready for you. No need to make
a choice on what to do next, just follow through if Headline is of interest.

Not perfect, but those who use it most do love it.

------
digitaltoad
Doesn't this still effectively break the back button or at least the users
view of the back button? To the user although there are visual hints, he/she
hasn't left the page. Scrolling down the page however creates multiple history
entries.

~~~
timmclean
Nope, this seems to use history.replaceState, not pushState:
[https://developer.mozilla.org/en-
US/docs/Web/Guide/API/DOM/M...](https://developer.mozilla.org/en-
US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history)

------
stickhandle
I'm not a fan of infinite scroll in the main, but there are use cases for it.
I've often thought search results would be a good candidate. The don't suffer
from the need to provide user feedback on _progress of completion_. I also
think it provides Google with more ad opportunites including placing them
within the infinite scroll at some interval, and, of course, the highly prized
sticky ad ;) [edit - wanted to add that it would also lessen the blow of being
on p2 ... in fact I would expect search users to frequently get deeper into
the results yielding an improved feedback loop]

~~~
Springtime
I've been using a userscript [1] for the past year that adds the feature to
search results and the like. Huge improvement, and with a little custom CSS
styling the additional pages are appended more seamlessly.

The feature I appreciate about this particular userscript is it's clear where
the page breaks are, and adds links to each newly appended page, allowing the
user to link directly to them - which would be useful to see in more infinite
scroll implementations, and seen used in the main HN link.

[1]
[http://userscripts.org/scripts/show/121191](http://userscripts.org/scripts/show/121191)
[1a]
[http://userscripts.org/scripts/show/164782](http://userscripts.org/scripts/show/164782)

------
watwut
Reminds me how much I dislike infinite scrolling.

------
faddotio
Designers: please stop it with infinite scroll. They are painful to work with
and work around.

When a service switches to infinitely scrolling lists, I stop using it.

~~~
louthy
Designers: Please continue to use infinite scroll where it's appropriate, it
is much better than pagination much of the time, especially on mobile devices.

When a service sticks with pagination (like Amazon's movie service) I stop
using it.

------
Ryel
Infinite scroll is about making it as seamless as possible for the user to get
new information.

How many times do you go on a paginated page, get to page 5 and say "okay,
after page 6 I'm done." Then you either leave or continue on that process...

Infinite scrolling takes away your perspective of exactly how much content
you're consuming and how much time you may be wasting. It is only until youre
done and you attempt to scroll back up that you realize how much time youve
spent.

My side-project now is very much like Tumblr/Pinterest and I found this post
interesting because for awhile ive been trying to find the best middle-ground
between infinite scrolling and some form of incremental, pagination-styled
display of content.

Honestly I'm stumped but for right now my best solution is to load about 20
items, lazy load another 30, and use pagination for the rest. Although I've
been thinking about just displaying an infinite scroll toggle switch on the
bottom of the viewport after the user reaches the end of the initial item
list.

------
nroose
If you are someone who actually likes to have some control over what is
happenning on your computer, and if you want to have some organization when
you are dealing with a list of things that is pretty long - hundreds/thousands
or more items - then pagination is useful. And continuous scroll is
tempting/seductive, but ultimately flawed.

------
huhtenberg
This also needs to keep only N pagefuls above and below the page cut. E.g. if
N is 2 and I'm on page 5, then it would only have pages 3-4,5,6-7 in DOM.

This would ensure that users get the same scrollbar range on page 5 regardless
of whether they infi-scrolled themselves there or just clicked on "page 5" in
the index.

------
dj-wonk
Favor: could someone share an intelligent (or at least in-depth) write-up of
the pros/cons of infinite scrolling? Most of what I'm finding on the web is
content farmy.

Also: at what point is memory usage worth worrying about? Scrolling for pages
on end has to be tough on a browser.

~~~
pauletienney
pro : good for mobile users - con : no footer

~~~
dkurth
Another possible pro (from the site-owner's perspective) is increased user
engagement. When you are quietly loading more content all the time, it's
easier for the user to continue to say, "I'll just look at one more post."

On the cons side, as others have mentioned, if you navigate away from an
infinitely scrolling page, then click the back button, you often don't land in
the correct place.

------
pooshoot
I can't believe all the negative comments on here. If you have enough tabs
open that infinite scrolling starts to bog down your browser, you should
probably find a girlfriend/boyfriend and get out of your mom's basement or
replace your computer with one made after 2003. Infinite scrolling, especially
as shown here, is fantastic because it doesn't require endless hitting of the
back button to get to the original post. The only time I've had a problem with
infinite scrolling is for facebook friend purging and even then, who cares!?!
If you don't like sites that use infinite scrolling, don't use those sites.
This hybrid pagination/infinite scroll option looked awesome to me.

------
wdewind
I don't think this fixes what is the core issue with infinite scroll: when I
click into a subview and then press back, I am not returned to the same place
where I was before. iOS, for instance, handles this extremely well by
literally stacking the new view on top of the old one rather than changing the
contents of the view. This implementation attempts to fix it, but only gets
close, and so I have to re-contextualize myself every time I press back.

------
bicknergseng
I would argue that Airbnb's old Infinity.js is way better than this. Smoother
and has a fully functioning scrollbar still. This one's pretty janky imo.

------
KineticLensman
My problem with infinite scrolling is that it is very hard to go straight to
the last element. My example: A Flickr user with over 1000 images in their
photostream. photostreams are loaded most recent first. But what if I want to
see the first picture they submitted? Virtually impossible.

------
eeasss
Telerik's RadGrid has this same feature for quite some time
[http://demos.telerik.com/aspnet-
ajax/grid/examples/performan...](http://demos.telerik.com/aspnet-
ajax/grid/examples/performance/virtualization/defaultcs.aspx)

------
RRRA
So is there a way to use any of those devices coming out (including health
monitoring!) without leaking everything to the cloud?

I'm getting really annoyed that none of those will actually give you the tools
to dump your data yourself in total privacy.

(And no, I don't care how many step you had today!)

------
mayneack
Off Topic: I don't know what the connection between the things the elements
linked is, but many of them have single digit view counts:

[http://scrollsample.appspot.com/item?id=33](http://scrollsample.appspot.com/item?id=33)

------
flurdy
Infinite scroll is fine, if it remembered state when you click on a
link/article and go back to the scrolled page. They rarely do, and you have
re-infinite scroll to wherever you where before. So frustrating every time.

------
jolt
Its easy when you are just dealing with "text elements" of equal size. But if
you are loading images or injecting content in the list elements, the back-
button starts to break.

------
jimeuxx
I'm not a big fan of infinite scrolling, and when it breaks standard desktop
functionality like CMD + Up Arrow, as in the case of Google image search, I
could really do without it.

------
tedmiston
This reminds me a lot of ScrollSpy in Bootstrap [1].

1:
[http://getbootstrap.com/javascript/#scrollspy](http://getbootstrap.com/javascript/#scrollspy)

------
brianbreslin
Why do so many designers/developers of pages with infinite scroll forget they
put their footer menu in there and it is now inaccessible due to the scroll ?

~~~
dclara
I'm also concerned about the footer menu, may it be sticky or keep it on the
bottom not shown. Looks like most of the sites have the latter. Maybe the
footer is not that important, just to embed more links.

------
jolt
Why is this so hard that even Google can't get it right? If a page has little
to no other content than the content in the list, why is it worth the hassle?

------
ericgoldberg
StumbleUpon has been doing this for a couple of year. I always liked the
built-in pagination.

------
MaxwellM
Ingenious. Now if only I could Ctrl-F through unloaded elements I'd be a happy
camper.

------
PeterWhittaker
The permanent menu - with locator options - at the bottom is brilliant.

~~~
evan_
Unless you scroll a page at a time using Page Down or Space.

When I'm at the top of the page, the last visible item is "Live Room". If I
page down once, the first visible item becomes "Black Refraction". I never
even see that there's an item called "Live Room Out", it's obscured first by
the footer and then by the header.

~~~
eyesee
I've wondered if browsers couldn't reduce the paging distance by subtracting
the height of header and footer regions on the page (as identified by
position: absolute?). Something tells me it would not be so simple.

~~~
evan_
it should be possible for the page to fix, I think, by listening for a
pagedown or spacebar press and changing the scroll position based on the
height of the viewport minus the height of the stuff that obscures the
viewport.

I think it would be really difficult for the browser to come up with a
solution that would work anywhere.

------
weland
I would like to add a suggestion for better infinite scroll: ban it.

------
donutdan4114
Love this. If only Hacker News and Reddit would implement it.

~~~
meritt
I don't even know how to get a second page of HN results. Never had the need.
Infinite scrolling creates a daunting never-ending feeling. I like the sense
of accomplishment after scanning/reading through a fixed list of results.
Infinite scrolling makes that carrot forever out of reach.

~~~
recursive
It's the "more" link at the bottom.

------
stonogo
Fucks up my scroll bar -> will not use

------
EGreg
Why is the title mentioning Google?

------
islon
my suggestion for infinite scroll: make it finite.

