StreetComplete/FAQ

From OpenStreetMap Wiki
Jump to navigation Jump to search

User related

Do I need to be an OpenStreetMap expert to use it?

Absolutely no, the app is designed to be usable by anyone, this includes people who have never heard about OpenStreetMap. It, however, also eases editing for OSM experts.

So spread the word! Anyone can use the app.

How can I hide a type of quest?

In the settings there is an option called "Quest selection". It will take you to a list of all quests ordered by the priority they appear on the map. There, you can also disable or enable quest to hide, respectively show, them on the map.

I made a mistake. What to do?

Normal quest answers are undoable, even if the app already uploaded them. The button on the lower left corner lets you undo your last answer.

Why can't I disable/change the order of the notes quest (a black question mark inside a white speech bubble on a red background)?

A note is there to indicate a problem with the data there, so it indicates that "something is wrong with this element", so no quests for this should be created. For example, if someone answered "This shop does not exist anymore", then, of course, the app cannot use the current data as it is in the OSM database as a base for creating a quest, because one thing or another might be incorrect now.

Especially notes that have been created with StreetComplete (via the "Other answers…" menu) thus "block" other quests from showing up. This makes sure that once a StreetComplete user cannot answer a quest, the quest is not shown again to other users.

Why does the star counter not match the whole count of previous stars and upload counter?

Especially when you have auto-upload disabled, you may notice that the upload counter may display a higher number than what is actually added to the star count, after uploading. The reason for this is, that StreetComplete automatically resolves conflicts and may thus drop some of your changes, e.g. if the quest has already been answered by someone else. See the details about how StreetComplete handles conflicts, below.

Why was quest shown and then disappeared?

There are multiple reasons how it may happen

  • You solved the quest
  • StreetComplete refreshed quest data and discovered that:
    • someone else solved this quest
    • someone made another OpenStreetMap edit causing it to no longer apply
  • Zooming out resulted in the quest icon not being shown, as it was blocked by a more important quest (you can change quest priorities in settings)
  • Moving the map caused a more important quest marker to appear and block this one
  • Changing quest priority in settings caused this quest to disappear
  • Enabling showing of more notes resulted in more notes being shown and blocking this quest from display
  • Old quests are deleted, to reduce risk of editing/creating notes based on outdated data and to reduce risk of uncontrolled data usage[1]

Why does the housenumber quest not appear?

The house number quest is asked for buildings likely to have house numbers - for example building=house. It is not asked for building=garage or building=yes.

It means that if buildings are tagged as building=yes it is necessary to add the type of building first. Fortunately there is quest for that in StreetComplete.

Why are quests for a single object shown in a different order than the one I configured?

Only eligible quests are shown

Quests are shown dependent on the quest object's tags. But this order is only relevant if there are multiple active quests shown in the same area. Answering a quest may make the object of the quest eligible for another quest that it was previously not eligible for. This makes it seem like the order is not respected.

Example:

As of StreetComplete 29.1, the sidewalk quest requires lit = yes. So even if the sidewalk quest is above the lit quest in the quest list, i.e. has a higher priority, the lit quest will always be asked first for an object that has no lit tag. At this moment the object is not yet eligible for the sidewalk quest. Only after answering the lit quest with yes you will be prompted with the sidewalk quest.

Similarly, address quest is shown only for building of known type. So building=yes will trigger building type quest, with address quest appearing later - after building type answer is known and quests are refreshed.

Quest with even higher priority blocked display

In some case high priority quest may compete for space with medium priority quest and win, blocking its display.

Not displaying such medium priority-quest may allow low priority quest located farther away to become displayed.

How to use 2D/3D and GPS following/rotation?

