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

Add "quests" (like those in StreetComplete on Android) #221

Closed
wtimme opened this issue Apr 20, 2019 · 21 comments
Closed

Add "quests" (like those in StreetComplete on Android) #221

wtimme opened this issue Apr 20, 2019 · 21 comments

Comments

@wtimme
Copy link
Contributor

wtimme commented Apr 20, 2019

How do you guys feel about adding "quests" like StreetComplete?

We would visually indicate on the map that an object is lacking some tag(s). Through some interaction (e. g. the "Perform Action" menu), the user is able to add data by simply answering a question, e. g. "How many bikes can be parked here?". The user would then only type in a number and hit "Save".

@bryceco
Copy link
Owner

bryceco commented Apr 20, 2019

Sounds good. It fits in with the Notes/Fixme functionality as well as the aborted KeepRight functionality (which I killed because the API didn’t properly support resolving issues, and which should be replaced with Osmose).

@tordans
Copy link

tordans commented Apr 21, 2019

I love the idea of StreetComplete. Even though I never really used it for more than a few minute, since I am in the iOS eco system, so I don't know much about it.

Btw, there will probably never be a iOS version of StreetComplete itself – streetcomplete/StreetComplete#43 –; GoMap is in a good position to fill the gab.

However, I find the idea of adding all those new interaction a bit daunting. There is a lot to consider to make a good quest-based UI.

I wonder if there is a different way to tackle a similar problem. At its core, GoMap is an editor. So it will always be a conflict between raw editor- and quest-feature. StreetComplete has it easier here, they are "only" working on being a great quest-app. To be more concrete, I wrote up my idea at #222. I think that does scratch the same its as this ticket, but in a way that fits more in the GoMap-Editor-World. (I extracted it in a separate Issue in the hopes of making the discussions easier to follow.)

@tordans
Copy link

tordans commented Apr 21, 2019

@bryceco

…the aborted KeepRight functionality (which I killed because the API didn’t properly support resolving issues, and which should be replaced with Osmose).

Did you see the new integration of KeepRight in iD? They added it a few month ago as a first external QA-/validation feature. They also added ImproveOSM later. And Osmose is planned, but AFAIK not actively worked on ATM.

Looking at those integrations, I think in theory it should be possible to have those in GoMap as well.

However, personally I don't think those are very important to add ATM. Ist just FYI.

@tordans
Copy link

tordans commented Apr 21, 2019

@bryceco I will answer here, to try to keep the "quest" idea separate:

This sounds similar enough to #221 that they should be the same feature.

The way I look at the quest, is a UI that really shines with "one question, one prepared answer".
Like this:

Source: https://play.google.com/store/apps/details?id=de.westnordost.streetcomplete&hl=en_US

For me, those two ideas are like this:

Both have their place, but one cannot be good at being the other, without hurting its core.

@wtimme
Copy link
Contributor Author

wtimme commented Apr 21, 2019

Thanks for all your input!

For now, I was looking for an MVP approach to this. Here's what I think could work:

  • Start with a single, easy quest (such as the one for the bicycle_parking spots), and continue from that
  • Add a new setting/filter that lets the user enable/disable the visual indicators for certain "quests"
  • Add the question to the "Action menu". When tapping the question, show custom UI for this specific question.

And from there, we can improve.

Another approach could be to use fork GoMap and create a new app, dedicated to these kind of "quests". But since GoMap already has a userbase, and since that userbase might also be interested in these kind of "quests", I think an MVP could be a start.

@zlavergne
Copy link
Collaborator

I like that @tordans started thinking of how the mobile platform can set GoMap apart in #227 which got me thinking about this...

This is bluesky stuff but what do you think about an AR component of quests/errors?

Imagine a user pulls up a camera view in GoMap and points it down the street and the app somehow indicates errors, incomplete data, etc (based on location). From there they can tap one of the flags and it pulls up the tagging window.

@bryceco
Copy link
Owner

bryceco commented Apr 27, 2019

I would love to have an overlay that showed the OSM data on top of the real world, but the compass is simply not accurate enough to make it work well, IMO.

@tordans
Copy link

tordans commented Apr 27, 2019

This is bluesky stuff but what do you think about an AR component of quests/errors?

@zlavergne like this, right? Unfortunately postet on the 1st of April :-D

Love the idea regardless.

@tordans
Copy link

tordans commented Apr 27, 2019

Back to #221 (comment)

Another approach could be to use fork GoMap and create a new app, dedicated to these kind of "quests". (…)

What I tried to point out when I split off #222 is, that a quest mode in "GoMap – the editor" is something different from StreetComplete. Which is totally fine and for me personally great. I thinks its very much possible to add this kind of interaction to GoMap. It will be, however, something different from StreetComplete in the way that it is another layer on top of and editor. So the target user is someone who can handle the editor and wishes for some fun, pointers/guidance and quick editing help.

@tordans
Copy link

tordans commented Apr 27, 2019

For now, I was looking for an MVP approach to this. Here's what I think could work:
Start with a single, easy quest (such as the one for the bicycle_parking spots), and continue from that
Add a new setting/filter that lets the user enable/disable the visual indicators for certain "quests"
Add the question to the "Action menu". When tapping the question, show custom UI for this specific question.

Sounds good.

