The Offline Mobile Challenge: Tackling Mobile Apps' Most Important & Difficult Feature - Forrester

Blog



The Offline Mobile Challenge: Tackling Mobile Apps' Most Important & Difficult Feature - Forrester

Alpha Anywhere continues to evolve in many ways (mobile optimized form, client side reporting, the control bar builder etc,) but the one element that we have been and continue to be passionate about is the ability to work in no signal/weak signal/intermittent signal  situations. From the title of this blog, you know that Forrester's assessment that offline operation is the most important and & difficult feature, We completely agree with this with one edit - feature should be replaced by fundamental. Alpha was the first company to think through all of the issues that offline operation poses and has taken a leadership position in this area. We understand the problem and have solved it through built in capabilities that allow developers to build robust enterprise class support for offline that can  be added to Alpha in a snap. In fact  the only mobile platform that Forrester has described as robust is Alpha  

Offline Data Caching, Capture, and Synchronization

In order for a mobile application to function when an Internet connection is either unavailable or unreliable, the data your application needs to function must to be stored locally on the device. When signal is restored, newly entered (or edited) data can then be synchronized with data in the system of record.

How is Data Stored on a Mobile Device for Editing?

Alpha Anywhere can store its data on the device using using one or more list controls. List controls are controls that are placed on a UX Component (a UX Component can be thought of as a user interface form). They can be populated from any kind of data source and they retain their data when the device is disconnected from the Internet. While disconnected they can be used to perform CRUD operations, and data can be resynchronized when a signal is restored. List controls require very little work to set up, but are limited in size to about 5MB of data since data is stored using the device's browser cache.

How does Synchronization Work?

When in offline operation, Alpha Anywhere keeps track of records as they are added and updated in a list control. In cases of updates, Alpha keeps track of both the newly entered values and the original values. When signal is restored, data can be synchronized manually - say by a user pressing a button - or it can be done automatically, in which the application checks to see if there is an Internet connection and automatically syncs when one is detected. During synchronization, Alpha Anywhere checks for synchronization conflicts.

What Happens if There are Synchronization Conflicts?

It is possible that when a record is edited in a list control offline by one person, that another person may also be editing that same record creating a data conflict. Alpha Anywhere can resolve these data conflicts either by allowing the user to decide which value(s) to keep or by following a business rule and handling the conflict automatically.

How Much Data Can be Stored?

Alpha Anywhere applications can use most of the available free space on a device to store data. While the list control is limited to the 5MB of data storage space available in Local Storage, read-only data can be stored in the local file system. In addition, the list control records can store a variety of data captured on mobile devices on the local file system in apps built using the PhoneGap framework. Data stored in the local file system can be several gigabytes or more, enough to store millions of records in text, thousands of images, and hundreds of video recordings.

Client-side Data Cache

The client-side data cache is a local repository built into the UX component. Unlike the list control, data can be stored in the device's file system, so it is not limited to the 5MB limit. The client-side cache may require slightly more setup work than the list control, however it is a great way to store read-only application data.

SQLite

Alpha Anywhere supports SQLite, a lightweight SQL-type database that can run locally on a mobile device. This requires more work to set up than the a list control or client-side data cache, but it is an excellent choice when an application is required to reference or quickly search a large set of records. Related Links Using the List Control for Offline Data Storage.
Building Business Apps with Flexible Design
Speeding Development Time for App Builders: Address Autocomplete now Built into Alpha Anywhere

About Author

Richard Rabins
Richard Rabins

Co-founder of Alpha Software, Richard Rabins focuses on strategy, sales, and marketing. Richard also served as CEO of SoftQuad International from 1997 to 2001, when it owned Alpha. In addition to his 30 years with the company, Richard played a key role as co-founder, and served as president and chairman of the Massachusetts Software Council (now the Massachusetts Technology Leadership Council), the largest technology trade organization in Massachusetts. Prior to founding Alpha, Richard was a project leader and consultant with Information Resources, Inc. (IRI), and a management consultant with Management Decision Systems, Inc. Richard holds a master's degree in system dynamics from the Sloan School at MIT, and a bachelor's degree in electrical engineering and master's degree in control engineering from University of the Witwatersrand in Johannesburg, South Africa. He has served on the boards of Silent Systems, Legacy Technology and O3B Networks, and is co-founder of Tubifi www.tubifi.com.

Related Posts
8 questions you should ask regarding
8 questions you should ask regarding "offline" support in mobile app development platforms
Offline Apps: The Wave of the Future
Offline Apps: The Wave of the Future
Offline Mobile Forms
Offline Mobile Forms

Comment

Subscribe To Blog

Subscribe to Email Updates