3rd party iNaturalist tools

After 3 years of actively contributing to iNat I’ve just realized I haven’t come across tools, bookmarklets, widgets developed by 3rd parties. As a point of comparison, Wikimedia has hundreds of such tools primarily built and maintained by volunteers for curation purposes, for performing repetitive tasks, or for making small customizations in the browser to the default iNat UI. With an an API that’s so well developed and documented, I’m surprised that I haven’t learned about similar tools for iNat. One of the benefits of community-built tools is that they can help reduce the backlog and feature request burden forr core platform maintainers to build everything users want. Sometimes a line of javascript called from your browser bar making a single API call can do miracles :)

With that pearl of wisdom, are there any iNat tools built by other developers that you use regularly? If so, what are they?
cc @andrawaag @zygy @jonrobson

8 Likes

I have built a smartphone app to help with identifying observations to high level taxa (animal, plant, mushroom).

https://forum.inaturalist.org/t/am-looking-for-some-test-users-of-an-identification-app/430

3 Likes

Depends on what level of tools you’re looking for, but many people are doing diverse stuff https://forum.inaturalist.org/t/several-external-tools-for-inat-data-by-kildor/19906

2 Likes

Someone made a “guessing the species” game too. Sorry, didn’t save the link.

In fact there’re 2 games like that (from what was posted on the forum).

https://forum.inaturalist.org/t/biodiversity-education-quiz-game/24454/33
I did not save it either.
https://forum.inaturalist.org/t/how-well-do-you-know-your-local-wildlife-now-you-can-test-yourself/10711

2 Likes

I use this one
https://chrome.google.com/webstore/detail/inaturalist-enhancement-s/hdnjehcihcpjphgbkagjobenejgldnah

4 Likes

@pisum has made some stuff on Github as sort of addons to iNaturalist using the API to do specialized searches for things.

2 Likes

There’s Dronefly, which is a bot made by @benarmstrong. It’s used by the unofficial iNaturalist Discord server, and has a bunch of handy features for searching and displaying observation and species info in a condensed, chat-friendly format.

And I work on pyinaturalist, which is a python API client aimed at developers and scientists who want to use iNaturalist data in applications, scripts, data visualizations, etc. It was originally used for Vespa-Watch, which is a good example of the kind of thing you can do with it. Many of the other tools I’ve seen out there are similar, built for a specific purpose like a research project or organization.

@radrat You’re absolutely right that there is a lot of potential for more tools that could be built on top of the iNat API. Is there a particular kind of tool that you wish existed?

3 Likes

Two tools that I use almost daily are: iNaturalist user-script in Wikidata and iNaturalist2Commons

And there is my own stubmaker that I use to draft Wikipedia articles. It is a jupyter notebook that fetches information from iNaturalist, GBIF, BHL, Wikimedia commons and combines that into a Wikipedia stub.

https://github.com/wikiproject-biodiversity/taxonname-wpstubmaker/blob/main/README.md

2 Likes

what is a “tool”? is it an Excel spreadsheet that takes a standard CSV export and generates a bunch of visualizations? is it a pre-defined publicly shared map layer in ArcGIS Online that displays all iNaturalist observations? is it a small web page that shows people their longest observation streaks? is it an R script that generates a packed circles chart of species in a given set of observations? is it a Jupyter notebook that transfers can be used to format iNaturalist data to be imported into another system? is it a whole website and mobile app that allows folks to record and view wild orchid observations?

there are tons of things that people have built on top of the iNaturalist API(s) and iNat data. there’s just not a great catalog of everything out there because where do you draw the line between what should be included in that catalog and what shouldn’t be?

if you’re looking for apps that require authorization, just about every one of those should be registered over at https://www.inaturalist.org/oauth/applications. (i just created one yesterday, that one was #658.)

you can find tons of GitHub repos over at https://github.com/topics/inaturalist and https://github.com/search?q=inaturalist. (my personal favorite repo, besides the ones at https://github.com/inaturalist/, is https://github.com/jumear/stirfry. )

