wtimme / OSM-Completionist

⛔️ DEPRECATED iOS companion app for OpenStreetMap that allows contributors to complete missing information
ISC License
18 stars 4 forks source link

Add action to overpass query #29

Closed tordans closed 4 years ago

tordans commented 4 years ago

Context

Having overpass queries is great to highlight things to be done on the map.

But now that I see them in the map, what is the actual next action to do?

Once the query has a name, and I see the name on the selected item (see also #28), the action will be clear in text form. As in: I select a highlighted tree -> The UI say "highlighted because part of query "tree without ref"" -> So I know I should check for this and edit it manually with the existing UI.

However, this makes the action very manual. Especially in those cases, where the key/value is not part of the "common tags" form (eg tree ref, rooftop-tagging, parking lane tagging, …).

User story

As a mapper, I want to have easy access to a set of recommended actions associated with a highlighted element (overpass query)

Acceptance criteria

wtimme commented 4 years ago

Thanks for starting the conversation!

For #21, I've only added queries that can be answered with "Yes/No". Depending on what the user selects, a single tag is added to the corresponding map object. I did this on purpose, so that the interaction pattern we have to come up with is as easy as possible (MVP, yeah!).

How about this when the user taps a highlighted object, a dialog appears, with the question as the title. The dialog has three options:

The "Yes" and "No" options could have the tag that they represent written in braces. For the bench quest, for example, the options would read

Tapping "Yes/No" would apply the tag to the object and then de-select the object. Tapping "Cancel" would close the dialog without applying the tag, but lets the object selected. This allows the user to access the other actions (e. g. to move the object).

That's the simplest of the interaction patterns. For more advanced quests, we can later implement a dedicated view that would be opened, allowing for more elaborate answers to the quests' questions.

What do you think, @tordans?

Edit: Here's an example of what that could look like:

quest-action-sheet

wtimme commented 4 years ago

I have implemented the MVP and released a new TestFlight beta. It uses the interaction pattern mentioned above, allowing for a quick fix of the map data. Note that it only applies to the quests that are statically compiled into the app, not the Overpass Turbo Wizard query.

tordans commented 4 years ago

Thanks for this new version – awesome!

I will list a few things I notices – without prioritisation. Sorry for being so brief below; I hope it's still easy to understand. I will explain more if needed :-).

"dont know" action

It would be great to be able to answer the quest with an "ignore" action that marks this as "I checked it but I dont know".

IMG_5009

areas that are glued, dont activate the quest action

Sometimes I cannot click the playground area b/c the app selects all the other areas first.

IMG_5006 IMG_5010

the long-tab to choose overlapping geometries does not activate the quest action

IMG_5008

hard to see when zoomed out

This makes me wonder, if the current UI (highlighting the element with a glow) is really good. Maybe we should instead add additional element to the UI, that we can use as the information and action-trigger. Like a special map-pin. This would also help another thing, that I felt being weird: The new UI injects itself in the existing on-click-action-flow; it captures the default action and shows the new UI first. This felt weird (at least for now). But I agree: without introducing a new UI element that we can attach the action to, the current interaction pattern is the fastest option.

IMG_5005

wtimme commented 4 years ago

Thanks for your suggestions, @tordans! I've moved the remaining two to dedicated issues (#56, #57) so that we can close this issue.