Endless loop when marking road surface and firmness
Bug description
When marking a road surface quest with value "dirt" (surface=dirt) then a firmness quest comes up, for which when marking "solid" or "mostly solid" (tracktype=grade1 or ..2), the road surface quest reappears, followed again by the firmness quest (and on and on).
How to Reproduce
Location near quest that demonstrates bug: 32.858292, 35.455438 (but occurs often with same conditions).
Versions affected
Street Complete v61.3 (but I've noticed it several updates ago, until I got through to reporting it) on Pixel 4a phone, running Android 13.
Ref https://github.com/streetcomplete/StreetComplete/issues/6272
Which interface language you use? Maybe translation is problematic?
Which interface language you use? Maybe translation is problematic?
English/default...
It's a never-ending story. I thought we have already hit the lowest common denominator with tracktype vs surface.
@maze88 According the the OpenStreetMap wiki, tracks with tracktype 1 "solid" and tracktype 2 "mostly solid" should only be chosen for, well, mostly solid surfaces. "Dirt" is not considered to be a solid surface. Maybe you meant to answer "Compacted"?
It's a never-ending story. I thought we have already hit the lowest common denominator with
tracktypevssurface.@maze88 According the the OpenStreetMap wiki, tracks with tracktype 1 "solid" and tracktype 2 "mostly solid" should only be chosen for, well, mostly solid surfaces. "Dirt" is not considered to be a solid surface. Maybe you meant to answer "Compacted"?
Yes, reconfirmed with the tags as in my OP... I select "dirt" for roads/paths that are made of the same type of ground/earth around them, one could argue that it's compacted dirt... But in my understanding "compacted" would refer to a different substrate than the surroundings, such as compacted limestone/gravel with dirt/earth to the sides.
Here is an example that I would interpret as "compacted": https://thecar.co.il/טיול-לסופש-אל-נחל-שורק
And here is an example that I would interpret as "dirt": https://wallpapers.com/images/high/dirt-pictures-3348-x-2232-2assu375mkrugwew.webp
"Yes" to what question?
"Yes" to what question?
Sorry for the confusing wording, I've updated my previous comment.
< this message will self-destruct if you delete your previous comment, so as to keep the discussion tidy>
I'd agree, actually... @matkoniecz , what do you think, what should be changed?
what do you think, what should be changed?
From the UX (and my experience) perspective, and assuming each user may have their own interpretation of the definitions "dirt", "compacted", "solid", etc... The least that should be done is that the tag value choices that the quest offers the user should be limited/filtered in a manner that will prevent the system from entering such loops.
The least that should be done is that the tag value choices that the quest offers the user should be limited/filtered in a manner that will prevent the system from entering such loops.
Uh, that does not seem so nice from UX perspective to me. Hiding values (which are otherwise present) sounds like it would bring even more confusion to the issue ("where and why did those answers disappear? that must be a bug!"). If people really feel that even surface=dirt can be tracktype=grade1, I see following solutions:
- Show all values, but mark incompatible values as disabled (greyed-out), and clicking on them should provide informational message with exact description why such combination is deemed invalid. That variation of your suggestion would be significantly more UX friendly (IMHO), but is likely too much work and special casing for that one quest (unless perhaps the UI can be reused elsewhere, or there is a volunteer caring deeply about specific solution?)
- have special logic which detects such quest loops, and shows warning to user explaining what is the problem. I don't see how it could be done in clean way, and it does not really sound too nice (but I mention it for completeness)
- allow users to make incompatible selection, but in such case show them a warning explaining why that combination is likely not valid, and if they want to revise their answer, leave a note, or proceed with selected answer (forcing user answer, even if "incompatible").
- add the issue to SC FAQ and hope it would clear it up for people (but does not really work if people don't read the FAQ, or, more importantly, if they disagree with the reasoning).
- just give up on those checks altogether - keeping with KISS principle. If user puts up an invalid combination, it's on them, and we let[^1] QA tools detect the discrepancy and let janitor mappers handle it. Probably the easiest way out as far as StreetComplete is concerned; but it is sad missed opportunity that a lot of mistakes/mistagging that could've been catched and fixed on the ground won't be.
My preference would be (from better to worse): 1,3,5,4.
[^1]: and suggest (or even write PR for them) to e.g. Osmose (if the check does not exist yet).
- One of 1-3 (explaining notification) with the option to "the surface has changed, resurvey" or "leave note".
Well, if everyone can have their on experience and perspective of how solid/hard specifically "dirt roads" can be, when they are compacted by being well-trodden, then maybe the paragraph in the wiki that claims that tracktype grade 1 can only be used for paved surfaces should be revised.
On the other hand, looking at it now https://wiki.openstreetmap.org/wiki/Key:tracktype , it doesn't even say that exactly. It just says "Usually a paved surface". Okay, usually. 🤷
So, I would somewhat tend towards option 5.
@matkoniecz
ping @matkoniecz
oh dear, this one again
I will look at that
So, the problem here is that it is quite flat well-beaten and quite solid dirt, without gravel or other admixtures?
I guess that stuff like https://www.openstreetmap.org/way/1112650786/history / https://wallpapers.com/picture/dirt-pictures-3348-x-2232-2assu375mkrugwew.html is more likely to happen in dry and flat areas.
Still surface=type tractype=grade1 seems really really dubious to me. On the other hand maybe it makes more sense to people if rain basically never comes and dirt clay is basically baked into solid surface?
@maze88 - does it describe situation well?
maybe it makes more sense to people if rain basically never comes and dirt clay is basically baked into solid surface?
@maze88 - does it describe situation well?
Yes, if I understood you correctly that's a reasonable description of such situations - which indeed make sense in less rainy regions (like Israel; where I map mostly).
@matkoniecz I pinged you because I tend towards what @mnalis wrote as "option 5" (but don't want to destroy your work before involving you):
just give up on those checks altogether - keeping with KISS principle. If user puts up an invalid combination, it's on them, and we let1 QA tools detect the discrepancy and let janitor mappers handle it. Probably the easiest way out as far as StreetComplete is concerned; but it is sad missed opportunity that a lot of mistakes/mistagging that could've been catched and fixed on the ground won't be.
I would prefer to not do this way, but at this point I understand preferring to not deal with it at all.
So while I would prefer to keep it as it was (some conflict detection), I understand why removal may be preferable for you.
Well, do you see any alternatives?