Android settings panels: App engagement
As an app developer, you want people to engage with your application: Interact with it, spend time on it and return to it frequently, which is why keeping your user focused on your app while they’re in it and minimizing distraction is important.
It’s safe to say that most apps nowadays require an internet connection. When a user isn’t connected to the internet, they may have to go into the device’s settings to turn wifi on for example, or they may pull down the quick settings dropdown menu and toggle the wifi or mobile data on. In both cases, they’ll no longer be in the context of your app, they may get distracted by the settings screen or a notification from another app in the notifications drawer (underneath the quick settings dropdown).
Android Q offers a great solution for this kind of scenario, settings panels. As explained in a recent Fragmented episode by Donn Felker, keeping the user in the context of your app as much as possible not only increases their engagement with your app, but also decreases the likelihood of them abandoning it when having to accomplish an action to better use your app, such as connecting to a nearby wifi network, toggling off airplane mode, toggling on NFC or increasing the volume of alarms on their device. Having an app that integrates this control internally is a win-win for both the app’s developer/team and the users.
Below is an example of allowing the user to connect to the internet from within the same screen. It uses the internet connectivity panel, and consists of a screen with a WebView
that -obviously- requires internet connection to load content.
The layout is as simple as it gets, just a WebView
.
The layout is rendered inside an Activity
that attempts to load a web page in the WebView
.
If the device has an active internet connection, the web page is loaded. Otherwise a Snackbar
pops up to prompt the user to connect to the internet. Once they click on its action, the internet connectivity panel is displayed, the user can then toggle on wifi and select a network. Once they press “Done”, onActivityResult
is called, and the initial flow is restarted.
All in all
Settings panels, while seemingly simple, can have a considerable impact on your app’s user experience. Allowing your user to focus on what you want them to do without actually having to leave your app at any moment will undoubtedly engage them more.