rmcminds / iNatle

iNaturalist guessing game pulling from recent local observations
https://thecnidaegritty.org/iNatle/
MIT License
0 stars 0 forks source link

daily stable word not stable #15

Closed rmcminds closed 3 weeks ago

rmcminds commented 3 weeks ago

not sure there's much that can be done about this. maybe, if make some tradeoffs. I think the word is unstable because even if we're just pulling from observations that were made the prior day, and even if the random seed is stable, the query will always potentially deliver slightly different results. Even the smallest difference will make the seed unreliable.

This will be more problematic for queries that return a lot of results, because each observation included in the pool has the potential to be changed throughout the day. If we're looking at plants from all of north america, there will be thousands of observations even from just the day before (i think). If even one of those is deleted, or maybe more likely, its taxon is updated via an identification, it will affect the species counts object.

Maybe it would help to limit the pool to research grade obs, which are less likely to change? Or even more stringent about the ratio of confirming ids? Or can the species counts endpoints at least pool genera so if something moves around within a genus it doesn't affect the results (i don't think so)?

Perhaps the easiest and safest thing to do is to set expectations for the user by not claiming it's stable throughout the day.

Maybe if one user starts a challenge, they can copy and paste an observation ID number that could be used as an input instead of all the other randomization options (which won't give away the taxon unless they cheat)...

rmcminds commented 3 weeks ago

Don't want to make startup interface too complicated or take too many steps. Adding the ability to use a specific observation ID is probably best option for this feature, but I need to think about how to make it clear that if you use an ID number, you don't need to do anything else (without also making it necessary to eg select the mode before getting to the randomization menu...)

I should also make this robust to observation updates, because even a stable observation doesn't necessarily have a stable genus, photo, etc associated with it if there happen to be new ids or the user happens to delete it or something. So I would want to do some kind of check for consistency. Easiest would be just a message that warns generically if an obs has had any update during the current day, or notifies if it's been deleted entirely. Could potentially be more precise seeing if the genus or photo has changed during the day, but this might require more thought - not sure if this info is contained in the default obs json.

rmcminds commented 3 weeks ago

mostly solved with 12769e8