Android has the benefit of being Open Source, and there is much more variety to choose from in target hardware, so from the perspective of doing Vertical Market sort of applications, the mobile OS has a clear advantage.
However, I’ve seen some pretty impressive examples of vertical market apps built for iOS as well, such as in the restaurant industry and for kiosk-type apps, so I’m not so sure anymore that Android is always a better solution if you are going vertical.
Generally speaking I find current implementations of Android -- Ice Cream Sandwich and Jelly Bean to be buggier and less responsive than iOS. Part of this has to do with the fact that every vendor implementation of Android on every single new handset or tablet is subject to having to go through an arduous hardware/firmware/software device driver integration process with Android’s Linux kernel.
This is the exact same reason why it takes an eternity for some OEMs to update their products to new versions of Android.
- Also Read: The Innocence of Android Fans
Some of this integration support comes from Google, but a lot of it has to come from component suppliers, as well as commercial Android device platform build kits targeted directly at OEMs (like Wind River) and then the OEM/Carrier has to tie it all together.
There’s much more in the recipe of each product that can go wrong, versus Apple which owns every step of the process and essentially can bake their own DNA from a semiconductor and OS integration standpoint.
Android’s main API and software development environment happens in a VM that works very much like Java, which is always going to be more resource intensive and less responsive than applications built in native C++ or Objective-C code that runs in iOS, no matter how many hooks the VM has into the hardware and how many optimizations are applied.
The system architecture of iOS is also designed so that the UI itself has thread priority, which is why iOS has such a smooth feel to it. Google has made some strides in UI responsiveness with Jelly Bean and their “Project Butter”, but it really cannot be compared to the performance characteristics of iOS.
While Android has an NDK for writing apps or components in C and C++ which are CPU-intensive, most apps which use it are games.
And Microsoft? While Windows Phone's market share has a long way to go in terms of being even a blip on Cupertino's radar, Redmond is doing some very interesting things with their mobile platform.
I’ve only had a minimal amount of exposure to Windows Phone devices. The user interface is unique, and it looks nothing like what either Apple or Google is doing with their respective platforms and I like it.
But from an ideological perspective, Apple and Microsoft are trying to accomplish very similar things. Very little or no OEM or Carrier customizations can occur, so that all Windows Phone customers, regardless of what device they use and what carrier they run on, will have a very similar experience. Where Windows Phone differentiates is strictly at the hardware level.
Microsoft has ensured from the ground up in its relationships with OEMs that the kind of fragmentation that exists in Android cannot occur with Windows Phone, and that device upgrades will occur more or less simultaneously in the future, which is also similar to the way Apple does iOS upgrades.
Like Apple, Microsoft has also provided a strong SDK with a completely integrated development environment with the rich WinRT API set that is shared with its Windows 8 operating system. This is not unlike how iOS and Mac OS have the same IDE and software development platform, although there are some differences in how APIs are actually implemented between Mac OS and iOS.
Microsoft is leveraging developer expertise the same exact way that Apple is doing.
The only difference is that Microsoft is re-booting its entire software development environment with WinRT from the ground up and there will be developer transition and application porting issues, whereas Apple’s developer base is highly entrenched and has years of experience building stuff cross-platform for both iOS and the Mac.
So are mobile operating systems are diverging and offering specialties to appeal to users?
I think Apple’s competitors would love to make the case that their products are different and are addressing the unique needs of users. I’m sorry, but that’s a load of crap..
No matter how different you make the user interface look, or how information is presented on a device, consumers as well as business users expect a certain basic level of functionality from their devices. They expect popular applications and services to run on them, they expect to be able to browse the web and do email and interact with their social networks. They expect to be able to take photos and videos with their phones.
Platform X versus platform Y versus platform Z may be stronger or weaker in one of these aspects in relation to another, but at the end of the day, all of these platforms have to be competitive in what they can do in relation to what everyone else is doing or they will lose relevance and have to play catch-up.
Exhibit A, Research in Motion.