Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lanes quest needs to be improved, for cases where lane count is different for each side #2350

Closed
Discostu36 opened this issue Dec 7, 2020 · 49 comments
Labels
feedback required more info is needed, issue will be likely closed if it is not provided

Comments

@Discostu36
Copy link
Contributor

The lanes quest is misleading in its design and might lead to false data being entered (at least that is what happened to me). Look at this way:

https://www.openstreetmap.org/way/9479848/history

lanes:backward=1
lanes:forward=3

Above data was correct. StreetComplete asked me about the number of lanes. I told it there are four. StreetComplete decided to change the lanes:backward and lanes:forward to:

lanes:backward=2
lanes:forward=2

I never told StreetComplete that the lanes are distributed in that way. It never asked me how they are distributed. I thought it was only asking about the lanes tag. Now, afterwards, I have found that at the beginning I have to select “more answers” and then “different for each side”. Two problems with that:

  1. I think the distribution of lanes should be just asked as part of the quest, not just assumed to be evenly distributed with other possibilities hidden under the text
  2. when I first select that there are marked lanes and then tap on “more answers” and then “different for each side”, nothing happens at all.

How to Reproduce
Go to a way that has an uneven distribution of lanes and open the lanes quest. Choose “marked lanes”. Then try to enter the an uneven distribution of lanes.

Versions affected
StreetComplete 27.1

@Discostu36 Discostu36 added the bug label Dec 7, 2020
@FloEdelmann
Copy link
Member

Related: #2322

@westnordost
Copy link
Member

When you selected "4 lanes", a preview was shown to you how the street would look, with moving cars that indicated the direction.

@westnordost westnordost removed the bug label Dec 7, 2020
@Discostu36
Copy link
Contributor Author

When you selected "4 lanes", a preview was shown to you how the street would look, with moving cars that indicated the direction.

That is true, but as there was no option to change what the visualization shows (see above), I thought it might be inaccurate.

@westnordost
Copy link
Member

Hm well, what use has a visualization if it was inaccurate? Then I could have left it out completely.

Anyway, do you have a suggestion how to solve this? The reason why the "differs for each side" is hidden in that menu is because 99% of roads will have the same number of lanes on each side. So, in 99% of times, users should not be required to tap on each side separately.

@westnordost westnordost added the feedback required more info is needed, issue will be likely closed if it is not provided label Dec 7, 2020
@matkoniecz
Copy link
Member

matkoniecz commented Dec 7, 2020

Rather than "2" have "1 in each direction" in selector of lane count for two-way roads? This should encourage "other answers".

Have "marked lanes, the same count in each direction", "Marked lanes, count depends on direction", "No marked lanes" in selection?

Make more prominent button under visualization or to side "lanes are arranged differently" (similar to "add opening hours" button at start of OH quest)?

Change "OK" button to "Visualization is correct" (ugly, mismatches with other parts)?

Hm well, what use has a visualization if it was inaccurate?

Sadly, sometimes utterly pointless and misleading visualization are added, so this cannot be assumed unfamiliar with SC development :/

@westnordost
Copy link
Member

What visualization is pointless?

@FloEdelmann
Copy link
Member

Rather than "2" have "1 in each direction" in selector of lane count for two-way roads?

This seems like a simple and effective solution to me 👍

@matkoniecz
Copy link
Member

What visualization is pointless?

None in SC, but it was about what user may assume based on experience with similar UIs.

@Discostu36
Copy link
Contributor Author

Discostu36 commented Dec 7, 2020

Hm well, what use has a visualization if it was inaccurate? Then I could have left it out completely.

I didn't want to imply that you add inaccurate or pointless visualizations to SC. I just didn't know what to make of it.

In my opinion, consistency is essential for a good UX. So I think the best solution would be to design this quest in the same way that the cycleway and sidewalk quests are made: Ask about each direction separately.

Anyway, do you have a suggestion how to solve this? The reason why the "differs for each side" is hidden in that menu is because 99% of roads will have the same number of lanes on each side. So, in 99% of times, users should not be required to tap on each side separately.

This is also true about sidewalks. Still, the sidewalk quest asks about both sides of the road separately.

@westnordost
Copy link
Member

You have a point about the UX consistency. However, the reason why it is this way for cycleways and sidewalks is because when you are on one side of the street, you may not always see exactly how it is on the other side (because of parking cars etc), so users should select each side individually. This is not the case with car lanes.

