Developing Native iOS and Android Apps with Offline Capabilities in Smartface

Even though we are very much used to being online all the time while using our mobile devices, offline usage is still a must.

In B2C apps, offline functionality is a highly demanded feature for reducing data usage or accessing certain sets of information when offline. Some examples are:

  • Saving music offline is one of the most important features of Spotify
  • Google Maps recently introduced offline maps feature, which allows users to save maps on their devices
  • TripAdvisor city guides are available offline in cases you are traveling abroad with no data plan
  • Some games support offline play, where the game data is synced when the device gets online.

For enterprises, however, it is not just about being unable to use mobile data on a subway or abroad. There are other, business-critical use cases where offline capabilities are required.

The most common of these use cases are the following two items, which are presented below with some real life examples.


1. Cases where reliable network connection is not available throughout the day:

The mobile user might be visiting locations (e.g. remote locations or warehouses where the network connection is weak). This is especially common in retail environments as well as service-oriented businesses.

  • Sales order management: sales reps getting orders from stores
  • Field service management: service technicians visiting different locations for installation or maintenance
  • Merchandising/surveying: collection of data from different locations by inquiring people or visual inspection


2.Operations with large files and/or large amounts of data:

It might be desired to reduce data usage during mobile usage, for reasons such as minimizing delay or eliminating network hiccups. The information is loaded previously so it is readily available during use. After the full data is loaded, it is possible to delta update the content during use.

  • Product presentation: making a product presentation with interactive content using tablets instead of handing out brochures or leaflets. This use case is especially common with medical reps, but it is applicable in any kind of presentation case.
  • Events: providing detailed information in crowded events offline to reduce data traffic or for limited network connectivity
  • E-learning: providing rich learning content in remote learning or in classrooms


This is just another point why enterprises need native apps. No matter how good the mobile network coverage is, there will be always cases where offline operations will be required and the best way to achieve this without any workarounds is developing native apps.

Native apps are also the most secure way for offline operation since they provide full access to native security features provided by OSes (e.g. keychain), you have more options to encrypt different types of data, and use native security SDKs. You can implement native security SDKs for iOS and Android as plugins in Smartface.

Thanks to offline operations support and binary data (BLOB) support in Smartface, you can develop any kind of native apps with offline operations; whether it is a field sales app where all the data including product master data, orders, etc. stored in a database or a classroom app where interactive learning materials are downloaded and stored offline. You can visit the related guide pages for more information on offline operations.

Typical implementation of an online/offline database access can be easily done in Smartface. Create the dataset with the network wizard and commit it; then populate the database with the data to be stored offline by using the app. Once it is set up, the app can make network connectivity checks before each operation and direct itself to the online or offline database accordingly.

Then the app can keep the online and offline databases in sync either with delta updates or with full database commits, if the backend supports such mechanisms.

Moreover, you have access to a wide array of enterprise level encryption options in the cryptology library of Smartface. You can encrypt and protect your offline data when things go south, which is more likely in field operations where the users are “mobile” throughout the day.

Smartface even supports more advanced implementations like offline authentication with fingerprint so that offline data is secure but still accessible by the right user.

Being an enterprise mobility platform, Smartface is designed for enterprises with enterprises to isolate you from the complexities of the mobile world. With Smartface, it is quick and easy to develop secure native apps with offline capabilities.

Our support team created some great guides to make offline operations easier for you. With these guides, you can easily incorporate offline capabilities in your apps.

  • File and database download and upload: You can perform two-way file and database transfers with a WebClient object. You can find sample codes and sample files to work with in the guide
  • Binary data operations: You can work with binary files such as PDF in your iOS and Android apps using the BLOB object. You can find sample codes and more explanation how to use BLOB object in the guide

With a few lines of JavaScript, you can develop native apps that work in any network connectivity situation with any kind of content. Also, note that these operations are fully single codebase.

If you haven’t started using Smartface yet, download today and start developing native offline apps for iOS and Android with a single JavaScript codebase.