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

Introduce map rotation North fixed / Less sensitive calculate map rotation #17086

Closed
billmaurer opened this issue Apr 29, 2023 · 58 comments · Fixed by #18927
Closed

Introduce map rotation North fixed / Less sensitive calculate map rotation #17086

billmaurer opened this issue Apr 29, 2023 · 58 comments · Fixed by #18927
Assignees
Milestone

Comments

@billmaurer
Copy link

It is very easy to accidentally alter the map orientation by many different gestures on the screen.

This could be done by adding a checkbox "Lock map to this orientation" to the Map Orientation dialog.

The dialog can be opened in Profile - General settings - Map orientation or by long pressing the Map Orientation button on the top left of the map display.

My preference is to keep the map orientation to always point north while in hiking mode.

@Zirochkabila
Copy link
Collaborator

Related to #7282

@billmaurer
Copy link
Author

Not true. This has nothing to do with the compass or bearing mode or anything like that.

The gesture for zooming in and out is very similar to the gesture for rotating the map. If you let your fingers drift even slightly doing the zoom gesture the map will flip out of the orientation mode you had previously set and into rotation mode. This is highly undesirable.

@Nine-Tailed
Copy link
Contributor

Nine-Tailed commented Apr 29, 2023

unfortunately they don't listen to us
#16836

@billmaurer
Copy link
Author

Yes, this is definitely the same as #16836.

So I'm not the first to be annoyed by this! :-)

@arncor
Copy link

arncor commented Apr 29, 2023

I (and a few friends too) use osmand a lot and we all want a "north up" only view. We almost never need manual rotation.

In our opinion the low threshold is very very annoying.

@Zirochkabila
Copy link
Collaborator

@billmaurer in item 4. A large button for locking/unlocking the maps turns (7282) - this is exactly the feature you are asking about, isn't it?
@Nine-Tailed Regarding the zoom change thing - in the latest nightly version it works well, I think (video attached)
Regarding the map tilting - I agree, it's probably worth fixing, @alex-osm - comment with video added #16836 (comment)

OsmAnd~ 4.5.0#35865m, Released: 2023-04-29

telegram-cloud-document-2-5363906779627399271.mp4

@H--W
Copy link

H--W commented Apr 30, 2023

I would also like to have this feature. Some underpowered devices are only usable in continuous north up orientation. Also many navigators expect a map to follow a paper map/chart paradigm. I would be willing to edit a text config file to get this feature. Perhaps this should be a per profile setting? Rgds, -H- ver 4.4.7 Android
After a bit of thought I should add: Considering the limited exposure I've had with professional navigation equipment; one should note that any operation which could inadvertently change the operating mode of the device wouldn't just be considered an anti-feature, it would be considered a safety hazard and would prevent safety certification. Just say'n. :) -H-:

@sonora
Copy link
Member

sonora commented May 1, 2023

Folks, I think it's how I've said all along: The map orientation mode "North is up (fixed)" should be exactly what its name promises: North should be up, and it must be reasonably fixed. 😉

That's how we've had it for 10 years without complaints. The flaw we recently introduced is that by a rather slight two-finger twist of the map, as it sometimes accidentally happens during a pinch zoom gesture, we now slip from "North is up (fixed)" to map orientation mode "Manual rotation". There the map is statically rotated vs. the device orientation, a comparatively rare use case for everyday operation(!)

I see 2 possible solutions:

  • (A) We return for the "North is up (fixed)" mode to the previous app behavior ,where we had a 30 degree guard interval (or 'trigger'): When initially in "North is is up (fixed)" mode, only when twisting the map beyond 30 degrees from north, the app interpreted this as the trigger to now switch to the "Manual rotation" mode (where map twisting is repected immediately without having to overcome a trigger). Or:
  • (B) Use no trigger at all. Instead expect users who want to leave the "North is up (fixed)" map orientation mode to explicitly do this via the "Configure profile" settings (or by tapping the compass icon if configured to be visible).

@vshcherb
Copy link
Member

Now I see how development happens, first we rename option and then we constitute that option should work the same as name suggested ;-)

