Offline is the magic word

Offline Scenario 1

A mobile application provides an online access to CRM data. Every screen provides a button, pressing which the application makes a screenshot and saves it to the local memory of the mobile device. When the device loses an Internet connection, it provides the user a list of stored screenshots.

Offline Scenario 2

A mobile application creates a strongly encrypted local database. If there is an Internet connection available, the app connects directly to the CRM server and provides CRM data access. If the connection is not available, the app provides a full (read/write) access to the local database. The app downloads and locally stores only user-related data which can be defined by sync filters. This data is always accessible by the mobile user.

An incremental synchronization keeps the local database current. The synchronization can be activated by the user or runs automatically on a predefined event that performs the synchronization in the background. The sync uses optimization algorithms that minimizes data transfer between the mobile device and CRM server. The synchronization compares row versions instead of modification dates to avoid time synchronization issues. It considers business rules, cascading server actions, record dependencies, circular references. It resolves sync conflicts, server deletes, and situations, in which the sync gets interrupted. And finally, it provides sophisticated methods of local database protection for situations when a mobile device has been lost or stolen.

Conclusion

Both applications described in above scenarios have offline capabilities. So, if a customer says this feature is a must-have, they both might fit the request. But, while the first one is only a toy, the second one is a serious piece of software ready for every possible connected/disconnected scenario.

That’s why it is extremely important to realize that “offline capabilities” are only two words. And every customer should be very strict while investigating further. Everyone must realize that providing a mobile CRM app with a professional offline mode is not a simple task. Even for big companies such as Microsoft. Offline capabilities must be considered from the scratch when the app’s architecture is being designed. And it needs to be tested and proven by hundreds of different real disconnected scenarios, by real customers with thousands of users. Also in locations with terrible mobile data infrastructure. This is what we’ve been doing continuously for about 6 years. Offline cannot be added at some stage of development as a new feature.

Using simplified offline capabilities in a mobile CRM app is like a digging building foundations with bare hands.