LibreShift / red-moon

Android screen filter app for night time phone use.
GNU General Public License v3.0
658 stars 82 forks source link

Better onboarding #114

Open smichel17 opened 7 years ago

smichel17 commented 7 years ago

I think one of our app intro screens should tell the user that some apps may not work while Red Moon is running, since that is one of the more surprising things to find out about the app. The last slide, about turning on Red Moon with the switch at the top, is probably exceedingly obvious now, so I'd vote for replacing that one.

smichel17 commented 7 years ago

Principle: The user should not have to change any settings to use the app.

Problem: There are some settings (timer, pause in secure apps) that most users will want enabled, but they're currently off by default.

Reason: Those settings won't work without the user granting permissions.

Solution: Allow those settings to be turned on even if the permissions are not granted. They will not work, but will cause a snackbar to appear, which informs the user that additional permissions are required and prompts them to grant the permissions.

See #189 for (work in progress) implementation

Note -- you can see older ideas in the edit history

matteocoder commented 7 years ago

Related to this issue, it is necessary to also think about the length of the sentences. As shown in the screenshot below, text might be covered by the navbar at the bottom, either because the paragraph is too long or because the low resolution of the screen (even though the latter might not be a big issue anymore); this is especially true when dealing with verbose languages like Italian, which can increase the number of characters in a paragraph.

screenshot 13 mar 2017 16_36_49

raatmarien commented 7 years ago

Upgrading to AppIntro v4.1.0 should fix this as long as the strings don't get much longer than this.

matteocoder commented 7 years ago

@raatmarien Awesome! when will the new intro be available?

raatmarien commented 7 years ago

@matteocoder It's on master now, so it will be in the next release.

smichel17 commented 4 years ago

There is a new type of material component, Banners, that are a very good fit for this. Also, since they're different than snackbars, we won't need to change the location update flow. Specs:

Android does not yet have an official library for implementing material banners, but there is a 3rd party library that we can use for now. MinSdk 14 so we're all set on that front. https://github.com/sergivonavi/MaterialBanner

smichel17 commented 4 years ago

Minor problem: The library only supports Material themes (not appcompat), which means api 21 (Android 5.0) and up only. So it's out. I may be able to replicate similar functionality with a card.