and i’m sure if you go to any other open code or open data repository, you’ll find interesting iNaturalist-related things – for example, https://observablehq.com/search?query=inaturalist.

and if you search this forum, you’ll find plenty of discussion about different things that people use / have made.

i think this doesn’t give the iNat community enough credit for all the interesting things they’ve accomplished. if i were to fault the community, it wouldn’t be for lack of innovation. it would just be that we could put more effort into organizing and marketing that innovation.

in the past, i’ve suggested a hackathon, but i think it might actually just be better to organize a general iNaturalist conference where iNaturalist users can get together and learn about what others are doing and how they are doing it – with topics from anything from how to do amazing macro photography to curator deep dives to taxonomy talk to computer vision, etc. if even a small subset of such conference attendees who are interested in making stuff can connect and go out and create from there, then i think that’s probably the best way to share knowledge and spur even more innovation…

7 Likes

a few months back, i had an idea that i could get a 12- or 24-month series of data from /v1/observations/species_counts (top observed species) and then visualize that data as a bar chart race. i thought that would be a fun / engaging way to see what kinds of birds or plants are observed in a given place over the course of a year or two.

i started to work on a web page to do this using Javascript + D3, but i straight up failed, discovering that the required D3 skills needed for that effort were greater than what i possessed, or at least greater than i had patience to develop at the time.

one day, i may try again, using something other than D3, or perhaps just adapting a D3 example in Observable, but if that kind of development is in your wheelhouse and you got to it before i tried again, i wouldn’t mind…

1 Like

Would it be worth starting a tutorial/wiki topic here on the forum, broken down into topical/functional categories of generally useful tools? It could just be high-level links to other repositories for things like https://www.inaturalist.org/oauth/applications, mixed with links to specific tools that folks have found helpful. For me the latter category would include items of yours like

https://jumear.github.io/stirfry/iNat_print_friendly_obs.html
https://jumear.github.io/stirfry/iNat_taxon_est_means.html?taxon_id=49658

You are right, though, that we would want to address

What’s to prevent someone from adding something malicious, for example.

2 Likes

this was done already, i think: https://forum.inaturalist.org/t/wiki-external-code-tools-etc-for-working-with-inat/15906, and there are have been similar non-wiki discussions, too, such as https://forum.inaturalist.org/t/inat-visualizations-using-r/13724.

i guess if you’re going to handle things through the existing Wiki, i would change the list structure in that thread to something more like this: https://leafletjs.com/plugins.html.

but then i wish there would be a way for folks to :star:/:heart:/:+1: items and for there to be some more formal stamp of approval process whereby, say, a working group could review listed items according to some set of standards.

ideally, i think it would make sense for that list – at the least the items that meet the stamp of approval – to be published on the main iNaturalist website rather than as just another post in the forum. since i think people are much more likely to visit the website than to venture into the forum, that would give greater visibility to these items and encourage others to make their own contributions, i think.

i wasn’t really thinking about inclusion / exclusion from this perspective, but i guess a stamp of approval process would help to mitigate your concern here, although in reality i think anything that any 3rd party develops has to be used with appropriate caution, especially if you’re authorizing them do to more than just handling read-only public data or if they can sit in the middle of your interactions with the apps or website.

4 Likes

i had an idea that i could get a 12- or 24-month series of data from /v1/observations/species_counts (top observed species) and then visualize that data as a bar chart race

That’s a fun idea! I gave it a try and here’s an example: midwest_bird_counts.mp4

Preview:
midwest_bird_counts

And here’s the code used to generate it: Bar_Chart_Race.ipynb

That makes pre-rendered animations, and in a browser that isn’t going to look quite as nice as D3, which I don’t have any experience with. But here’s a CSV file you can use with the chart generator you linked: midwest_bird_counts.csv

Preview:

