Tools Help Jump the Gap to Mobile Apps

March 9, 2011 Off By David
Object Storage
Grazed from Internet Evolution.  Author: Sean Gallagher.

Right now, your vice president of sales is looking at the iPad 2 and drooling. Or maybe that Pavlovian response is being elicited by the BlackBerry PlayBook, or the Motorola Xoom, or any of the herd of other tablets and smartphones that will be unleashed on the market any day now. Whichever it is, he’ll want sales apps for it, and access to back-end data. And whichever one his salivary glands are working overtime over, you can count on it being the one that you weren’t planning on supporting.

Smartphones and tablets have created a huge opportunity for companies to "mobilize" their IT. But the whole "there’s an app for that" phenomenon has conditioned employees and customers to expect mobile applications that let them access and interact with company data. And while some companies can dictate what types of mobile devices their employees use, they don’t have that luxury with customers.

Developing and maintaining applications on the two leading platforms only (Apple iOS and Google Android) can put a strain on many companies’ development resources — Objective C and Android’s particular flavor of Java aren’t exactly part of most IT departments’ core competencies. Throw HP’s WebOS, RIM’s Blackberry OS, or Microsoft Windows Phone 7 into the mix, and managing mobile app development gets even more complex and expensive.

The most obvious way to overcome this problem is to use mobile Web applications — applications that reside on a Website, but are formatted to work on a mobile device’s browser. HTML5, the version of HyperText Markup Language now supported by most of the mobile device platforms’ browsers, can make Web applications look and act a lot like a native phone application, allowing for some information to be cached locally.

But the user experience with a Web application isn’t exactly the same as with a native app. Even with HTML5’s caching, the mobile Web app’s performance is still largely at the mercy of the wireless network. And mobile Web applications don’t have the cachet of being listed in Apple’s or Google’s app stores — or the potential revenue.

Fortunately, there are some tools emerging that can take some of the sting out of developing native applications across multiple mobile platforms. These tools also make mobile development more accessible to a broader set of programmers and speed up development by leveraging familiar technologies, such as HTML and Javascript.

One example is Appcelerator’s Titanium, an open-source development tool for iPhone and Android, as well as for desktop applications on Windows, Mac OS X, and Linux. Appcellerator converts HTML, cascading stylesheets and Javascript into native code. It uses native interface elements, instead of simply recasting a Web app as a local app. Appcellerator also provides for local data sources, such as embedded SQL databases, and for access to Web services, such as SOAP to connect to enterprise data sources.

Since it uses native code, Appcelertor’s Titanium can take advantage of features of each platform that Web applications can’t. The main drawback of this approach is that Titanium supports only two mobile platforms — although BlackBerry support is planned.

Nitobi’s PhoneGap takes a different approach. PhoneGap is an open-source toolkit that plugs into the native development tools for the major mobile device platforms. Instead of producing native code, it uses the built-in Web browser of the mobile operating systems to run the code. PhoneGap works with Apple iOS, Android, HP/Palm, Blackberry, and Symbian devices — with Windows Phone and others coming soon.

PhoneGap, being a plug-in toolkit, isn’t anywhere near being a complete development environment. It doesn’t address things like enterprise data sources or data connections, or integrating with enterprise authentication systems. But PhoneGap is finding its way into many more enterprise-ready packages, such as Worklight. Worklight includes an integrated development environment based on Eclipse and provides for enterprise data connections and authentication integration by way of an application server.

There’s more competition on the horizon. At the Launch conference in San Francisco in February, a startup called Department of Behavior and Logic demonstrated Cabana, a service that lets customers visually create mobile applications for iPhone, Android, or the Web by dragging and dropping pre-built software components — much in the same way that people began building Microsoft Visual Basic applications two decades ago.

Indeed, it’s just a matter of time before mobile app development starts looking a lot like the glory days of cross-platform client-server development — for better or worse.