streetcomplete / StreetComplete

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

Show tangentially related nodes when solving quests (e.g. picnic tables during the bench quest) #4020

Closed peternewman closed 2 years ago

peternewman commented 2 years ago

Arising from discussion originally in https://github.com/streetcomplete/StreetComplete/pull/4008#discussion_r864789987 :

What is the rationale for also showing bicycle parkings here? (In any case, the rationale should be documented as a comment)

_Originally posted by @westnordost in https://github.com/streetcomplete/StreetComplete/pull/4008#discussion_r864789987_

No real reason. I just thought they might be confused, so I decided to highlight both in both quests.

_Originally posted by @FloEdelmann in https://github.com/streetcomplete/StreetComplete/pull/4008#discussion_r865330972_

I think it seems sensible, a drop-off point could look very similar, or even be identical to normal bike parking: https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbicycle_rental#Types_of_bicycle_rental

Would it make sense to do the reverse in the normal bike quests too?

_Originally posted by @peternewman in https://github.com/streetcomplete/StreetComplete/pull/4008#discussion_r866371393_

The quest is not asked for dropoff points

_Originally posted by @westnordost in https://github.com/streetcomplete/StreetComplete/pull/4008#discussion_r866384566_

Ah yes, very true.

I think it's helpful in both directions though to see the other mapped bike parking, to help establish if something has been mis-mapped or removed if you're having to leave a note.

_Originally posted by @peternewman in https://github.com/streetcomplete/StreetComplete/pull/4008#discussion_r867492546_

The reason why I have been bringing this up is because I think what is shown when highlighting elements must be consistent, i.e. according to what the user would expect. That necessitates that there is a clear guideline what is shown here and what not. This guideline has not been written down anywhere (yet), but I think all quests so far only show same elements that are nearby. E.g. the bench backrest quest just shows nearby benches, but not nearby picnic tables, bleachers or loungers.

Changing this guideline to "show same and elements that are somehow similar and related" I think would not be a good idea because there is no clear line to set what is still similar and what not, so it becomes inconsistent.

_Originally posted by @westnordost in https://github.com/streetcomplete/StreetComplete/pull/4008#discussion_r867493921_

You're right, with a few (very) minor exceptions:

But I guess you're right, let's keep it consistent then. Done in 497c620 and 85fb5e7.

_Originally posted by @FloEdelmann in https://github.com/streetcomplete/StreetComplete/pull/4008#discussion_r867503488_

Thank you for checking. For power poles it definitiely makes sense. The question for drinking water is ambiguous enough "water potable here?" that a user may confuse that the question is intended to be asked for a nearby dedicated drinking water fountain, so I think this is fine. For the bicycle pump, I wouldn't mind if this is removed as I guess there is probably no risk for confusion.

_Originally posted by @westnordost in https://github.com/streetcomplete/StreetComplete/pull/4008#discussion_r867520279_

The reason why I have been bringing this up is because I think what is shown when highlighting elements must be consistent, i.e. according to what the user would expect. That necessitates that there is a clear guideline what is shown here and what not. This guideline has not been written down anywhere (yet), but I think all quests so far only show same elements that are nearby. E.g. the bench backrest quest just shows nearby benches, but not nearby picnic tables, bleachers or loungers.

Changing this guideline to "show same and elements that are somehow similar and related" I think would not be a good idea because there is no clear line to set what is still similar and what not, so it becomes inconsistent.

I'd argue the reverse, because although it might not be consistent, it should hopefully result in a better quality of data overall.

E.g. the bench quest lets you convert a bench to a picnic table: https://github.com/streetcomplete/StreetComplete/blob/b0c5853bd0a9df24264b3e7fb2761ea02bbb1739/app/src/main/java/de/westnordost/streetcomplete/quests/bench_backrest/AddBenchBackrest.kt#L40-L43

If there are bench and picnic table nodes nearby on the map, but only a picnic table remaining in real life, without seeing the other related nodes it would be quite easy to end up with two picnic tables.

Likewise OSM having a bike rental and a parking, but the parking having gone in reality, I might leave a confusing note saying this is actually a rental for a quest on the parking node.

Possibly a bit more controversial, bins and benches often go side by side. I've often found and left notes for the micro-mapping of them not being right (e.g. benches on the wrong side of a path, or bench and bin the wrong way round). Apart from the existence quest and a bit of Kim's Game memory, this is hard to do, but would be far simpler if they were shown on the alternate quest.

Essentially because the base SC map is so bare, we potentially miss other opportunities for the boots on the ground to improve the situation further.

_Originally posted by @peternewman in https://github.com/streetcomplete/StreetComplete/pull/4008#discussion_r867551431_

I agree with @peternewman here - better context leading to better data quality should trump consistency.

Which is actually why AddBicyclePump shows compressed_air, even if quest itself fills only service:bicycle:pump=* - bicycle shops and repair stations might have manual (i.e. service:bicycle:pump) or machine (i.e. compressed_air) air sources, and it might be tagged as either, according to individual mapper. Hiding that context from SC user would IMHO lead to lower data quality.

