streetcomplete / StreetComplete

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

Ask for all equipment at `amenity=bicycle_repair_station` #5910

Open mnalis opened 3 days ago

mnalis commented 3 days ago

(As asked in https://github.com/streetcomplete/StreetComplete/issues/5870#issuecomment-2352615247 opening this as a new issues in correct template; also see there for previous discussions)

General

Affected tag(s) to be modified/added: service:bicycle:pump, service:bicycle:stand, service:bicycle:tools, service:bicycle:chain_tool Question asked: What equipment is available on this bicycle repair station? Quest description shown: If non-standard equipment not listed is available here, please leave a note instead. / Select all that apply:

Checklist

Checklist for quest suggestions (see guidelines):

Ideas for implementation

Element selection:

nodes, ways with amenity=bicycle_repair_station and
(
    !service:bicycle:pump
    or !service:bicycle:stand 
    or !service:bicycle:tools
    or !service:bicycle:chain_tool
)

Metadata needed: -

Proposed UI: Multiselect quest in style of What can be left here for recycling?, with 4 pictures (in two rows) with text corresponding to Pump, Stand, General tools, Chain tool.

However, while selecting an option would mark equivalent tag as yes, deselecting (as opposed to recycling quest which just ignores them) would tag it as no (to prevent quest being re-asked ad infinitum if not all equipment is present).

On quest startup, quest answers should be pre-populated with existing data (e.g. if node is tagged only with amenity=bicycle_repair_station+service:bicycle:pump=yes, Pump answer should be pre-selected, and all others deselected).

Also, preferably, if any service:bicycle:* tag was not present, quest should automatically be marked "dirty" (i.e. just like as if the answer has been modified by a user), as aborting quest is not the same as just clicking OK (OK will tag all non-selected answers as =no, even if initially they were just missing); but that is not requirement, just an idea.

(Also, once this quest is implemented, existing quests/air_pump/AddBicyclePump.kt could be modified to not ask for pumps on amenity=bicycle_repair_station, as it would be redundant.)

westnordost commented 3 days ago

Needs good pictures or icons.

On quest startup, quest answers should be pre-populated with existing data (e.g. if node is tagged only with amenity=bicycle_repair_station+service:bicycle:pump=yes, Pump answer should be pre-selected, and all others deselected).

The recycling quest doesn't have this, though. In general, the quest should behave similar as the recycling materials quest for consistency. If any changes (in usability, behavior) are made for one, it should be made for the other, too.