We spent this month on an app for technicians who work where there is no signal. The sync engine was the easy part. Deciding what happens when two people edit the same work order offline was not.
What we shipped
- Offline capture for inspections, photos and signatures.
- A conflict view for planners that shows both versions side by side.
What broke
Our first rule was last-write-wins. In testing, a planner's correction was silently overwritten by a technician who synced two hours later. Silent was the problem.
What we'd do differently
Agree the conflict rules with the people who will live with them before writing the sync code. They are business rules that happen to be implemented in software.