6 Likes

i made my own bar chart race thing in Observable, leveraging its existing D3-based example: https://observablehq.com/@robin-song/inaturalist-species-bar-chart-race.

it can accept URL parameters. so for example, to get species observed in Texas, you could go to: https://observablehq.com/@robin-song/inaturalist-species-bar-chart-race?place_id=18. (it takes some time to load all the data. so please be patient while it’s loading data.)

I’ll probably make a few tweaks later, such as making bar colors reflect iNat’s iconic taxon color scheme, but i think this is good enough for now.

4 Likes

Nice! That’s really slick.

I think pinning that existing wiki topic would be a great start.

3 Likes

what is a “tool”? is it an Excel spreadsheet that takes a standard CSV export and generates a bunch of visualizations? is it a pre-defined publicly shared map layer in ArcGIS Online that displays all iNaturalist observations? is it a small web page that shows people their longest observation streaks? is it an R script that generates a packed circles chart of species in a given set of observations? is it a Jupyter notebook that transfers can be used to format iNaturalist data to be imported into another system? is it a whole website and mobile app that allows folks to record and view wild orchid observations?what is a “tool”? is it an Excel spreadsheet that takes a standard CSV export and generates a bunch of visualizations? is it a pre-defined publicly shared map layer in ArcGIS Online that displays all iNaturalist observations? is it a small web page that shows people their longest observation streaks? is it an R script that generates a packed circles chart of species in a given set of observations? is it a Jupyter notebook that transfers can be used to format iNaturalist data to be imported into another system? is it a whole website and mobile app that allows folks to record and view wild orchid observations?

All of the above, I intentionally didn’t want to restrict it to any type of use case or technology. From a user perspective, all these provide extended or customized functionality to visitors and contributors to iNaturalist, regardless of how they are implemented, whether they rely on the API or static data dumps or whatever. The responses in this thread are already a goldmine of ideas I had absolutely no idea about (and yes, I could have done a GitHub search to start with)

if you’re looking for apps that require authorization, just about every one of those should be registered over at https://www.inaturalist.org/oauth/applications

I was not necessarily thinking of tools that require auth/authz but that’s the closest to what I had in mind when I posted this, thank you for the pointer.

i think this doesn’t give the iNat community enough credit for all the interesting things they’ve accomplished. if i were to fault the community, it wouldn’t be for lack of innovation. it would just be that we could put more effort into organizing and marketing that innovation.

You are absolutely right, apologies for implying otherwise.

Ideally, i think it would make sense for that list – at the least the items that meet the stamp of approval – to be published on the main iNaturalist website rather than as just another post in the forum. since i think people are much more likely to visit the website than to venture into the forum, that would give greater visibility to these items and encourage others to make their own contributions, i think.

Agree, although I suspect the iNat core team would be reluctant to do such a thing like giving a “stamp of approval”.

As for what to include / exclude, that’s a big issue that depends on the kind of governance and maintenance that would be appropriate for such a tool directory, as well as its intended audience. I tend to agree an inaugural “developer summit” or “hackathon” would be a great place to start.

A small conference for iNat tool developers (if a larger community event is hard to pull off) would be an amazing thing to see and as you point out there might be already a critical mass of developers interested in participating. If funding or sponsorship to organize such an event is needed, the CS&S Event Fund could potentially provide it.

Please could someone who can, help iNat?
https://forum.inaturalist.org/t/seo-to-bring-new-people-to-inat/23503

It is disappointing to Google for info about something, info which I KNOW is on iNat - but it is not made visible as such to Google Search.
Instead of an iNat taxon entry, with all its associated info, we can find … Pinterest … or a stock photo - which may, or may not, in fact be what I was looking for.

If I search for a distribution map for a (binomial) species, I should be able to get to that ‘binomial species distribution map on iNat’

As it is, iNat is a walled garden, an ivory tower. You have to know where the door is, and be given a key to open it.

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