#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...