@Helium314
Copy link
Collaborator

'How many lanes' asks for the total number of lanes. The only indication that the direction is relevant is the visualization, Direction or correctness of the visualization are not asked explicitely.

When I tap on the visualization after entering 4 lanes, I get back to the number selection. This selection has no way how to enter different number of lanes in each direction. My suggestion: move 'differs for each side' from other answers to the lane selection popup (as an additional button maybe?)

@Discostu36
Copy link
Contributor Author

Discostu36 commented Dec 7, 2020

That is true. But I do think it would still be easier for users to enter data correctly if they entered each side separately. It could of course be limited to streets with more than two lanes.

Maybe like this:

  1. Marked yes/no (lane_markings tag)
  2. Total number of lanes (lanes tag)
  3. How many lanes does the road have in this direction? (lanes:forward tag)

3 would only be shown if lanes>2. Visualization with preselected side of the road. The lanes:backward tag could then be applied automatically (and shown in the visualization).

@Discostu36
Copy link
Contributor Author

My suggestion: move 'differs for each side' from other answers to the lane selection popup (as an additional button maybe?)

This might be easier than my approach.

@westnordost
Copy link
Member

westnordost commented Dec 7, 2020

So to summarize, the three (best) solutions are:

  1. 🎉 in the lane count selection popup, show "1 in each direction", "2 in each direction" etc.
  2. 🚀 next to "marked lanes" and "unmarked lanes", show a third button named "lane count different for each side"
  3. 👀 always force user to select each side individually
  4. 😕 "differs for each side" as another button next to "OK" in lane count selection popup

Maybe a quick opinion poll here by clicking on the appropriate reaction?

@michaelblyons
Copy link

If you do

in the lane count selection popup, show "1 in each direction", "2 in each direction" etc.

then you can have an option above "1 in each direction" that is "differs for each side." I am not a UX person, so I don't know if that would be intuitive. (I picked "😕" in the vote.)

@westnordost
Copy link
Member

Some notes about the presented choices:

🎉

The obvious downside here is that you'll have a long scroll list of same text entries, i.e.
1 on each side
2 on each side
3 on each side
4 on each side
5 on each side
This means that the text must be quite small to fit (think of translations), maybe there will even be display problems for certain languages where the text is truncated. Further, the more text there is to see on one screen, the less likely people are going to read it.

😕

"differs for each side" is quite long for a button text, as button texts are also capitalized. This will very likely result in that the OK button and the DIFFERS FOR EACH SIDE button in the dialog are shown not next to each other but one above the other. Maybe the DIFFERS FOR EACH SIDE button will even be multiline itself (if that is possible, otherwise the text will be truncated).
Having appear that button in such an enormity in terms of space and location may not be desireable.

@Helium314
Copy link
Collaborator

🎉 could maybe have a somewhat adjusted text (e.g. specify the total number of marked lanes...) and an extra line lanes on each side: (more-text-problem applies) followed by the selector.

😕 would then look similar to OTHER ANSWERS..., which is not that bad in my opinion. I actually expected that the button needs to be placed below the other 2 anyway, but didn't think about it possibly being too long to fit in a single line

🚀 'feels' a bit strange to me, as you initially select one of
marked lanes, same count for each side
marked lanes, different count for each side
no marked lanes
which seems a bit arbitrary to me.

@matkoniecz
Copy link
Member

The obvious downside here is that you'll have a long scroll list of same text entries, i.e.

Is it feasible to have scroll with "1", "2", "3" ... and "on each side" as continuing text?

@Helium314
Copy link
Collaborator

Is it feasible to have scroll with "1", "2", "3" ... and "on each side" as continuing text?

The number picker might become rather small, but at least on my phone/language it should still be useable without problems

@Discostu36
Copy link
Contributor Author

Discostu36 commented Dec 10, 2020

To be honest, I think there is no really good solution among the options we could vote for.

Maybe an adapted version of my above suggestion could be considered:

  1. When selecting the number of lanes, also make odd numbers selectable (1,2,3,4...)
  2. a) If lane count is <3, keep the dialogue as it is
    b) If lane count is >2 and even, add a "change lane distribution" button below the preview visualization
    c) If lane count is >2 and odd, directly go to the screen where lanes can be added per direction. User only has to add lanes for one direction (as selected), the other direction is filled up automatically.

I realize this might be the most complicated solution to code, but I think it's the one with best usability.

