For the iPad app:
- Every change is saved immediately to the internal iPad database, therefore if the iPad battery fully drains or the app crashes, nothing is lost.
- The full list of pedigrees currently syncs from the iPad to the server every 10 minutes if the app is actively being used.
- The full list of pedigrees syncs immediately once the user goes back from a pedigree to pedigree list.
- The full list of pedigrees currently syncs from the server to the iPad on user login.
- If there is no Internet connection when a sync is attempted, it skips that particular sync and tries next time.
- Finally, we sync from an iPad to the server at user login as well (to account for the situation where user makes some changes to the pedigree, and then locks the iPad, without going back to the pedigree list).
For the web app: All changes made via the web app are saved immediately.