Delivering Offline Solutions With the Salesforce Mobile SDK
Enterprise users increasingly expect mobile applications to continue working even when an Internet or cellular connection is unavailable. That’s understandable. The capability is vital for mobile users that are travelling or working in remote areas or in facilities with limited to no online connectivity.
As anyone who has used a mobile application knows, there are few things more frustrating than having your app freeze because your data connection dropped.
Users of Salesforce1 – Salesforce.com’s flagship mobile solution – are confronted with this problem. Salesforce1, which comes free to Salesforce customers, is in many ways an excellent solution. But customization opportunities on the Salesforce1 platform are limited, and apps on the Salesforce1 platform require a live data connection.
Salesforce’s Mobile SDK 3.1 addresses this latter requirement via a storage and synchronization feature called SmartSync that allows users to store data in an on-device database while offline, and automatically syncs with Salesforce data in the cloud when the user is back online. This allows users to accomplish tasks like updating customer records, adding new leads or entering new orders into their mobile application even with no Internet connectivity.
And as we’ll discover below, the Salesforce mobile SDK platform enables developers to build fully customized mobile apps that extend well beyond Salesforce’s traditional customer relationship management (CRM) capabilities.
The data storage and sync capability in Mobile SDK is fully customizable, so developers and Independent Software Vendors (ISV) can use it to enable an offline capability in any customer-facing mobile application that they might be developing.
Salesforce’s Mobile SDK allows developers to build native applications that are specific to mobile platforms like Android and iOS. It also supports HTML5 web apps and hybrid applications that combine elements of native apps and HTML5 applications.
The best results come when developers fully leverage the APIs and core functionalities – including security, user identity management, and offline storage capabilities – that are available out-of-the-box with Salesforce Mobile SDK to help ISVs build cutting-edge mobile apps. That’s why I think that the development of native apps on the Salesforce platform is usually best left to a Salesforce-certified Product Development Partner (PDO) that knows how to build applications that pass AppExchange’s security and standards requirements and to guide developers through Salesforce’s ISV certification process.
Mobile SDK in Action
A good example of the mobile SDK feature at work is seen in the branded application we built for eFormix. The app makes it easier for hospitals and other healthcare organizations to comply with complex regulatory requirements necessary for their accreditation. It guides officers through a set of compliance suites that they can use to check organizational readiness and compliance with patient safety, infection control, fire safety, and life safety requirements.
Note that none of these functions are properly described as CRM tasks, yet Salesforce’s Mobile SDK is the perfect platform one which to build such an app.
The application essentially walks healthcare workers through inspections, risk assessments, preventive maintenance checks, customer surveys and other required tasks.
Compliance officers can use it in offline mode to accomplish tasks like updating data, scheduling events, and assigning equipment and other assets for maintenance and inspection. Then all they have to do is sync once when they are back online to upload all the updates to their Salesforce data in the cloud for further processing and analytics.
The ability to enable support for this kind of offline or disconnected operations is a major reason why you should consider using the Salesforce Mobile SDK in your next application development project. But there are other compelling reasons as well.
The latest SDK, for instance, has a unified application architecture. That means that both native and hybrid applications built with the SDK have access to the same functionality, while all the APIs and mobile building blocks have consistent implementations.
With SDK 3.1, developers no longer have to choose from among their favorite APIs and feature sets when deciding whether to go with a native or hybrid application architecture. With the latest software development kit, Salesforce has also made more tools and UI frameworks available to mobile app developers.
For a deeper conversation about the development process for applications built on Salesforce’s robust mobile SDK platform, and work just as efficiently in offline or online, feel free to reach out.