@westnordost
Copy link
Member

Your suggestion is basically to move the "differs for each side" option from the "other answers" menu to float above the lane visualization screen.

@Discostu36
Copy link
Contributor Author

Yeah, or as a second line above “other answers” text link. And the button should do something, when I click it, it doesn't at the moment.

@westnordost
Copy link
Member

What button doesn't do anything?

@Discostu36
Copy link
Contributor Author

Discostu36 commented Dec 10, 2020

See above:

  1. when I first select that there are marked lanes and then tap on “more answers” and then “different for each side”, nothing happens at all.

Screenshot_20201210_152100.jpg

@westnordost
Copy link
Member

Okay, I see. It actually changes the UI to make it possible to select each side individually. But you don't see the change if you already selected a lane count.

@smichel17
Copy link
Member

smichel17 commented Dec 10, 2020

I have a suggestion for a mechanic, although it may also be hard to implement:

  1. Swiping "side to side" (aka perpendicular to the traffic) on the road visualization moves the yellow line.
  2. Pinch to zoom gestures increase or decrease the number of lanes on the road.

Perhaps with +/- and/or ←/→ buttons for accessibility, if there is room (the arrows would also have to rotate with the map).

The only thing I am not sure of is how to pick initial values. Maybe always one lane in each direction.

@michaelblyons
Copy link

@smichel17 I, too, don't know how hard it would be. But if that is possible, you could keep the lane count selector => animation flow, and then try to indicate that the yellow line is draggable. This would skip the pinch to zoom stuff.

Lane selector would be "Total lanes" 2, 3, 4, 5, ... (with a "1" at the beginning if the road is one-way)

@Discostu36
Copy link
Contributor Author

Lane selector would be "Total lanes" 2, 3, 4, 5, ... (with a "1" at the beginning if the road is one-way)

There are two-way roads with only one lane.

@michaelblyons
Copy link

michaelblyons commented Dec 10, 2020

@Discostu36 Good point. Thank you. (Although... animation might not work for that, yet. Not sure. 😝)

@westnordost
Copy link
Member

That kind of UI would be neat, but not self-explanatory.
@Discostu36 's suggestion would mean that there is always a (fat) floating button obscuring the view onto the visualization. It also has the same problem as the current UI, that if you tap on it, seemingly nothing happens. (What happens is that you can now tap on each side individually)

@smichel17
Copy link
Member

you could keep the lane count selector => animation flow, and then try to indicate that the yellow line is draggable

I think this is worse for two reasons:

  1. The biggest UX hurdle is how to indicate that gestures are the way to interact with the dialog. Once someone realizes they can pinch, swipe, etc, it is much easier to inform them that other gestures exist. So if swiping is the only way to change the divider placement, I would prefer to make pinch in/out the only way to remove/add lanes, so the user is forced to discover it.

  2. (This is the actual reason why I did not suggest it) You select "Marked lanes" and the dialog box opens. You select "3". Where should the divider be pre-filled? Whatever we choose, there is a risk that someone will just click "ok" without confirming that it is in the right spot. For example, because they do not realize it is meaningful, like @Discostu36 did earlier.

    • Admittedly, this is still a problem with my proposal — when pinching out ("zoom in" gesture), to add lanes, where should the divider be placed?

Perhaps there is a better way though — no pinch, just swipe (or press and drag?). Wherever you started swiping from, this side of the road is what you are affecting. Swipe away from or toward the divider to add or remove lanes from that side. This way the user tells which side to add the lanes on. (Actually, I suppose it would have to stay pinch for one-ways.)

There are two-way roads with only one lane.

If it is not a marked lane, then you should select "No marked lanes" at the beginning. If it is marked, then maybe this is rare enough that it's fine just to leave a note?

@smichel17
Copy link
Member

That kind of UI would be neat, but not self-explanatory.

I think something like this would work.

image

@westnordost
Copy link
Member

westnordost commented Dec 10, 2020

Hmm yeah, I think it could. Care trying out how such a UI feels?

But why are the lines not dashed in your screenshot?

Though, the button in the middle seems big on the screenshot, but actually it is quite tiny. The compass is about the size of a finger.

@westnordost
Copy link
Member

Also, when the road is not oriented like this but at 90° , it will possibly be very difficult to use because everything is so small.

@Discostu36
Copy link
Contributor Author

Discostu36 commented Dec 10, 2020

