Our Insights Post 5 mins Arran Kirkup How to Keep Your App Healthy with Ongoing Assurance One of the key challenges mobile developers & app owners must face is the ongoing change and growth within the mobile ecosystem. Unlike making a website, where compatibility with a number of distinct (but ultimately similar) browsers is the aim, working on mobile means engaging with operating systems and devices that are fundamentally different at their base level. In addition, Google and Apple, the oft-fickle overlords of the mobile space, tightly manage applications on their Android and iOS platforms to both ensure quality and security. This can mean that a failure to keep up with these changes doesn’t just make your app perform poorly; it can mean the removal of your app from the App Store and Play Store.The challenge of keeping up with updates One of the core issues with maintaining an application post release is the ongoing changes to the terms of service and app requirements as updated by the big two. What this means for your team is that often Apple or Google will release an over the air (OTA) update or a change of terms and your app could require minor amendments, or even large scale changes, to keep working or stay on the App Store or Play Store. To complicate things further, OEMs like Samsung have their own none-standard versions of Android that must also be supported. In addition, with new devices in new form factors (check out the new LG wing for a particularly crazy example) it’s never been more key to ensure that your application is consistently checked and assured against these developments. What is ongoing assurance? What do we mean by ongoing assurance? This is the ongoing work to ensure you and your app are kept up to date with changes to the operating systems and devices in the market. There’s no great secret to this work and you can absolutely complete this yourself or pass it on to your team without engaging a third party; all you’ll require is: A testing team and prepared test scripts The devices that make up the majority of your apps’ market share Access to the patch notes released by Apple, Google or the OEMs A keen eye on changes to the Android or iOS terms of service. Keeping on top of the number of changes to the OS versions and might sound like a challenge but large changes are usually reported on tech focused news websites like Ars Technica or Android Central. The results from testing against these devices and changes should be used to inform the further development of your applications. This means sending test & change reports to your development team for prioritisation. Changes to device form factors will often produce UI breaking bugs but will leave your functionality unchanged, whereas device updates are more likely to break your app’s core functionality. How to test your mobile apps There are two ways to potentially test mobile applications against real devices: 1) By maintaining a library of the most common devices in house that can be tested against; 2) By using real devices remotely using tools like BrowserStack or Kobiton. Testing remotely can be useful regarding some of the issues inherent to emulating, but obviously using these services may not flag up some real world issues. It’s wise to maintain access to at least several up-to- date devices to ensure testing can be completed against real world conditions as often as possible. At Indiespring, we maintain a library of around 50 devices using various form factors and covering a range of modern operating systems, developer betas and OEM User Interfaces (think Samsung’s TouchWiz or Huawei’s EMUI) when it comes to Android. By testing these devices routinely upon an update we can assure our clients that their app is running perfectly on the latest and greatest OS releases. By testing the developer betas we can often even find issues before they become issues. The Mobile Assurance Programme One thing that surprised us when we started this Assurance Testing was how few development teams maintain the capacity to carry out this kind of testing. In fact, it was when several of our clients asked us to assure their products that we codified our Mobile Assurance Programme to help other businesses who require this support. This has proven popular with clients now trusting Indiespring to provide detailed reports on their apps’ health every time a new iOS or Android release is pushed to users or a relevant new device is released. We have also expanded the offering to device testing on new app releases or Beta versions of new OS releases for some clients while also keeping them informed of changes in the app store terms, which might affect their app.