Android settings panels: App engagement

Husayn Hakeem
ProAndroidDev
Published in
3 min readApr 12, 2019

--

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.

Connecting to wifi from within the app

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.

For more on Java, Kotlin and Android, follow me to get notified when I write new posts, or let’s connect on Github and Twitter!

--

--