


Challenges
A few challenges we had:
- App & Hardware co-development
- OTA Firmware updates on the fly
- Presenting large data to users on a small screen
- Large compatibility across iOS & Android
- Offline mode considerations
1) App & Hardware co-development
Due to tight timelines the mobile app and hardware were being developed at the same time. This meanscareful alignment was needed with internal teams to ensure re-work was kept to a minimum on a changing environment
2) OTA Firmware updates on the fly
Firmware update files were quite large, and needed to be handled carefully across a slow BLE connection, with multiple fail-safes and protections in place.
3) Presenting large data to users on a small screen
Multiple control buttons, readings, and live data all being presented at once
4) Large compatibility across iOS & Android
The app being available across multiple countries meant the need to cater for multiple devices including some older handsets
5) Offline mode considerations
Not all users would have a data connection, therefore we needed to manage locally the storage of data and utility later data connections to facilitate server comms

