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

Notes may be positioned at places where the user did not intend them to be placed #5581

Closed
sjvudp opened this issue Apr 15, 2024 · 29 comments
Closed
Labels
feedback required more info is needed, issue will be likely closed if it is not provided

Comments

@sjvudp
Copy link

sjvudp commented Apr 15, 2024

How to Reproduce

Walk along, place an OSM hint/note.
After upload to OSM, the hints are significantly misplaced, For example: #4191986, #4191985
Maybe the reason is that position updates are seemingly "damped" a lot

Expected Behavior

Hint will be filed with correct "long-tap position"

Versions affected

v57.1

@sjvudp sjvudp added the bug label Apr 15, 2024
@matkoniecz
Copy link
Member

@westnordost westnordost removed the bug label Apr 15, 2024
@westnordost
Copy link
Member

Can not reproduce (v57.2, but nothing changed in this respect, as far as I know). I long-pressed and created a note at the southern vertex of this house. The note pin dropped at exactly this position. I didn't move the map and the note pin stayed at this position regardless of whether I had the keyboard open or not. When the note was uploaded, it also appeared exactly where I tapped the map.

https://www.openstreetmap.org/note/4199534#map=19/53.58427/9.94380&layers=N

Maybe this is based on a misunderstanding? Were you expecting that the note is created at your current GPS position rather than at the position you tap on the map?

@westnordost westnordost added the feedback required more info is needed, issue will be likely closed if it is not provided label Apr 15, 2024
@mnalis

This comment was marked as resolved.

@riQQ

This comment was marked as resolved.

@sjvudp
Copy link
Author

sjvudp commented Apr 16, 2024

Maybe this is based on a misunderstanding? Were you expecting that the note is created at your current GPS position rather than at the position you tap on the map?

I don't think so. The point is: I create hints/notes offline, then upload them to OSM, and eventually find them in https://www.openstreetmap.org/ with a significant offset. For example https://www.openstreetmap.org/note/4198670#map=19/49.19970/12.28992&layers=N

@riQQ
Copy link
Collaborator

riQQ commented Apr 16, 2024

Is this happening with all notes? If yes, you could take a screenshot of StreetComplete with the note visible before uploading and post a link to the uploaded note on osm.org to compare both.

Another idea: is your map view in StreetComplete tilted? Or are you using the birds eye view (straight from the top)?

@westnordost
Copy link
Member

westnordost commented Apr 19, 2024

I can also not reproduce it with a tilted map, nor a rotated map, nor when first placing the note and then while the form is open, rotating the screen. Closing as not reproducible.

One thing I could imagine what happened is that due to the buildings being displayed in 3D, there was confusion on where the building actually starts. However, unlikely in an area with detached single family homes.

What I find most likely at this point is that maybe the user's GPS location was off, and due to him not seeing the housenumbers (due to being zoomed out too much or the housenumbers just having been added and thus not being on the map yet), he assumed he was one building further down the street than he really was at that point.

What people often don't know is that the accuracy circle drawn around the displayed position on mobile apps means that the there is (just) a 68% chance that the true location falls somewhere within this circle (with the center of the circle being the likeliest). So, the chance that the displayed location is actually outside of that circle is still about one third. (source)
My experience is that in "urban canyons" with high buildings blocking direct GPS line-of-sight, the location is actually consistently wrong by a (predictable) offset, due to the reflections off of buildings. Hence, orientation using addresses and street furniture is often indispensable.

@westnordost westnordost closed this as not planned Won't fix, can't repro, duplicate, stale Apr 19, 2024
@westnordost
Copy link
Member

(Updated my previous comment)

@mnalis
Copy link
Member

mnalis commented Apr 19, 2024

Yes, the current user position can be off more than displayed, not only due to GPS line-of-sight, but because majority of users have "Improve accuracy" enabled by default. And that option often does completely the opposite, easily throwing users location by dozens (and in some cases hundreds) of meters.
But while incorrect user position is one possible interpretation of this issue, it could be read differently.


