Screens and all other content are updated on the device at predefined synchronization intervals that occur in the background when the app is running. These intervals are:
- At user login on the app (or auto-login if using the "Remember Logins" option)
- On app's return to foreground from being in the background on the device.
- When the user hits the Upload button in a Form, completing it
- When the user manually hits the Force Sync button found on the Settings screen of the app. The Force Sync button is purely there for manual checking and is not required for synchronization to occur.
The app will display synchronization messages when synchronizations are in progress, completed, and failed. Sync failures usually occur because there is no network connection; the app will keep retrying at the intervals above.
Media file uploads & downloads (e.g. photos, audio, video) are run separately in the background, so as not to block data sync, and thus are not reported as part of the sync messages. This is because such files are usually larger and thus take longer to upload.
When any synchronization occurs, the app kicks off uploads/downloads of any pending media files. App users can track progress of media file uploads via the "Pending Files" count in the Settings screen of the app. If there are no files pending, then there will be no message in the Settings screen.
Why are users seeing an older version of their Screens / Data Sources?
Normally, this is because the user has been too quick to launch a new entry while a sync is still in progress. In these cases it's quite possible that the entry they create is against the old version as the sync has not had enough time to pull down the new version yet. If users are waiting on a new Screen to work on, they should wait for the "Synchronization completed" message which confirms the sync has occurred.