2

We have requirement to build mobile with fully functional offline capabilities. As currently Salesforce1 has limited offline functionalities. We have decided to use the Mobile SDK to build the custom app.

Below are the requirements and the initial design of our app. So wanted to validate with you guys if this is correct approach. You suggestions/improvements will be really appreciated.

Here are the Offline app requirements

  1. App will be used by Salesforce users, distributors and Dealers.
  2. App able to login from Salesforce user, Customer community and Partner community.
  3. Search/Create/Update/Delete access to all the records present for objects like Contact, Account, Lead, Opportunities, Activities, campaign data etc.
  4. Store more than 50K records per object so it can be access in offline mode.
  5. Able to fetch CRM objects, custom objects, Salesforce CRM Content, files, and extra storage.
  6. Download the documents and videos when online and play it during offline mode.
  7. Upload the photo or video taken from the app then and there and when User is online then sync back to Salesforce.
  8. Access and store geolocation when the video is being played
  9. Able to fetch reports and dashboards in offline mode
  10. Overcome limitations of standard Salesforce app
  11. Enabling Facebook or Twitter authentication for community login.
  12. Access to few non Salesforce data and features without login.

Initial App design

  1. Leverage Salesforce Mobile SDK

  2. Platform: Hybrid app instead of native apps by using html and javascript so it can be platform independent.

  3. Using Partner community user instead of Customer community as we want this app to be used by Distributors who can have their own leads.

  4. Initially, store whole data of an object in mobile when it was accessed for the first time in app.

Thanks, Ashish

0

Based on your requirements I’d saying you’re certainly heading off in the right direction, and I believe you’ve thought through this pretty well. Based on our experience at MobileCaddy where we’ve developed a development and lifecycle framework for Salesforce mobile apps that often have a need for full offline support I have the following comments/points of note;

  1. If you need full offline support, then you MUST work on an offline first model - and that means pulling all data down that a user might need right at the very start of the app
  2. With (1) in mind be aware of data API usage as this could increase rapidly, and I don’t believe community users get an API quota OOTB with Salesforce. This is something we solved at MobileCaddy and now have a net-zero impact on API quotas.
  3. Be aware that it’s not just data that needs to be offline, you also need to make sure your logic is fully offline too.
  4. Take some time to think about conflict and error scenarios that might occur when you sync your data back to the platform. What are you going to do is a parent record has been deleted or shared away? How are you going to resolve conflicts when a record on the platform has also been modified whilst the mobile user was offline? How are you going to handle parent/child offline record creation? etc.
  5. How are you going to push updates to your applications?

Building apps out to support full offline in the way you’re after is certainly not easy, but it is achievable. If you do want a head-start though, it would be worth checking out MobileCaddy, as all the bits mentioned above are already baked in to our sync-engine and exposed by a JavaScript API so your devs can concentrate on the valuable part of the app which is the business/domain logic.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.