falling-fruit / falling-fruit-web

Mobile-friendly website for Falling Fruit
https://beta.fallingfruit.org
GNU General Public License v3.0
41 stars 30 forks source link

Submit location form: bug + UX snag with observed on + fruiting status #621

Open wbazant opened 3 days ago

wbazant commented 3 days ago

We have a validation rule to expect observation date whenever fruiting status is populated. This produces friction: a user chooses "ripe fruit" or so, tries to submit, and it doesn't work. The user might then notice observed on went red, and fill it out, but the button is still disabled (except actually, it's possible to submit).

Lots of wrong here, and some options I see are:

@ezwelty what do you think about this one? Do you e.g. know how often the review date matches observation date?

ezwelty commented 3 days ago

@wbazant Ah yes, I noticed that the date picker needs to lose focus before the form validation recognizes the form as valid.

default the "observed on" to the review's date once fruiting status is set remove the validation rule entirely, and add the default value when interpreting the data

According to the database, about 20% of observations have an observed date different from the created date. So not the most common use case, but an important distinction for when people post locations or reviews (e.g. based on a gallery of accumulated photos), where assuming today would result in a very wrong phenological observation. This is valuable information for future seasonality filters, so I hesitate to collect a bunch of ambiguously dated phenology observations ("maybe it was observed on the date it was posted, maybe not").

Perhaps we could add a little button to the right of the date picker that covers the most common case: "today". If we wanted to get fancy, we could extract CaptureTime from the EXIF of uploaded photos, and if different from "today", add that to the "quick select" options. Depending on the source of the image, capture time in EXIF may be absent or very wrong. A special case is if the photo is directly from device camera, which would make "today" very likely, but not sure if that's something we want to attempt to distinguish.

wbazant commented 2 days ago

Sure, it makes sense as conditionally required then! One more idea I have for how to achieve it is to disable Fruiting Status until Observation Date is populated, with some kind of note about what is conditionally required - then there's no way to fill it out wrong.