Custom App Development for Salesforce: 10 Major Considerations
Custom-developed apps or off the shelf?
Is your business ready to set out for mobile app development? Are you a Salesforce user and had the thought to develop your own business mobile solution? This article is intended to help you consider not only the benefits but also major pitfalls before engaging in new company processes.
So, what are the key aspects to keep in mind if you want to develop a mobile app from scratch?
TIME & RESOURCES: Rome wasn’t built in a day
If you are looking for a ‘quick fix’ for your Salesforce users on the go — be it sales or field service users, a custom-built app may not be the solution. Before jumping to conclusions, consider the upfront investment of time and resources for the development phase that takes months. Plus, remember that there are dozens of companies that dedicate 100% of their time to the development of the business app solely.
SECURITY: User’s PIN is simply not enough
Mobile access to corporate data brings new risks companies must deal with. It oftentimes means copying sensitive company data to the local storage of multiple mobile devices. So yes, the question of security is in place. Data storage on iOS and Android is protected — but only by the user’s PIN. The standard application databases are not protected, and there are no secure storage APIs. However, user login and application configuration need to be protected. Mobile Device Management (MDM) tools should be incorporated within the app, including fingerprint/NFC/QR code login, OAuth 2.0, and an option to remotely lock and wipe the app and more.
PLATFORM: Android, iOS or Windows?
You might be getting yourself into a pickle here. It’s of no use to make a mobile app if it’s not adaptable in a way it can work with quality on any device — no matter the operating system. However, it is, indeed, difficult to pick one platform and even more difficult to master them all the same. Of course, you can create a cross-platform app with a unified API and use the same codebase for all operating systems.
OFFLINE: No connection? No problem
Offline is important, even nowadays. It requires a carefully planned and executed synchronization mechanism, which takes into account all corner cases. Meaning, offline access to Salesforce data should not be limited. Hence, if all features and functionalities of the mobile app are available without internet connectivity, the user never has to stop being productive. This is a biggie to keep in mind. It’s not an easy feat to build an app that’d be able to cache way more than recently accessed records for the first 5 to 15 objects.
FUNCTIONALITY: It’s good to have a choice
There is a ton of productivity features which are useful in mobile sales, service and alike scenarios. With custom development, you are much more likely to restrict yourself to just a few (whether it’s because of time, money, or technical constraints). So, wouldn’t it be easier just to put together a solution like Lego from existing feature lists that mobile app development vendors have to offer? And we are talking any feature, from offline reports to route planning. We’ve got you covered.
MANAGEMENT: Is the app used to the fullest?
All-in-one enterprise mobility solutions that carry delicate company data are difficult to manage. When creating apps from scratch, managing devices — at app-level can’t be forgotten. App usage monitoring in every aspect (when, by whom, how exactly, or where) is more than just anonymous error reporting. To manage your Salesforce mobile data at its best, the app should entail error and usage logs, users’ action and position tracking, remote lock-out and wipe, and similar functionalities.
PRODUCTIVITY: Make a use of mobile-native features
There is plenty of mobile-native features an application must count with. From camera-integration, barcode scanning to chart and PDF report generation. While there are many 3rd party components ready to tackle this job, there are very few in the mobile world. And even if you find a component for let’s say Android, iOS, or Windows, they will not be supported. Integrations with providers of such services is hence one of the top considerations before starting with custom development.
MAINTENANCE: The mobile world changes dramatically
Each mobile platform has a major OS update every year. Major releases might bring a new font — completely breaking the app rendering because of it being slightly taller. Regardless of your platform choice, you are looking at supporting several OS versions and hardware combinations. And always keeping updated on the latest beta versions. So that you can catch the inevitable upgrade bug, before users update their devices rendering your app unusable for days or weeks.
CONFIGURATION: Mind the release cycle
Being able to turn the app with Salesforce data as your major business mobility tool is a huge advantage. For that, you’d need it to have look ‘n feel that would fit your business — translate your company branding. Tailoring the existing app to fit your needs with no code is at times easier than building it from scratch. And what about updates and releases? Pushing updates of your own app through app-stores is an ongoing process. Depending on factors that are not in your hands, it might take a few hours to a few days to get small fix or updates to your users. Going back to your developers and going through the release process will slow down user acceptance and hinder the continuous process improvement. What if you need a slightly different set of features per department or user role? Are you ready to handle four or more apps going through the release cycle?
READINESS: Recompile & Redeploy, over and over
Now, you went down the development path, created an app. The next step now is submitting it to a store. But what happens if you want to change something? Remember, even the slightest alternation will require you to recompile and redeploy the updated version to the store. Again and again.
Afterthought
Developing your own app is no walk in a park. So, instead of struggling with thousands of lines of necessary code, wouldn’t it be better to focus on the business entirely? Consider a solution, where not a single line of code is required — and yet, you will still make it your own business solution, based on what you like and prefer.
Check the Resco Mobile App on Salesforce AppExchange.