iOS App Settings: A Study
If I’m in settings on home, and then go to different tabs, and then return to the home tab, it’s still in the settings option.
I gave a little cheer when I received this bug report from a TestFlight user of my app, lily dex. Finally, I had made an app worthy of scrutiny. This wasn't my first bit of feedback, but each one was a reminder that people actually use my app!
This particular bit of feedback was different than most in that it wasn't describing something that was broken... my Settings view was working as I'd intended it to, and (I'd later discover) in the same way as many other apps' Settings views.
The Bug
lily dex is pretty flat. Each tab in the menu bar at the bottom is associated with one page: Home, Wild, Caught, and Search. The only other page in the app is Settings, which is accessed by tapping the gear at the top right of Home. Unfortunately, when you tap into Settings the menu bar is still visible, allowing users to navigate to other pages while Settings is open. If you navigate away and then tap Home to go home, you will instead be greeted by the Settings view that was never dismissed.
The Research
I poked around a bit in Xcode to see what felt right, but quickly decided I needed to do some research into how other apps were handling their Settings views.
This is a lazy study. My sample data set is made up of frequently used apps on my phone. I documented two things: the type of view the app used for its settings (a new view that slides in, a sheet, a dedicated tab, etc), and what navigation options were available from the settings view. Leading refers to the top left navigation and Trailing, top right. Here's what I found.
New View That Slides In
These apps work similarly to mine, as described above. All exhibit the same “buggy” behavior as lily dex.
App | Leading | Trailing |
---|---|---|
lily dex | < Home | |
GitHub | < Back | |
Goodreads | < | |
Starbucks | < | |
< | ||
Watch | < {Watch name} | |
Jumbo | < Back |
New View That Slides In (Tab Bar Hidden)
A key component of this bug is that the user can navigate away from Settings using the app's tabs. The following apps remedy this by hiding the tab bar entirely while the settings are open.
App | Leading | Trailing |
---|---|---|
Dispo | ← | |
Overcast | < | |
Vivint | < | |
Zeitgeist | < Zeitgeist | |
Walmart | < | |
Google Photos | < |
New View
I discovered one app where it appeared that the team had built their own version of iOS's navigation. In practice, the Alexa app works the same as the apps in New View That Slides In... except the settings view doesn't slide in. It very noticeably flashes in.
While ugly in this regard, the Alexa app does not suffer from the aforementioned bug.
App | Leading | Trailing |
---|---|---|
Amazon Alexa | < |
Sheet
I quickly ran into a new method of displaying settings - in a sheet (a view that appears over an existing view). Sheets slide in from the bottom of the screen and can be dismissed by pulling them down or (typically) tapping a Done button.
Apps that use sheets for their settings do not include the bug since the sheet covers the whole app, blocking users from tapping the menu bar tabs.
This ended up being the most popular method by far, even used by most of the Apple apps I checked.
App | Leading | Trailing |
---|---|---|
Apple Music | Done | |
Apple TV | Done | |
Letterboxd | Cancel | Save |
Deliveries | Done | |
Grocery | Done | |
Copilot | ||
Weather Line | Done | |
Hey | ⌄ | |
Fantastical | Done | |
Slack | ✕ | |
Opal* | ||
Halide* | ||
Apple News | Done | |
App Store | Done | |
Home | < Rooms | Done |
Connect | Done | |
Flighty | Done | |
Dark Sky | Done | |
NetNewsWire | Done | |
Animatic | Done |
* Indicates an app with a centered down arrow in the nav.
Full-Screen Cover
This one's the same as a sheet, except it fills the entire screen. Sheets typically leave some space at the top.
App | Leading | Trailing |
---|---|---|
Notion | Done | |
Instapaper | Done |
Dedicated Tab
A few apps promoted the settings view to their menu bar.
App |
---|
1Password |
Discord |
Apollo |
Custom Modal
And finally, one team built a custom modal view to contain their app settings.
App | Leading | Trailing |
---|---|---|
Things | Done |
A Confession
The quote at the beginning of this post wasn't the full quote.
If I’m in settings on home, and then go to different tabs, and then return to the home tab, it’s still in the settings option. And if you click the home tab again, it doesn’t go home. Just stays in settings.
I primarily focused on the first sentence during this exploration, but there was a second part to the feedback I received: Tapping Home while viewing the nested Settings view didn't take you home. In hindsight, this was the bigger issue. It's implicit in the feedback that tapping Home multiple times should navigate and then dismiss nested views. Perhaps users are used to button-mashing their way to the root view.
In all of the apps in the New View That Slides In section (and unlike my app), double-tapping the tab navigation dismisses the settings view.
My Takeaway
The sheet is far and away the most popular way to present settings. Navigation among this subset of apps is a bit of a mess, although all of Apple's apps in this category are 100% consistent with a trailing Done button. Shout out to Weather Line, Flighty, Dark Sky, and Animatic for following suit.
Based on this study, I moved my settings into a sheet with a trailing Done button as well.
Thanks to Luke for the feedback that kicked this whole thing off!