There is unlocked camera mode, where the map can be freely panned, and locked camera mode, which follows your location. Locked camera mode has a variation, follow orientation mode, which tilts the map and rotates with the pie section (aka your phone's orientation).

Default 2D view (AKA "3D birdseye") is nearly the same thing as regular 3D, where there is no tilt (tilt level 0, if you like). You can tilt as much or as little as you'd like using a two-finger vertical swipie/drag.

  • The app starts with the camera unlocked.
  • Pressing the location button centers the map on your location and switches to locked camera mode.
    • You can tell you're in locked camera mode because the location button disappears.
    • The compass button toggles between the two variations.
  • Panning the map switches back to unlocked camera mode.
    • While unlocked, tapping the compass rotates the map to be north and flat. If it already is that orientation, it tilts the camera a little instead. This is for discoverability, since two finger drag is hard to find without someone telling you about it.

See the issue #2817 for more explanations.

How do I change the language?

StreetComplete always follows Android system language.

See https://github.com/streetcomplete/StreetComplete/issues/2964 for details.

(There is also work in progress mentioned at https://github.com/streetcomplete/StreetComplete/issues/2643 to make it more configurable.)

How can I disable/enable sound effects?

StreetComplete follows Android system setting Settings.System.SOUND_EFFECTS_ENABLED, which depend on your exact Phone/OS combination.

See https://github.com/streetcomplete/StreetComplete/issues/2966 for details.

I'm missing the "OK" button when solving a quest!

`OK` button will appear after all required information is filled. Sometimes it requires clicking on multiple places in pictures presented. Look for question marks in picture. See for example https://github.com/streetcomplete/StreetComplete/issues/3005

How can I use it on Apple devices?

There is no version for iPhone/iPad. There is a summary of what needs to be done to have iOS port of StreetComplete. This optimistic estimate for total work is 4 to 7 months of work. Though note that there are parts that are independent improvements and are not so massive, implementing them would make porting a bit smaller task.

There is an alternative app called GoMap!! that you may use as an alternative, though refer there for more information.

Can I choose photos from the gallery for uploading to notes, instead of using camera?

No. See https://github.com/streetcomplete/StreetComplete/issues/1567 and related issues for details why it isn't supported and won't be added.

When I click on quest, several similar icons pop up, why?

It is intentional, the app will show nearby features of the same type.

The purpose is to help user determine exactly about which of them the quest is about (eg. there might be several benches or fire hydrants nearby, which each require different answer - and so the users needs to know about which one they are being asked about). See https://github.com/streetcomplete/StreetComplete/pull/3480 and linked issues for details.

Technical

How does the app handle uploads?

By default, the app uploads each answer the user gives immediately. If there is no connection, it stores the change on the phone and tries again later.

For each different type of quest, it creates an own changeset. This changeset will have a short message what it is about, i.e. "Add street surfaces", and set the tags for created_by and source. Example.

The changeset is kept open while the user subsequently adds information on his survey. If the user erred and undoes already uploaded changes, the reverts (and the subsequent corrections) are also added to the same changeset. After the user did not add anything to the changeset for more than 20 minutes, the app closes it. If there is no connection then or the phone is off, the changeset will latest be closed after one hour (because that is the timeout of the API).

If during upload of the changes, it turns out that the changeset has been closed already, the app will simply create a new changeset and add the changes there.

How does the app handle conflicts?

In a nutshell, the app tries to solve conflicts automatically, and if one is not solvable, drops the conflicting change made by the user silently and subsequently refreshes the data for the user in the vicinity of where the conflict happened.

In detail:

Each answer to a quest only modifies exactly one element and each of these answers are uploaded separately. So, when conflicts arise, they arise for single elements separately. This makes it simple to solve them automatically. Divide and conquer.

First, the app downloads the newest version of the element for which the conflict occurred. Then, it checks whether the quest type for which the answer was given still applies to the new version of the element. I.e. if a previously unnamed street now has a name, the AddRoadName quest does not apply anymore to that element.

If that check succeeded, the change is again applied to the element (like a diff/patch). If applying the change went without conflict, the modified element is then uploaded.

Thus, a conflict is considered as not automatically solvable, if any tag that the app meant to add/change/delete on the element in question has been added/changed/deleted in the meantime. Other parallel changes on the same element are handles with no problem.

How does StreetComplete select the to be modified data and what exactly does it tag?

There is an extensive list in the wiki with all that information. See StreetComplete/Quests.

You can also see source code at https://github.com/westnordost/StreetComplete/tree/master/app/src/main/java/de/westnordost/streetcomplete/quests (yes, "source code" may be a complete blocker for some, but it is quite understandable).

Why does StreetComplete often tag the absence of features?

You probably heard that if a feature is not tagged, the assumption is of course, that it is not there. I.e. if it is not tagged whether a street is lit, it means that it is not. However, this is an assumption the data consumer has to make when it is dealing with incomplete data. The absence of a tag is in no way equivalent to any value - it is what it is - unspecified.

So the reason why StreetComplete tags also the absence of features is to indicate that a user surveyed the place and determined that the feature is indeed absent, i.e. a street is not lit. The distinction of whether a feature has been surveyed or whether it is simply unspecified is an important information for other surveyors and thus for the maintainability of the map.

That being said, the app takes great care to limit the amount of quests where the answer can be assumed to always be the same (i.e. “no”) with a relative certainty.

As an example, the cycleway quest is only shown for a certain subset of roads which additionally do not have any cycleway tagging in any form (including separately mapped cycleways), which don't have a speed limit set to 30 km/h and below and are not unpaved. Additionally, the quest is only shown in certain countries, where it can be assumed that (sometimes) dedicated bicycle infrastructure is present in the first place.

How can I learn what tags exactly does StreetComplete change?

When you click on undo button in lower-left corner, and confirm a solved quest, it will show you exactly what tags it modified before asking for confirmation if you really want to undo it.

You can always look at the source code for quests, which will reveal also conditions when the quest is presented.

How can I support the project?

You can help by supporting the development in various ways. Either add your own quests, make other code changes or just translate the app. For more details see the section Contributing on GitHub.

References