Improving site speed

Many Forum Topics have discussed universal site speed issues (not only due to connection). This is an open discussion asking for possible solutions (within the site, on the technical end, or in future iNat plans/decisions), or status updates. Contribution by staff/those familiar with site plans/function is also ideal.

Past related topics:

4 Likes

(this was originally posted to #feature-requests but I moved it to #general because it’s more of a discussion starter than an actionable request)

Anything involving the removal of observations like this is probably not going to happen.

This functionality has been online for some time now, although it relies less on known range (which is often difficult to access or is outdated) and by default only shows visually similar taxa that have been “seen nearby” on iNat. I don’t see it having a massive impact on speed, though.

We’re making pretty good progress on this. However, it’s unlikely to include some of the suggestions you posted, like “Avoid two different observers uploading the same (or nearly same) photos.” Allowing people to upload their own observation of an organism is part of the way we believe they’ll feel more connected to nature.

4 Likes

I’m not sure you understand what makes a website slow or fast - a lot of it comes down to the internet connection latency and that is something which cannot be controlled by inat as it is the user’s connection to the inat servers. Most of the suggestions you’ve posed would have quite minimal effect on any sort of speed as the amount of processing on the server or client side. E.g. loading the identify page transfers about 2mb of data, about 90% of that data most all of that is from the photos themselves, not the underlying code or functionality which you have talked about so removing any functionality would not affect the loading speed of the site

Also, inat is hosted on AWS, which is for the most part virtual servers - server processing capabilities are not really limiting, it’s not like there’s a fixed number of CPU’s or memory in the inat servers, these grow or shrink to meet demand dynamically.

3 Likes

frankly, i think this thread is too unfocused. if you want folks to propose solutions to problems, you need to better define what the specific problems are.

this is a bit like saying “my commute to work takes too long. how do i make it shorter?” there are just too many variables and constraints that are not defined. there’s no way to jump straight to problem solving because the problem is inadequately defined.

4 Likes

I agree with others in that your definition of “speed” needs to be defined. I don’t see how having duplicate observations impacts how quickly the text and images load in your browser. I have relative low bandwith and speed (usually between 6 and 9 Mbps) and I’ve never had issues with speed in this context–no more than any other webpage, at least. My upload speed is around 0.5 Mbps, so it takes a few minutes for me to upload observations. But I doubt iNat can do much to help with my upload speed. In my half a decade of using iNat, my browser has never crashed or frozen.

If by “speed” you mean how quickly you can identify the bumble bees in TX, and that having one duplicate observation out of 500 slows you down, well, I don’t see the problem there either. There aren’t so many duplicates that it would slow you down by any measurable amount.

But in fact there’re some flaws with iNat servers and I can’t blame people working on it as database is massive, but some problems should be changed nevertheless. (This topic is not about them though)

2 Likes

Honestly the only way i see to improve speed from iNat’s end is by donating more money so they can pay to optimize servers and get better ones. This isn’t meant to be a funding plug but my understanding is when it comes from iNat’s end it is mostly a capacity and server management issue. As others have mentioned trying to alter user behavior is not particularly relevant to this point.

7 Likes

I think site speed has gotten worse in the last few months. I see the problem most when identifying. The website has always been a little slower than I like, but recently ID’s have been lost when I’m going fast. When working with large sets of observations, I have to stop and count between observations or check when I’m done to see that the identification “took.” As said above, this is a matter of capacity, servers, programing, not something we users can solve except by donating money toward the solution.

3 Likes

The iNat team seems fully aware of what is needed but just don’t have the staff/resources to keep up with the exponential increases in popularity of the site. For what it’s worth the site was much, much slower during other periods of heavy growth. It’s not ideal but the current socioeconomic system doesn’t economically value iNat as highly as it does say, Facebook or the Wall Street investment algorithms.

If you put in daily limits on uploads i’d be so screwed. When i am out in the field i sometimes get 100+ observations, all hopefully legit ones.

I do know that certain types of queries do slow down the site and possibly limiting access by data scraper type entities might help, but i am not sure the extent to which it would.

2 Likes

No reason to remove it (you can close comments if you want to) Your list of previous threads is useful, to us, and when it comes up again, as it will.

3 Likes

Did you still want this to stay open or want us to close? Thanks!

In my message I had said “we prefer not to delete topics once multiple people have contributed to it, but we could close it and remove it from the list of recent topics, if that sounds OK to you?” Sorry about the confusion - I do not know what “status moderation to be closed” means. Would you like the topic to be closed to new replies?

Thanks, no problem. It’s fine to stay open for discussion. We can close the moderation flag.

1 Like

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:

https://www.inaturalist.org/taxa/49005-Quercus-rubra/browse_photos

Here’s what the page looks like:

As an example, I took one of these images, this one:

out

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:

out2

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.

3 Likes

i still think, just as a personal opinion, that worrying over iNat servers impact on climate change is super counterproductive to worry about. its like worrying about me driving a few miles to work on a wetland restoration project. It is impossible for me to process even having that as a consideration. Other certain things such as a certain cryptocurrency, that’s a whole other matter.I don’t think making iNat even slower to ‘stop climate change’ and in the process breaking an important grassroots ecological managing tool, is anything but a huge mistake.

Speaking for myself, not as a forum moderator, i have no idea how iNat admin feels about the issue.

2 Likes

This is not about “worrying”, it is about living with integrity and it is about getting things done. I don’t want us to sit around and feel bad about contributing to climate change, I want us to do something about it. It’s also about prioritization. Any of us could bring up dozens of feature requests that we’d want, and it can be hard for the iNaturalist staff to decide where to use their resources. If something has environmental consequences, that provides a strong external impetus to prioritize a particular issue.

I also don’t think your analogy is very truthful, because in this case there is a simple and easy way to massive reduce the resource expenditure.

I think a better analogy would be whether or not it makes sense to be concerned about the director of a wetland conservation organization who chooses to live in a car-oriented suburban subdivision built on a drained wetland, when other, less-problematic housing is available in the area. And yes, I would be concerned about that. and it would affect whether or not I wanted to donate to said organization.

The stuff that I brought up here, both the specifics, and the general stuff, is an actionable point. And, even if it’s small relative to, say, bitcoin mining, it’s absolutely huge relative to something like my personal electric bill or the personal impact of my own car use.

It took me how long to make my post? A while, but less than a couple hours. I don’t know how long it would take to fix the issues above…hours, days? But I know it’s doable. And I know that one change alone would probably produce savings in resource usage, which would add up to more than the things that I do in my personal life.

This is about trying to maximize our positive impact in the world, and particularly, it’s about examining the things we do that cause harm and impose on others.

The question of whether or not this is a consumption and environmental issue vs. simply an issue of convenience, whether it relates to respect to the users, and also whether it relates to the integrity and values of an organization, is a critically important one because it affects prioritization. If site speed is simply a question of convenience, then it makes sense to give it low priority, but if it’s also a matter of environmental concern and integrity, and also if it relates to treating users with respect and respecting their space and resources, then it makes sense to prioritize it higher. And if there is a feature or design choice that pits convenience against these other factors, then maybe it makes sense to not ever enact that choice even if it is something that users might otherwise want.

At least that is how I would like things to be done.

1 Like

i don’t agree at all. you’re going after the tiniest harm done in the greatest good, when so so many other things are worse. And by that logic, you shouldn’t use the internet at all, including making these posts, because it causes climate change.

1 Like

Now I think you are making a bad-faith interpretation of my point and demonstrating that you are completely failing to understand what I wrote.

I would report your post to the moderator, but you’re the moderator. Time for me to leave this discussion for the time being.

so disagreeing with you and (in your opinion) misunderstanding is a punishable offense ? I’ll go punish myself by soft banning myself for a while and discontinuing this conversation. Have a nice day. Make sure not to cause any climate change.

2 Likes

We al can disagree, but reporting for not agreeing with you is definitely wrong and won’t ever lead to any positive conclusion. iNat can’t exist without servers that take huge amount of evergy, but participating in discovering nature makes people worry more about their own actions, thus making impacts lesser, surely iNat staff should worry about it too and when it’s possible cut some energy impacts, but we shouldn’t blame them for their work as of now.

1 Like