Even "North is up (fixed)" is a good name and we will have that option, it won't be default and we will run into another cycle of consequent issues. Indeed we should have

  1. Lock provided in settings (doesn't matter north is up or not)
  2. Rename back "North is up (fixed)" -> "North is up"

@vshcherb vshcherb added this to the 4.5-android milestone May 11, 2023
@sonora
Copy link
Member

sonora commented May 11, 2023

Now I see how development happens, first we rename option and then we constitute that option should work the same as name suggested ;-)

Pardon my little trick to nudge development in the right direction ... 😉😉😉 But as you can see, there's popular demand! 😉

Actually, what started the problems was not adding "(fixed)" in the string to clarify there is no rotation in play, it was removing the threshold which changed the formerly pretty "fixed" behavior to now allowing accidental changes: #16836 (comment) 😉

@vshcherb
Copy link
Member

The issue is that it doesn't matter whether we fix rotation further or threshold there is clearly demand to not allow rotate map by any accidental click on compass or any harsh movement, so North up (fixed) makes sense but also make sense Movement direction (fixed)

@rouelibre1
Copy link

I just upgraded to the latest version and I am now impacted by this "fixed north" that isn't fixed...
I had heard complaints about it before and didn't understand why it was such a big deal.
Now I get it : this is incredibly frustrating... I like the previous behviour where it was already possible to override the "fixed" orientation, but there was no (or little) risk of doing so unintentionally.

Now it's just impossible to not override the "fixed" orientation by zooming in/out with two fingers. Which deafeats the whole purpose of this "fixed" option.

I'm considering rollback until this get fixed (hopefully) in a future version.

@scaidermern
Copy link
Contributor

I'm still wondering why this bug(!) has never been fixed in version 4.4.

@mnalis
Copy link
Contributor

mnalis commented May 16, 2023

I'm still wondering why this bug(!) has never been fixed in version 4.4.

Is it fixed in some other version? Reading the user experiences with that change, there is no way I'll be upgrading from F-droid version 4.3.12 until there is confirmation that is either reverted, or at least configurable so old behaviour can be selected by the user.

