The Mellmo developers didn't want to do a skinned website version of the Roambi app for Android, the approach favored by many Android developers because it uses fewer local device resources and can address some of the screen-size differences through CSS techniques well-known to Web developers. But a key part of Roambi's claim to fame is its rich visual display and ability to work with data locally, so you don't need a data connection to explore the information in a client meeting. "We considered replicating the iOS experience in the browser, but you just can't do that," recalls Alsbury. That ruled out a skinned-website approach.
Instead, the team looked at developing a native Android app using Google's SDK, but quickly realized that it didn't want to be in the business of creating separate native versions for every platform. Mellmo thought it might need to support Windows Phone at some point, and perhaps emerging OSes like Tizen at some point. The Roambi app uses sophisticated visualization -- "we're like games in the sophistication of our visualization capabilities," Alsbury says -- as well as its own data engine, and creating those separately for each OS was a scary prospect. "We didn't want to have different dev teams for each OS we might have to use," he says.
The company decided to create its own development environment for both Android and future OSes. That was a 19-month effort, during which the developers wondered if they could pull it off. "We had certain points in the R&D phase where it didn't look like we could do it. But we kept trying and figured it out," Alsbury says.
The team created a development environment supporting a C++ core, a rendering-engine UI framework, and core data layer for Android that is extensible to other platforms, as well as supports the various screen sizes in Android and other platforms. "The Android engine is portable to other platforms," Alsbury notes.
As a result of that internal effort, "we have a version of Roambi for Android now that is indistinguishable from the iOS version.... We ended up with something 10 times better than what we could do with a browser," Alsbury says. When pressed, he admits that the iOS version is better, due to the superior Xcode environment and other developer tools Apple provides, but Alsbury is proud that the Android version of Roambi is "about 80 percent of the iOS version," and users won't see where the compromises are.
Had Mellmo used the Google Android SDK, Alsbury figures that the developers could have gotten close to 90 percent of the iOS version. "The platform can support it." But the ability to port to other mobile OSes was worth the lower optimization for Android, he says.
Time for Android developers to roll up their sleeves
Mellmo will continue to develop its iOS apps separately "because Apple innovates on the developer side so much and we're so able to take advantage of that. We don't want to give that up," Alsbury says, citing the recent Swift language, Metal 3D imaging API, and CloudKit services API announcements as examples. "If Apple keeps that innovation lead, there's still a huge competitive differentiation" with Android, which will keep developers focusing in iOS for first and best. "Most app developers treat iOS as their training ground and then go to Android if the demand ever comes."
What will change is the demand for better Android apps, Alsbury believes. "Companies may get scared by the complexity, but they'll do a cheaper version in Android if not already there." What they'll be less likely to do is skin a website to make an Android app. "As mobile becomes more and more of the entry point, you'll see less and less of the wrapped browser. Facebook a great example: It has great browser app, but it delivers great native apps on all mobile platforms because users want it."
That means developers whose apps have market potential on Android will need to bite the bullet and figure out how to deliver something better than most do today, even though "a young startup will find its ten times more complicated to get started in Android than in iOS," Alsbury says.
Whether you're a startup, an established tech vendor, or an internal IT development shop, the good news is that you can develop more sophisticated Android apps. And you don't need to create your own development environment as Mellmo did, unless your app is that sophisticated in its visual and data aspects. But you will need to spend more effort than you might like to get there.
This article, "Yes, you can create rich Android apps -- but it ain't easy," was originally published at InfoWorld.com. Read more of Galen Gruman's Mobile Edge blog and follow the latest developments in mobile technology at InfoWorld.com. Follow Galen's mobile musings on Twitter at MobileGalen. For the latest business technology news, follow InfoWorld.com on Twitter.