Latest posts by Hussain Fakhruddin (see all)
Last weekend, we had the latest edition of friendly banter between our Android and iOS app developers. Both sets were eager to prove the superiority of one of the platforms over the other. During the (fairly friendly!) debates, a number of interesting trends and figures came to light. For starters, it was highlighted that the total count of Android applications in Google Play Store had touched the 2 million mark (in February this year). A report from AppAnnie also showed that Google had a big lead over iOS in terms of app downloads as well (~200 million vs ~100 million) in 2015. The Apple app makers, on their part, were quick to point out that iOS was without any doubt – the higher ‘revenue-making platform’ for developers. In this week’s AppBoard Tuesday, we will continue with the iOS vs Android developers’ fight, and will compare the two platforms on the following parameters:
- Bias among developers – It was present in the good ol’ days of 2008’s iPhone SDK, and it is present now. Most Apple app developers take considerable pride in the fact that they work on the iOS platform – and, given a choice, they could not be bothered about creating apps/games for any other platform. The fact some of the best iPhone apps do not have an Android version goes to prove this. On the other hand, Google Android, with its Java development kit, brings down the entry barriers for cross-platform app developers (unlike working with Cocoa Touch on iOS). While iOS developers are more concerned with design excellence and the end-user experience, the average Android developer is more into making the best use of the available server-side tools.
- Time to code apps – Think that iOS and Android app development requires the same time-frame? Well, think again! A recent Infinum report (with 6 projects) showed that, on average, making apps for the Android platform took 28% to 30% longer than making the same applications on iOS. The difference in time is, roughly, inversely proportional to the number of lines of coding required in each project. iPhone app-making is, based on this study, quicker. Significantly so.
Note: The report factors out the probable differences in the quality/expertise of the developers involved. Hence, that does not affect the final results.
- Battle of the IDEs – Xcode (latest release: Xcode 7.3.1) is the default integrated development environment (IDE) for iOS, while Android app developers work with either Eclipse (latest release: Eclipse 4.5.2) or Android Studio (latest release: v. 2.1.1). It would be an exercise in futility to even do a Xcode vs Eclipse comparison – given how clunky, slow and often counterintuitive the latter is (comparatively speaking), both at the time of coding as well as debugging. With Android Studio, things have got a lot closer – but Xcode still holds the edge, regarding speed and performance.
- How much to code? – With Java being the go-to language for Android applications and Objective-C/Swift being the ‘language of iOS’ – you would expect that Android developers have to actually write more code (after all, Java is a way more ‘verbose’ programming language than Obj-C). However, we were slightly taken aback when Infinum reported that this difference is around 40% (a lower figure was expected), with 1 of the 6 projects involving nearly 190% more coding on the Android platform. So what’s the takeaway here? Android apps take longer to be built and involves more coding – developers have to be engaged for longer, and hence, when you hire Android developers for a full-blown project, you might have to pay more.
- Looking beyond the revenues – iOS applications, on average, bring in around 75% more moolah than Android apps (that was the revenue gap between the two platforms this January). But, to get a proper perspective – we need to dig a little deeper. For starters, the average iPhone and iPad user is more likely to actually spend on mobile apps, than users of Android devices. This, in turn, explains the presence of many more free apps in Google Play Store (compared to Apple App Store). On the iOS platform, paid apps are likely to find more takers – and developers are actually committed to make really good applications. Over at Android, free apps are more…and like it or hate it, that additional bit of monetary motivation – particularly for Android developers – is lacking.
Note: Yet another big problem related to this is the issue of piracy on the Android platform. Users have lots of options for ‘sideloading’ the APK of third-party apps on their Android devices (i.e., downloading them from sources other than Google Play Store). That hurts the download and revenue figures as well.
- Fragmentation – In early-2016, a report found that there were close to 20000 different models of Android phones – manufactured by different vendors, each keen to put their own spin on the plain-vanilla Android platform (oh well, you only get pure Android on the Google Nexus phones). On the other hand, iOS app developers need to worry about a dozen or so devices (even considering the backward compatibility of new applications). Now, each smart device – phone or tablet – differ in terms of screen size, pixel density, display resolution…and this makes the task of creating Android apps that would work optimally on ALL devices that much more challenging. It is very much probable that the user of a relatively obscure brand Android phone will discover an app, install it, find that it is not working properly, and leave an unfavourable review.
Note: The huge fragmentation of the Android platform makes life all the more difficult for mobile app testers. App companies also have to spend more to buy all the latest popular Android phones for testing their apps. For iOS, the latest flagship iPhone and the iPad (probably the iPod Touch as well) are enough for app testing.
- Simulators vs Emulators – Even when there are no other coding problems, the Android emulators take longer to perform the same task than the iOS simulators. That, in turn, stretches the overall app development life-cycle for Android applications (with the extra coding required already eating up more time). In particular, the ARM simulator is real slow – and it is often a source of concern for Android developers. With only a handful of devices to test for, Apple developers have it easy here.
- Size of apps – For the present-day smartphone user, this is, more often than not – an important factor. Few users are naive enough to hoard hundreds of apps on their devices, filling up their SD card storage space in the process. On iOS, the average size of an application is 23 MB – nearly 4 times the average Android app size (6 MB). iOS games tend to be ‘larger’ than Android games (60 MB vs 40 MB) as well. iDevice users have to be just that bit more circumspect about running out of memory space on their devices – if they are not careful enough.
- Use of XML while creating layouts – iOS developers also use XML while developing app layouts – but it is next to nothing when compared to the usage of XML in the Android app layouts. This leads to ‘what-you-see-is what-you-get’ (WYSIWYG) being lot more common on the Android platform than on iOS. An application that takes around 500 hours to build on the iOS platform would require almost 660 man-hours to be made on the Android platform.
- View Controllers and Android Activity – The APIs and software libraries available to Android and iPhone app developers are relatively similar, both qualitatively and in volume. With that being the case, we should turn our attention to the performance of the controllers on the two platforms – and once again, there isn’t much to choose between the View Controllers on iOS and the Android Activity tool. What does make a difference is the presence of the developer-friendly iOS Core Data Framework. The Android system does not have a similar tool.
- Device loyalty – Yep, that’s also a factor that app makers have to keep under consideration. iPhone-owners in general, ‘love their devices’ more than the users of Android phones (~65% satisfaction rate vs ~48% satisfaction rate). More interestingly, 8 out of 10 iPhone-users had already owned older iPhones – and hence, they are more or less familiar with most iOS applications. The ‘young billion’ (i.e., first-time iPhone buyers) population is smaller than the count of new Android adopters though – thanks to the large number of budget smartphones in the market. iPhone was, and will always be, a premium device.
Note: Hardly anyone would call the iPhone 5C or this year’s iPhone SE – relatively lower-priced models – a budget smartphone.
12. Documentation and support resources – Both Android and iOS app developers have comprehensive documentation support – so nothing to really nitpick over here. Apple and Google do an excellent job of explaining all the app development tools and components, and there are plenty of sites (like StackOverflow or Reddit) where developers can pose their questions and get detailed answers. Getting help is easy.
Although the iOS platform promises higher revenues, it requires developers to cough up more money to get things started. The annual fee for an Apple Developer account is $99. Now, compare that with the cost of becoming an Android developer – a one-time fee of $25. Another factor that explains the presence of more paid apps in iTunes than in Play Store. Apple developers have to make up for the higher fees.
While the above points do put certain key differences between iOS and Android app development in focus, it would not be fair to call one of the platforms ‘better for developers’ than the other. From the revenue perspective, the ‘iOS-first’ strategy that many mobile app entrepreneurs take makes sense – while it is easier for new programmers to start out with Android apps. It all boils down to which platform a developer is more comfortable in working with.
And that, dear readers, brings us to the end of Ed. 53 of AppBoard Tuesday. If you have a say regarding today’s discussion topic, simply post a comment – our iOS/Android app makers will be more than happy to hear your opinions. Until the next time then…love thy apps!