#437 and #196 and 470bc6f added a new setting "Allow screen to sleep". This setting is great for saving battery. However, sometimes that's desirable, sometimes not.
My problem: I tried using Organic Maps (Android) for a quick navigation (driving from point A to point B). However, having the screen to turn of while driving is less than ideal. In fact, it's dangerous. But at the same time I like letting it turn off automatically when idle, because I'm used to the behavior of the phone going to sleep on most apps.
What happens: There is one boolean toggle to let the screen turn off automatically, or to keep it always on. This setting is global, applies to the entire app, disregarding the context.
What should happen: I'm not sure exactly. Let me enumerate certain use-cases (AKA brainstorm):
- Thinking about the current map mode:
- While idle in "normal" mode, the screen should turn OFF to save battery.
- During "navigation" mode…
- …while driving, most likely the screen should stay ON.
- …while cycling or walking, the screen could turn OFF automatically. Or maybe not. Let it stay ON, and let the user press the power button to manually turn it off.
- Thinking about charging state:
- If the phone is being charged while the app is in use, most likely the user wants the screen to stay on.
- If the phone is not charging, most likely the screen should go off to save the phone battery.
- Thinking about what the user is doing:
- If the user is driving…
- …most likely the user has the phone connected to a charger in the vehicle, so battery life is not an issue.
- …most likely the screen timeout will happen after the vehicle is already on the move. (Because the user will start the navigation and then start driving.)
- …then the user must keep the hands on the wheel and the eyes on the road. Any extra effort to turn on the screen and potentially unlock the phone can be dangerous.
- If the user is cycling or walking…
- …most likely the user is on battery, with or without an external power bank.
- …then the user is moving slower (up to 20km/h), which is less dangerous than driving, and gives more time to react. It also means the user position updates slower, which means the user doesn't need to look at the screen as often.
- …then most likely the user can reach the phone to turn it on or off. Although doing so while cycling can be cumbersome.
- Thinking about other app(s):
- Google maps in normal mode…
- …will turn the screen off when idle, just as any other app. (In other words, it won't acquire any screen wakelock.)
- Google maps in navigation mode…
- …will keep the screen on.
- …will show up even when the phone is locked. (How to reproduce: enter navigation, then press the power button to turn off the screen and lock the phone, then press the power button again to wake up the phone → the Google Maps Navigation will show up, although the phone is still locked.)
In conclusion… What should Organic Maps do? I think it should treat the two modes in different ways. I like the way Google Maps behaves, mostly because that's what I'm most used to, but also because it seems to behave in a sane way on the different use-cases. But I also like the ability to tweak the settings to the user needs, and I don't want to disrupt any current use-cases. I'm also not sure how to empower the user to tweak the behavior without becoming a UX nightmare.