The iPhone’s dominance in the smart phone market has been undeniable: Apple changed the game. While Research in Motion arguably created that category with the BlackBerry way back at the turn of the century, it is undeniable that Apple made the smartphone “cool.” But as 2011 begins, a true challenger has appeared in the form of Google’s Android platform.
Roger Entner, founder and analyst at Recon Analytics, said that Android’s growing popularity isn’t limited to users, but is aimed at developers and enterprises looking to build applications.
“One of the big advantages of Android is a much more straightforward approval process,” he said. “You can do much easier development and then launch with just you yourself. The openness that Android offers is helping greatly.”
Entner said that the iPhone is still the most popular smartphone, but Android is now right behind in Apple in market share. (According to Nielsen’s “State of the Media 2010″ survey, Apple holds 28.6% of the smartphone market share, while Android has 25.8%.) BlackBerry, Nokia, Windows Phone 7 and everyone else are fighting for third place.
Enterprises have been comfortable with BlackBerry devices for years thanks to encrypted e-mail and support for Microsoft Exchange. But as far as the Android and iPhone platforms go, Entner said the iPhone wins out in this category.
“The iPhone is the easiest device to integrate into Exchange and to integrate with Microsoft products,” he said. “It’s easier to integrate an iPhone with Microsoft products than it is to integrate a Microsoft product with Microsoft products. Apple has done a fantastic job.
“When launching my company, I just did the integration using Google products. It works very well, but there are a few workarounds, whereas with the iPhone, everything is native and it’s a much more elegant type of fit. With Google it works, but it’s just not as elegant a solution.”
That should all change this year, however, as Google prepares to release a new version of its Android OS for phones, called Gingerbread, and a new version of the OS for tablet devices, called Honeycomb. Both updates will include swathes of polish, something Google has been adding to every OS release since it first announced Android.
With the release of Honeycomb, Google could spark interest in enterprises for its tablets. Entner is bullish on Android tablets in enterprises this year. “I think everybody will be surprised that the enterprise will actually be the big adopter of the tablet, not the consumer, and will be significantly, or will have a much bigger impact in the ecosphere than comparatively on the phone side,” he said. “That will be the very big surprise for most people, and Google and Android will be a big winner.”
Surprising or not, there is another distinct advantage for Google in the tablet market, one that the platform is already known for in the phone market: diversity.
“Apple has a great device and a great OS,” said Entner, “but it’s a little bit like the Ford Model T: You can have it in any color as long as it’s black. If you like black, that’s the one to go for. If you like a different flavor or form factor, Android offers a lot more choice.”
That’s important in the tablet world, where proper size and form have not yet been decided upon; anyone who’s held an iPad in their hands while reading can tell you the device is much heavier than an Amazon Kindle, and the forthcoming Samsung Galaxy S Android Tablet has about half the screen real estate of an iPad.
“You have a lot more choices. Everybody under the sun will offer an Android tablet,” said Entner. “We will see the Honeycomb tablets coming out very soon, and people will be delighted with the OS performance of these devices. With tablets, the form factor lends itself to putting a really big antenna on the device, so this thing will just fly if it’s connected with the right network and a faster processor. With Honeycomb, everything will scale the right way. Gingerbread will make a big difference as well.”
If that’s the case, most enterprises will be in good shape to acclimate to the new Android tablets; they are, after all, already comfortable in Java environments.
Sam Pattnaik, senior manager at mobile development consulting firm Mindfire Solutions, said that moving from enterprise Java to Android Java is not a tough transition.
“It’s actually easy. A person who knows Java does not have to learn a lot, but he does have to learn the way the OS feels,” he said. “There are some minor parts that are different. A person who knows Java would need a week and a half to get rolling and coding on the Android platform.”
Christopher Price, consultant at BeyondSoft Consulting, said moving from Java EE to Android does take a little getting used to.
“Android runs on Dalvik, which itself is heavily rooted in Java fundamentals,” he said. “Going from a desktop Java EE app to an Android mobile app depends on what the app is connected to in terms of APIs. Dalvik is based on Apache’s Harmony Java, so the deeper you go into Java EE-specific APIs, the harder it is going to be to bring all functionality for Android easily.
“However, the solution we suggest is to create a back end on the server that allows for your Android app to be more lightweight. Just because you can take a lot of Java apps completely to Android doesn’t mean you should. From that perspective, our clients find it easier to have a back-end solution work on your server to bridge Java EE with all the mobile device platforms at once. When taking that approach, Android development is easier and facilitates future app development on other platforms.”
Pattnaik said the only way to be sure of how moving to Android will feel for enterprise Java developers is to jump in and download the SDK.
“If they have Java developers and Java expertise and already work with Java, I would recommend downloading an SDK. The most important thing with Android is that documentation is available freely on the Web. You’ll find a lot,” he said.
“You can search for any Android document, and the next day you’ll see at least 140 new ones. On a daily basis, the number of documents available for Android developers is growing far more than you can gather.”
With that rate of growth, Android is becoming a compelling platform for do-it-yourself developers who rely on Google for all of their coding answers. But enterprises and smaller businesses are also taking notice of the little green robot, and Pattnaik said this interest has come at the expense of the iPhone.
“What I have observed over the last year is that, more and more, small and medium enterprises have started coming into the picture. Universities are coming in too, and that’s OK,” he said. “But when you talk about a gas station, things have changed. The guy has a number of systems, a number of different gas stations, and he wants an application so each of the applications are talking to one central server. Not many SMBs [small to medium-sized businesses] were keen on creating an application before, but now that the Android SDK is available and you do not have to pay for anything other than development costs and testing, more and more SMB customers are getting interested. I think Android is on the cusp of being something really big.”
While BlackBerry has already won over enterprises, and many corporate execs already have iPhones, Android use in enterprises up to this point has been almost non-existent. Debra Lewis, spokesperson for Verizon Wireless, said that there is a reason for this: concerns about data security on end-user devices.
“Enterprise customers view Android as an exciting option, but one of the key things we hear is that they want to be able to do a remote wipe of company data in case the phone is lost or stolen,” she said. “Phones like the Droid Pro from Motorola or others using Good [for Enterprise] for Android can help accomplish this goal. As for custom applications, we’re seeing more companies develop applications and distribute them to employees, but the same concern over data applies here as well.”
So, while the Android platform is easier to deal with from a deployment standpoint, its lack of enterprise security features hampers its ability to be used there.
Naeem Zafar, president and CEO of Bitzer Mobile, said his company has a solution for those data woes: a data-wrapping framework that allows developers to push existing enterprise desktop applications out to phones via a translation tool. Those applications don’t store any local data and use a direct pipeline to the server, keeping sensitive information out of the flash cards on phones. Bitzer’s solution, however, works on all three major phone platforms, and is thus not a solution limited to Android.
BeyondSoft’s Price said that Android has been adding support for enterprise needs, like remote wiping and Exchange support.
“Enterprise Android is still relatively new. Exchange ActiveSync was an ad-hoc solution as of Android 2.1. Remote Wipe wasn’t formally added to the platform until Android 2.2. This is largely due to how Android is built; because the code is open and ready for everyone to inspect, there has to be a high level of scrutiny when it comes to enterprise integration,” he said. “In the long run, this is a good thing, but in the short term, it means Android teams will generally need more talent to build enterprise applications.”
Of course, most enterprises aren’t concerned with a single phone platform, but rather with all of them. Customer-reaching applications can’t penetrate markets if they can reach, at most, 30% of all users. Thus, Android development in 2011 may not be arriving as a new king, but as a third or fourth leg on an existing platform strategy.
“Each mobile platform that we’re seeing has built-in compatibility issues,” said Price. “iOS and Android are nearly polar opposites when it comes to a technical level. iOS runs in native code (Objective-C), whereas Android’s Dalvik is really virtualized and is now JIT-compiled.
“Windows Phone 7 adds further to this complexity, relying heavily on Silverlight to develop apps. All three approaches are totally different and make it virtually impossible to take a desktop app and hit the recompile button. Apple is coming closer between Mac OS X and iOS, but even that is just starting to scratch the surface.”
The solution, said Price, is to build a thick back end with thin front-end clients for each device. “What we suggest is having a server-focused solution when targeting multiple platforms,” he said.
“This allows for the mobile clients to be as lightweight and as efficient as possible, while enabling clients to expand their app portfolio to future platforms more easily.”
Options for testing mobile apps
When it comes to testing mobile applications, Jason Huggins, founder of Sauce Labs, said there are four ways to do it. The problem of testing mobile applications is a tough one, though, because one option could have each application require testing at “a specific geographic location, on a specific device, on a specific network,” he said. “Option two is running it on an emulator. You remove the geographic and network parts, but at least you’re checking functionality.
“The third option is an actual device. We have one customer I talked to who’s doing HTML5 video. They don’t need it to be on a street corner, don’t need to worry about the carrier. They don’t trust the emulator. They’re really worried about the device itself. The way they want to do it is with tethering, it’s tied to your workstation through USB, and when you run the test it goes to the real device.
“The last option is manual testing, or crowdsourcing. Already some vendors are doing crowdsourcing. You collect a group of people, and when someone wants to do a mobile test, they’ll e-mail everyone and say ‘Go to Times Square, click this button make sure this works.’ ”
Of course, testing is usually a lagging indicator, said Huggins; testing questions don’t pop up on the Web until developers had already created working applications. He said this year might be when mobile testing starts to get more attention, but added that, at present, a clear best practice for testing has yet to be chosen. He said no one is certain what future mobile test labs will look like, but added that “what I want the answer to be is emulators in a cloud. It’s the least disruptive to what we already have running.”
With all this attention being paid to Android, it’s starting to feel like the early 1980s again: Apple is riding high atop an extremely innovative computing product, but the newfound competition is based on generic hardware, multiple hardware vendors, and an operating system controlled by a company that doesn’t produce any hardware. Could the mobile-phone space end up sorting itself out in the same way the desktop PC space did?
Roger Entner, founder and analyst at Recon Analytics, isn’t so sure. “There is certainly a resemblance of it, but Apple has the potential of being able to defend its lead a lot better than on the PC side, especially when exclusivity is ending. To this day, while Android is growing by leaps and bounds, Apple is still taking market share from Android,” he said.
It’s just that Android is absolutely savaging every other smartphone OS out there, but it still loses slightly to the iPhone.”
That exclusivity for the iPhone he mentioned went away shortly after Entner was interviewed: In February, Apple will be offering its phone on Verizon’s service, ending its three-year exclusivity contract with AT&T.
Debra Lewis at Verizon Wireless said that despite the addition of the iPhone to Verizon’s lineup of supported devices, the company is still dedicated to the Android platform as well.
“Yes, the iPhone is coming to Verizon…but we have—and will continue to offer—a wide range of Android devices (handsets, tablets) for consumers and business customers,” she said.
“The platform continues to grow. At CES, Verizon announced at least six more devices that will use Android on our 4G LTE network (4 smartphones and two tablets) and will be available by mid-2011.”
New features of Gingerbread, Android OS 2.3
• New UI theme with simpler color scheme
• Redesigned on-screen keyboard
• New copy-and-paste functionality
• Better power management
• Better application management
• New downloads manager
• Near-field communications (NFC) integration
• SIP calling over the Internet
• New camera app for accessing multiple cameras
• Support for extra large screens (i.e. tablets)
New features in NDK R5
Doing native development in Android? You don’t want the SDK, you want the NDK. NDK was updated in December. Here’s a list of the changes in revision 5.
• Adds support for native activities, which allows developers to implement the Android application life cycle in native code.
• Adds native support for the following:
• Input subsystem (such as the keyboard and touch-screen)
• Access to sensor data (accelerometer, compass, gyroscope, etc.)
• Event loop APIs to wait for things such as input and sensor events
• Window and surface subsystem
• Audio APIs based on the OpenSL ES standard that support playback and recording as well as control over platform audio effects
• Access to assets packaged in an APK file
• ncludes a new tool chain (based on GCC 4.4.3), which generates better code, and can also now be used as a standalone cross-compiler, for people who want to build their stuff with ./configure && make. The binaries for GCC 4.4.0 are still provided, but the 4.2.1 binaries were removed
• Adds support for pre-built static and shared libraries, as well as module exports and imports to make sharing and reuse of third-party modules much easier
• Provides a default C++ STL implementation (based on STLport) as a helper module. It can be used either as a static or shared library. Pre-built binaries for STLport (static or shared) and GNU libstdc++ (static only) are also provided if compiled against those libraries instead of the default C++ STL implementation. C++ Exceptions and RTTI are not supported in the default STL implementation
• Includes improvements to the cpufeatures helper library that improves reporting of the CPU type (some devices previously reported ARMv7 CPU when the device really was an ARMv6)
• Adds an EGL library that lets developers create and manage OpenGL ES textures and services
• Adds new sample applications, native-plasma and native-activity, to demonstrate how to write a native activity
• Includes bugfixes and other small improvements