Discipline — Mobile applications
Mobile applications
Applications for iOS and Android, built to a written specification and tested on a declared set of real devices.
Approach selected by criteria: hardware access, background tasks, performance needs and the team who will maintain it.
Comparator
Native or cross-platform?
Choose a product profile to see how we would usually specify it. The final choice is always made with you during specification.
| Typical approach | Cross-platform (Flutter or React Native) |
|---|---|
| Rationale | One codebase, consistent behaviour, lower maintenance cost for standard interface patterns. |
| Watch for | Platform conventions such as navigation and sharing still need per-platform attention. |
| Test emphasis | Sign-in, account recovery, content loading and text scaling. |
| Typical approach | Native (Swift for iOS, Kotlin for Android) |
|---|---|
| Rationale | Direct access to Bluetooth, camera pipelines, sensors and background modes with fewer abstraction layers. |
| Watch for | Two codebases; shared logic and test plans must be kept aligned. |
| Test emphasis | Pairing, permissions, battery use and behaviour on older devices. |
| Typical approach | Either, decided by sync complexity |
|---|---|
| Rationale | Offline-first apps live or die by their local storage and sync rules, which matter more than the UI framework. |
| Watch for | Conflict resolution when two people change the same record offline. |
| Test emphasis | Airplane mode, intermittent signal, partial sync and recovery. |
Deliverables
- Source
- Repository in your account with build instructions and a dependency register.
- Builds
- Automated pipeline producing signed builds for internal testing tracks.
- Devices
- Device and OS matrix agreed in writing before testing begins.
- Offline
- Defined behaviour for every screen without connectivity.
- Accessibility
- VoiceOver, TalkBack, dynamic type and contrast checks recorded.
- Diagnostics
- Crash reporting with personal data minimised and documented.
- Notifications
- Permission requested in context with clear wording.
- Handover
- Release notes per version and a maintenance guide.