Native iOS Mobile Applications Connected to Salesforce.com

The existing Salesforce1 application makes creating and deploying mobile applications super easy and we've done a lot of them at Snapptraffic. You can see a blog post we did about that a while back here. But Salesforce1 has many limitations, and in most cases we can write a native iOS or Android application for a mobile device to overcome these limitations.

Overcome SF1 Limitations by Going Native!

One of the biggest limitations to Salesforce1 for a mobile device is that for the most part it needs an internet connection to function well. There are a few offline capabilities, but they aren't very strong.



One of our clients has technicians that spend much of everyday in locations that do not have an internet connection. Their job assignments are made in Salesforce by a person working in the office and logged into Salesforce the typical way via browser, but the technicians are out on the road and logging into salesforce from a computer is impractical, especially when they have their phones with them all the time (even if they don't have service much of the time).

Provide Offline Capability with Salesforce Native iOS Application

Not only did the technicians need a convenient way to see the jobs that they needed to do, they needed to a way to:

- Accept the job and confirm that they were going to take it
- See the details of the job and the assets against which they would be working
- Be able to log their conversations with on site personnel
- Log their travel and work time
- Update their status to indicate that they had completed the work or provide other feedback
- Perform inspections and fill out various forms

All this would frequently need to be done while offline.



To provide these capabilities we wrote a native iOS application designed for the Iphone since that is the device that their technicians have been given. (doing this for the Android is done the same way)

Salesforce Mobile SDK 

Salesforce provides a Salesforce Mobile SDK which gives us the tools to use Salesforce as the backend server to the Mobile device. So whenever we want to retrieve data from salesforce and bring it to the mobile device or write data from the device back up to the salesforce.com org, we can do so using the tools provided in the Salesforce Mobile SDK.



If you've used other mobile applications that sometimes expect to query data on the internet, you know how frustrating it can be when waiting for the application to make a connection attempt. It's like it never occurred to the designer that the device wouldn't have a connection at some point! We wanted to specifically avoid this frustration and instead built the salesforce native mobile application from the ground up to only attempt a sync after testing that there was a connection or when the user specifically requested a sync.

Working off the Grid

So we wrote the application pictured in the images posted above that would let a technician sync their phones at whatever point during the day that they had a connection. Then as they worked throughout the day, both with and without connections, the phone would work without pausing to check for connections. The rep could do any work needed on the device. Making status updates, logging conversations, logging time, making notes for their work, doing inspections, filling out required company forms - all of it, from the convenience of the device without needing an internet connection.

Later when "back on the grid" they can open the app, go to the sync page, and see a summary of work completed offline that is waiting for sync, then by clicking sync the device will login to salesforce and upload all the work done while offline. At that time it will also pick up any new assignments or changes to affected records and bring them down from Salesforce to the Mobile Device.

Are Mobile Applications Expensive?

A mobile application is generally going to be more expensive than writing a Salesforce1 application delivered to the device via visualforce - those are easy and cheap to produce, but again, with the limitations noted above. For a simple application with a few pages involved, the cost will probably be in the range of $10k-$15k. And obviously, as complexity and size go up, so will the effort and cost involved in producing it.

Get an Estimate for your Project

If you have a project that you're thinking of, we'd be happy to discuss it just to give you an idea of the costs involved. If you'd like to tell us your ideas and get a feel for the costs involved, visit www.snapptraffic.com and fill out the contact us form there. We'll schedule a call to discuss your project.