Mobile app development is a new process for many companies, and fraught with challenges. Mobile development frameworks seem to change on an almost daily basis, and the major players release new operating systems, devices, and features at blinding speed. Building a mobile app is hard enough, and testing and deploying to the major app stores can be similarly challenging.
The trials of testing
Before submitting your app to customers, testing is an obvious first step. However, it can be difficult to distribute and manage test versions of your application, particularly on iOS. While pre-release versions of Android applications can be distributed by file share or email, Apple’s application signing requirements necessitate that each app be signed for a particular device, or internal-user apps be signed with an enterprise license. Unless your pool of testers is small enough that each and every test phone can be connected to a developer’s computer, and their phone’s unique identifier captured, you’ll likely be forced to use one of the app distribution services like TestFlight or HockeyApp.
Apple recently purchased TestFlight and has integrated it into its app store toolset; however, they removed the capabilities around distributing Android apps. TestFlight is a great tool if you’re iOS only; however, if you’ve built a cross-platform app you’ll need another tool to distribute Android builds of your app. I’ve personally had good luck with HockeyApp, which works with Android, iOS, and Windows Phone apps, lets you manage groups of users and apps, and allows you to specify who can access what.
Going from tested to release
With your app successfully tested, it may seem like much of the work is complete. However, each app store has some nuances. All of the major app stores perform some automated checks on the app you submit, looking for everything from valid API calls to libraries with known security flaws. There’s no harm in submitting an early build to the app store and identifying these problems sooner rather than later, and also ensuring that your development team has the requisite tools and certificates to produce a build that can be submitted in your company’s name. Even if you’re merely submitting an update, be aware that these validations regularly change, and an app that was fine a few months ago may now generate a security alert.
Several weeks in advance of your release to the app stores, it’s also worth checking what marketing copy, images, and videos are required with your submitted app, as these, too, change on a regular basis. Many companies create a nice template where designers and copywriters can place all the information required for submission; however, they suddenly discover on Friday at 5PM that the images that were fine two weeks ago are now in an unacceptable resolution, or that optional video has now become mandatory. I recommend planning submissions early in the week rather than the tendency to submit on a Friday, as that will give you time to correct any problems and chase newly required assets.
Prepare to go dark
Once you click “submit,” you’re largely in the dark on how your app is progressing through the review process. Historically, Google reviews apps very quickly, in some cases approving updates the same day they were submitted, while Apple takes significantly longer. If your submission coincides with a major OS update, prepare for a long wait. A client who submitted an update a few days after iOS 8 was released waited nearly three weeks for Apple to approve their submission.
Much to the chagrin of executives and project sponsors, there’s little chance of expediting this process or getting an estimate as to when your app will be released, save for submitting an emergency update, which should be reserved for fixing critical defects or security flaws. I’ve worked with the largest companies in the world, and their apps are treated just like everyone else’s, with very little information between submission and an email confirming the app is ready for distribution.
Few things are as frustrating as expending the significant effort to produce a mobile app, only to find your submission delayed by several days due to an icon file that’s the wrong size, some missing copy, or a build that was not performed using the correct signing certificates. Some careful planning and a few test submissions can literally save days, and get your app into consumers’ hands all the more quickly.