Afterall, we already disregard that consistency in other cases, like in the name of the ease of programming (e.g. IS_SHOP_OR_DISUSED_SHOP_EXPRESSION which contains things like post_office or tanning_salon is shown in quests like AddHalal (although tanning_salon is not likely to sell any food - Halal or not), instead of showing only restaurants and other shops used in AddHalal quest element selection.

_Originally posted by @mnalis in https://github.com/streetcomplete/StreetComplete/pull/4008#discussion_r867602384_

AddHalal

Because shop-type elements are shown when selecting a quest about a shop. This behavior is consistent. The highlighted elements are shown to help the user locate the object in question in the forest of similar elements. In this case, the fact that it is about a restaurant is not the important part, but that it is a shop.

_Originally posted by @westnordost in https://github.com/streetcomplete/StreetComplete/pull/4008#discussion_r867845922_

Anyway, I acknowledge the argument about the picnic table. Let's please discuss this in another ticket or discussion and collect there, which more elements should be shown if we were to soften the "show only same elements" guideline.

_Originally posted by @westnordost in https://github.com/streetcomplete/StreetComplete/pull/4008#discussion_r867847944_

peternewman commented 2 years ago

So I think for me, in order of most relevant (and hence likely to be accepted) to least, I'd like to suggest:

  1. Picnic tables during bench backrest quest
  2. Bike rental during bike parking quests
  3. Bins during bench quest (as they're often found together and frequently mapped the wrong way round or positions changed over the years in my experience)
mnalis commented 2 years ago

There was also AddSmoking reduction in functionality as requested in the name of consistency/simplicity.

(But I don't personally really think it is worth spending too much time on such bikeshedding; it's not like the quests get seriously unusable because sometimes one or two extra contextual elements are shown or not. Sure, one might prefer it one way, and someone else another way, but it's better to be happy either way than to get hung up on details and waste precious resources)

matkoniecz commented 2 years ago

Bins during bench quest

Note that as benches/bins are often very close to each other we may end with only one of this two icons being shown

peternewman commented 2 years ago

There was also AddSmoking reduction in functionality as requested in the name of consistency/simplicity.

Although presumably with your initial code, they'd have just shown as a pink dot with no name, hence the comment:

Reason: highlighting outdoor seatings may actually confuse the user, as there seem to be unnamed shops close by in e.g. the example you posted. The user will be used to seeing shops etc. highlighted for these kinds of quests

If we added them to other element filter thing and added a new icon for them (although how you'd differentiate outdoor seating from picnic tables and benches graphically) it would be less confusing.

Actually on that note, the bench quest should also show "outdoor seating" too (as well as the aforementioned picnic tables).

(But I don't personally really think it is worth spending too much time on such bikeshedding; it's not like the quests get seriously unusable because sometimes one or two extra contextual elements are shown or not. Sure, one might prefer it one way, and someone else another way, but it's better to be happy either way than to get hung up on details and waste precious resources)

I don't think it needs to be anything as involved as that @mnalis , it's just a case of coming up with some good arguments for breaking the current status quo, which bench/picnic table may have done already. Then people can probably open PRs as they see fit to add additional nodes to quests as time goes on.

It seems my three examples also neatly illustrate what I'd think are the potential levels of diversity in terms of showing non-identical items.

  1. Picnic tables during bench backrest quest - things which can be directly transformed in the quest/are practically identical
  2. Bike rental during bike parking quests - things which could be confused for each other
  3. Bins during bench quest - things which are related/often seen together, they will never impact the quest answer itself, but might generate some notes to improve micro-mapping.

Note that as benches/bins are often very close to each other we may end with only one of this two icons being shown

I think when I've seen pairs of telephone boxes together (which are frequently back to back within a few feet of each other), they've both shown up (bearing in mind this isn't a quest pin so doesn't have the overlap hiding the nearby one rules). I guess we might need to test if it renders an adjacent bin and bench sensibly so they can be identified individually.

westnordost commented 2 years ago

Essentially because the base SC map is so bare, we potentially miss other opportunities for the boots on the ground to improve the situation further.

This is by design. The "highlight similar elements" feature should not be used to shoehorn something like this in to SC. If you want to see all POIs, use Vespucci or GoMap!!. Hence, bins shall not be shown in the bench quest.

Regarding picnic tables: The fact that the "other answer" option exists, makes the picnic table eligible to be shown alongside benches. Will do that.

Regarding bike rental: Well, docking stations certainly won't be mixed up with bicycle parkings. Dropoff locations maybe, but on the other hand, then it is more likely that it has been mapped as a bicycle parking instead of it being mapped as a bicycle rental (or the other way round), not additionally to.

So anyway, I've read this thread and will change the thing with picnic tables but opt to leave the rest as is.