Documentation
UI guidelines
App info and settings

App's info and settings

Provide info about your app, and expose settings if users need to change the default behavior of your app.

App informations

Your app must provide at least its version number and the developer name or organization. This information is part of the app’s resources and will be used to automatically build a default version of the info screen.

App Info
The Bitcoin app’s info page, accessed by tapping the “info” button in the top-right corner of the home page.
💻

API
nbgl_useCaseHomeAndSettings()
This high-level API contains structures describing the info and settings of your app. View API docs.

If needed, you can provide more info with the same format: rows of key-value pairs.

App Settings

⚠️

App settings are reset to their default values every time your app is updated, or reinstalled after an OS update.

Ledger is currently working on solving this limitation by providing a backup-and-restore mechanism for app data. These guidelines will be updated upon this mechanism’s release.

Your app can have settings that unlock new capabilities or alter its behavior. As soon as your app contains a setting, the icon on the app’s home changes to a wheel, instead of the “info” icon.

Settings must always appear before the app’s info, as illustrated by the Ethereum app example below. Navigation arrows are automatically introduced to split sections on their respective pages.

App Settings
The wheel icon leads to settings, which appear before the app’s info on the next page.

Setting can use the following interactive elements:

  • toggle switches
  • radio buttons
  • and tappable rows for navigation.

Tappable rows are used when introducing hierarchy and sub-settings.

Don’t mix the types of the interactive elements on the same page (eg. showing both toggle switches and radio buttons on the same page):

App Settings
Example of the the Monero app settings, showing a first level with tappable rows, and a second level of sub-settings containing radio buttons.

Key takeways

  • · Rely on your app’s resources to create a default info page.
  • · Avoid app settings whenever possible, by choosing the best default behavior for the majority of your users.
  • · When settings are needed, provide default values that will suit the majority of users.
Ledger
Copyright © Ledger SAS. All rights reserved. Ledger, Ledger Nano S, Ledger Vault, Bolos are registered trademarks of Ledger SAS