Substitute Username Shortcut

When commenting on observations, users need to tag the observer by name. For example, on an observation like this one, a commenter might type something like:

  • Hey @vreinkymov, that’s not a mountain lion.

To which I would reply:

  • Thanks @commenter, you’re right!

The feature request is to reduce the need to type out the observer’s username or commenter’s username in such interactions as such:

  • Hey @@, that’s not a mountain lion.
  • Thanks @@, you’re right!

According to these rules:

  1. Observer’s @username is subsituted when an identifier types @@ in an observation comment.
  2. Preceding identifier’s @username is substitued when observer types @@ in their observation.

The first rule is primarily requested, the second is nice-to-have.

why not just have an AI generate predictive responses?

if you type “Hey”, the AI could suggest “Hey @observer” or “Hey @commenter” in the right context.


For me, it’s not about the actual response, but about having to decipher a sometime-nonsensical never-ending string of letters and consonants just to get the observers username to show up as an option. This is especially true when the observer’s name is only available at the top of the observation and not as an identification. Having this as a shortcut would be very very useful, at least with respect to the original observer.

It’s the second rule that creates a problem when someone has already responded to the observer, would not use of this respond to the identifier instead?


I’m not sure what you are suggesting. I’m not really sure if this is such a problem to be honest because you can just copy someones username if it is very long and confusing. Also, pinging a user isn’t just used to ping the poster and commenter. It is (arguably more often) used to bring in other identifiers to review an observation therefore to ping that specific user you would have to type in their name to ping them anyway, so it hardly seems pointless.

Like @pisum mentioned it would likely be more useful if it had an AI that was more advanced. For example when you type in @ it immediately brings up the name of 1. Post maker 2. Most Recent Commenter(S) 3. Top identifier of the Genus, Family, Superfamily, etc.

(Actually… I’ll make a feature request for that right now)


What a great idea! Rule #1 is bulletproof but unfortunately rule #2 is not. No matter, since rule #1 is most often needed. What a time saver!

1 Like

In Identify mode it is a mission to @mention as it doesn’t autocomplete.
Open in new tab works, but that is another step.
And autocomplete battles to offer the observer, identifiers and commenters first who are already engaged with that obs.

Also unfortunately if you make a typo in a user name - iNat accepts the wrong name for a non-existent iNatter.
Because I follow notifications for comments on obs I have engaged with - I see many tiny variations on Diana Studer with one letter off somewhere.

1 Like

Clicking on a username goes to their profile. Highlighting a username without clicking on it requires some degree of fine motor control that those of us with repetitive stress makes not just difficult, but actively painful. Hence, a shortcut that doesn’t require holding down a mouse button to select it is advantageous.


Start highlighting before you get to the name, it should help a lot.

Here is my improved idea:

When you click on an observation you see a section that says “Top Identifiers.” I think we can all agree that, that is most used for pinging said person(S) for help with identifying/reviewing the observation. What would be even more useful would be the the option to click “Tag User(s)” and would immediately input the name of the top identifier. If you had a different user in the “leaderboard” you wanted to ping you would then be able the click “Advanced Choice” where you would type in the place of the user that you would like to ping in the leaderboard.

Optional other idea:

When you type in the character @ the system immediately brings up 1. Observation Maker 2. Most recent commenter(S) 3. Top Identifiers (allowing you to scroll down as needed)

Machine learning requires creating models, testing them, possibly more resources to run, etc. If-then logic seems simpler and less resource-intensive?

I wasn’t sure about how to word that second rule, but maybe a few example scenarios showing what gets substituted with >>> indicating “Typing this, gets substituted as:”

Example 1:

Observer_XYZ: Identified observation as Mallard
First_Identifier: Identified observation as Mallard
Second_Identifier: Comments: “@@, Great photo!>>>@Observer_XYZ, Great photo!
Observer_XYZ: “Thanks, @@!>>>Thanks, @Second_Identifier!

Example 2:

Observer_XYZ: Identified observation as Mallard
First_Identifier: Comments: “@@, Great photo!>>>@Observer_XYZ, Great photo!
Second_Identifier: Identified observation as Mallard
Observer_XYZ: “Thanks, @@! >>> Thanks, @Second_Identifier!

Essentially, just a shortcut so that one wouldn’t need to copy/paste the long username. Copying and pasting seems more time consuming and slow vs. just typing @@.

I’ve done that too! See: Obs. 195438158

I like this idea a lot, but am a little wary of having the top identifier pop up, only because of the forum topic: How does it feels like to be a top identifier?, where it’s mentioned that they get more notifications.


to me, it seems like some sort of AI that understands the context based on thousands of previous discussions in iNat would be able to handle lots more than this one use case. besides suggesting user names, maybe it could suggest features to look for when identifying or similar taxa or other resources for more information. maybe it can see that you’re making the same kind of comment over and over again and can suggest that same comment next time. so even if it takes more effort to implement, i would guess that the potential benefits could be worth it.

also, i suspect that if the double @ feature was implemented, it would be one of those features that you have to discover by chance, limiting its usefulness. so i would prefer a feature that makes itself obvious to all users. (i think a more obvious non-AI implementation of the double @ is to move the observer or last commenter to the top of the list when the user types a single @.)