Interactive keys with an integrated iNat ID workflow (by @edanko)

Goal of the tool:
To help people identify observations with a flexible, character-based key and document the evidence behind their identifications.

Niche it fills in the iNaturalist ecosystem:
The tool brings the key and the identification workflow into one interface. It reduces the need to move between iNaturalist and a separate identification resource, while automatically generating diagnostic comments that can help identifiers learn from one another.

Is there a commercial component, or do you plan into include one in the future? Are donations requested? (yes/no, explain):
No. There is no commercial component, and donations are not requested.

What sort of data (if any) does your app collect from its users?:
The app does not collect or transmit user data to me. Connecting an iNaturalist account is optional. The iNaturalist API token is stored locally in the user’s browser and is used to load observations and submit identifications, comments, and “cannot be improved” votes to iNaturalist. Unlinking the account removes the stored token from the browser.

Link to your iNaturalist profile:

https://www.inaturalist.org/people/edanko

Description:

I’ve put together a browser-based interactive identification key:

https://edankow.github.io/identify/

The current keys focus on two fly genera. You select visible traits to narrow down the possible taxa and put together an explanatory comment. Personally, I find this a useful way to refresh my memory on groups I’ve already been IDing for years.

The key also combines several features that I haven’t seen offered together:

  • The key provides a full menu of characters, similar to a matrix key.
  • It calculates which question is most likely to narrow down the identification and presents that question next.
  • It allows individual characters–or entire character sets–to be marked as “not visible / impossible to score.”

The key can be used on its own, or you can connect an iNaturalist account to load observations from an Identify-style queue and submit identifications directly. This has made my own identification workflow much faster. I also find it useful that, when a matching non-species community identification is the best identification supported by the evidence, I can use the tool to quickly vote that the community taxon cannot be improved. Where the other requirements are met, this can allow the observation to reach Research Grade.

Finally, I’ve created a browser-based editor for making the datasets used by the key:
https://edankow.github.io/identify/editor.html

Someone interested in another group could duplicate the repository with a different underlying dataset. Alternatively, if there is sufficient interest, we could consider a way to host multiple independently maintained keys together.

Discussion questions or areas seeking feedback:

I’m particularly interested in feedback on three things:

  1. How useful is this style of interactive, character-based key for identifying observations, and what makes it useful or not useful in practice?

  2. For identifiers who link their iNat account, how useful are ID Choices mode and ID Shortcuts mode for submitting IDs?

  3. For taxon experts, is there interest in using this system for other groups?

13 Likes

Thanks for making this public, very useful.

I like the narrative that you get for pollenia. Do you have plans to make that available for lucilia as well? Or maybe just a list of which features were relevant for the ID.

I imagine that the automatic @-mention would get old pretty quickly, so perhaps that’s not needed in the long run.

Any plans to include other calliphoridae, or sarcophagidae?

1 Like

My initial experience:

  • The biggest limitation I could see is that features required are often not visible due to both, viewing angle and image resolution. Still useful though.
  • The feature description in the keys (the linked PDFs, and particularly for pollenia, lucilia is much better) are somewhat inscrutable if you’re not already deeply familiar with fly anatomy. But maybe that’s unavoidable.
  • Key questions asking for measurements (e.g., greater or less than 7 % of a distance) really would require some sort of ruler. I can open the image in another software, but it would be so convenient to have a basic distance measuring tool in this key.
  • I had to hunt for a link to the observation (it’s the taxon name on the left under the image, found that out by trial and error).
  • The way the workflow is set up (ID/agree/comment and then force next) is OK if you want to churn out numbers of IDs. Less useful if you want to just use the key for one or two observations. Maybe the “next” could be a check box.
1 Like

It’s already available for Lucilia as well.

Yes, this was just a temporary measure that I never turned off because so few people were using it ;)

I’d like to get all the ‘needs ID’ Lucilia and Pollenia cleaned up first, but after that I was hoping to do so.

1 Like

Thanks – I like this idea

Agreed – that’s why the “skip” buttons are so important :)

Yeah, pretty much – Lucilia can usually go to species, but 99% of our local US Pollenia on iNat belong in RG at genus level.

I’ll have to think of ideas to make this clearer without adding clutter.

4 Likes

this is very cool.