Lock provided in settings (doesn't matter north is up or not)

While I do rotate map often, I also want North is up (when selected) to do exactly that, and not to be disturbed by slightest touch (as I use that one often too, depending on where I am and what I am doing). Previous legacy behaviour was just fine with me, allowing both options easily.

If new (4.5+?) proposed solution would require me to go to options and enable/disable some rotation lock preference (if I'm understanding that correctly?), that would be horrible user experience to me, as I'd basically have to give up one of the options previously available (there is no way I'd be going into preferences all the time to change it on/off over and over again)

Does someone know if simply setting ANGLE_THRESHOLD back to 30 from new ultra-sensitive 5 would fix the issue (by "fix" I mean revert to legacy pre-4.4 behaviour)?

And if it would, could we just have an advanced preference which allows user to set integer for that ANGLE_THRESHOLD? That would seem to me very easy to implement, and allow the user to choose their side in this highly polarized decision. (or alternatively we could have that preference as boolean checkbox saying Ultra-sensitive rotation which can be set to on (setting new ANGLE_THRESHOLD=5) or off (setting legacy ANGLE_THRESHOLD=30)?

@scaidermern
Copy link
Contributor

I'm still wondering why this bug(!) has never been fixed in version 4.4.

Is it fixed in some other version?

Sort of. In version 4.5 the threshold is higher (the same again as in version 4.3?).

@sonora
Copy link
Member

sonora commented May 16, 2023

This PR #17197 would revert to the old guarded behavior for "North is up" mode while not affecting any other modes.

@sonora
Copy link
Member

sonora commented May 17, 2023

PS - Wording: So do you think we should rename the two "fixed" modes to just "North is up" and "Manually rotated"? I have no preference, just thought that (fixed) would make it a bit clearer to separate these from the 2 dynamic modes.

EDIT: @vshcherb I am thinking that perhaps using "(static)" instead of ("fixed)" would be the better wording to distinguish the 2 rigid from the two dynamic map orientation modes?

@H--W
Copy link

H--W commented May 17, 2023

I think most professional navigation devices use "North Up or North-Up" and "Track Up or Track-Up". Most do not have a "Manually Rotated" as ships (boats) and aircraft are always navigating. I have no preference, but for consistency with industry devices either of the first two, and for the third something short and precise. Best Rgds, -H-

@mnalis
Copy link
Contributor

mnalis commented May 19, 2023

This PR #17197 would revert to the old guarded behavior for "North is up" mode while not affecting any other modes.

Thanks, it seems to work for me. If other people are willing to try it, I've build debug .apk so feel free to try it out and give your experiences.


Of course people should not trust other random people on the .net offering them .apk files to run 😄, so I'm glad to announce my PR #17222 (which allows people without Android development environment to easily get compiled .apk of OsmAnd by making GitHub actions do it for them) has been merged into master so is available to all.

If you'd prefer that method, fork this repo, create new branch, apply the PR to it, and then in your fork click on Actions / Build debug apk / Run workflow and choose your branch where you applied the PR. Wait about 30 minutes, and there will be .apk ready for you.

@vshcherb vshcherb changed the title Lock map orientation Alternative approach to calculate map rotation May 25, 2023
@vshcherb
Copy link
Member

One decision to simplify situation is to make initial movement of rotation if it's not made then rotation won't be started even if fingers will be moving.

@mnalis
Copy link
Contributor

mnalis commented May 26, 2023

Thanks @vshcherb, disabling rotation (for the whole length of the gesture) if the initial gesture looked like zoom should probably help (at least somewhat!)

Please mention this issue when that lands in some PR or master, so interested parties can try it out and give feedback.

@vshcherb
Copy link
Member

4.5.1 beta is out and ready to upgrade from 4.4 - threshold is higher

@maltfield
Copy link

maltfield commented Dec 29, 2023

Can someone please clarify which version of OSMAnd introduced this issue, and what is the version on F-Droid that we should downgrade-to to fix it?

@sonora
Copy link
Member

sonora commented Dec 30, 2023

@maltfield Going back to my original post about this #16836, it seems this was introduced in https://github.com/osmandapp/OsmAnd/pull/16746/commits, which would mean that probably 4.3.12 may have been the last official release without the issue.

@maltfield
Copy link

Yay! In what version of OsmAnd is this fixed?

@elf128
Copy link

elf128 commented Jan 21, 2024 via email

@scaidermern
Copy link
Contributor

Sounds like only the second part got fixed. The first part (introduce map rotation North fixed) is still open? 🤔

@vshcherb
Copy link
Member

Yes, north fixed orientation was not introduced, that could be a separate issue for that. First of all we want to fix the default behavior that 99% of users won't complain cause it's a big issue to change settings for most of the users. Later we could think for a small fraction of user who will be unhappy.

Current behavior had a problem for many users that did zoom in and map was rotated with random angle because of gesture nature.

@dmpr0 dmpr0 reopened this Jan 22, 2024
@dmpr0
Copy link
Contributor

dmpr0 commented Jan 22, 2024

Review

Screenshot
  • Map rotation works 1 of 4 times

@sonora
Copy link
Member

sonora commented Jan 23, 2024

From my testing with a few users, also novice ones: Yes, this now helps in many cases where users happen to start a small zoom operation before any unintended twist. But there are still some who manage to unintentionally twist before zooming, and find their map rotated (there is very little threshold) without intent, often not even noticing it.

So I continue to vote for a significant initial twist threshold. We could of course

  • chose to use the threshold solely if the starting map rotation is zero (i.e. map points North), so users would then have to overcome the threshold (and never leave "North is up" if they don't),
  • while if the map is already rotated, we can drop the threshold, assuming that that only occurs for users who intentionally already have rotated the map.

PS: Please note that the coding of the latest commit is not clean, should be fixed in a final version: 4d8e208#commitcomment-137584766

@realityexists
Copy link

In what version is this supposed to be fixed? I installed 4.6.12 from F-droid and it's still the same - still incredibly annoying!

Look, I don't want workarounds to make the problem less likely. Just give me a setting to make it impossible to orient the map any way other than north being up, except by changing that setting (deep in the settings screens somewhere, not on the map screen). The current "North is up" setting sounds like it should do exactly that, but it doesn't!

I just want north to be up always. Always. Always! No matter what. It's really that simple!

@realityexists
Copy link

it seems this was introduced in https://github.com/osmandapp/OsmAnd/pull/16746/commits, which would mean that probably 4.3.12 may have been the last official release without the issue.

Is it still possible to download the APK of this verison somewhere? It's not on F-droid anymore. :(

@mahdi1234
Copy link

@realityexists here https://apt.izzysoft.de/fdroid/index/apk/net.osmand.plus?repo=archive but that's not really solution. I would also wish for this "very simple toggle" to be present in most recent version.

@realityexists
Copy link

Thanks! I realised I just have to select the "F-droid archive" repository to install 4.3.12 using the F-droid client.
Even in that version the map can be rotated when "north is up" is selected, but it seems to take more rotation, so it's an improvement.

@maltfield
Copy link

I just want north to be up always. Always. Always! No matter what. It's really that simple!

I also don't understand why this is so hard. Is there some technical issue? Or are devs not understanding users expectations here?

@XandrexOSM
Copy link

I just want north to be up always. Always. Always! No matter what. It's really that simple!

I also don't understand why this is so hard. Is there some technical issue? Or are devs not understanding users expectations here?

Hello @maltfield ,

there is no technical issue. the behaviour is the one intended by the OsmAnd team.
They perfectly understand the expectations expressed by several users here, but they simply do not agree. All arguments have already been opposed, and they are not enough.

As stated by @Nine-Tailed in april 2023 above, please check conversation #16836 .

@realityexists
Copy link

realityexists commented Apr 8, 2024

the behaviour is the one intended by the OsmAnd team. They perfectly understand the expectations expressed by several users here, but they simply do not agree. All arguments have already been opposed, and they are not enough.

As stated by @Nine-Tailed in april 2023 above, please check conversation #16836 .

Thanks for the link, @XandrexOSM. I've read the top-level comments in that (very long) discussion, but it's unclear to me what exactly the maintainers do not agree about. The closest I could find is this comment by vshcherb:

Fingers should stay intact with map points when they where pressed.

and then you (XandrexOSM) elaborating on that:

when you put your two fingers on the map, they are on point A and point B of the map, and whatever you do with those two fingers, the principle says the fingers should always be at points A and B. Meaning you can always rotate & zoom, or zoom & rotate, depending on your swipe movements with each finger.

Is this what you're referring to when you say that the maintainers simply do not agree?

I can totally see how the behavior you're talking about (fingers stay on the same map points) can be desirable to some users! However, there are clearly other users to whom it's undesirable, as you yourself acknowledged. Between this issue and the linked thread, I count no fewer than 21 (!!) users who have specifically requested a "north is always up" mode:

In this issue:

  1. billmaurer
  2. arncor
  3. H--W
  4. sonora
  5. rouelibre1
  6. mnalis
  7. milan11
  8. ploink
  9. scaidermern
  10. elf128
  11. osmandlover (even provided a PR!)
  12. realityexists
  13. mahdi1234
  14. maltfield (implied by "heart" reaction, but not explicitly stated, so not included in the count)

In the discussion thread you linked:

  1. sonora (already counted from this issue)
  2. pebogufi
  3. Boothy99
  4. Zyolix
  5. alberto4github
  6. bettrr01
  7. asier70
  8. navid-zamani
  9. BoswachterMarc

Isn't this exactly what settings are for - to enable different users to have different behavior? Adding either another mode for this or a "movement threshold setting" (suggested above by mnalis) or even another setting entirely (buried deep somewhere, if you must) would make both groups happy, wouldn't it?

It's arguable what the average user would expect when they select a mode named "North is up", but that's not the argument I'd like to focus on. I don't care what the mode is called. I don't care how well it's hidden. I don't care if I have to download a hacked binary and root my phone and edit a config file to get the "north is really-truly-always up" mode, as long as I can set it once and for all and have it stay like this. Please, just add a setting... any kind of setting!

@osmandapp osmandapp locked as too heated and limited conversation to collaborators Apr 8, 2024
@vshcherb
Copy link
Member

As 4.7.9 is out, there is a setting (until we have better solution for UI design) to have north fixed. It's in General Settings.

Thank you all for discussion, though this issue will remain blocked as too many off-topic. In case it doesn't work, you can open new issue

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.