So it would still be very interesting if @sjvudp could make a screenshot just before they click on that orange checkmark ✅ button to create the note, and then we can compare that to the actual position of the Note in the OSM map.

Because, if they placed the note in the middle of some building, and it ends up on the other side of the street outside of a building, it is then the issue unrelated to GPS/location accuracy issue.

@sjvudp
Copy link
Author

sjvudp commented Apr 20, 2024

I f have some interesting updates:
First I don't know whether that's the intended way to add a note, but I long-tap on a position on the map, then select "create new note" from the popup-menu, then enter some text, and finally tap the "check mark" to close it.
When I wanted to create a test-note today, it turned out that I could create a real note with a photo attached.
Doing so, I realized that the position had a significant offset after having closed the camera app (i.e.: pressed the check mark). After a while the position indicator "walked back" to the position when I had entered the camera app. Somewhat later I found out that this effect also happens when I temporarily switch to any other app.
Here's screenshot of the situation (the German texts says "taking a photo causes a position shift"):
Screenshot showing position offset while creating a note

As one of the examples given earlier also involved taking a photo, this might explain the issue if the position saved with the note is not the tap position, but the GPS position (which would be kind of nonsense IMHO), and the user finishes the note before the GPS position has returned to the original position.
The note was uploaded as https://www.openstreetmap.org/note/4207187#map=19/49.18988/12.26118&layers=N.

