Operating and supporting any enterprise application in the context of mobile is challenging, because you don’t have control over that app’s underlying operating systems, nor can you predict new updates, upgrades, or patches being released.
This presents a problem for those responsible, because changes to an OS can cause mobile apps to suffer in their performance, or even stop working entirely. When those apps have been deployed into functions which are critical to the daily running of the business, that effectively renders the employees or community users relying on the app incapable as well, which simply can’t be allowed to happen.
So, firstly… Understand your app
You need to be aware of all the various components which make up your application, how they interact with each other, and what relationship they have with the OS.
Any number of things within your app can change without your knowledge, and the various elements and supported systems mean that continual testing is an absolute necessity to avoid app failure. This becomes even more important when applications are supporting business critical processes and workflows.
Be aware of which operating system (and which version) your app is running on, as well as the following configurations, frameworks, and dependent systems within the app which are all subject to change:
- Versions of the Salesforce Mobile SDK
- Various plug ins
- Interface frameworks
- Platform changes
- Device innovations
- The app code itself
While a new version or update to an OS can have a breaking effect on the app all by itself – which you can only prevent, rather than control – you also need to remain vigilant to all the other components which are dependent on each other, and any changes which could have a knock-on effect.
The above list tells you what you need to be aware of for potential changes, because while a change to one of those things may not break the app by itself, it could remove the compatibility with another which hasn’t changed, and will consequently stop functioning as it should.
Monitor closely, constantly
As demonstrated above, you need to make sure you have measures in place to monitor all of those components individually, on an ongoing basis. This will include both direct changes to each item listed, as well as changes to any dependent components which can cause breaking changes elsewhere.
To ensure you’re monitoring effectively, you can set up helpful ways to be informed of forthcoming changes, and also closely follow the various technical codebases, or, even better, sign up to relevant alerts and notifications through our MobileCaddy Trust site.
Plan to test, but also remain reactive
Once you’re comfortable that those monitoring systems are in place, it’s essential to have a defined testing plan with the necessary resources and timings allocated.
Ensuring you have dedicated resources in place for carrying out this extensive testing, ideally on a timetable to adhere to release cycles, could be the difference between the failure or success of the application.
It’s important, though, to also give yourself the ability to be reactive to unexpected changes as well, which will also occur often. Examples of these unexpected changes will be patch releases to the OS, which occur with little or no warning. Over the past 12 months, Android has been patched around five times, and iOS has been patched almost 30 times, making it extremely easy for apps to experience changes which go unnoticed.
With the Salesforce platform specifically, there’s always plenty of notice for customers regarding things which are going to change, so make sure to prepare accordingly. You can even stay ahead of the curve by gaining access to Salesforce’s early release schedule. Salesforce’s Winter ’18 update is due for release between October 7 – 13, 2017.
Pre-release testing is a necessity, not a choice
Any business operating and supporting mobile applications must have rigorous, pre-defined testing processes and criteria in place, as well as a testing environment to carry this out whenever necessary.
Additionally, following all testing, it’s crucial to have a proven upgrade deployment process in place to manage these changes and bring all this together. Ensuring the workforce isn’t affected by any updates to its apps must be a priority.
Mobile apps require your full attention
These aspects of managing a mobile app cannot be ignored by those responsible, but should be going on unnoticed by those whose jobs gain value from the app. This is especially important for apps which are supporting critical processes and in-turn have a direct impact on the business.
A comprehensive approach as outlined above, as well as careful selection of a capable and robust technology solution, must be in place from the very beginning to ensure an app will be reliable and resilient. For any business, when choosing the approach, technology, and tooling, as a bare minimum it must all account for the non-functional elements such as monitoring and testing.
Even if an enterprise mobile application is simple in terms of features and functionality, if the business process it’s supporting is of high value, the app should be considered critical. – Justin Halfpenny, CEO, MobileCaddy
The ongoing success of such mobile apps through OS updates should be a prominent concern for all involved. To ease that concern, a solution which includes much of the effort around monitoring and testing inbuilt becomes extremely valuable, if not essential.
Seek additional support
CEO Justin Halfpenny started MobileCaddy because he was once responsible for Salesforce mobile apps and was experiencing these challenges first-hand. He wanted to remove as much of that pain as possible, as well as the ambiguity, and structure it from a pain into a process.
That’s why MobileCaddy has been built as an all-encompassing Application Delivery Framework (ADF), covering all phases of a mobile project, and the entire lifecycle of its applications.
MobileCaddy automatically monitors everything going on in external environments, provides alerts and notifications for any changes, includes internal systems which run hundreds of tests per day, as well as a testing environment which runs at near parity to production. The ADF is reinforced by a methodology for how to approach this with its inbuilt protocols, handling much of the monitoring and testing for the business.
At the application layer, the ADF also provides suite of testing tools and rapid development to handle any issues quickly, and a well-defined point-and-click versioning engine to get those fixes and maintenance releases out into production. This ensures the impact of any OS changes on the business and its employees is minimal, and the apps will continue to perform without any concern.
Keeping applications running through updates to operating systems and other changes is just as important as the design, UX, and other key parts of application delivery. It will have a damaging impact on the business if changes can’t be managed quickly, easily, and on schedule.
By maintaining the level of attention outlined in this article throughout the entire lifecycle of your Salesforce mobile apps, you’ll vastly improve their ongoing performance in the long-term. To learn more about the importance of this, don’t hesitate to reach out to a member of our team.