That kind of UI would be neat, but not self-explanatory.
@Discostu36 's suggestion would mean that there is always a (fat) floating button obscuring the view onto the visualization. It also has the same problem as the current UI, that if you tap on it, seemingly nothing happens. (What happens is that you can now tap on each side individually)

  • Would it need to be a button that obscures the visualization? Couldn't it be below the visualization instead like the other navigation elements? See the building quest for example

  • The second problem could be solved by taking users by the hand and asking for one side how many lanes it has instead of waiting for the user to tap on one side

@smichel17
Copy link
Member

Care trying out how such a UI feels?

I'm willing, but I do not have the time for this until at least next month. I really should not be spending so much time commenting here… 😅

But why are the lines not dashed in your screenshot?

No idea. It is from "show quest forms" in the debug version, on master.

@Discostu36
Copy link
Contributor Author

Mockup of my idea with similar button to the building quest:
lane mockup

@smichel17
Copy link
Member

when the road is not oriented like this but at 90° , it will possibly be very difficult to use because everything is so small.

"Other answers" could be moved to a small FAB, either in the bottom left, or above the OK button, adding more vertical space.

@Discostu36
Copy link
Contributor Author

If it is not a marked lane, then you should select "No marked lanes" at the beginning.

That is true.

@mnalis
Copy link
Member

mnalis commented Dec 16, 2020

In addition to whichever other solution gets chosen to make sure "different number of lanes in each direction" option is not ignored, may I suggest also marking lanes in pictures not only with moving cars, but also with static arrows? Something like this:
lane2

While moving cars are nice eye candy, from usability perspective they do not work that well (at least for me), especially if there is 3 or more lanes altogether. So I need to concentrate and wait for several rounds of cars to pass before I'm reasonably sure what is actual lanes configuration that is being shown by SC. Which is both time consuming and error prone.

@matkoniecz
Copy link
Member

Such arrows looks like turn lane arrows.

@naposm
Copy link
Contributor

naposm commented Dec 16, 2020

Such arrows looks like turn lane arrows.

How about adding some transparency? I agree with @mnalis having some arrows definitely helps. Also make them very rounded and thick, so they don't look like turn lane arrows.

@mnalis
Copy link
Member

mnalis commented Dec 16, 2020

@matkoniecz You mean like this? Unless they are bent at sharp angle, they usually indicate forward direction, and not a turn? But I'm happy with any design/color of the static arrows as long as it makes it very clear what lane is going in which direction - my picture was just a quick mockup to clarify what I meant. The static arrows would clarify and further strenghten the intention that road drawn is intended to be very accurate (and not just eye candy)

@matkoniecz
Copy link
Member

You mean like this?

Yes, it would be pretty confusing in cases where part of road has turn lanes (and some of them are different than straight arrow)

@mnalis
Copy link
Member

mnalis commented Dec 16, 2020

@matkoniecz then perhaps some other visual representation might be more suited, like three triangles stacked on each other, or something else? As long as it is static (eg. always visible unless a car animation is driving over it at that moment) and provides a clear sense of direction.

(alternatively, one could go a step further and purposely use arrows which look like turn lane arrows -- and draw them as correct lane turns where needed; and later reuse that same function for "lane turns" quest) -- but that would probably be overkill

@HolgerJeromin
Copy link
Contributor

Perhaps we can have blue (or what ever) colored arrows.
White seems to mimic the painting on the street itself.

@westnordost
Copy link
Member

I think I will implement

🚀 next to "marked lanes" and "unmarked lanes", show a third button named "lane count different for each side"

It seems to be about as popular as the other things that have been proposed.

The problem with @Discostu36 's last suggestion (😕) is:

  • takes up even more vertical space
  • tapping the button will (probably) not initially do anything, as the user then has to tap on the left or right side to set the lane count for each side individually
  • buttons overlap, many buttons very close to each other

@matkoniecz matkoniecz changed the title Lanes quest needs to be improved Lanes quest needs to be improved, for cases where lane count is different for each side Feb 4, 2021
@matkoniecz
Copy link
Member

I changed title as I am trying to find specific issue and title was quite generic - I wanted to make searches easier in the future. Hopefully it is OK.

@smichel17
Copy link
Member

smichel17 commented Feb 4, 2021

@matkoniecz Also, next time check the quest: lanes label.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feedback required more info is needed, issue will be likely closed if it is not provided
Projects
None yet
Development

No branches or pull requests

10 participants