Indeed. Google is the worst at designing around lazy loading. Their UIs in Drive, Youtube Music, and others essentially become unusable once the list gets long. God forbid you don't have a super low latency connection straight to the data center. Even holding open a web socket to fetch "next pages" doesn't cut it in most of the real world. If you're gonna lazy load (which I admit sometimes does make sense) you need to aggressively fetch the next page. If I have 200 files in my Google Drive and they're sorted alphabetically, and I want one that starts with "y", the UX is so unbelievable bad that I sometimes wonder if I'm being pranked. I'll have to wait through a dozen "next page" loads that only load a screen worth of files at a time, and each pause makes me wait a second or two. That really adds up when I just want to scroll to the file. Scrolling through large playlists in Youtube Music is utterly painful nowadays too.
Please people, test your UI on low bandwidth connections, high latency connections, and both conditions together. It doesn't need to be perfect, but it doesn't have to be anywhere near this bad. HN performs way, way better than these modern javascript heavy lazy loading apps, and I think there's some important insights in that sitting right there for the taking.
Scrolling back in google chat is another horrendous experience. Trying to see a message you sent last week? Scrolling up is like “here’s 5 messages”… “here’s 4 messages”… “here’s another 5”. It’s like a college student wrote it.
Oh yes! Totally forgot about that one because I rarely use google chat, but that is insane. It really feels like somebody built an example app as a joke of how not to do it, and somebody else accidentally shipped it.
Especially when metadata is so cheap to send over. Even if you have literally thousands of files, there's no reason why they couldn't send it all in a single JSON at first page load. Gzipped it would be nothing.
If you hate how Google Drive works get excited about searching in the new Outlook. Nothing like being able to not sort your search results and only getting 200 at a time and having to page through them when the search returns anything useful at all.
The crazy thing is, theyve written one of the best guides on the internet on how to do an infinite scrolling list: https://developer.chrome.com/blog/infinite-scroller