I also discovered another case for a note (Hinweis 4207189) created today: The Offset is about 25 meters! That makes me wonder: Doesn't Street Complete display the "circle of confusion" (HDOP, Horizontal Dilution Of Precision)? Even if not, couldn't it save it (or a corresponding value provided by the Android API) together with the note (so we could decide whether it's poor GPS reception)?

@sjvudp
Copy link
Author

sjvudp commented Apr 20, 2024

Another thing I noticed was that Street Complete works with obsolete OSM data (for example see the parking area at https://www.openstreetmap.org/edit?note=4207189#map=19/49.19334/12.26630).

OSM (ID Editor) vs. Street Complete:
OSM Map Street Complete Map

@matkoniecz
Copy link
Member

matkoniecz commented Apr 20, 2024

Another thing I noticed was that Street Complete works with obsolete OSM data (for example see the parking area at https://www.openstreetmap.org/edit?note=4207189#map=19/49.19334/12.26630).

Background map tiles show processed map data shown with delay, quests are based on live data (fetched via editing API, in case of conflicts edits are not applied)

if the position saved with the note is not the tap position, but the GPS position

what is saved is note position marked on map

First I don't know whether that's the intended way to add a note, but I long-tap on a position on the map, then select "create new note" from the popup-menu, then enter some text, and finally tap the "check mark" to close it.

Yes. You can also create notes instead answering a quest but then mapper cannot select location

Doing so, I realized that the position had a significant offset after having closed the camera app (i.e.: pressed the check mark). After a while the position indicator "walked back" to the position when I had entered the camera app. Somewhat later I found out that this effect also happens when I temporarily switch to any other app.

this is based on GPS location as reported by phone

@mnalis
Copy link
Member

mnalis commented Apr 21, 2024

Another thing I noticed was that Street Complete works with obsolete OSM data

Let's discuss that in separately opened #5590. Generally, for each separate problem, one should open separate GitHub issue (otherwise it becomes impossible to track what is resolved and what is not). If they are related, they can be referenced by putting e.g. #5590 in the text (like I did here), so GitHub will cross-reference them automatically.

Doesn't Street Complete display the "circle of confusion"?

It does, if Android OS reports it. See for example this picture which shows it (but as noted above, that "circle of confusion" may be very imprecise)

Even if not, couldn't it save it (or a corresponding value provided by the Android API) together with the note (so we could decide whether it's poor GPS reception)?

If there was a need, one could create a separate version just for you which adds such debug. See for example #3312 for similar problem with notes location (also if you're inclined, you may want to read it to give you ideas how StreetComplete works / what one could try). We should collect some other information fist; see my questions at the bottom of this message

When I wanted to create a test-note today, it turned out that I could create a real note with a photo attached.
Doing so, I realized that the position had a significant offset after having closed the camera app (i.e.: pressed the check mark). After a while the position indicator "walked back" to the position when I had entered the camera app. Somewhat later I found out that this effect also happens when I temporarily switch to any other app.

Ah, that sounds interesting. I'll try to play with that a little; there might be problems if you move while StreetComplete is not application in the foreground (e.g. while camera app is opened).

What would be interesting is you @sjvudp could answer those:

  • if you do not move at all during the note taking (i.e. from initial long press, until you click checkmark in an orange circle to confirm saving note), can you reproduce the problem?
  • if you move between the moment you long-pressed to open a dialog, and the moment you clicked checkmark in an orange circle to confirm saving note, but DID NOT USE THE CAMERA, can you reproduce the problem? If so, can you provide detailed step-by-step instructions how to reproduce it, what you expected, and what happened instead?
  • knowing your phone Android version and manufacturer/model might be helpful too
  • if you long-press on Location/GPS icon in Android drawer (not in StreetComplete app!) and disable "Improve accuracy" / "Use Google" / "Use Bluetooth and Wi-Fi" or however it might be called; does that fix the location issue?
  • Do you sometimes run some application which reliably does track logging while running in the background (like e.g. OsmAnd record track)? If you do; does the problem disappear (or change) if you run that track recording application in the background at the same time you run StreetComplete in the foreground? Does the track recorded also get broken?

@sjvudp
Copy link
Author

sjvudp commented Apr 21, 2024

I'll answer and comment some of the question:

what is saved is note position marked on map

this is based on GPS location as reported by phone

That is very bad IMHO, specifically as OsmAnd works differently: In OsmAnd the position of the tap is the position of the hint.
Despite of that the current behavior means you cannot add a hint for a place you cannot enter (I don't want to climb the root of a house just to be able to place a note on it).
I'll change the issue summary/title accordingly.

  • if you do not move at all during the note taking (i.e. from initial long press, until you click checkmark in an orange circle to confirm saving note), can you reproduce the problem?

For the case described I did not more (more than 50cm).

  • if you long-press on Location/GPS icon in Android drawer (not in StreetComplete app!) and disable "Improve accuracy" / "Use Google" / "Use Bluetooth and Wi-Fi" or however it might be called; does that fix the location issue?

I did not enable "improve accuracy".

@sjvudp sjvudp changed the title Poor positions when adding hints/notes Notes may be positioned at places where the user did not intend them to be placed Apr 21, 2024
@matkoniecz
Copy link
Member

That is very bad IMHO, specifically as OsmAnd works differently: In OsmAnd the position of the tap is the position of the hint.

note is placed on long tap location (or elsewhere if note was moved), or on object location if triggered from quest answer

blue dot is based on GPS location as reported by phone

Despite of that the current behavior means you cannot add a hint for a place you cannot enter (I don't want to climb the root of a house just to be able to place a note on it).

you can

@mnalis
Copy link
Member

mnalis commented Apr 21, 2024

Despite of that the current behavior means you cannot add a hint for a place you cannot enter (I don't want to climb the root of a house just to be able to place a note on it).

I think there is misunderstanding. I understood "this" in @matkoniecz comment "this is based on GPS location as reported by phone" to refer to "position indicator" (i.e. that little blue circle with white outline 🔵 showing where the phone thinks you are currently located at) and not to "note position marked on map" (i.e. that white exclamation mark in big red circle, which is a place where note would be placed).

In other words: yes, you absolutely should be able to long at any location you wish and the map and leave an OSM Note there, regardless of where you are currently physically located (i.e. where little blue circle is positioned).

For the case described I did not more (more than 50cm).

Thanks. I'd love to know if you can get some "background gpx track record" app working.
Explanation: my working theory is that running it might fix the problem (i.e. the issue might be that when you switch out of StreetComplete which has location permission elsewhere, the phone decides to save power by immediately turning the power off to GPS, and so when you switch back to StreetComplete, it tries to reestablish location, and it takes some time with high error while it reacquires reliable GPS signal).

If it happens like that, the problem likely lies with your Android phone system software (and should be happening with other foreground-location apps too). Tweaking power saving settings perhaps might help with that, but no guarantee (some instructions about quite complicated power savings might be found at https://dontkillmyapp.com/ for some more popular phone manufacturers)

What would also help trying to reproduce the problem is if you can share "screen recording" video of the bug happening in real time @sjvudp .

@mnalis
Copy link
Member

mnalis commented Apr 29, 2024

Heads-up: this might be genuine bug in Notes location (perhaps introduced around 57.x?); I've just experienced similar bug in SCEE at Helium314#543 where note was created some 200m off the location where I was creating it.

@sjvudp
Copy link
Author

sjvudp commented Apr 29, 2024

Well, leaving aside whether there is a bug or not, but considering the interface is intended to be simple, the user interface probably needs improvements:

  • The user assumes that after long-tapping a point on the map and selecting "add note" (or whatever the exact phrase is) that the note is placed exactly where they tapped the map.
  • However it's not quite clear whether the position can still be changed (unintended also) while or after having entered the note text
  • There seems to be a crosshair (or red exclamation sign) that can be re-positioned after having entered the text (i.e.: before tapping of the accept/check mark).

If the user tried to pan the map (maybe to see something on the map while entering text), the note will be re-positioned, most likely without the user being aware of it.

(In contrast OsmAnd keeps the initial position, but allows to relocate the note in a later step. I think that would be much more preferrable.)

If there were an undo function for notes, I would make some experiments, but I don't want to annoy other people with "test notes".

I don't know whether a "GPS position walking off" has any influence on note placement, but I realized that switching apps causes exactly such "GPS position walking off". One example would be using StreetMeasure.
For example I wasn't walking off the road, but just used StreetMeasure here (and there were no walls nearby)

For completeness I was using ColorOS 13.1 (Android 13, CPH2371_13.1.0.607(EX01) on a CPH2371_11 (Oppo Find X5 Lite)

@westnordost
Copy link
Member

Hm well, you find the UI of OsmAnd better. From my point of view, it is just different. Maybe you find it better because you are used to it?

Also note the text below "Create a note", it explains that you can adjust the note's position by moving the map.

If there were an undo function for notes, I would make some experiments, but I don't want to annoy other people with "test notes".

You can turn off auto-sync in the settings. While the note has not been uploaded yet, you can undo it.

@HolgerJeromin
Copy link
Contributor

we could delay uploading (the first 5?) notes and show an undo for 10 seconds.
not sure this is a goon idea

@mnalis
Copy link
Member

mnalis commented Apr 29, 2024

Hm well, you find the UI of OsmAnd better. From my point of view, it is just different. Maybe you find it better because you are used to it?

While familiarity of course always plays a factor, I too find OsmAnd way much safer.

Even if I'm quite familiar with both, and I generally like StreetComplete UI better and easier to use, this is one of the exceptions: even when the user well knows that the note can be moved at all times, it is apparently too easy to move it unintentionally.

To clarify, my metal procedure for creating the note works in separate discrete steps, e.g.:

  • firstly I choose position where I want to create the note (by long pressing there). Once I do that, I completely remove that task from my mental to-do list and do not think about it any more (likely in order to free up my brain cell resources so they can handle the next task 😄 )
  • secondly I take the pictures if needed. Once I've taken the pictures, I completely remove that task from my mental to-do list too.
  • thirdly I write text, and when done I automatically click OK to finish creating Note (without it ever occurring to me that I should verify previous tasks - e.g. if the location had somehow changed in the meantime, or if the pictures had disappeared, or anything else related to the tasks I've already completed previously)

The fact that the created note immediately disappears from the map in StreetComplete (while it remains visible at its final location in OsmAnd) compounds the problem, as the user does not see that the note has been created at the wrong position. In OsmAnd, if user happened to create the note at invalid position (which is much harder to do in the first place!), there would be immediate & permanent visual feedback, and user could correct.

As for the solution that would fit into StreetComplete, I'm not sure. Perhaps:

  • if note location has changed between start and finish, the user could be shown the warning "The note location has changed, do you want to use original or updated location?", or
  • after the note dialog is initially created at long-pressed location, have a lock icon (:lock:) preventing changing of Note location, unless that lock icon is first tapped so it becomes unlocked (:unlock:), or
  • have a preference (I know, I know! 😃) so user can choose if they prefer simple-mental-model (i.e. once specified, note location cannot be changed) or more freestyle note creation (i.e. current solution, where note location can be changed at any time). Preferably with default being simple-mental-model (AKA "let's only ever do one task at a time, so we can forget about it once it is done and move to the next one")

Also note the text below "Create a note", it explains that you can adjust the note's position by moving the map.

It does... However I think it has been somewhat shown in the past that users won't always (to say the least) read such (especially multi-line) explanation texts 🤷‍♂️ - but that is not the main problem here, I think (well, at least it is not in my case).

@sjvudp
Copy link
Author

sjvudp commented May 1, 2024

Another example for a severely mis-place note from this afternoon, making the note practically useless: https://www.openstreetmap.org/edit?note=4224996#map=19/49.18939/12.27518

The red arrow indicates where the note should have been:
grafik

@matkoniecz
Copy link
Member

can you capture video of note creation process? or is it happening only very occasionally?

@mnalis
Copy link
Member

mnalis commented May 10, 2024

I found this related issue, where pressing the compass icon (maybe even accidentally) messes up note location: #3101

@sjvudp
Copy link
Author

sjvudp commented May 15, 2024

can you capture video of note creation process? or is it happening only very occasionally?

The point is: It does not occur all the time, and videos fill the storage quite fast (especially when long or many).

@matkoniecz
Copy link
Member

Well, if given video has not captured it then you can delete it rather than keeping it forever.

So storage is needed for one screen capture.

@sjvudp
Copy link
Author

sjvudp commented May 18, 2024

To make things easier, it would be nice if a note would be displayed a few seconds (like 3) after it was filed, so the use could see where the note was actually placed, and if he/she could tap on that marker to re-open or re-position it, it would be nice.

@SomeoneElseOSM
Copy link

Just for info - I uploaded a bunch of notes with pictures a couple of days ago, from https://www.openstreetmap.org/note/4252536 onwards. In most cases notes were actually uploaded later, due to lack of phone signal. You can see that the note numbering is sequential even though the notes are hundreds of meters and several minutes apart.

In all cases the note position was correct - I recorded Garmin waypoints at the same time, and the positions match within a few meters.

I suspect that the reported problem here is more likely due to the user's phone misreporting the actual position (which can happen for all sorts of reasons). Perhaps the reported could verify that with some (external to StreetComplete) position tracking software?

@sjvudp
Copy link
Author

sjvudp commented Jun 30, 2024

@SomeoneElseOSM It's hard to tell whether the phone mis-reports the current position. I used several apps to verify the position accuracy, and it looked all very well. I don't know how the API to read the current position works, but I could imagine the API being used incorrectly, maybe. Specifically if there are multiple "consumers" (i.e. different apps requesting the position at different intervals).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feedback required more info is needed, issue will be likely closed if it is not provided
Projects
None yet
Development

No branches or pull requests

7 participants