I also share your concern with speed. iNaturalist has seemed slow lately, and the problem seems to be getting worse rather than better. It’s not just speed, but also CPU usage. The iNat website really cranks my CPU, especially when I do things like opening a bunch of tabs at once. This is concerning to me because it corresponds to wasted resources: not only are they probably wasting bandwidth and hosting resources (and thus money to pay for it) but they’re also wasting electricity on the users’ ends and contributing to both the cost, pollution and other externalities associated with this usage…including things like climate change, which runs directly contrary to the goals and purposes of iNat.
I want the iNaturalist staff to strongly prioritize the efficiency of their site, and I think for them to be anything other than a leader among websites in efficiency, is a bit problematic because it runs so strongly contrary to their supposed goals and purposes behind the site.
I could probably write a book of different suggestions on how to make sites more efficient but, just to prove a point I want to make a strong case of just how much iNat could be improved by focusing on one specific point: image thumbnails on the browse photos page, such as this page:
Here’s what the page looks like:
As an example, I took one of these images, this one:
which on that page, was being displayed in my browser in the dimensions of 184x233, but the image file itself was 375x500. Furthermore, the JPG quality had the quality setting set to 95%. And on top of this, the image was displayed as the background of an HTML element and the top and bottom edges of it were being cropped slightly. So there are three points to improve here: un-utilized space, image dimensions, and JPEG quality settings.
The file took up 128.9kB.
When I resized and cropped it to the way it was being actually displayed, and kept the original quality settings, this alone reduced the size to 31.4k. Most of this was in the resizing, the cropping alone though did save about 5% of the filesize.
With quality, you don’t need 95% quality, that sort of figure is one thing when you’re zooming in and looking for a detailed point, but I think an overwhelming majority of users don’t notice anything at all at that quality level, when looking at a thumbnail. You can save the high quality for when the user clicks on the photo. I did a check and at-at-glance, I think you could probably get away with setting the quality as low as 55% I didn’t notice at the usual level of zoom, but to be generous (and accommodate people with better vision than me haha), I set the setting to 75%, much higher than you actually need to go. This reduced the filesize to 16.2kB.
Here is a PNG image showing the original image (left) side-by-side with the 75% image (middle) and the 55% one (right) to show you how it looks:
But anyway, after choosing the 75% (middle) image, between these three things I reduced the filesize by a factor of nearly 8 without even changing the way the file is displayed in the page. What this means is that, in terms of bandwidth being transferred (and thus, the load on the user in terms of bandwidth and memory) is being reduced by about 87%, or reduced to well under 13% of the original usage.
But this isn’t the end of it…it takes CPU to resize images. If this is done once, ahead of time, the CPU usage (and thus electricity) used to resize the image only need to be carried out once.
Instead, with the status quo, it is being carried out over and over again on the user’s computer, every time a user views those pages. It’s incredibly wasteful. And it’s disrespectful to the user because it’s the user who is paying for it in increased CPU usage which runs up their electric bill, and in the summer, if they’re working in an air-conditioned space, it adds extra cost and electric usage because the waste heat then has to be removed. And if the user is on battery, it will make their battery die faster.
Now, I’m aware that there may be some layout issues with just going over to a model where the thumbnails are displayed at a fixed size. Part of the problem may be that iNat is relying on a dynamic page layout in which the images get resized. However, I have two responses to this:
- The choice to use a fixed vs dynamic image width is still a choice. If you have a subjective design or aesthetic choice, vs. one that affects objective concerns like electricity usage and thus pollution and global warming, hosting or bandwidth costs to iNat, respect to the user (i.e. using their CPU unnecessarily), and also creates a major user experience problem (speed and site performance), then I think you need to set aside the subjectivity and go with the one that is objectively better.
- Even if you were to stick with a dynamic-width layout, even the exact same layout being used, the solution I used above would still work as stated. The height in question, of these images, maxes out at 233px. It only ever gets smaller than that on the dynamic layouts.
- There are ways to have a dynamic layout with fixed thumbnail size, and you do this by adding whitespace and having elements wrap to the next line when they don’t fit. I have one on the photo gallery on bplant. It uses white space to allow the display of thumbnails of different dimension on the same line. You could say it is “inferior” in that it doesn’t cram as many images into the small space, and in some cases it looks a little awkward, but here’s the thing…whether that is good or bad is subjective, whereas whether or not it uses bandwidth and CPU and generates cost and pollution, is objective, so again, I think it makes sense to pick the layout with the fixed image size every time. I have actually had people in the past criticize my web layouts for being “too crammed with information and images” and request additional whitespace, so there may actually be a degree to which many users actively prefer a more open layout. But whether they do is kind of a moot point to me, because to me, this preference seems small relative to the issues of speed and resource consumption.
So yeah, that’s my thoughts. Apologies if this post comes across as a bit aggressive.
I just really, really want the iNat staff to prioritize this issue. And…frankly, I think it is really bad. Not just on iNat, but on the web across the board. Web design these days is incredibly sloppy, wasteful, and unnecessarily uses resources, and it kinda disgusts me. You could find like 99% of the sites on the web and say they’re worse than iNat and you’d probably be right, but it’s like…this doesn’t make it okay to me.
I think we, as a society, could do better and like I said before I would really like iNaturalist to be a leader. I want them to see this the way I do, which is as an issue that relates to the ethics of consumption and to climate change and also to the ethics of respect of the user, because CPU is something the user pays for.
It’s especially concerning to me because of how iNat has been pitching fundraising lately. Like this message, juxtaposed with the concerns I raised above, kinda makes me squirm:
Running the servers for 24 hours, storing the photos for a year…well…what if those things could be done more cheaply, more efficiently? Maybe iNaturalist is spending more on those things than they need to be because the site is not designed as efficiently as it could be. Pitching it as “you need to chip in more to support these resource costs” rubs me the wrong way when I know that the site could be using a fraction of those resources. I feel like I’m being recruited to subsidize someone else’s wasteful resource consumption. To me it’s sort of in the same category as a conservation organization whose office still uses fluorescent (or even incandescent!) lighting, or the sustainability director of a major university who commutes 50+ miles to work every day, and in spite of having a “sustainability director” and employing one of the nation’s most high-profile native plant advocates, the university still sprays a crap ton of chemicals on their lawns to create a grass monoculture. It’s like, is your heart and soul really in this? I just wanna cry, it makes me so sad how normalized this sort of stuff is in our society, this sort of like “I’m gonna focus only on doing my specific job.” when what I want is for us to be living and breathing sustainability, I want us to be examining each and every aspect of our daily lives and thinking about resource usage and efficiency and consumption in everything that we do.
If we were all thinking about things this way from the start, maybe, just maybe, iNaturalist would have been designed super efficiently from the get-go. Maybe it would have a long list of innovations that would absolutely floor me…make my own websites look comparatively like the “gas guzzler SUV’s” of the web. This is what I want. I want to feel like I’m inadequate, like I need to up my game. This is what I mean when I say I want iNaturalist to be a leader in this area.
I would feel a lot better if I knew that the iNaturalist staff were committed to these issues and also if they would remove this language in the fundraising pitch that references these resources when I see so much evidence that the resources are not being used efficiently or mindfully.
To me there’s a huge difference between “We know we are doing this really badly and it is really hard and we are working really hard to get this fixed.” and the status quo, which is that no one is even really talking about this stuff and it feels like we’re light-years away from thinking about it the way I do, and I just have trouble understanding why that is. Like, this is not a convenience issue, it is a consumption issue, and it has environmental consequences.
I am currently a donor but I am considering cancelling my subscription when it comes up next year because this stuff doesn’t make me feel good, I need reassurance right now.