As today's smartphone and device craze extends and intensifies, you might be wondering whether it makes sense to develop mobile applications. It seems as though everyone has native mobile apps today! Allow me to be a voice of dissent among the chorus of "mainstreamers": I think that in a lot of cases, native apps don't offer a lot of value and in particular, they don't meet a simple cost-benefit test.
Think of the native mobile apps you've downloaded on your smartphone or tablet device. You found out they basically just link back to a mobile-friendly website, and you subsequently deleted them. Those native mobile apps are just joining the mobility bandwagon to stake their claim in future mobile technology. They don't add any actual value, and they take up real estate on your mobile device.
Instead of spending a lot of money and time developing native mobile apps, consider investing your app dev dollars in upgrading your existing Web presence to a mobile-friendly website. This strategy would be suitable in any number of scenarios -- from public relations to websites used internally. By eschewing the costs and time of developing mobile apps in favor of a "view," or skin, you gain a number of future mobile technology advantages:
The arguments for developing mobile apps
Of course, not every CIO can opt to go with a mobile device-friendly website. Sometimes there's really no choice. Here are some situations where developing mobile apps is necessary:
Offline connectivity is required. For reasonably obvious reasons, there isn't a good way to have your content hosted on the Web, then displayed offline. Google Gears tried to make this work, but it failed and nothing has really taken its place. For offline use, go native.
Device-specific hardware is necessary. Until HTML5 exists automatically on mobile devices, there's no good, secure way to let websites access hardware directly on a user's device. Developing a mobile native app is required if your application idea requires, for instance, access to a user's camera or intense display capabilities for something like gaming or business intelligence display graphics.
The application is complex. If your future mobile technology requires access to comprehensive computing resources, a Web browser is not an ideal container in which to run it. In particular, games perform better when they're compiled natively for use on today's dual-core smartphone processors; rendering at runtime within a Web browser in Ajax or other framework results in a poor experience. In addition, financial applications that crunch and display complex data are especially good candidates for native mobile apps.
- Quick pace from development to deployment. For the cost of one development process -- coding in HTML -- you get content and function that's accessible to a wide swath of mobile devices and tablet PCs, including iPhones, iPads, Android-based phones, BlackBerry devices, Windows Phone 7 and Windows Mobile devices, Symbian phones and more. Your customers or users launch their mobile device's built-in browser and head straight to your mobile-friendly website. They don't have to stop at the app store for a download -- and they don't need to deal with that inevitable legacy: mobile application updates.
- Support for rapid change. It's the Internet Age. Change is inevitable. It makes sense to build mobile content and applications on a platform that makes it easy to change, revise, renew and refresh. With a mobile-friendly company website, you can update almost on the fly, and everyone will be using the same fresh content and features. You don't have to deal with the messy updating and re-downloading that mobile app stores require. Another argument against developing mobile apps: Every app store does things just a little differently from the rest, so it's tough to standardize a process across all of them.
- Discoverability. Because mobile-friendly websites are little more than standard HTML content written to display well on small-form-factor displays, they can be crawled and indexed by all the popular search engines, such as Google and Bing. They'll appear in search results for the appropriate queries, and people can link directly to individual parts of your mobile-friendly website from other mobile devices or fatter clients -- like their desktops and laptops. Some mobile app stores are publicizing their content to search engines, but you have to rely on the middleman-- the app store -- in these cases.
- An extended, insensitive lifecycle. Mobile apps tend to be short-lived on some devices, particularly when users have purchased a mobile device with a very limited amount of storage. If users don't launch your mobile app often, they'll be prone to deleting it. Hosted on a server, mobile-friendly websites live on and on, and can be accessed whenever and wherever.
- Less expensive development and maintenance. Developing mobile apps requires expertise in the specific programming language required to code for each device. For example, iOS development requires expertise (or at least familiarity) with Objective-C, a variant of C++. Windows Phone development is done primarily in C# and Silverlight. Android development is done in Java. It can be very expensive to outsourcing mobile app development to build the same code in three different languages. In contrast, one set of HTML pages can take care of your entire mobile interface, with whatever structure you need running behind the scenes or in the cloud.
More about mobile apps
Whether you choose to develop a mobile app or go with a mobile-friendly website, you should take the time to explore each scenario fully. Truly consider whether the expense of time and money involved in creating a native app is really adding value for your end user. In some cases, future mobile technology might not be adding value back to the business.
Jonathan Hassell is president of The Sun Valley Group Inc. He's an author, consultant and speaker in Charlotte, N.C. Hassell's books include RADIUS, Learning Windows Server 2003, Hardening Windows and, most recently, Windows Vista: Beyond the Manual. Write to him at email@example.com.
Read part two of our examination on OnePlus2
Follow our continuing series on OnePlus2 with an examination of the software experience