| I run a collection of websites that all use infinite scroll and serve ~90 million MAUs. #1 Poor performance issues We started doing off-screen clean up, but it's a similar pattern to any ListView like component. Setup and teardown. The browser is smart though. It's not any more work than the setup/teardown a typical SPA should be doing. #2 Footer is drowned Footers are useless. Put it in the menu. #3 Difficult to implement analytics No more difficult than triggering a SPA pageview. This is misleading. #4 Navigation is muddled This is the most valid argument. We solved by being clever about History.pushstate(), triggering when the next article title hits 50% of screen. Bookmarking works fine. #5 Scrollbar is hard to use Misleading. The web is mostly mobile. People generally use efficient scroll input devices, scroll wheels trackpads. Most browsers hide the scrollbar because of this. Scrolling many tens-of-thousands of pixels is NBD. #6 It is hard to use Misleading, not quantifiable. #7 Disorients users Misleading, not quantifiable. #8 No skipping allowed Easily solved. We built an in-between module to provide the user with the option to modify their infinite scroll path. If you pick something here we use that to make the rest of articles closer to your interests. #9 No bookmarking Solved with History.pushstate() #10 Terrible user experience Any UI pattern can be abused to be bad UX. # Pagiantion UX is usually bad To counter the arguments. Arguably pagination is more broken. Navigating pages. Generally they aren't bookmarkable unless you implement advanced cursor pagination. # Content consumption flow Data supports that users want to consume content with minimal interaction and engagement. If you provide a consistent scroll experience to get from one thing to another, and it's relevant enough, people will really stick around and consume it. Bounces, time spent, and other KPIs for web-traffic engagement have all gone up as a result of using infinite scroll. Perhaps we're an outlier and paid attention to the difficult to solve implementation nuances but I don't mind it on other sites. The alternatives were footers full of information I'm not interested in and outbrain modules... |
As a user this bothers me the most. If I have no intention of reading the next article but scroll to the end it then takes two clicks to leave the site via back button - sometimes more.
IF you wanted to do it right, only set history when the title of the next article is at the top of the viewport. 50% just isn't enough and likely just messing up your kpis.