Although mobile devices give us the world at our fingertips, there are still many occasions when online access becomes impossible. Imagine a subway or train ride, where almost every passenger is busily tapping away on their mobile devices. Suddenly, you turn into a tunnel and online app users are cut off and helpless until their connection can be resumed.
There are many reasons to consider an offline application. Offline apps are best for independent apps that require little or no user data. Think most games, offline dictionaries, calculators or offline language translators. An online application is necessary for apps that make real-time transactions. An example of an online app may be a banking application that does not need to store any data to the device itself. Offline applications require caching, local storage, and a local database to store information.
Online applications have limited mobility – when you lose the connection the app is dead. Most of the action occurs onsite while the app only requires validating the user. Little to no information is stored locally.
Most apps do not need to be connected online at every moment, but many still need to make frequent connections to exchange data between the client and server. In these cases, you need a combination of online/offline app features.
When there is Internet connectivity, data are pulled into the app. Whenever the user makes edits or changes, this information is then pushed to the online database. When there is no connection, the data are cached locally. The app continues to work normally and edits are simply saved locally. When connectivity is re-established the app checks if any updates were made and, if so, the data are pushed to the online database.
The benefit of this syncing method is that the user can continue to use the app without error messages or interruptions. The app still has access to data, so it can continue to work offline. This is a useful system since users can be plagued with power failures, router troubles, or just bad signals.
An example of using this online/offline connectivity data syncing may be a . The members are constantly on the go and may need to access and exchange information to areas that may not have Internet connectivity. Here, the offline capability to temporary store data locally would prevent a workflow interruption mobile sales force.