How iOS Deployment of Applications Is Done
iOS Deployment: Create A Lasting Structure for Mobile Sales Force Enablement Applications
iOS applications are built and distributed in a multitude of scenarios: free apps, single pay apps, in-app purchase, apps created by organizations for their employees, apps developed by industry experts for use by their clients, Saas and so on. Apple has created a number of ways to help organizations and individuals push these apps to their personal and professional used devices. In this article I’ll help you understand how to set up the best deployment method for each professional application scenario.
First we need to understand how the app binary is delivered to a device and how the licensing is handled. Below is an at-a-glance diagram of the different programs. Generally, there is a best program fit depending on how you will drive adoption and who will be the end user.
Consider Ai2’s order management app for customers, OrderShark. The application is designed to enable customers and supplier sales reps to search large catalogs of inventory data on or off line right on their personal devices. Because there is a potential for distribution to two different kinds of end users you may want to distribute the app via an Enterprise Model for Sales Reps since they will have multiple customer accounts with specific pricing loaded on each instance. Then through the Public App Store for customers since that is the most accessible way to access the technology they will have a single pricing record loaded with the catalog.
App Store Distribution
The most common and streamlined way of distributing an app is by using Apple’s App Store. Your app becomes available to anyone with an iOS device and an Apple ID. Additionally, it’s easy to monetize the app by setting a price for purchase, utilizing in-app purchasing, or taking advantage of the iAd network.
While it helps ensure a good experience for customers of the app store, Apple’s app approval process is notoriously painful for app developers. The delay between when an app is submitted for initial review and when feedback is available is long. I’ve seen up to a few months of delay before receiving feedback for particularly involved apps. This website (App Review Times) provides an estimate on the current wait time.
Distributing through the App Store is a great choice to drive quick adoption and visibility of your app and brand.
Apple provides the ad-hoc distribution method for developers that wish to share an app for a private beta or small temporary distribution. Using ad-hoc deployment, the developer is responsible for delivering the app binary to each device, such as using email or a URL download. The binary will not work on just any device. A developer will need to add the UDID of each device and register the device in the Apple Member Center before iOS allows the binary to install to the device.
This is a good mechanism to use for intermediate stages of your app, such as a private beta or a temporary deployment situation. To use it, simply export your app from Xcode with the Ad Hoc Deployment option.
Once an ad-hoc binary has been exported, it can also be distributed through MDM as an enterprise binary can be. The difference is that you will still have to manage UDIDs for the binary.
Utilizing this method is clunky and time consuming so it’s really recommend that you use this for very small deployments or beta testing ideas.
My first deployment was to the Federal Courts and when they asked me to how to activate and install Apps I calmly asked them to download iTunes. Their staff attorneys quickly shot me an email back with the end user licensing agreement of iTunes with the words “not for commercial use” highlighted in all kinds of red and yellow. Apple has come a long way since those days. Needless to say enterprise distribution is an option that hasn’t always existed. It came out of the need for enterprises to smoothly roll out devices and build apps for internal distribution without dealing with the headache of registering all device UDIDs or creating Apple IDs for each one as you would need to with ad hoc or App Store deployments.
Enterprise deployment is when an app is signed and exported from Xcode in such a way that it can be installed on any device without registering the device or publishing the app to the app store. The company is responsible for the distribution of the app within their organization. As with ad-hoc distribution, this can be performed via email, a URL, or by using a Mobile Device Management (MDM) service, which allows a company to upload the binary and then send installation requests to MDM-enrolled devices remotely from a web administration console.
For more information about Apple’s Volume Purchase Program (VPP), this resource will help you understand it.
Enrolling in Apple VPP allows your business to essentially have its own private App Store Front. From within the program, you can make internal app binaries available to any device that has joined the program. You can also share your apps with other businesses using VPP, and vice versa. There is an app approval process before an app can be made available in the VPP program, but it is much more flexible in what it will allow, since the apps won’t be available for general consumption.
Since Apple VPP is essentially a private store, app distribution is handled by the program itself. VPP is almost always used in conjunction with an MDM service, allowing a company to push VPP invitations and install apps silently to devices from an administration console.