What do I mean by this?
Like most "infinitely scrolling" apps/sites, the Connect website's activity list only loads/shows a handful of items at a time, for performance reasons. This is also known as "lazy loading".
The problem is that for lazy loaded lists like this, the scrollbar typically only reflects your position in the currently loaded items. When you scroll to the bottom of the currently loaded items, more items are loaded.
The downside to this approach is that if you have lots of activities (like 5-10 years worth), and you want to jump to an arbitrary point in the list (like the middle), you have to scroll for a *long* time. (Scroll to bottom, wait for more items to load, scroll to bottom, wait for more items to load, etc.)
For example, I have data in Connect going back to 2013 :/. In the list of all activities in the Connect website, there's no easy way to jump to -- say -- May 2019, unless I feel like scrolling for a real long time. In practice, I would probably filter by date or use a different site to access the data.
Of course I will anticipate the objection that this is just how infinite scrolling works. Yes, it is - by default. It works especially well for social media sites which are very well suited to infinite scrolling (because you're scrolling through a timeline or a list of algorithmically recommended posts). In those cases, you usually don't really have a need to jump to some arbitrary point in the list. (In the case of a timeline on *social media*, typically nobody cares about anything except the most recent posts. In the case of algorithmic recommendations, you usually want the first result you haven't looked at yet.)
But there are many examples of apps and sites with infinite scrolling / lazy loading where there is a custom scrollbar/scrubber which allows you to instantly jump to any point in the list, because in these lists, it actually does make sense to quickly go further down the list. As a bonus, the scrubber usually displays some kind of hint to where you are in the list (e.g. for a time-oriented list, it might show the month and year of your current position in the list, or for a list of artists in a music app, it might show the first letter of the artist).
Some examples:
- Spotify app > Your Library tab. This list is clearly lazy loaded, because if you grab the custom scrubber and scroll quickly you will see placeholders for the artist/playlist images which are loaded on demand. But you will also see that the scrubber allows you to instantly jump to any point in the list, no matter how long it is. And the scrubber displays the month and year of your current position in the list
- nodebb forum platform. For forums that use nodebb and which have infinite scrolling enabled, there's a custom control with its own scrollbar that lets you jump to any post in a long thread, instantly, even though not all the posts are loaded at once. This works in both mobile and desktop btw
e.g. This topic on the suunto forums has 4k comments, and it's possible to scroll to any point in the entire topic instantly, using the custom control:
https://forum.suunto.com/topic/5518/a-picture-a-day-keeps-the-doctor-away
- Strava app - Training Log
The native scrollbar scrolls through the entire list, whose contents are lazy loaded (you can see them loading as you scroll). If you tap on the calendar icon, you get a sidebar which allows you to instantly scroll to specific months/years (as well as races)
- Stryd app - Calendar
This is an infinite scrolling list of recorded activities, ordered by date. It has no native scrollbar, but if you tap the calendar icon, it opens a sheet where you can fairly quickly scroll to any given date in your history (it also has a graphical indication of which dates actually have activities)
--
Those are just some examples of apps/sites which:
- have long lists of data which are lazy loaded / use infinite scroll
- also have a way to navigate through these long lists very quickly / somewhat precisely (e.g. in the Spotify app, I can easily jump to any month/year of my library)
--
Yeah, I know the Connect website's activity list has worked this way since the redesign years ago, when the list was changed to infinite scroll. Yeah, I know this feature request will never be implemented. Tbh I barely use the Connect website anyway. I'm sure the majority of Garmin users either use the Connect app or Strava. (I know lots of people who never open Connect)
--
Also, the calendar in both the Connect app and Connect website has a similar problem - it is fairly slow to jump to a specific month/year. You have to keep pressing the back/forward button, and each time you do so, you have wait a little bit for the previous/next month/year to load.
Similarly, it's not convenient to jump to an arbitrary point in the Connect app activity list. This list isn't "infinite", but it has 7d, 4w and 1y views. (The 1y view is grouped by month)
If I want to jump to May 2019 of my running activities in the app, I have to select all running activities > 1y and tap the back button a few times before finally reaching 2019. Yeah, this isn't nearly as bad the Connect website, but it's still slower and more annoying than it should be, because the back/forward buttons don't respond instantly, but there's a delay as the data loads.
I can anticipate another objection: old data doesn't matter. Maybe it doesn't, but Connect makes it available, so it would be nice if it was easily accessible.
Honestly, pretty much everything in Connect that's loaded on demand has this kind of an issue. Loading of a single activity is slow, loading "real-time" device settings is slow (even DCR mentioned this), and navigating through any kind of chronological list is slow.