Smartphones: A Tower of Babel for developers

Software makers have their work cut out for them in building apps for these newfangled devices -- starting with deciding which mobile devices to support

Page 2 of 3

Plus, third-party options for standardized platforms add to the mix. Although Apple has its own SDK for the iPhone, developers can use third-party iPhone app dev tools. The same holds true for BlackBerry, where developers can employ third-party BlackBerry app dev tools other than RIM's if they choose.

Can HTML 5 overcome mobile disunity?
But perhaps Web technologies such as HTML 5 can help ease the burden of supporting different devices. "HTML 5 really, really helps with mobile development," says Hampton Catlin, a developer for the Wikimedia Foundation, best known for its Wikipedia site. The specification offers capabilities such as JavaScript Canvas for graphics, he notes.

[ Could HTML 5 kill Adobe's Flash and Microsoft's Silverlight? See InfoWorld's report. ]

"Instead of using Objective C [which is used with the iPhone] or using Java in the case of Android, basically what you're doing is you're loading a very complex Web page on the phone" via HTML 5, Catlin says.

The WebKit browser engine in particular offers great support for HTML 5, Catlin says. Applications using it can run on iPhone, Palm Pre, and Android, he notes, and developers can work with familiar technologies such as CSS and JavaScript. This approach still requires a separate build for each device, but most of the code is the same, with about 20 lines of custom bootstrapping code for each device, Catlin says.

The Pre is particularly suited for an HTML 5-based Web app approach, says Charles Taylor, senior .Net developer at "There's a world of difference. iPhone development is more like the traditional Mac OS development," he says. "The Palm Pre, on the other hand, is a lot more rapid development."

Google and Palm have trumpeted the support of HTML 5 on their devices as making it easier for developers to create applications. In both cases, their SDKs lets developers extend the generic HTML 5, CSS, and JavaScript capabilities to take advantage of device-specific functions. Apple, which declined to talk to InfoWorld for this story, supports some HTML 5 capabilities on the iPhone and provides an SDK that lets Web apps tap into iPhone-specific functions. (Microsoft also declined to talk to InfoWorld for this story.)

Of course, there's a trade-off between the simplicity of the HTML 5-based approach favored by the Pre and the SDK-specific approach favored by the iPhone. "Even though the iPhone's more complex to build for, that complexity also comes with power," Taylor says. "You have the ability to do much more with the iPhone than you have with the Palm Pre at this time." He cites gaming as one advantage of the iPhone over the Pre.

The HTML-oriented SDKs that go semi-native
A twist on the Web app approach is the use of an HTML-oriented SDK such as Rhomobile Rhodes platform for building mobile applications. Rhodes is among a grouping of products intended to provide the ability to write an application to run on multiple platforms. Rhodes can create a native application for iPhone, Symbian, Android, Windows Mobile, and BlackBerry, says Rhomobile CEO Adam Blum. Developers write to a model-view-controller container and a set of HTML templates for views. Applications are written in HTML and Ruby, then compiled to native executables, he said.

| 1 2 3 Page 2