Mobile business applications aren't truly mobile if they can't work offline on mobile devices, and, until now, organizations were faced with a tripling of time and cost when adding offline access to a business app (Wired Magazine, June 2014).
Alpha Anywhere has transformed business application development so that developers can build offline mobile apps, web apps and offline forms with virtually no incremental effort or cost.
The Alpha Anywhere mobile app development platform features extensive, built-in, and customizable capabilities for building offline mobile business apps in what Forrester Research calls a "robust solution for HTML5 implementations." A robust solution is one that integrates fully with transactional back-end systems of records, that can sync offline data with intelligent conflict resolution versus simplistic "last-write wins".
Watch the 90-second demo video to learn how Alpha Anywhere enables offline mobile apps that work without a network connection:
Build offline apps with Alpha Anywhere that include:
Until now, offline support, which is critical for our mobile apps, was simply too expensive and complex. Alpha Software is constantly innovating and is focused on saving us time and money.
- Karen Snyder, CIO, American Pool, Read the case study
Watch the technical overview of Alpha's offline web support:
When you build an app for disconnected operation, you need to be sure that any changes the user makes to the data in offline mode are not lost. This occurs if the device is turned off, loses power, or shuts down before offline changes are synched back to the server.
Alpha Anywhere makes it incredibly easy to persist data to local storage, and restore that data when the application is re-opened so that any changes made by the user can be synchronized when an internet connection is restored.
When an offline sync occurs, there is the possibility that another user edited and then synchronized the same data before the offline user had a chance to synchronize his/her edits.
If this happens, a 'write conflict' will occur and the user will be notified that the synchronize operation could not be completed. In Alpha Anywhere, we've made it simple to prompt the user with any write conflicts at the time of sync through easy to understand color-coded markers and information about conflicting data.The user can then decide how to handle the conflict, by choosing the correct value and synchronize their edits back to the server.
You can also write code to handle the conflicts programmatically instead of relying on the users to decide.
When a user regains connection and synchronizes the edits that were made in their offline applications, there is the possibility of synchronization errors. These errors occur if the user entered a value in a field that was rejected by some server-side validation logic, because of a write conflict, or because the database rejected the edit.
Guarantee that your data is clean by giving the user simple visual cues during synchronization to show records with either server-side validation errors or database errors—which can be set down to the individual row or field level.
We've taken a complex problem — building hierarchical data sets in multi-table offline database applications — and boiled it down to a single checkbox. With Alpha Anywhere, simply select the "Pre-load data" option when setting up your lists and guarantee that all of your Parent-Child data is ready to go 'in-memory' even when your app is offline.
After a List has been populated with data from the server, the user can perform incremental refreshes on the List data to retrieve any edits that have been made to server data. Unlike a full refresh, only rows that have been edited are sent to the client, resulting in a much smaller payload being sent to the client compared to a full refresh of the List data.
You can also set a 'synchronization policy' in the List definition to specify that every time edits to the List data are synchronized with a server an incremental refresh of the List should also be performed.
In the real world, its typical for users to be working offline for days at a time without regaining connection. This results in changes to a large amount of data that must eventually re-synchronize with the server. In that case, you might want to synchronize the data in batches, rather than sending all of the edits to the server at once which, if using a slow connection, could risk client time-out.
Using Alpha Anywhere, it's easy to re-synch large amounts of offline data in batches. This minimizes risk and keeps your users in the loop through progress updates as the data goes back to the server.
Keep your users on track by giving them clear visual cues as to what data has been edited while they are in offline mode. In Alpha Anywhere, we've built in icons that mark rows as 'dirty' (i.e. data edited while offline) that stay that way until the user regains connection and is able to synch their changes and clear any possible conflicts. And, you have full access to the CSS to style the icons however you see fit.
Offline applications built in Alpha Anywhere include built-in geolocation features such as capturing location information when the app user edits data, capturing location information when the user synchronizes data, and geocoding data.Watch the video - Geocode data on sync
Please note that this page is just an overview of Alpha Anywhere's built-in offline capabilities. Check out the Alpha Anywhere Offline Apps Documentation to see a full list of offline features, video tutorials and more.