Helium314 / SCEE

OpenStreetMap surveyor app for experienced OSM contributors
GNU General Public License v3.0
139 stars 11 forks source link

Crossing marking extension not visible #637

Open RubenKelevra opened 1 week ago

RubenKelevra commented 1 week ago

I was pretty suprised today to find that there's a crossing marking extension in SCEE, as there's zero visual indicator, that the gear does anything else on this quest, until it's enabled.

How about following The Principle of Least Astonishment and mark the gear button, even if the function is not active?

Say red for not active, green for active?

Screenshot_2024-09-04-08-12-03-892-edit_de westnordost streetcomplete expert

This way users get a clue that this button does something different here.

Does it happen in normal StreetComplete? No

Versions affected Android 12 SCEE 58.22

FloEdelmann commented 1 week ago

Or split up the quest into the regular, unmodified "Does this crossing have markings on the ground?" quest, and a separate SCEE-specific "What markings are on the ground here?" quest that is only asked for crossing:markings=yes.

rusty-snake commented 1 week ago

Same for surface, tree leaves, layer, opening hours, and some SCEE quests.

mnalis commented 1 week ago

I'm not quite sure what is meant by "until it's enabled" in "as there's zero visual indicator, that the gear does anything else on this quest, until it's enabled." ? Do you mean that there is some visual indicator (in the quest list) when you do enable the quest?

From other comments, I assume the issue is that you'd like to know which quests are exactly the same in SCEE as in vanilla StreetComplete (i.e. their Quest files have not been modified at all, however slightly)? IOW, if in SCEE there is an extra answer, or slightly modified element selection filter, or extra country allowed, etc. you'd want that Quest to be marked in some way as "modified"?

@RubenKelevra How about if only UI is changed (i.e. AGroupedImageListQuestForm behaving slightly differently? Should all such image quests be marked as not-same-as-in-original-SC ?)

If that is what you means, perhaps overlaying a small + sign on the top-right corner of the quest icon (for quests which are not 100% the same in SC and SCEE) would be better solution? Although, hardest part there would be tracking which quests were actually changed (some automation would be good here, or it is likely that quests will be missed).


The gear icon is used to tune/reconfigure the quest behaviour by the user. If there is no tuning available for that quest, there is no gear icon for that quest, of course. The gear icon is grey-colored if unmodified from SCEE defaults, but if the user has modified data in it (e.g. the selectionElement) the icon will get orange dot in the middle (meaning the user has the option to reset that quest back to SCEE defaults). If the quest is modified globally in SCEE code, it will not have that orange dot, as it is not modified-by-user, and cannot be reset.

For me, it would be hugely surprising if there was "modify settings" (gear) icon, but it was unclickable / "disabled". I'd probably waste at least half a day looking into code for missed prerequisites to find out how I can enable that gearbox, so I can click on it! (talking about Principle of Least Astonishment)

IOW, those are two orthogonal things, so I'd keep them as separate. I.e.: - you can have SCEE quest which is exactly the same as StreetComplete one, and does not have a gear icon (as it is not user-reconfigurable) - you can have SCEE quest which is the same as StreetComplete one, but has a gear icon (so can be reconfigured by user, so it will not longer be the same). Probably most quests are like that. - you can have SCEE quest which is slightly different from StreetComplete one (e.g. have an extra answer / other answer) or is even completely new quest, but does not have gear icon (as it cannot be reconfigured) - you can have SCEE quest which is slightly different from StreetComplete one (e.g. have an extra answer / other answer) or is even completely new quest, and has gear icon (so it can be reconfigured by user)

Anyway, does not seem like a bug to me. I'd say such info that the quest is not 100% the same as in vanilla SC would nice to have, but unless someone wishes to do the PR (in such a way which does not touch every quest; as that would complicate every subsequent merging) does not look like a high priority to me...

Alternatively (or additionally), people interested in helping tracking modified quests, can make a section (or better yet, a linked subpage) on the SCEE wiki and note which quests are modified (and in which way).

RubenKelevra commented 1 week ago

I'm not quite sure what is meant by "until it's enabled" in "as there's zero visual indicator, that the gear does anything else on this quest, until it's enabled." ? Do you mean that there is some visual indicator (in the quest list) when you do enable the quest?

