Attendance App: Offline Sync in a Low-Signal School
A regional school is building an attendance app for 18 teachers across 6 classrooms. Wi-Fi drops for 20-40 minutes most mornings. Teachers currently mark rolls on paper and office staff retype them at 2 pm. The developer proposes a tablet app that stores each roll locally and syncs when a connection is detected. Two teachers may open the same class roll on different devices if a relief teacher covers a lesson. The office needs a daily attendance figure by 3 pm for a state report, and the principal wants an audit trail for any roll edited after submission. The first prototype overwrote one teacher's corrections because it uploaded the whole roll as a single record. The team has 10 weeks and one part-time developer.
1. Evaluate whether the proposed offline-first design is fit for this school's constraints. Recommend one design change and justify it with reference to the sync conflict and the 3 pm deadline.
Read the worked answer
Fit assessment: Offline-first is appropriate because the 20-40 minute outages would otherwise block the core task. Local storage lets each teacher finish marking regardless of signal.
Weakness: The overwrite shows a last-write-wins problem. Uploading a whole roll as one record means the later sync erases earlier corrections whenever two devices touch the same class. With relief teachers, concurrent edits are plausible, not hypothetical.
Recommended change: Sync at the level of individual student entries, each with a timestamp and device ID, and keep an append-only log of edits rather than replacing a roll. Conflicts then resolve per student, and the log supplies the principal's audit trail.
Deadline check: The 3 pm figure can be computed from whatever entries have synced, with unsynced devices flagged. A short sync window before 3 pm plus a visible 'not yet synced' count protects the report better than silent overwrites.
Feasibility: Per-entry sync and an edit log are modest additions, realistic for one developer in 10 weeks if the scope stays to attendance only.
2. The principal asks for a guarantee that the 3 pm report is always complete. Explain why a guarantee cannot be fully met and describe a control that manages the risk.
Read the worked answer
A full guarantee is impossible because completeness depends on devices reaching a network. If a tablet stays offline or is left at home, no software design can retrieve its data by 3 pm. The honest answer separates what the system controls from what it cannot.
What can be controlled:
- The app can show each teacher a sync status and block sign-out with unsynced entries.
- A scheduled check at 2:30 pm can list classes not yet synced and alert the office.
- The office can enter a paper fallback for those classes, marked as provisional.
What cannot: the physical arrival of data from an offline device.
Control to recommend: a completeness dashboard showing synced versus outstanding classes, with a named person responsible for chasing outstanding rolls before 3 pm. The report should label provisional figures rather than present them as final. This manages the risk transparently and matches the audit-trail requirement, instead of promising something the system cannot deliver.