When I’m on the page for an observation, on the website, I notice that the content of the page doesn’t fully load on page load, and that some sort of AJAX is used to dynamically load content below the fold when I scroll down.
The most frequent time this comes up is when I’m on an observation and I’ve already read and contributed what I want to the ID and comments section, and then I want to scroll down to look at and/or contribute to the Data Quality Assessment. Sometimes it loads instantly, but other times it is much slower, taking 1-2 seconds, sometimes more, to load.
However the wait for the main content of the page itself is often much, much longer, typically 5-7 pages and I’ve had instances where it is even longer than that. This is all after the browser tells me that the page is fully loaded.
I dislike this. It’s annoying. And it’s counterintuitive to the way the web is designed to work. Browsers have built-in tools to show when a page is fully loaded, and they display it in the tab so that a user can open a tab in the background and wait for the page to fully load before switching to the tab. I already waited for the page to load, and the browser has told me that the page is fully loaded, but then I have to wait again. It slows down my use of the site. This is a nontrivial amount of time because I often click quickly through a lot of records and because the fact that the wait is triggered by me scrolling down on the page, makes it unavoidable, like there is no way for me to load a bunch of page in the background in tabs, and see in the browser when the various pages are loaded, because there is additional in-page loading.
Because of how it is undermining the browser’s default or expected behavior, it feels to me like a “microaggression”…it’s a little annoyance, the site has lied to me telling me the page has loaded but it’s not fully loaded, and it wastes my time when I’m doing something I see as a public service activity, like going through records and viewing and marking fields in the DQA to try to improve the quality or integrity of the site’s data. It feels sort of like a person walking ahead of me letting a door slam shut in my face in a circumstance where most people would hold the door. Or when a company calls me to tell me that something is ready, and then makes me wait anyway.
Little things like this make the world a worse place. They erode people’s trust in society. They send the message: “Your time is not important to us.”
I have a very fast computer, quad core with hyperthreading, and I very fast internet connection. If it’s slow for me, it’s probably much slower for others, and if it’s annoying me, it’s probably annoying others too. If it’s slowing down my ability to review records, it’s probably slowing down others too.
Part of me wonders, when the content itself is not being updated frequently, why can’t it just be loaded up-front, with no AJAX? If you’re gonna do AJAX though, at least do it in such a way that doesn’t override the browsers’ built-in behavior to notify the user when the page load is complete. Showing a spinning wheel on the page itself is fine if it’s a single tab, but it’s useless if opening tabs in the background because you can’t tell when the page is done loading.
In general, I think it is best practice to be as sparing as possible in the use of AJAX to load stuff on-demand, and to only do it when there is a significant load being placed by loading a particular resource.
So like…I would really love for this to be fixed, but perhaps more importantly I would really love for the people who design this site to reflect on their philosophy of design so that this sort of thing is not done in the first place. Yes, I realize I’m advocating making things more “Web 1.0” again, but this is one aspect of modern web programming that I find really reprehensible and I would really like us to move beyond.