streetcomplete / StreetComplete

Easy to use OpenStreetMap editor for Android
https://streetcomplete.app
GNU General Public License v3.0
3.87k stars 353 forks source link

Enable "Last recently used" button for single sidewalk surface quests #3919

Closed cyclingcat closed 2 years ago

cyclingcat commented 2 years ago

Hi there,

I'm currently trying out the sidewalk surface quest freshly introduced with SC v42 and strolled through a village nearby where most residential streets have sidewalks on one or both sides. If the new quest appears on streets with sidewalks on both sides, a button with the last used surface combination appears, which is very useful as almost all sidewalks there share the same surface (asphalt).

But there are streets with sidewalks on only one side and in these cases no "last recently used" button appears. The user has to choose the surface from the huge selection each time anew. Introducing this button for one-sided sidewalk surface quests would save one tap each time which would help a lot in regions like this village where almost all sidewalks are of the same surface. Is there a reason for this omission?

(BTW: This leads to the paradox situation that solving this quest for streets with sidewalks on both sides often needs less taps than doing it for streets with sidewalks on only one side.)

The cycling cat

arrival-spring commented 2 years ago

It's the same thing for the cycleway quest, and to do with the way that the last answer is stored. I guess it's something that could be added to AStreetSideSelectFragment and that could then be used by both of those quests.

westnordost commented 2 years ago

Well, but it is also deliberate.

Anyway, it's still marked as an enhancement, just wanted you to know that there were reasons for this and therefore, changing this has very very low priority for me. If anyone else wants to look into it: I just conflated the logic of all the street-side-select quest forms, so the enhancement should be done based on the layers branch. AStreetSideSelectForm / StreetSideSelectWithLastAnswerButtonViewController

cyclingcat commented 2 years ago

Concerning the UX problem: Would it be an idea to keep two separate values for one-sided and two-sided sidewalks and show the corresponding "last recently used" button? In some villages single-sided sidewalks seem to be standard, in these ones the proposal mentioned in this issue would save quite a few taps.

The cycling cat

peternewman commented 2 years ago

I'd intended to raise the same issue so you beat me to it!

  • For all street-side-select quests other than the sidewalk surface one, if just one side needs to be filled in, the last-recently-used button is not much (if any, e.g. for shoulders) of a speed improvement

It's still quicker on say the pavement quest.

My general finding is that ways have been split for other reasons (e.g. speed limits and junctions) so the state often continues across a few segments.

  • it is a bit of a UX problem how to properly denote that only one side is filled with it.

Can't you just show it in the same way as the main quest does?

And what should the button do if the last-recently-used was only for one side, but now this road is displayed for both sides?

Concerning the UX problem: Would it be an idea to keep two separate values for one-sided and two-sided sidewalks and show the corresponding "last recently used" button?

I'd have thought it would make more sense to have a left and right hand value, rather than a single and a pair (if you go down that route, I'd go for left only, right only, left in both and right in both). Consider this street: -=_=- It seems more likely to me that if there is any commonality between sections, it would be that all of one side would have the same surface (e.g. maybe there was only pavement on one side originally, but they added it on both in some places, or the start of a dead-end road may have both, but then it only carries on for one side).

westnordost commented 2 years ago

implemented this in layers branch