The ways I read it: The goal of this feature is, to guide me as a mapper to points and ways that are missing certain tags that we consider "required to be fully mapped". Like amenity=bicycle_parking should always have a bicycle_parking=* value.

And the map highlight those points/ways.

IMO this alone is a good MVP.

Maybe also with a UI similar to the "Custom Presets" UI that allows to specify those "queries". This way we could test the feature in more detail than just the one hard coded use case.

The existing feature "highlight roads of type x (?) where name is blank" could be merged with this. It looks the same to me.

Another question is, what happens once I tab on one of the highlighted features. IMO this could be part 2 of this exploration.

What StreetComplete and pic4review do, is to show special UIs for those cases. Which is IMO not needed for GoMap as an editor.

So maybe some highlighting in the presets where enough at first?

@wtimme
Copy link
Contributor Author

wtimme commented May 12, 2019

Thanks for your thorough input, @tordans!

I've implemented a MVP for highlighting nodes, and I think it is ready to be reviewed. Here are some impressions.

I've added a new menu entry in the "Display" option. When tapping it, you get to a new screen ("Overpass Query").
1-display-options

Here you can enter a "Overpass Wizard" query. As you type, your query is run against a parser and parsing errors are displayed in real-time.
2-query-editor
2-query-error

After entering a valid query, you can tap the "Preview in Overpass Turbo" button to preview the results of your query right in Overpass Turbo.
3-preview

When leaving the screen, your query is saved. When you get back to the map, the nodes matching your query will have blue circle with a yellow fill color above them.
4-editor-map-layer

At the moment, tapping the circles doesn't do anything - they just act as transparent overlays, and the tap behaviour of the map remains unchanged.


I've tested this with several queries, and even though the UI only allows for one single query to run at any given time, I think this can already have a benefit to the user.

What do you think, guys? Is this an MVP that we can work with already?

@tordans
Copy link

tordans commented May 12, 2019

This looks very promising and like a great MVP. It will gladly test it in a testflight.

Personally, I don't see any issue in bringing this in front of users – even in this MVP – since it is well hidden in the settings; only those who look for it will find it.

@wtimme
Copy link
Contributor Author

wtimme commented May 12, 2019

Thanks for the positive feedback!

I've gone ahead and created a pull request (#232). Feedback on the changes is much appreciated!

@bryceco
Copy link
Owner

bryceco commented May 12, 2019

Expecting users to type in overpass queries is way too complicated for what is supposed to be “beginners” app for editing OSM. Especially since the quest feature should also be aimed at beginners and people who just want to do light editing. We need a much more user-friendly and localizable way for people to choose quests.

@wtimme
Copy link
Contributor Author

wtimme commented May 13, 2019

I agree. For beginners to be able to use this feature, there are a couple of more steps that we need to take.

Until then, however, we can already test and use this MVP. For example, you can go ahead and copy the quests from StreetComplete and see overlays for nodes where data is missing.

By the way, just to clarify (since the wording that I used might be a little confusing): The view controller is not for entering raw Overpass Turbo queries, but rather for entering the human-readable (and easier to compose) Overpass Turbo Wizard queries. For beginners, they might still be "too advanced", but for casual mappers and experts, they are way easier to compose and understand. 👍🏼

@tordans
Copy link

tordans commented Jun 10, 2019

This is for @wtimme FYI: We had a meetup in Berlin recently. The discussion was also about how to improve data quality with Tools like StreetComplete and maybe this one here. There will be a follow up Meetup next month, details at https://www.meetup.com/de-DE/OSM-Berlin-Brandenburg/events/262027183/. If you want to know more, ping me via email.

@tordans
Copy link

tordans commented Jul 7, 2019

Hi @bryceco we have a project going in Berlin that would benefit from this feature. Is there a way to get this released as a Beta-/Testing-Feature?

For example:

  • Label it „Beta“ or „Experimental“?
  • (Additionally) hide it under „Advanced“ in the Settings?
  • (Additionally) add a help-text that says that this feature is experimental and ask for feedback by advanced users at this place here?

@wtimme
Copy link
Contributor Author

wtimme commented Oct 7, 2019

Hey @bryceco, I guess your time is as sparse as mine. Could you still give me some feedback as to where we will go with this?
I‘ve put quite some effort into this feature already, and would love for people to get their hands on it and give feedback.

Thanks in advance! Your effort is much appreciated.

@wtimme
Copy link
Contributor Author

wtimme commented Jan 3, 2020

Hey guys, not trying to bump this, but per suggestion from @tordans, I've updated the pull request to work with ways and buildings as well, so queries like

highway=* and surface is null

will now also highlight ways that are missing the surface tag, and a blue layer (similar to the one found on Overpass Turbo) will be rendered on top of them. Here's a quick preview:

osm-completionist-way-highlighting

@bryceco
Copy link
Owner

bryceco commented Jan 5, 2020

I haven't played with this on my device yet so I'm not sure how this interacts with nodes being displayed during selection, but would it make sense for it to be an outline of the way more like the "Unnamed Roads" feature?

@bryceco
Copy link
Owner

bryceco commented Aug 2, 2020

Closing since this discussion is stagnant and is essentially a dup of #240 which has more recent comments. Based on @wtimme's prototype I think this feature has potential, but further discussion should occur at #240.

@bryceco bryceco closed this as completed Aug 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants