1.3 million vs 1.3 million. Those are the approximate figures for the number of apps in the Apple App Store and the Google Play Store. The iOS platform would edge ahead in terms of app-engagement levels, while Android would ace when it comes to download figures (simply because there are more Android devices out there, as against Apple’s solitary flagship smartphone – the iPhone). Instead of going into the much maligned iOS vs Android argument, this week’s AppBoard Tuesday (ABT) would focus on the key differences between the process of making apps for the two platforms. The discussion would hopefully be of help for mobile app developers – new and experienced ones.
For any comparison to be objective, it should be done on the basis of certain parameters (call it criteria, if you will). We have selected the following fields to compare the iPhone and Android app development processes:
- User-traits – Well, there are always exceptions – but there are certain common characteristics that typify both iPhone and Android fans. For starters (and this one is rather obvious), iPhone owners tend to belong in a slightly higher income bracket than average Android users. According to a survey conducted in the United States, the percentage of young adults (17-19 age group) using an iPhone is also slightly higher than that using Android devices (19% vs nearly 16%). What’s more – iOS lovers are very ‘loyal’ to the platform, and are generally not interested in switching to Android (the reverse argument is not similarly strong). Mobile app developers have to keep these traits of phone-users in mind, while deciding which platform to develop apps for.
- Relevant experience in the domain – Anyone with a decent enough knowledge of Java, C and C++ (primarily the first language) can start off with making Android apps. It is not quite as easy to become an iPhone app developer though. Researches have proven beyond doubt that most of the top-ranked iOS applications in the store have been developed by people who are well-conversant with Mac systems and the Cocoa (2D and 3D frameworks). In a nutshell, the barriers to entry for an iOS developer are higher than those for a person who wishes to develop only for the Android platform.
- Requisite programming knowledge – As already mentioned in the last point, Java is the go-to language for Android app development experts. Command over C and C++ also helps them along in many cases. On the other hand, to create an iPhone app, a developer needs to have in-depth knowledge of Objective-C (for newbies, this is a version of C that shares several features with Smalltalk). People who have worked with C and C++ earlier are likely to find it easier to pick up the nitty-gritty of Objective-C, in particular, and the iOS SDK (launched in 2008), in general. With the arrival of the Swift programming language earlier this year, the focus of any iOS developer worth his/her salt has shifted to learning it. Quickly and fully.
- Closed-source vs open-source – One of the major boasting points of all the Android fanboys and fangirls out there (there’s nothing wrong in being a hardcore supporter of any of the camps – it adds to the fun!). The Android SDK is entirely open source, along with the UI frames, the kernel, and even a few basic applications. In comparison, all that’s open-source in the iOS system is the Darwin OS. The iOS kernel has always been a closed-source resource – admittedly, with select open-source elements.
- Same codes for both the platforms? – Those who are new to the concept of cross-platform mobile app development often wonder about this. Sorry folks, if you wish to develop apps for both the platforms, you WILL have to code separately. Android does not support Objective-C and iOS is not compatible with Java. That’s exactly why most mobile app companies have different teams for developing Android and iPhone apps.
- The money factor – Unless you wish to develop mobile apps as a hobby or as a charity (sic!), you will be concerned about potential revenues from your applications. And without a shadow of a doubt, iPhone applications are more financially rewarding for developers – with the platform accounting for over 7 times the revenues from Android apps. With the recent launch of Apple Pay digital wallet, mobile payments are expected to increase manifold via iPhones. In terms of earnability from online gaming apps too, iOS is clearly the leading platform. The popularity of Android apps stems more from the fact that there are so many free applications available at the store (great news for final users).
- Framing the app-notification system – Apple is closed-source, and according to many, that makes for better usability. However, it can’t be glossed over that this feature also leads to problems (at times) in creating a smooth notification system for iPhone apps. Till recently, all app notifications were displayed as pop-up messages – although multitasking and in-app notifications management have got a lot smarter in the iOS 8 platform (this is the point when all iPhone 6-buyers should say ‘Yeah’!). The default hardware of Android devices is more developer-friendly though, and it is easier to leverage the SDK in the best possible manner. In the US, for instance, all that iPhone applications get are the default network features and the carrier (AT&T) support.
- The best platform for a new mobile app developer? – Probably iOS, provided (s)he has a working knowledge of the Cocoa framework. Even though it is, in theory, easier to develop Android applications (lower barriers to entry and all that) – the sheer diversity in the number of Android devices in the market makes app-customization a big issue. Now compare that with an iOS app – where the developer has to make it compatible with the iPhone, the iPad and the iPod Touch (latest versions). If you wish to keep things less confusing to start off with, invest some time to get a hang of the iOS SDK, and start working on iPhone apps.
- Availability of APIs – There isn’t much to choose between iOS and Android regarding the availability of Application Program Interfaces (APIs). iOS 8 has around 4000 new APIs for developers, while Android 5.0 Lollipop has probably gone a step further – with an assortment of about 5000 new APIs. As far as frameworks and software support tools are concerned, developers of apps on either platform won’t be inconvenienced.
- Importance of mobile app testing – In an average mobile app development company, the number of beta testers for an iPhone app is roughly double of that for an Android app. The reason for this is simple. To get approved at iTunes, an app has to satisfy stringent quality parameters and other pre-specified guidelines. It is way easier to get new Android apps showcased at the Play Store, since the emphasis on quality testing is not nearly as rigorous. This has a flipside too – there are over 10 million malware-attached apps in the Android Store. Finding a buggy iPhone app in iTunes is unheard of.
- Considerations for makers of m-commerce apps – Even before Apple Pay arrived on the scene, retail apps customized for the iOS platform were deemed to be ‘safer’ or ‘more reliable’ than Android apps for the same purpose. Close to 25% of all iPhone users engage in financial transactions, as opposed to around 17% of Android device owners. While making general paid apps or chalking out strategies for app-monetization, these figures have to be kept in mind too.
- Reachability vs engagement – If you wish your new app to reach as many smartphone users as possible, create a nice and useful Android app. From Samsung and Sony, to HTC and Asus – there are hundreds of brands with their flagship Android devices (apart from the highly popular Nexus line of phones). However, if you are more concerned about user-engagement levels, iPhone apps should be your first choice. On average, iPhone-owners spend over a hundred minutes every day with the apps installed on their devices. Android has the reach, iOS has the depth – pick the criterion which appeals to you more.
The absence of Flash support on iOS devices (Apple and Adobe had a fairly prolonged dispute in 2010) is another thing that iPhone app developers have to keep in mind. Opinions regarding whether Apple’s Xcode IDE or Google’s JDT/Eclipse support is better are polarised (as expected). In terms of project completion times and and the amount of coding to be done, there is not much of a difference, although Swift’s fast-growing popularity might have a say on that pretty soon. When it comes to online community support for new developers, there are plenty of forums and tutorials for both Apple and Android. There are differences in the app development processes for the two platforms – but at the end of the day, every developer guns for one thing: user-satisfaction.
Speaking of satisfaction, we really hope that the topics covered in the ABT issues are being of help to all readers. If you are an iOS or Android app developer and feel that one platform has a DEFINITE advantage over the other, do share with us such details. Till next week then, AppBoard Tuesday will take your leave. Have a rocking week, people!
Oh, and of course, stay zapped with apps!