Well, yeah. See screenshot. It's highlighted with a red circle in the background as soon as I enabled it.

But that's not the case by default. By default it's just a gear, like on every other quest, where you can modify the filter. There's no info about additional features.

As soon as it's activated once, even if clicked again and respond that I don't want to have it active, it stays marked red.

Suggest that if there's an expansion available that it's marked red. And if you click on it and say you want the expansion enabled, that the marking changes to green.

If you click on it again, the popup asks if it should be disabled and if confirmed it changes to red again.

Something like that.

From other comments, I assume the issue is that you'd like to know which quests are exactly the same in SCEE as in vanilla StreetComplete (i.e. their Quest files have not been modified at all, however slightly)? IOW, if in SCEE there is an extra answer, or slightly modified element selection filter, or extra country allowed, etc. you'd want that Quest to be marked in some way as "modified"?

Nope, I don't care if it's modified. I just want to see if I can extend the features further, without clicking on every gear icon in the list.

rusty-snake commented 1 week ago

To bring it in the point: the most gears just allow fine tuning element selection but a few gears can do more. Without opening all gears, you do not know if there is an expert version of this quest or just fine tuning of element selection.

RubenKelevra commented 1 week ago

Yes, good summary.

And once you've found and activate it, it's marked by a color - which would be helpful beforehand.

rusty-snake commented 1 week ago

If any gear is modified, it is marked.

RubenKelevra commented 1 week ago

Ah okay. Haven't played with that yet, since the reinstall.

Anyway, shouldn't it be "unmarked" again if I click it an I select that I don't want to enable the extension? 🤔

mnalis commented 1 week ago

Anyway, shouldn't it be "unmarked" again if I click it an I select that I don't want to enable the extension? 🤔

Yes, if you choose to reset it to defaults (e.g. via Reset button), it will be "unmarked" again.

To bring it in the point: the most gears just allow fine tuning element selection but a few gears can do more. Without opening all gears, you do not know if there is an expert version of this quest or just fine tuning of element selection.

Thanks for that @rusty-snake, it seems I was misunderstanding the original issue. So, the idea is to differentiate gear icons which lead only to generic elementFilter text editor, and those which lead to some other UI, right?

For example, the Do the trees here have needles of leaves? quest has different menu (choosing one of the two options), but in the end it only just does the tuning of elementFilter (but with less typing). Should it be shown as "special", or not? Or What basic shape does this building roof have? or How many levels above the basement does this building have? or On which level number is this place located? is mostly the elementFilter, but sometimes in a way which seems more complex then the one done purely via text edit). Same with How many steps are there?, which even does not have regular elementFilter text editor. Do those qualify for "special gear" icon?

I wonder though, how would knowing in advance which UI is present to limit elementFilter be useful? I.e. I would assume user is first interesting in solving some quest, and then tunes it up if it is not completely to their liking.

Whether they do it via simplified or advanced UI should only be a matter of convenience, no? Surely people would not choose finding the quest based solely on which UI for Gear settings it has? Or perhaps none of examples above would qualify for "special" icon as they are just simpler elementFilter editors?

Then there are other quests which have extra non-elementFilter options (like What surface does this road have? quest allowing removing limitation of requiring notes on generic surfaces). Does that qualify for "special" icon? Or only those that change the actual taggings are to be marked as "special" (e.g. What track number is here? which could tag local_ref or ref depending on configuration)?


But, IMHO, if one wants to learn what new functionality has been added (if that is the idea), is not following changelogs better solution (better then going manually after each upgrade verifying which icons perhaps changed[^1])? Or regular wiki / README.md if one is contemplating installing SCEE for the first time and wants to know what differences does it have? :man_shrugging:

[^1]: which, apart from being menial; would not even show all changes; for example if even more options were added to a quest already having some extra options, it would already have "special" icon so you would miss that its functionality has been extended.

mnalis commented 1 week ago

Anyway, shouldn't it be "unmarked" again if I click it an I select that I don't want to enable the extension? 🤔

Yes, it should. Might be different bug (see step 5 in https://github.com/Helium314/SCEE/issues/639).

It worked fine in regular 58.2 for me (on another device though, and different quest as this one was not extended back then yet) where it gets orange dot in the middle (instead of whole gear turning red). So I guess it is likely compose-related.