- be pausable, allowing to reach the page's footer
- be resumable from the latest viewing point on page reload
- modify current URL periodically
- preload new data slightly before reaching the end of last page
- auto-pause at some point to prevent mental overload
- be switchable, in part to "Click to continue" state, in options
This is a big one.
Without this it's so frustrating to infinite scroll down to the equivalent of 12 pages, leave the page and want to go back to roughly where page 12 is another time. Instead you have to start from the top and scroll down.
You'd likely save a good amount of server compute power just using push state to update the page in the URL as you go so folks can copy / paste it and jump right back to that page later.
I doubt any product of consequence would allow this to happen.
Doing your job as a rogue quasi-saboteur probably isn’t a better option than quitting.
Even HN might have this problem a bit. If you visit the homepage you click an article, spend some time reading it, then click back, the homepage might have changed, and even post you were reading might not even be on the homepage anymore. HN is much less bad than infinite scroll sites, because HN's homepage is the same for everyone, and doesn't change nearly as often.
One way to to solve this might be to store a session ID as a query parameter that gets automatically added when you visit the homepage, and store the complete state of each session either serverside or locally in the browser. Then when you navigate back to that session ID, you get the same page. There are a number of downsides to this though. The session ID in the URL is ugly, there's a lot of storage needed for all these session, sessions likely need to be pruned at some point (so the back button will stop working at some point), and it's very difficult to figure out what to do when multiple tabs open the same session ID.