Determining how to deliver mobile applications all depends on your environment and your users' needs. Each mobile application delivery option comes with its downsides.
Once you've decided to support mobile applications, you have to figure out how to deliver them. You could use device app stores, the cloud, the Web, virtualization, an enterprise app store -- or a mix. Keep in mind, however, that you should assess the costs of mobile application delivery and how to deal with getting apps to users without Internet connections.
How can I deliver applications to mobile devices?
There are a few different app delivery options you can mix and match to meet your mobile application delivery needs. Enterprise app stores are a good option because they give IT control over data governance, volume purchasing and licensing, but homegrown app stores are tricky to implement. You can use Web apps instead of native applications, which give you the advantage of device agnosticism but can limit app functionality.
Then there's desktop virtualization for mobile devices, which lets you deliver a PC environment to a smartphone or tablet. This approach keeps sensitive information in the data center where IT can control it, but it's not often an enjoyable user experience. Using the cloud is another option, but you have to pay for an existing service, such as Dropbox, or build a cloud storage service -- both of which can be expensive.
How can I use the cloud to deliver applications?
There are three ways to use the cloud to deliver mobile apps. You can build an internal cloud, use an external one, or do both. The disadvantage of an external cloud is that the applications you're trying to deliver are posted to that cloud's server, but an external cloud could work if your apps can be public. To keep apps private, it's possible to post them on a secure Web server that employees can access to download apps wirelessly. For this mobile application delivery option, you'll need to build your own cloud.
Can I use application virtualization to deliver apps?
Mobile app virtualization is one way to deliver apps to employees. It's faster than rebuilding existing apps for a mobile environment. For example, you can virtualize an existing Windows 7 application and send it to users' mobile devices.
Still, just because you can virtualize an app doesn't mean you should. Often, accessing a virtual application on a mobile device isn't a great user experience. If mobile versions of applications your organization uses are available from device app stores, it might be better to let employees use those and virtualize only the apps they can't get their hands on. Also keep in mind that delivering virtual applications to mobile devices only makes sense cost-wise in organizations that have already virtualized other apps.
What are some potential obstacles when deploying mobile apps?
Internet connectivity is a big one. Depending on your mobile application delivery method, users need to be connected to the Internet to access those apps and data. Also think about cost. You not only need to fund deployment, which can be through an enterprise app store, self-service portal or the cloud, but you also need to pay for application development and lifecycle management. All of those costs can significantly affect how -- and even if -- you deploy mobile applications.