The many challenges of infinite scrolling on your websites

The many challenges of infinite scrolling on your websites

The idea of infinite scrolling from a design perspective is a pretty good one. Users don't have to leave the current web page and new content just magically appears before your eyes to the amazement of site visitors. The overall speed is faster (sometimes) and users have a higher likelihood of not bouncing out. Except, that's never really quite the case, at least not for me. Most of the time that I scroll downward on a web page, I do so with purpose. I want to get to the bottom of the page. To the <footer> mainly. And unless you have a fixed footer on your website that's always on display, which most don't as it is obtrusive, you'll end up chasing those precious links at the bottom for eternity.

Now that I got that out of my system, here are a few more reasons why you should maybe avoid infinite scrolling content and a few potential workarounds if you choose to go that route.

Chasing the footer

As I mentioned above, most of the time that I scroll really quickly to the bottom it is to get to the footer links. I either want to read the About page on what I'm looking at or I'm looking for some kind of further info on this business. And infinite scrolling content (if not implemented well) will prevent that from happening. You might end up with a few seconds before those precious links are taken away from you.

One potential fix that you can implement is to change the footer design to be fixed, but only once the user has initiated an infinite scroll sequence. A little bit of JavaScript will help you out here.

You lose out on pagination

Pagination is not a bad thing. It gives us clues as to how much content there is in total. And some would say it's also good for SEO, as each page can be indexed by Google. Google will indeed trigger asynchronous requests on your web pages, and thus you might not totally lose out on the indexing of your valuable pages, but this is just an assumption on my part and who knows how other search engines will treat such content.

Pagination also allows users to skip pages. And most of us, whether you are aware of it or not, skip pages. We look at the dates on certain posts and determine how far we want to get ahead of that. Infinite scrolling prevents us from doing this and so we find ourselves scrolling super fast in an attempt to have the page load content faster.

It "feels" slower

The whole point of infinite scrolling is to decrease the overall loading time as the page has already loaded most of its major components and all it has to worry about is the actual content that you want to load. And if you were to time the network loads, you'd probably save a good bit of time overall. But it is just because of this instant expectation that it ends up feeling slower. If it isn't instant, then even 2 seconds can feel uncomfortable to most humans these days.

It's the sign of the times and not any technologies fault really. Things are getting faster, and we are getting used to these new speeds. When you click on a new page to load, you expect it to take some time. It gives us a break from the content. We might sip on our coffee or switch tabs for a second. And when it loads and we are greeted with new content, we feel that satisfaction.

When you scroll downwards however, and you see that loading icon, it's difficult to leave. Your content is just seconds away. And that's the problem. Instead of milliseconds, it is seconds away, and so we deprive ourselves of this little break in rhythm.

Decreasing page views

If a user scrolls a million times to view all of your cool content that you want to share, it technically only counts as a single page view. And depending on how your business or website is set up, this could affect your bottom line. If you have advertisers, then you are serving less impressions. And if you are looking to grow your overall brand and site reputation, then you will need to increase those page views as well. It's also easier to track multiple page views then it is to track the number of times that the user scrolled downwards.

You could technically dynamically update the URL location and reload your ad-tracking scripts on each load sequence, but that seems like a fair amount of work in order to recreate the default browser behavior of simply loading the page.

In conclusion

The design idea of infinite scrolling is very clean. In fact, if you look at my home page I make use of a version of it, except that it is user triggered. You have to click on "Load more" in order to get more content. And I have spent a fair bit of time to ensure that the results load as quickly and as cleanly as possible. You can still access the footer and I included a search bar to bypass the whole 'looking for that one post' problem.

My main reason for having it is to simply experiment with the design concept. I also have a version with numeric pagination and another with a < Previous and Next > design that some of you may have seen if you are long time readers.

If you are okay with the limitations and challenges that infinite scrolling bring with it, or better yet, if you can come up with ways to fix those challenges and improve upon that design then I say go for it. And if you can and do, then also feel free to share those ideas with me and I shall share them here on the blog.

Happy coding!

Walter Guevara is a software engineer, startup founder and currently teaches programming for a coding bootcamp. He is currently building things that don't yet exist.

Community Comments

No comments posted yet

Developer Poll Time

Help us and the community figure out what the latest trends in coding are.

Total Votes: