Android vs. iOS: A developer’s perspective on The Big Two
Do Android and iOS present equal opportunities for developers? Damien McFerran investigates
Although Windows Phone and BlackBerry OS are circling the smartphone market looking for openings and weaknesses to exploit, it’s pretty obvious now that the main title fight for mobile supremacy is between iOS and Android.
These two operating systems account for more than 80 per cent of the smartphone sector, and are growing their respective shares year-on-year.
Given that Android has a 50 per cent share of the entire market, you might assume that app developers are quite literally falling over themselves to create content for the Google Play store, but a cursory glance at both the App Store and Google’s marketplace reveals a slightly different reality.
Apple’s iOS remains the first port of call for many developers, and the number of truly essential Android exclusives is relatively small compared to the volume of must-have apps that are available on both. Even more worrying for Google is the amount of top-class iOS-only downloads.
Keen to understand why this is the case when Android apparently offers a better opportunity to make cash, we spoke to Jude Venn of Cuttlefish Multimedia, a company which develops applications for both platforms.
Venn is perfectly placed to explain the positives and negatives of both operating systems, and he reiterates an opinion which seems to be shared by many devs in his profession. ‘Customers on iOS are far more likely to spend money compared to those on Android,’ he says.
‘Android seems to have far fewer paying customers, and piracy is widely reported to be very high due to the more open nature of the platform.’
These points alone make it much easier to understand why developers favour Apple over Google - what good is a large user base when you’re not going to see any return on your effort?
It doesn’t end there, though. iOS offers benefits that are unlikely to be immediately obvious to the end user.
‘There are mature APIs (application programming interface) in place which are well designed and debugged, and actually date back to NeXT system in the early ‘90s. These are complemented by good documentation, a decent dev community and lots of good quality open source code.’
‘There’s also a comprehensive tool chain which is easy to get started with, and a relatively quick code-compile-run turnaround when using the Simulator, all of which makes development faster.’
Contrast this with Android, and the difference is notable.
‘The sheer number of Android devices out there in the field makes testing on all of them virtually impossible,’ laments Venn.
‘Dev tools are clunky and painfully slow to use - sometimes it can actually be quicker to deploy your app to a device rather than to the Android dev emulator, which is ironic when you consider that it’s there to make testing easier.’
‘To cap it all off, uptake of new OS versions has been very slow so far. This leads to frustrating incompatibility issues across different devices.’
Android 4.1 - also known as Jelly Bean - is the latest iteration of Google’s OS, yet it’s a long, long way off being the dominant version, currently languishing below 2 per cent.
Of course, iOS isn’t without its own drawbacks, as Venn readily admits.
‘Compared to Android, where it’s much easier to get your app on devices and far easier to publish app to Google Play store, the App Store review process is unpredictable and inconsistent.’
‘Getting apps onto test devices can also be complicated at first, but third party tools are starting to make this simpler. Also, developer accounts are limited to 99 test devices a year, which can become a problem when you release multiple apps under one account.’
Venn is even able to highlight areas where Android offers a superior experience to iOS.
‘There are definitely more inter-app integration possibilities,’ he explains. ‘You have fewer restrictions on what your app is allowed to do, but it’s a double-edged sword, as this can open the door to malware.’
While developers seem to have a clear preference when it comes to picking their platform of choice, the staggering popularity of Android means it simply cannot be ignored. Therefore, many devs - Cuttlefish included - are porting their iOS work over to Google’s system.
Predictably, this is not a simple procedure.
‘The first stumbling block you encounter is realising that you don't want to do a straight port, you need to recreate for each platform using the UI conventions of each, otherwise it doesn't feel at home,’ comments Venn.
‘This negates much of the benefit of cross-platform tools, such as Titanium and PhoneGap. The theoretical advantage these have is that you can use a common API to develop for both platforms in javascript, rather than two different APIs in different languages.’
‘This does save a little time up-front, getting a basic app working on devices, but finishing the apps to a high standard takes significantly longer - in some cases it's not achievable in a reasonable timeframe.’
So why is this the case?
‘This is down to the differences between platforms that your tools are trying to hide. It's much harder to get an app to the same quality with cross-platform tools - animations just aren't as smooth, there is less control over how you run functions in the background - downloading and updating a database while keeping the UI slick, for example - and as the tools overlay two different underlying APIs, you're limited to a “lowest-common-denominator” feature set.’
In Cuttlefish’s case, cross-platform tools often don’t provide any tangible benefit.
‘Many of our apps are for small local projects - festivals, charities, events, museums, local information - we need to be able to develop quickly to make it affordable,” continues Venn. “This makes cross-platform tools tempting but they end up being more difficult to work with, and end up costing at least as much to build.’
Android isn’t going anywhere, so developers are going to have to continue to struggle with its eccentricities and annoyances. However, it doesn’t have to remain a pain to program for - Google is quite capable of sorting out some of the shortcomings, from a dev’s perspective, at least.
‘App development needs to become as approachable and affordable as web development - we don't need or want the “write-once, run everywhere” system that the cross-platform tools are aiming for,’ insists Venn.
‘Apple are in the lead here and are making iOS development more approachable with each release. But they still have a long way to go - Google could potentially overtake them, but I've not seen much evidence that they're simplifying the development process noticeably.’
‘Having so many different hardware configurations makes it impractical to test every combination on actual devices - the emulator can help, but it's so slow that it still takes too much time to test fully. The slow nature of OS updates being pushed out to devices is still a real problem, and again makes testing more expensive.’
Even though it eclipses iOS in terms of global smartphone market share, Android clearly has a lot to learn from its rival. Chances are, the way in which Android is structured means that it will never be as dev-friendly as iOS – there are too many hardware variants, and the ability to install practically any app to your Android phone - regardless of where it came from - means that piracy will also be an issue.
However, you have to wonder how long Google can continue with a second-place app store. As smartphones become more and more alike, the key difference from a consumer’s perspective is going to be software - and with Apple enjoying the lion’s share of dev attention, it could potentially become harder for Google to hold onto its lead.
