Mobile application development is largely uncharted territory even for many experienced platform developers. So where do you start? Aaron Hillegass, CEO ofBig Nerd Ranch, a mobile app development and training firm, provided some answers to that question in his keynote, kicking off the Mobile Connections event at the Bellagio in Las Vegas this morning.
Hillegass, who cut his mobile development teeth on the iPhone, after a stint working for NeXT Computer (he told the audience he boycotted the iPhone until Apple started allowing apps to be developed for it), shared his insights on mobile application development gained over the last two years of writing enterprise mobile applications, including some for large corporate clients like AT&T, Delta, GE, and Harrah's.
Getting into the meat of the keynote, Hillegass ran through the most common types of mobile applications his company has worked on. "First, there are customer-facing applications: making an app for customer website that is like the site—but much better." The next type includes internal applications—for document sharing (e.g., PDFs, Excel spreadsheets); mobile learning—such as interactive training on an iPad (which Hillegass said is "tricky at the moment because the iPad doesn't support Flash"); and data-access applications—putting mobile front ends on large databases, or integrating with applications such as Salesforce or GISs.
Hillegass then moved into talking about the challenges of mobile application development—which essentially boil down to cost. A company's mobile application development choice will fall somewhere along a spectrum comprising the lowest-cost/most basic functionality app (for example, a simple mobile website) at the low end, a medium-cost, "usable" mobile app somewhere in the middle of the spectrum, and an application that provides a "delightful" user experience—for a high cost in design and development time and resources.
Getting that desirable delightful app typically comes at a high price—starting with the application's design, Hillegass said. "You have to spend a lot of money on the design, to get the user experience to where you want it." Add to that coding the web service and caching parts of the app, and incorporate sync capabilities to allow the application to be usable even when the user isn't connected. And if you want the application to run on multiple mobile platforms, your development costs start to approach the range of "infinitely time consuming and expensive," said Hillegass.
Given the high cost of developing the ideal mobile cross-platform app, companies that are constrained by budget may end up choosing to forgo "delightful" in favor of creating a "usable" application or possibly opting for a mobile website. But the best solution, in Hillegass's view, is to write a custom application for each platform you want the app to run on—which he asserted is the most cost-effective way, in the long run, to attain the goal of creating multi-platform mobile apps in the "delightful" end of the spectrum.
For some organizations, particularly large enterprises not constrained by the high costs of developing a cross-platform mobile app, the risk associated with releasing a mobile application is the main concern. Such organizations want to ensure that their customers will really use the app—and that it won't impede the productivity of their internal users. In such projects, communication is key to the project's success. "There are a lot of pieces in a mobile application development team. A lot of how you minimize the risk comes from how we set up our teams," said Hillegass. "The better the communication, the less risk of failure."
Hillegass wrapped up his keynote by describing users and programmers as co-evolving in an environment of increasingly complex systems, speaking particularly to the complexity and many variables involved in mobile development. "As programmer productivity increases, and tools get better, users demand more from us... and the system is getting more complex and riskier. It gets harder to predict how much something is going to cost." But even as developers are trying to negotiate the complexity of cross-platform mobile app development, the end goal remains the same, Hillegass said. Developers "shouldn't forget that we are all working toward awesomeness" in the applications they build.