In short
- An offline app stores data on the device and sends it to the server when the connection returns.
- Conflicts are the hardest part: what if two people change the same record without internet?
- Photos and signatures take a lot of space - plan compression and the order of uploads.
- Users must see what has been sent and what is waiting - otherwise they stop trusting the app.
- Data on the device has to be protected: encryption, lock, remote wipe if a phone is lost.
How offline work works
The app keeps on the device the data needed for work (orders, lists of sites, lookup lists) and stores locally everything the user enters. When a connection appears, changes go to the server and new data comes from it.
It sounds simple, but it means part of the system's logic has to run on the phone, not only on the server. That is why offline work is one of the more expensive requirements and has to be agreed at the start of the project.
Data conflicts
The hardest question is: what if two people change the same record without internet? Possible rules:
- the later change wins - simple, but data can be lost,
- a record has one owner - e.g. an order assigned to one technician,
- the conflict goes to someone in the office who decides what stays,
- data is only appended (new readings, new photos) - conflicts practically disappear.
It is best to design the process so that conflicts are rare - usually through clear assignment of work.
Photos, signatures and large files
Field reports often include photos and signatures. Plan compression, a storage limit on the device and the order of uploads: text data first, then photos, which may take longer. A photo must stay permanently linked to the right report.
What the user has to see
- whether they are online and when data was last synced,
- which documents are waiting to be sent,
- whether something failed and what to do about it.
Without that, staff do not know whether a report "went through", call the office or fill in the document twice.
Security of data on the device
Data stored on a phone can fall into the wrong hands if the device is lost. The basics are encrypting data in the app, a screen lock, logout after inactivity and the option to wipe data remotely - easiest when company phones are managed through MDM.