Best Practices for Offline Mode in the Field Service mobile app – Part 1
This is a 3-part blog series aimed to get the maximum benefits of using the Field Service mobile application in the ‘Offline’ mode. Follow along as we share the knowledge that would allow the frontline workers using the Field Service mobile application to get the best results.
Mobile Offline Overview
Frontline workers often perform tasks in areas with variable network connectivity. While using an online-only application, poor network connections can lead to slow app performance. Requests over the network may have delayed responses or even fail with errors when the network isn’t available.
Field Service Mobile solves this problem by running “offline-first”, where after syncing data from the server, the application’s primary data source is a local database which is accessed without the need for a network connection. Running an offline-first application provides a more efficient and performant experience for your end users regardless of network conditions.
This three-part series of blog posts will provide in-depth information about the offline application and user experience as well as recommendations to make the most out of your offline Field Service mobile application.
Understand the Mobile Offline user experience
Offline-first mode in Dynamics 365 Field Service Mobile provides a seamless experience for end users. The application will automatically sync with Dataverse to keep data up to date when the network is available.
Having a solid understanding of how offline mode works will help the Makers and IT Admins configure and support if issues or question arise.
The offline-enabled application will download data for offline-enabled Tables as defined by the Mobile Offline Profile. The Mobile Offline Profile is where makers configure queries and build relationships between tables to limit data that is downloaded and ensure an efficient synchronization performance and that data required for application operation is available on the device.
First time sync
When a user logs into the offline-enabled application, the first sync will start. This sync brings down all records within scope of the mobile offline profile. Additional tables may be added to the application which are not part of the mobile offline profile. These tables are considered “online” and would only have data available when the device has network access.
During the first sync, records will be downloaded and stored in the secure SQLite database on the device. While the first sync is happening, the application user can start to work but updates would be made against live server data. It is important to be aware that after the first sync completes the application will transition to read only from the offline database, so any changes made while that first sync was happening would not be available to the application until the following sync. This is why we recommend allowing that first sync to be completed prior to making data changes on the application.
During that first sync the user will see an icon in the header of the application with animated iconography showing sync is in progress. Additionally, they will see a banner informing them of the progress of the sync. When the first sync is completed, the user must navigate within the application to complete the offline setup and be “offline ready”. From this point the mobile app will get data from the offline database and can be used in areas of low-to-no network connectivity.
Delta Sync
Following the first sync, the application will perform “Delta” syncs of tables at intervals configured in the mobile offline profile for each table. The client app will check for updates and sync records from tables based on the tables sync interval set in the Mobile Offline Profile. For example, if one table is set to “5 minutes” and every other table is set for 30 minutes, the client will check that table for changes every 5 minutes and other tables will sync changes every 30 minutes.
In addition to regular delta syncs, the application will do a longer “clean-up” sync once per day. This sync will run through all tables irrespective of sync duration to ensure all data changes are up to date and ready for the application.
Up Sync
When changes are made to offline records on the device, those records are synced to the server via up-sync process. This up-sync will happen immediately on save when network is available, or stored locally on the device and then up-synced later once network becomes available. When an up-sync is pending or in progress, the offline iconography in the header of the application transitions to show that the up sync is pending.
Product Enhancement
As part of Wave 2 2023, new Offline Sync Settings provide Frontline Workers more control to determine their own automatic sync interval, as well as the ability configure the application to sync only when connected to Wi-Fi connection.
Additional tips on Offline user experience
- If the application is minimized or closed during sync, the sync will resume once the application is restored.
- Android, iOS, and Windows will continue some limited syncing while the application is in the background, however new syncs will not start while the application is in the background.
- The application will check for network connectivity with Dataverse when navigating between forms. If the network is not detected, or response from Dataverse is too slow (>5 seconds) the application will function in offline-only mode and not perform automatic syncs. The Offline status icon will display in a non-connected state. This network check with Dataverse is independent from the devices own network status.
- At any point after the users’ app has transitioned to run in Offline mode, the user can visit the Offline Status page and initiate a full sync by pressing the “Update” button. This sync will get the latest data from the server for all offline-enabled tables irrespective of sync interval.
- While using the offline ready application viewing a Grid, pressing the “Refresh” button from the mobile commanding bar will invoke a sync and refresh the view. The refresh button while viewing a form will refresh the view and not result in a new sync.
- When the application is not connected to Dataverse, elements which are not enabled for offline will be hidden. This includes some Command bar items and inline maps.
Understand offline limitations
Offline is an important capability for Dynamics 365 and Field Service Mobile application. There are many capabilities, but also some limitations of offline when evaluating it along with the wider Dynamics 365 Power Platform. It is important to be aware of these limitations when implementing offline and especially with customizations and unique scenarios for your organization.
Please review Power Platform offline limitations documentation for more details.
Suggestions & feedback
Additionally, if there are new enhancement suggestions, it is recommended to submit those asks via the Field Service Mobile Ideas portal: Field Service Mobile – Ideas. This will allow the product team to evaluate new requests and plan for future product release waves.
And for more best practices, please refer to Platform Offline Best Practices for further offline guidance.
Continue reading Part 2 of this blog series.