Stop Infinite Scrolling | Hacker News

The article puts forth 10 reasons to think twice before implementing infinite scrolling, but many of them are just a variation of the final reason: Terrible user experience.
For the sake of argument, there are several very successful websites that use infinite scrolling in one way or another. Facebook, Instagram, Twitter, Reddit just to name a few. Is infinite scrolling on these sites disorienting the user? hard to navigate? rendering a "terrible user experience"? One could certainly argue that the data says otherwise.
The article doesn't even suggest that there might be situations where infinite scrolling might befit the site. I'm not a big fan of infinite scroll but black-and-white rants like this often leave out the vital context and nuances in the topic they aim to analyze.
Facebook's is compounded by the mysterious newsfeed algorithm - if you're infinite scrolling a limited set of items in chronological order it wouldn't be as bad. But I've seen things in my newsfeed and then not been able to find them again if I accidentally closed or reloaded my tab.
If you noted who posted/shared it you can find it on their profile, but if all you noticed was the headline or image on a shared item it might as well be gone forever once you lose your place in the feed.
I wouldn't say that's the main reason I don't check my Facebook feed anymore, but it's one of them.
Yep facebooks algorithm could be totally superceded by "I would like to see ....
[ ] only friends
[ ] mostly friends, some lists
[ ] random
[ ] don't care, use your AI/algorithm
choose one of the above.
I mean limited in terms of quantity posted per day; my understanding of Facebook's system is that across all of my friends (or maybe even friends of friends?) there's a lot of stuff posted, and Facebook only picks a subset of to actually show me. I don't know how they decide which things appear in my newsfeed and I don't know what order they're in.
Compared to Instagram where I see every single thing that someone I follow posts (might be because I follow so few people on it). If I want to go back and see one of the posts again, I scroll back in time and eventually find it.
For losing posts on Facebook I’m not talking about trying to find something from a month ago, I’m talking about things that I swear I saw yesterday and now I can’t find it.
This. These sites don't use infinite scrolling because it is a great user experience they do it to keep people on their site. They do it to keep people engaged. The addiction. Most of those sites would actually be better with pages in terms of user experience, but that isn't the experience they are going for.
I think Instagram does a fairly good job of trying to have both. When you've scrolled through all the new posts, you get a green "You're all caught up" break point. You can continue scrolling past it if you want.
Yea, I dislike infinite scrolling because I'm a user, but these sites love infinite scrolling because there is no barrier to continuing to browse, in ye olden days there would be a load time when clicking onto the next page - in the modern world performance is likely not a concern or the next page is already loaded and just swapped out in the current view - but it is still disorienting to the user as that action will usually shift their view.
Interestingly the approach I think works the best (except for the poor input experience on anything that isn't a touch screen) is infinite horizontal scrolling since the footer and header elements remain expectedly stable while not overlapping any information the user wants to view... horizontal scrolling is very poorly supported by input devices and using the scroll wheel to move left/right makes the user think too much.
> in ye olden days there would be a load time when clicking onto the next page - in the modern world performance is likely not a concern or the next page is already loaded and just swapped out in the current view - but it is still disorienting to the user as that action will usually shift their view.
Oh, but there is a visible load time still. Unless you're browsing on a supercomputer with infinite RAM, after a minute or two of scrolling Facebook you'll realize the performance drops fast with the amount of feed you've loaded, while the load times increase. In my experience, both the page slowdown and load delays are about O(n) with respect to the side of the feed, but I haven't measured it precisely.
Facebook's feed is horrible. People are lost all the time with it, and it's a huge impediment for the site to be used for anything remotely serious. Ditto for Instagram, but expectations here are more aligned with nothing serious ever getting on the site.
Twitter would be better without infinite scrolling, but nobody ever cares about messages down the line, so it's not that bad. I have never noticed that Reddit does it. Is it on the new design only? This may be one of the reasons people do not use the new design.
Well there are some arguments to be made that Facebook, Instagram, and Twitter are terrible for their users. I am going to assume you are familiar with these arguments because you are on this site. Perhaps infinite scrolling contributes to whatever is so powerfully bad about these sites for their users, if indeed those arguments are correct.
> several very successful websites that use infinite scrolling in one way or another. Facebook, Instagram, Twitter, Reddit just to name a few.
Yes, all sites which first took several years to build up a massive user base and benefit greatly from network effects. Most websites are not Facebook. 20 years ago, it was "But Microsoft does it!" -- and the response was "But you're not Microsoft."
I'd love to find out how many people use "old.reddit.com" specifically to avoid infinite scrolling.
> Is infinite scrolling on these sites disorienting the user? hard to navigate? rendering a "terrible user experience"? One could certainly argue that the data says otherwise.
What data, exactly? Yes, I do think it's disorienting, hard, and terrible, and I hear similar complaints all the time. If I had a nickel for every time I clicked something by mistake in Facebook, or clicked "back" and wasn't taken back to what I was looking at before, I'd have ... a big ol' jar of nickels, anyway.
> The article doesn't even suggest that there might be situations where infinite scrolling might befit the site.
You're right. These are 10 reasons it's bad for users. There's one obvious one that benefits the site: because there's no obvious stopping point, it's great for sites that want to be addictive. People eat more if they have a infinite bowl [1], too. If there's any user benefit to infinite scrolling, I have not heard it.
>I guess they had a lot better user experience than their failed competitors.
That's like the logic that Microsoft Windows must be great just because it's the most-used operating system. You're completely ignoring all the other factors that are involved in a company or product getting to a dominant position.
FaceTwitGram may depend on IS; I don't know, I've never used a FaceTwitGram account. Reddit seems to work fine without Javascript.
If I'm forced to enable Javascript for some specific site, I enable it for that site, then (if that's not enough) for it's companion sites, CDN and so on. By this time the site has already caused me resentment.
If that's not enough, then usually I've already gone somewhere else.
Way too many sites will give you a blank screen just because JS is disabled. But if you insist that I totally drop my pants and enable ALL scripts, you really have to have a compelling reason (e.g. buy product unavailable elsewhere, um err can't think of any other compelling reason; luckily neither my bank nor the taxman mandate 3rd-party scripts).
Some UI gimmick such as infinite scrolling is certainly not a compelling reason.
The purpose of infinite scrolling is to retain the eyeballs of mobile users - to stop them navigating away from your site. I am old, my eyes are dim, and my fingers are shaky; I use my mobile phone primarily as a phone, and never as a browser. Younger folk may have a different experience.
There's a plug-in called RedditEnhancementSuite (RES) that adds infinite scrolling with the URL bar being modified. RES has a pretty large userbase and it's well done so OP probably uses it and just forgot what's base Reddit and what's RES.
My favorite example I discovered recently is the Coinbase prices page. You can’t get to the links in the footer (or their big “enter your email to learn more” CTA which I’m sure their marketing team works hard on) because it keeps loading new pages when you scroll to the bottom of the page. Presumably they will eventually run out of pages and you’ll be able to see the footer.
in practice, I don't think I've ever seen a sticky footer that didn't flake out somewhere. it's always broken weird screen sizes, or mobile, or one browser, or after a browser update. or it hides content because someone forgot to add padding. or it jumps around because they're using absolute position for some insane reason.
A tax on fast internet, lol. I have no problem getting to the footer links on first scroll. I then get around five seconds to study the links before it disappears and I have to scroll for another five second view.
Even in some case scrolling back to the top makes you lose the progress. And that happens automatically when you do a Ctr-F and start typing, the matching of the first character you type will likely be at the top of the page.
Even worse is how infinite scrolling breaks Ctrl-F searching. Most websites no longer render the offscreen content to improve performance, so the content you scrolled past (and the content you haven't gotten to yet) is no longer there for searching.
> Most websites no longer render the offscreen content to improve performance
Which may now be obsolete. Over the last year firefox has implemented some amazing flexbox layout computation improvements that make appending to a flexbox with many elements (>5k) stay fast. It only re-computes the changed ones.
Of course you need to do some profiling to check that you don't accidentally deviate from the happy path by introducing changes that touch all elements.
That's probably just a poor implementation on those websites. I thought the ability to search across larger content using Ctrl-F is one of the major advantages of infinite scrolling over traditional pagination.
Yup. And you can implement something that loads all the content up until that point when the user presses F5 in the middle of the page. And you can implement smooth scrolling that takes into account your sticky header. And you can make your pagination based on the ID of the last seen page item instead of based on count.
The question is, is this the best use of your time? Are you willing to invest more time in it when you give it to the user? Because the user will do something you haven't thought of, they will break it, and you will need to fix it.
You can, but that means if a user scrolls through a page and decides to share it by copying the URL they'll get a link to the page they've just scrolled in to rather than the one they've just read which is very likely to be wrong. It's something that makes me much less likely to share links.
I just tried Twitter on my iPhone and it fails as described if I manually put in a new URL and then go back from there. Google gets it wrong in their search results. When it’s that common to have this bug I’d say it’s fair to just consider it to be part of the technique.
That's just as heinous as those news sites which load the next article when you scroll to the bottom of the current article. It appears to sometimes be part of the article you're reading and then your on another page trying to figure out what the hell happened. I really don't know how these so-called designers get paid to confuse their readers and customers.
Related bonus: On many sites, if you try to print the article you've just read to the bottom, you can't print that article, you can only print the next article, and even scrolling back to the top won't fix it.
oh my god yes! I've ran into this same problem and thought i was going crazy. cant remember if i was printing or just saving the articles to somewhere, but i kept getting a completely unrelated article.
how does someone mess up their website that badly? i dont even know how something like that is possible
My "favorite" infinite scrolling fail is when there is a footer on the site, and it keeps being pushed down by the infinite loading of new data, such that you can't reach any of the links the footer contains (like, you know, "About" or things like that).
Google (image search) and Facebook (news feed) have both done this. Last time it came up I was able to find a screen shot of one of them but not the other, let me see if I can dig that up.
I don't think they did it deliberately, but I'd bet someone said "We could increase engagement if people didn't have to click anything to keep seeing more content" and nobody bothered to think about other design consequences of automatically expanding the content downward forever.
Bonus points if you go on to click on the footer, the infinite scroll kicks in, and your mouse cursor ends up on a link in the newly loaded text, which you end up clicking on. (Or video content, or whatever ends up doing something because you clicked)
Or in the case of Facebook, a new top, one that intentionally excludes whatever you were looking at before (because "it has been read" - even though you got no more than a glimpse in frustrated passing).
Bonus points when that info actually still lives there but is now rendered inaccessible, violating the actual laws their presence is intended to comply with.
E.g. in Germany the impressum (often also called "imprint" in English versions of German websites; a mandatory page listing the physical address, contact information, registration numbers and other legal information, typically linked in the footer) must be easy to find and accessible with no more than two clicks (though this seems to be more of a heuristic than a strict legal definition).
I've seen this argument more and more lately, and it's starting to bother me because some places work great with infinite scrolling (twitter, serial comic strip viewers).
This article offers a small disclaimer at the end, but otherwise says things are impossible, when they simply aren't. #1 is easily solved by removing offscreen content once it's been scrolled past, and autoloading in both directions. Numbers 3-4, 8, and 9 (several of which are redundant complaints) are definitely the worst part of infinite scroll websites, but are pretty easily fixable with client-side routing.
The problem is people implement infinite scroll in terms of finite-scrolling documents, when there are a number of other dynamics to take into account. It's like saying "Don't make video games because you can't play them with a remote".
> some places work great with infinite scrolling (twitter, serial comic strip viewers).
I would contend that Twitter does not work great with infinite scrolling. In fact, I kept envisioning Twitter as I read the article. One of my biggest grievances with Twitter (shared with much of modern computing because multi-device computing doesn't have something like PAO [1], which would keep all my devices' views the same) is that I can't easily resume reading my Twitter stream between devices. I can't even easily navigate to "show me the stream at 11am today," which would be a viable workaround for multi-device views. If I want to find a last-read point, I just need to sit with my finger on the page down key until I see something familiar.
Ultimately, my user experience with infinite scrolling is simple: I give up and stop bothering to try to be thorough in my consumption of Twitter content. I wonder if Twitter has the necessary metrics to realize that infinite scroll can hurt engagement. I doubt it.
I'd contend Twitter's problem isn't infinite scrolling, it's eschewing chronological sorting in favor of algorithmic. There is no objective order to most content on twitter, so deep linking to a place in the feed is impossible, whether you use pagination or infinite scroll. Which is why infinite scroll works - it solves the problem of defining what page 2 even is. Not defending algirithmic sorting of course.
First time I've ever heard someone refer to infinite scrolling on Twitter as great. I can't tell you how many times I accidentally scrolled to the top of twitter because I accidentally tapped too high on my iPhone and it jumped to the top, losing my place, which was dozens of "pages" down. It's the reason I never use twitter for more than a couple of minutes.
If there are MULTIPLE views for a type of data, an infinite scroll consumer is a valid 'secondary' view.
In the case of Twitter I think I'd find it WAY more useful to have a view that breaks things down by month or week, with the old items gaining permanent addresses on such pages, and actions that break out of the infinite scroll re-directing to those permanent places.
I remember from ~10-15 years ago, in the Opera browser there was a button to go foward even when you did not go backwards. It was pretty good at guessing what the next page was going to be (example.com/1.html > 2.html, 2005-08.jpg > 2005-09.jpg etc.)
The feature was called fast forwarding, and old Opera's successor Vivaldi still has it. For those unfamiliar with it, it also works with more complex pagination schemes than just incrementing the number at the end; e.g. Google or Bing searches.
I remember Opera also had (and Vivaldi has, I just found) an optional feature where continuing to press space after reaching the end of the page would trigger fast-forward and take you to the next page. Sort of an alternative way of infinite scrolling.
Then implement it with elements rather than pages. Regardless of how many elements fit on a page, you could then get a reference to the page that begins at element 12345 in a given sort ordering, and come back and continue from there at any point or on some other device.
I once implemented infinite scroll that 1) didn't auto-scroll from the first page, you had to click to continue and then it would infinite scroll. This way, people could see the footer and didn't have auto-loading content unnecessarily and 2) the infinite scroll worked bi-directionally. 5 "pages" would be loaded at any given point, with the goal that the user would be on page 3, in the middle of the stack of pages. This way, memory was kept low, and we even implemented the History API so you could link to the pages by post ID.
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.
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 often happens, the article focuses on technical aspects; technical arguments are easy to dismiss with more technical arguments.
The real problem with infinite scrolling is that it's temporarily addictive, and the only reason it exists is to maliciously keep you scrolling. I don't like that and I think infinite scrolling should not be used by (and is not adding anything useful to) benign services/products
It says in 2018, mobile was 58% and desktop 42%. Optimizing for the 58% is fine, but when it comes at the expense of the 42% it is harder to justify just handwaving it away.
More interestingly, the above page indicates that while there are a greater number of mobile visits, they don't stay as long and are twice as likely to "bounce", which I infer means leave the page before spending any significant time.
So by those metrics, although desktop users are fewer, they spend more total time. Again, ignoring their scrolling preferences to optimize for mobile seems questionable.
I'm guessing the person who posted this works at a US-based publishing group, in which case mobile traffic is likely ~75%.
Scrollbar hijacking is a valid objection but I do wonder how many users in that 25% it affects. I'm on a Mac and the freaking scrollbar disappears after less than a second of non-use. I think I've pretty much ignored it since Mac started doing this...
I'm guessing you work for a publisher like Condé Nast that pushed this pattern onto unsuspecting properties like Pitchfork? I am extremely annoyed every time I encounter one of these - it makes skimming articles impossible since you miss the end.
>I run a collection of websites that all use infinite scroll and serve ~90 million MAUs.
The point is whether those same ~90 million Monthly Active Users would be better served by more traditional page flipping or some other navigation mode.
I believe that it greatly depends on the specific site and its contents, but the original article sounds like good (and often "rare") common sense, if you have good reasons (and can actually provide a working, not annoying, solution) go "infinite scrolling" if you are not 100% sure stick to more traditional pages.
There's a lot of reasons why it would break all of those things. Hacking it so that the URL & history is rewritten when content is loaded is significant extra work.
I have no idea what you mean by indexing, given the word index doesn't feature in the article. You also ignore the problems of making the scrollbar useless & the footer unreachable. I don't see any fix for those issues at all.
The way we did it for a product search type website was to show a regular page first, with a "show more" button. After clicking that button, it would auto load the next page(s) on scroll. If all you wanted was the footer, you wouldn't ever experience the auto load.
By index they’re referring to SEO because google indexes pages. Scroll bar is useless? Add a tap to load more button, give the user control of when content loads and now the can scroll comfortably. Need a footer? You can have a sticky one.
That's a great example of the extra magic and complexity an infinitely scrolled view requires. As you scroll down a huge Discord thread, they are removing posts from the DOM for performance reasons.
You could use the browser's built-in search functionality by choosing Edit -> Find in This Page from your browser's toolbar, but in this case it would be pointless as the results would be inconsistent as most data you've come past is not present.
I'm curious how much worse the performance would be if they did not apply this specific optimization.
I remember reading a thread about this issue on Discourse's own board, and it was clear the continuous scrolling was non-negotiable "because modish", regardless of user preferences or experience.
> I'm curious how much worse the performance would be if they did not apply this specific optimization.
Pages without continuous scrolling that can have large numbers of posts or entries don't typically show all by default. There are all the usual options - paging, allowing the user to choose the number per page, etc. They're all imperfect workarounds, and all better (for me) than continuous scrolling.
... but I like infinite scrolling. I just don't like infinite content.
I prefer having a webshop list everything they have in a sub instead of pagination. I prefer Amazon layout which just goes on and on with all kind of stuff related to an item. I like to be able to ctrl-f on a page and see if I hit what I need without clicking through mazes of links. I just don't like pages that just generate more content after I finished the current one in the hope I get bored and click on ads.
To me infinite scroll or not is more about what kind of content is it, statistics like generated clicks and of course UX, than the questions what's more difficult to implement.
With the abundance of ready to use opensource solutions, I'm sure most devs don't need to implement infinite scroll or a pagination mechanism themselves but they just use a component that does it out of the box and solves all those technical problems for them.
To be sure what works best for your users and type of content, I would do two versions, one with pagination and one with infinite scroll and let the numbers decide which technique makes the user click / visit content and maybe which technique does the user spend most time on the website.
I'm not totally against infinite scroll, for a social network news feed I think it's a good use case. Also all the potential problems listed have a solution and also some of the problems also exist when using a pagination. For example letting a user bookmark a page url with a pagenumber on a website with lots of new content is bad, as the content on the page number XY will have changed after few hours / days. Some good solutions if you really want to implement it on your own are listed in this google blog post: https://webmasters.googleblog.com/2014/02/infinite-scroll-se...
Infinite scroll is not for user experience. It's to increase session times. If you increase the time spent in an app or on a page you increase the chance of getting revenue in ads for social or media sites or purchases in marketplaces. In other words screw UX because this is about increasing engagement to increase monetization. Stressed or not, users do increase session time on infinite scroll pages than when using regular paginated views
One of the websites where one can find this annnoying "infinite scroll" is YouTube channels.
I wrote a quick and dirty script to address this annoyance.
It can be used to output a table of all the video urls and video titles for any YouTube channel.
"yy032" and "yy025" are some utilities I wrote to decode html and transform urls to HTTP for HTTP/1.1 pipelining, respectively.1 Instead of using yy025 and openssl, one could alternatively make a separate TCP connection for each HTTP request, e.g., using something like curl. Personally, I prefer not to make lots of connections when retrieving mutiple pages from the same domain.
Here is a hypothetical example of how to use the script, "1.sh", to make a table of all the video urls and video titles in a channel.
Maybe it's just me because I just realized how irritating it is, but I really dislike when the title of an article commands me to do something. I don't really even understand why people do it, is it supposed to make me hate-click the link? It just makes me think the author is juvenile and i lose interest.
I think it's to draw the attention of people who want to tell others to do the same thing. E.g. if you're saying the title of this article internally while looking at an infinite-scrolling web site, then the title will get your attention.
So, as many problems as there are with infinite scrolling, people keep using them because they generally work. Some might say that it's bad for users but good for companies because it encourages them to stay on the site more by using psychology, one can also point to the way sites promote a "Most popular package" or how they price things to encourage people using psychology to spend more than they might have originally.
Argue whatever you want, but if something works, people are going to use it. And as long as it's not misleading people, it's hard to present it has a dark pattern.
The most stupid design is (1) put meta links such as "about", "copyright", "contact", "abuse", "profile" links in the footer of the website, and (2) using infinite scrolling. Literally, WTF?!
Every time I want to find a meta link, I need to have a race between my reaction speed and the JavaScript loading time... Worse, some background scripts are written in a way to trigger even if you press "Esc", which is supposed to stop the current executing script.
The article is flawed, because for example it takes for granted that the footer needs to scroll with the infinite scrollable content pane, which is just an absurd thought to begin with. Similar statements hold true for memory management, of course a naive implementation will eventually fill memory, but the same is true for a bad implementation of an single page web app with paging UI. Same for bookmarks, of course if you bookmark page 1 of a multi page list, eventually the articles you saw will be pushed to page 2. And if you have a single page application and forget to have the url change to the articles you read, you will have issues, on the other hand if you read an article in an infinite loading list, it would be no problem to change the url as you read articles and make them linkable. If you take away all of these statements you end up with the following:
a) it is easier to mess up infinite scrolling than to mess up paging, don't think its easy or you can build it quickly 'on the side'.
(my take on that point is) -> We need better best practices and tooling to build infinite scolling for popular frontend frameworks. In my opinion it is on the level of complexity as building a state library such as redux including the react integrations and redux tooling and needs a similar amount of contributors, support, application feedback, bug reports etc. until it can provide a satisfactory mainstream user experience.
b) the article traps into the same mistake most medium/hackernoon articles make: not more explicitly discriminating between real web apps and web pages that just happen to use a js framework. A real web app is something like calender, mailclient, taks, slack, fb messenger, trello etc. They have completely different requirements and expectations and it would be absurd to click to older pages of messages on slack and is really annoying to do so in gmail. Even though the article just mentions the term "web site", it does sell its advice as a kind of universal truth independent of context. For a web page, something like new york times or medium articles or some informational page for a company offering, i agree that especially autoloading of next articles at the end of one opened post can be really annoying and in the context of articles infinite scrolling is even easier to get wrong, but not because of an universal law, but because the user interface has more things to take into consideration and requires better planning.
If we could go back in time and redesign everything from a clean slate, we really should just have different formats and client apps for “run portable apps with rich GUIs over the Internet” and “view text with clickable links embedded.”
How could you change browser APIs to block infinite scrolling? It boils down to making a network request and adding html elements. You can't disable those since they're using significantly outside of infinite scrolling.
The best way to block it would be to provide direct support for it. Rather than each site rewrite the user experience with Javascript, the browser could support a standard paginated HTML. Then it could render that as infinite scroll, or pagination, at the user's preference.
Now that the Javascript genie is out of the bottle, you can't stop single-page apps from doing their own navigation. But if you make it simple enough for developers, many new sites will choose to support a standard HTML feature rather than continue to manage it themselves.
That would, of course, take time and be the usual HTML-evolution clusterf*. But if Google or Mozilla decided to start it, in conjunction with one or a few major blog/social-media providers, it could probably be widely supported within a decade.
I agree with most points but not with the bookmarking. Bookmarking paginated content is rarely useful, unless the content rarely changes.
The thing that irritates me a lot with infinite scrolling is that it ruins history. If the content somehow botches open in new tab then this basically constrains the user to only ever see one piece of detail before getting crazy.
Twitter is horrible - scroll down a few pages, click something interesting, hit back, and you’ve lost position, and have to reload and rescroll through everything again. Even worse because some clicks will open a modal that you can close and save position, but other clicks will reload the page.
Infinite scroll absolutely is a Dark Pattern unless you have a very good reason for it. For many things it's just obnoxious, but for e.g. Reddit (or 'endless' feeds in general) it is an extremely cynical way to drive compulsive behavior to its logical (awful) conclusion.
I do this on one of our internal sites at work - it makes a table that is fitted to the page vertically, where scrolling with the wheel changes the page. Super easy to flick through results (better than infinite scroll in fact), which is the main issue I have with paginated things.
Highly biased opinions... What about articles where access to all parts is needed, like scientific articles, manuals, reports, etc? And for the general public too, at least part of readers are able to concentrate on reading much longer than thru a couple of paragraphs.
Counter examples can be found all over the internet (e.g. many gnu manuals have the option to show all information in a single HTML page, quite a few Gutenberg books are in a single HTML file).
(I'm wondering if you think the objection is to scrolling, it's not, there is a difference between a long page with scroll bars that give an indication on how far you are on the page, and infinite scrolling where the page gets longer each time you read the end of the page)
i bet it would be theoretically feasible to take each individual page of a book and perform some chemical process on them such that you join the bottom of a given page with the top of the next one on chemical level, in which case, a book certainly can be a single page. really, all books are just a single conceptual page split at given boundaries to give the impression of structure.
no, I didn't say that you can turn a book into a single page exactly. I said that you can bind the pages of a book together in such a way that it would be one long, continuous page. rather, i said that conceptually, a book can be a single page, and beyond that I also went on to clarify that a book is nothing more than a single page split at arbitrary locations to give the impression of structure.
if there were a single piece of paper long enough to hold the entirety of a book, and it were written out on that page, would that make it any less of a book? it may not be one in the sense that it is no longer bound together, but at the same time, in the former example the pages were bound together by some chemical process into one monolithic page; the only thing missing is a cover to hold it together, though I have seen college textbooks come as just loose leaf paper that one has to bind themselves but that's still a "book" prior to binding.
also: what if a story or some such were to be written on a scroll? just because it doesn't fit the precise literal definition of what a book is, doesn't mean it doesn't contain the same semiotic substance as "book" and as such doesn't mean that it automatically isn't one. but maybe im just being pedantic ¯\_(ツ)_/¯
Funny that you use Twitter as an example because infinity scrolling on
Twitter is the reason the side is so unusable. Whenever you click an
image/link or try to zoom in/out, you take the risk to lose your current
scroll position.