I have some feedback:

  1. can reference photos be open by default (or toggled to open/close)?
  2. once a species is reached could it be listed on the “post ID” button under the questions?
  3. images/pages that aren’t from the slides sometimes refuse to show on my browser

Thanks, Astra!

I’ve thought about this, but worry having it open by default could cause problems on small screens, and I don’t want to overwhelm new users; and some people have browser settings that cause pdfs to download instead of opening the reference photo box.

Do you mean you want the reference photos to stay open by default after the first time you open them, for the rest of the session? That’s more do-able.

I like this idea. Take a look at the site – I made the change :)

If you happen to notice it again, could you let me know which browser you’re using and which question it happens on?

1 Like

Also: it would likely be more work, but sometimes I can go to the original observation, go to photo info, and grab the original size image, and it is higher-resolution.

this would be great

I like it

also I like that after I click to zoom I can click again to make it stay in that spot

here’s a broken one –

I’m on Firefox 155.0 (64-bit) for Linux Ubuntu

the “new tab” redirect brings me to a new copy of the same page.

other times it’s been broken, I get directed to a research-paper website locked page:

https://www.researchgate.net/publication/270220615_First_record_of_Lucilia_bufonivora_Moniez_1876_Diptera_Calliphoridae_from_North_America_and_key_to_North_American_species_of_the_L_bufonivora_species_group#page=9

1 Like

Yeah, you’re right, I never noticed that. Fixing it now. Thanks!

Thanks :)

Thanks – this was a bug – that trait didn’t have reference images, and the “view reference images” button was supposed to just stay hidden in cases like this.

Thanks – that’s a fix I’ll probably have to hardcode for researchgate links.

Thanks! Made several fixes :)

1 Like

Maybe something like the tools in this thread can be integrated or replicated?

1 Like

I’ve been using my mouse cursor, but a custom cursor on image hover would be awesome.

also, time for more bugs, lol

the comment text would not auto-populate for this one, if it makes a difference I answered the questions totally out of order: https://edankow.github.io/identify/?dataset=lucilia&taxon_id=61858&place_id=6712%2C1

also, I know the question order is currently set up in order of efficiency – but it would be nice to have an alternative ordering from “most obvious” (eg, body color and ruling out widest/narrowest frons options) to “least obvious” (eg, genitalia and pubescence)

another point: I find it difficult to figure out which questions I’ve marked “impossible” vs which I’ve skipped vs which are logically ruled out. it would be nice if after skipping all remaining questions I was brought back to the first skipped question. I can see there’s UI elements that change on the questions list as I fill things in, but I don’t find it intuitive.

1 Like

Regionset is locked to US and Canada?

1 Like

I will be working on a test run for Chironomidae, starting with a single genus of 5 species in the US and Canada, depending how that goes it may be worth expanding it to Central and South America.

3 Likes

I have it set to leave out the identification explanation for IDs where your ID is agreeing with the previous community ID, and the previous community ID is not only based on computer vision. This is to avoid creating needless notifications for other users if we are only agreeing with their IDs.

I’ll have to think about that. In the meantime, are the “skip” buttons for individual questions and entire sets of questions straightforward?

I’m adding a fix for this now. See if this helps.

1 Like

It’s not locked to US/Canada except that I haven’t added other maps for editor.html – what IS locked is that the region auto-detect in Identify mode expects state/province-level iNat places.

For the key itself, though, the logic should work for any regionset. You just have to create your own manually–if you download a copy of the github repository from https://github.com/edankow/identify, you can see what it should look like. Let me know if you get stuck?

1 Like

If you download the github repository, you can run a local copy of the web page – you just can’t log in with the big green “log in with inaturalist” button, but rather need to use the api_token box beneath it.

Ah, that’s what must have led me to think there was no narrative for lucilia. I still think it would be nice to have access to it even if it isn’t automatically posted. Just to have a summary of all the traits I just accumulated.

1 Like

Yes, that summary is always available if you click “hide inat interface” button in the top right. If this is coming up frequently, I could make it more accessible.

I don’t know about frequently, but I found it really confusing when I couldn’t find it. It didn’t occur to me to hide the iNat interface (after I just had discovered that I could show the iNat interface). So maybe this is more something to do with the learning curve for this tool.

1 Like

kinda wish I could get an extra-extra zoom like on my phone:

there’s no resolution gain of course, but it makes measurement and parsing small parts easier

1 Like