Mobile design guidelines
Introduction
This document covers the visual styles and interaction patterns used in the Totara Mobile app. It is intended for developers and designers working on expanding and customising the app, to help them create a cohesive and enjoyable experience for their users.
It is a living document and will be updated as the app evolves. Please refer to the latest version when designing and implementing new features and workflows.
Fundamentals
We used React Native to build the Totara Mobile app for both iOS and Android platforms. The app is published for both platforms, with consideration for the different approaches they take on UX.
To learn more about the design principles and native controls (e.g. switches, status bars, etc.) used in the app, please refer to the iOS and Android design guidelines:
- Read more about iOS human interface guidelines (Apple)
- Read more about Android design guidelines (Google)
- Read more about the Totara Mobile app theme: Theming product documentation
Colour
Colour theme is applied consistently across all the app, with the default theme based on the Totara brand.
Colour variables, as depicted below, follow an abstract semantic framework that is applied in a meaningful manner consistently throughout the app. This enables users to derive meaning via colour, aiding the user experience. Each colour variable is customisable to match the customer's brand and design needs.
Brand
| |||||||||
PRIMARY #69BD45 105, 189, 69 | |||||||||
Neutral
| |||||||||
NEUTRAL-01 | NEUTRAL-02 #F5F5F5 245, 245, 245 | NEUTRAL-03 #E6E6E6 230, 230, 230 | NEUTRAL-04 #D2D2D2 210, 210, 210 | ||||||
NEUTRAL-05 #C7C7C7 199, 199, 199 | NEUTRAL-06 #7D7D7D 125, 125, 125 | NEUTRAL-07 #4A4A4A 74, 74, 74 | NEUTRAL-08 #000000 0, 0, 0 | ||||||
Prompt
| |||||||||
INFO #337Ab7 51, 122, 183 | SUCCESS #69BD45 105, 189, 69 | WARNING #8E660D 142, 102, 13 | ALERT #953539 149, 53, 57 | HIGHLIGHT #FDF8E4 253, 248, 228 | |||||
Interact
| |||||||||
LINK #007AFF 0, 122, 255 | DESTRUCTIVE #FF3B30 255, 59, 48 |
Layout, grid and spacing
The Totara Mobile app uses the widely popular 8pt grid for consistency and flexibility. Layouts, margins and UI element dimension are multiples of 8: 4, 16, 24, 32, 40, 48. This helps us achieve visual harmony and optimal rendering on most common screen sizes and device pixel density (for example x0.75, x1, x1.5, x2, x3). Follow this grid when designing and implementing new layouts in order to maintain a consistent UI.
- Responsiveness: We use flexible UI components with fixed spacing, based on 8pt grid, to ensure a good fit on any mobile device (and to future-proof the app)
- Readability: All pages follow Apple's safe area guideline, with margins on all edges, clear of content and interactive elements (excluding content overflow which users can swipe to scroll through)
- Harmony: Grouping and stacking elements based on 8pt grid (this is true for cards, tiles and page layouts)
- Usability: Touchscreen interaction must be forgiving to user errors, allowing for multiple factors such as 'fat fingers' and on-the-go usage - interactive elements such as buttons need bigger target areas (at least 40px) and generous spacing around them
- Read more about the 8pt grid: The comprehensive 8pt grid guide (Medium)
Typography
Typography, according to Wikipedia, is "the art and technique of arranging type to make written language legible, readable and appealing when displayed". In essence, mobile typography helps users find their way around the app with ease. We use fonts, text sizes, colour, grouping and spacing to bring order and hierarchy, making the app more user friendly and accessible.
Text styles
Totara mobile app uses iOS & Android system fonts:
Style | iOS Font | Android font | Weight | Size (px) | Letter space (px) | Line height (px) |
---|---|---|---|---|---|---|
H1 | SF Pro Display | Roboto | Bold | 40 | 0.36 | 48 |
H2 | SF Pro Display | Roboto | Bold | 34 | 0.18 | 41 |
H3 | SF Pro Display | Roboto | Bold | 28 | 0 | 34 |
H4 | SF Pro Display | Roboto | Bold | 22 | 0 | 28 |
Subtitle | SF Pro Display | Roboto | Medium | 20 | 0 | 25 |
Body | SF Pro Text | Roboto | Regular | 17 | -0.4 | 22 |
Body bold | SF Pro Text | Roboto | Bold | 17 | -0.2 | 22 |
Callout | SF Pro Text | Roboto | Regular | 16 | -0.32 | 21 |
Small | SF Pro Text | Roboto | Regular | 15 | -0.24 | 20 |
xSmall | SF Pro Text | Roboto | Regular | 13 | 0 | 18 |
xxSmall | SF Pro Text |