streetcomplete / StreetComplete

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

Show most (recently) used POI types by default in Things overlay #5622

Open FloEdelmann opened 3 weeks ago

FloEdelmann commented 3 weeks ago

Note: This is partly related to #5621, which suggests other improvements to the POI type selection dialog.

Use case I often map street cabinets, which are not in the top 9 POI types displayed by default when adding a new POI in the Things overlay. Thus, I always have to search for the feature explicitly, which is cumbersome.

I know that not everyone is interested in street cabinets though (but some might be into guideposts, memorials, etc.), so there is no selection that fits everyone.

Proposed Solution The POI types that I have most recently selected should be displayed above the top 9 POI types shown by default. We already have the LastPickedValuesStore's mostCommonWithin util for this; the parameters can be tweaked. Without having it tried out yet, I'd suggest target = 3, historyCount = 15, first = 1.

mnalis commented 3 weeks ago

:+1: - I was actually assuming that was the case (but I use mostly SCEE and that list definitely seems to be changing depending on the usage there)

Helium314 commented 3 weeks ago

(but I use mostly SCEE and that list definitely seems to be changing depending on the usage there)

Interestingly I don't remember adding this. Maybe it's a side effect of having this recently used list in the generic add POI dialog on long-clicking the map.

westnordost commented 3 weeks ago

This is a deliberate omission.

Having most recently selected surfaces at the top makes sense, because if one path has a rock surface, it is very much more likely that the adjacent path will also have a rock surface, etc.

Having most recently selected building levels and roof shapes easily selectable makes sense, because the building heights in one area tend to be similar.

Having the most recently selected cycleway situation easily selectable makes sense because if for a stretch of road, a particular cycleway infrastructure situation exists, it is very likely that the same exists for the adjacent sections.


For POIs, especially the "things", it is arguably the other way round. When the user just mapped a hydrant or a street cabinet, it somewhat reduces the chance for another POI of this type to be in the immediate vicinity. So, it does not appear to me to be a useful mechanism to put whatever at the top of the list that the user just selected. I recognize the use case of users wanting to specifically always add certain things that are not mapped (at all) yet in his area, but the lastPicketValuesStore seems to be the wrong instrument for that.

matkoniecz commented 3 weeks ago

For POIs, especially the "things", it is arguably the other way round. When the user just mapped a hydrant or a street cabinet, it somewhat reduces the chance for another POI of this type to be in the immediate vicinity.

Maybe it would be applicable if many mappers map some narrow subset of all things? So for example someone mapping only advertising features* would end with such features for easy selection.

*I know about such person though they do not use SC, they later check which are legal and report illegal for removal

FloEdelmann commented 3 weeks ago

In already well-mapped areas, most POI types will either already be well-mapped, or not at all. E.g. nearly all benches are already mapped in my vicinity, but street cabinets were almost completely missing before I started mapping them.

matkoniecz commented 3 weeks ago

Also, in some cases I actually map the same thing in row. For example if I map needleleaved tree it is actually fairly likely that next one will be the same object type.

westnordost commented 3 weeks ago

Yeah, but often it is not. So, the last picked values store is not the suitable mechanism for that.

One mechanism that comes to mind would be the (TBD) ability to manually pin certain presets to the top. But I am not sure how an obvious and intuitive UI for that would need to look like. (I.e. that both makes it clear to the user that this is possible but also does not clutter the view with a lot of pin-buttons)

westnordost commented 2 weeks ago

Maybe show an outlined clickable pin icon to the end of the feature. (Either within the box or outside the box as illustrated. Not sure what would be more clear)

imagen

and when tapping on it, it becomes filled and will be shown at the top of the default things. This would avoid this clickable pin icon to be shown on every list item in the search.

mnalis commented 1 week ago

(Either within the box or outside the box as illustrated. Not sure what would be more clear)

That might work!

On the outside seems more reasonable to me; I do not like the practice of overloading dropdown list with extra clickable elements inside it (I expect that I will get dropdown no matter where I click inside it, and consider anything inside it just a description/decoration, not as different actionable UI elements).