"Google Photos" vs "iNaturalist": The fundamental problem

iNaturalist has been having some difficulty interacting with Google photos for a while now, and to be honest, I’m seeing a pretty obvious problem here:

Using the user’s device as a file-transfer intermediary.

When I add an image from Google Photos to iNaturalist, I’m expecting iNaturalist servers to pull the image directly off Google’s servers. In other words, when I export from Google Photos to iNaturalist, I’m expecting iNaturalist to obtain the URL link to my image and communicate directly with Google to obtain a high-res copy of the image.

I’m not expecting iNaturalist to need to:

  1. download the image from Google’s servers to my phone
  2. re-upload the image from my phone to iNaturalist’s servers.

After all, I have given iNaturalist permission to interact with Google Photos, so why don’t iNat’s servers talk directly to Google’s servers? Why is iNaturalist using my device as the man-in-the-middle? Surely the Google Photos API allows for this?

The photo-upload process should just be a matter of sharing a bunch of urls for images hosted on Google’s servers with the iNaturalist.

From the user side, this should be an instant event, which doesn’t require any “syncing” from their device. All “syncing” should be done between iNaturalist’s servers and Google’s servers.

Users have taken a photo. They have used their data (and battery) to upload this photo to Google Photos. Currently, iNaturalist wants users to then download this image to their device (additional data and battery), and then re-upload it to iNaturalist’s servers (even more data and battery). iNaturalist requires that the user’s device remains operational during this entire time, otherwise they may end up with an observation with missing photos, etc.

Surely there is a more efficient way for iNaturalist to obtain copies of the images users have stored in Google Photos than to depend on the user’s mobile device to download the image from Google, then reupload the image to iNaturalist. All syncing should be a server-to-server process between iNaturalist’s servers and Google’s servers, eleviating 99% of the burden from my mobile device.

Problem 2: Needing to transfer any files in the first place

The best solution of all would be to have Google photos host all the images and simply offer a frame to present the image hosted on Google’s servers. Use Google photo’s pre-existing infrastructure to perform the image editing functions.

If you fix the basic method of obtaining images from Google Photos, so many other bugs disappear.


If inaturalist only links to the photo in your Google photos, then they really don’t have the photo. If you choose to delete it at some point in the future, then they would lose it too.


Yes, there are unfortunately many thousands of old observations that now lack photo evidence because the link to Picasa, Flickr, or Facebook was changed or the photo was deleted on the external website. All photos should be stored locally on iNat.

@j-k is this a feature request, bug report, or just a #general discussion? (currently it’s placed in Bug Reports, but I’m trying to find the actionable bug here that isn’t already represented in a different report, like the blank images being added in the Photos gallery on Pixel phones). Thanks!


I believe my reply here covers this as well.


This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.