I built a browser extension to enter observation fields with one click in the Identify window; would other groups use it?

Hi all!

For the purposes of using iNat data to study oak gall wasps, we need to add both generation and phenology data (as well as sometimes undescribed species codes and host associations) as observation fields. That process is fairly cumbersome and time-consuming through the default Identify interface, so I built a custom Chrome/Edge extension that lets us add that information with a single click.

I’m still working on finalizing and adding features, and on porting it to Firefox compatibility, but I wanted to announce the project and ask if there are other identifiers working on different taxonomic groups where this kind of tool would be as life-saving as it is for us. It would be trivial to modify this extension to add different fields and values appropriate for different research projects. I’d be happy to do that work, and if I’m going to share the tool, I’d like to take your goals and preferences into account as I think about finalizing it.

Incidentally, if it would be useful for other contexts, I also have R code that adds observation field values to an unbounded number of observations in bulk, as long as you can write a URL query that correctly separates observations that need a certain value. This scales up much better than the ID window and the two of them complement each other well.

29 Likes

I would use this to annotate which organs are visible in the Living Bivalves project!

Yes please. I would use it for mainly invert recording to quickly add items such as sex, stage, abundance, etc.

Many thanks.

2 Likes

not sure how you have things set up in your extension, but it seems like you could allow folks to customize the extension themselves by offering a way to define their own buttons, perhaps with a simple array of definitions, as shown below.

probably it would be nice to be able to define multiple sets of buttons, with a dropdown selector to select the active set. up to 9 buttons per set probably would be ideal because it would allow things to not get too cluttered, and you would also probably be able to make things work by hotkeys – for example, o then 1 might trigger the first button in the active set.

[
  {
    set_description: *description of observation field button set*, 
    set_definition: [
      {
        button_description: *text to be displayed on button*,
        observation_field_id: *numeric id of the observation field*,
        value: *value*
      },
      {
        button_description: *text to be displayed on button*,
        observation_field_id: *numeric id of the observation field*,
        value: *value*
      }
    ]
  },
  {
    set_description: *description of observation field button set*, 
    set_definition: [
      {
        button_description: *text to be displayed on button*,
        observation_field_id: *numeric id of the observation field*,
        value: *value*
      },
      {
        button_description: *text to be displayed on button*,
        observation_field_id: *numeric id of the observation field*,
        value: *value*
      }
    ]
  }
]
4 Likes

This is awesome, I would love to use this extension!
I’m adding the presence of bacterial infection symptoms as an observation field to Trillium plants and I think this would speed things up a lot.

2 Likes

I have thought about doing this and it would definitely make the tool more universalizable beyond the time I can personally customize it. I will take a look into it but it’ll take me longer to get to if I try to pull that off.

I wonder if there’s a way to let people do this that doesn’t require them to do it every time they launch the extension?

2 Likes

if i’m understanding you correctly, i think you would just store the user’s setup in storage.sync.

1 Like

I’m a deeply incompetent coder, but is this open source / is there a github link? Folks might be able to help customize it for you.

1 Like

probably this (at least for now):

1 Like

That was just my auth flow code; the code for the Extension itself is here:

https://github.com/Megachile/Phenology/tree/main/inathelperJS

I am a novice coder myself; I’ve built some small tools in R but this is the first time I’ve ever used javascript at all. GPT4 actually wrote the code; I just assembled it and tested etc.

5 Likes

not really related to what youre asking, but it would be great if there was a way to narrow down potential species/get a list of potential spp. by tagging/identifying something as a “gall”. Not sure if this exists, but i see so many all the time and forget (or dont know) which spp they are…

Definitely not related but fwiw the CV is generally pretty good about this so just follow what it tells you and we’ll take it from there.

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