Five Reasons Why I Use Android and Two Reasons Why I Develop for iOS

by Gordon. 23 Comments

Being both a mobile developer and an avid phone user, I have two somewhat different perspectives. As a user, over the last several years I have owned a multitude of mobile devices: G1, Nexus One, IPhone 3G, IPod Touch (4th Gen), IPad, and IPad 2. As a developer, I have a combined 13 apps in the android market and app store (all independently developed and released).

Why I Use Android

Despite the IPhone 4 having admittedly better hardware (damn that retina display is nice) I much prefer Android devices. The reasons have everything to do with software:

1. Multitasking

“Multitasking” on iOS is a joke. I’m speaking right now from the perspective of a user, but trust me, I also truly know this, having been in the shoes of a developer. Notifications are horribly presented in modal dialogs; in situations where I have a large number of notifications, usually all but the last one shown to me are lost. I also desperately long for an IM client which I can use on my IPad which I can naturally interact with while using other apps. No such app exists since all the apps are forced to go through the cumbersome notification system. On Android, as in a desktop operating system, applications can truly run in the background; on Android, IM can be almost indistinguishable from texting (which is coincidentally also better than iOS).

2. Intents

Android is an intent based operating system. What this means from a user’s perspective is a richer more deeply integrated experience. If I am browsing the web and click on a link to a product on Amazon.com, the context will switch and the product will be opened in the Amazon app. On iOS, clicking that link would just result in the link being opened in the browser (often times losing the context of the originating application). Android allows apps to have a deeper and more natural hook into the operating system and user experience. For example, in the coming years, when Google Voice finally gets a true VOIP client, it will be able to seamlessly replace the default calling application.

3. Back Button

The back button is a killer feature and is way more than just a physical button. The android operating system is essentially stack based. Going from the above example of clicking on an Amazon product link: after the Amazon app is opened, I can intuitively press the back button to return to the application from which I clicked the link. I cannot count the number of situations on iOS where I lose a retrievable context of where I was inside of an application by clicking on a link. Nor can I count the number of applications which pop open browser dialogs when you click on a link as a hack to fix this. Imagine how ridiculous it would be if it was the norm for desktop applications to all use an embedded browser. Imagine how unusable it would be. The closest equivalent on iOS for the back button (that I know of) is double tapping the home button (or four finger swiping) to get a list of the most recent apps and then clicking on the app you last used. Lots of users don’t even know you can do this.

The menu button on Android is also very convenient (although not as vital) and saves lots of prime mobile screen real estate.

4. Apps

As a user, I never need to buy an application. Moreover and surprisingly, there are many apps on Android that simply have no equivalent on iOS. If I want to use instant messaging, free apps exist. This is the status quo. Not so on iOS. Also, there is a GMail application which actually has an intuitive interface. I am shocked by tech-savy people who use the iOS mail application with their GMail account in an outlook-like fashion. Things like Wifi and USB tethering are also built in to the Android operating system.

5. Navigation

Newer version of android have a turn by turn navigation application by Google which uses data from Google Maps. Although some might consider this a smaller feature, this is hands down the best navigation application I have used and has rendered my Garmin navigation obsolete. I use this all the time. There is no equivalent for iOS, even though some apps exist in the app store with double digit price tags.

Why I Develop for iOS

Despite learning mobile development on Android and also preferring Android’s development framework and tools, I have shifted all of my app development to iOS (at least for first releases). One of my most recent games, Word Topple, is only available on the app store. The reasons have nothing to do with software:

1. Revenue

iOS has a much more profitable app economy. Even though it is ridiculously hard to make a hit iOS app, an iOS application is much more lucrative than the same android application with the same number of users. On iOS, users expect to have to pay for applications and they do. Each user of an iOS application is also much more valuable than their Android counterparts.

To back this up with some data, I will reveal some numbers on one of my games, BeWorded (in the Android Market and in the App Store). Both versions are identical ports and have never been marketed. They have also both not been updated in months. The primary source of revenue for this app is through AdMob advertising. Interestingly enough, both versions have had almost exactly the same number of impressions (~1.5 million). The iOS version has a CPM of $0.30 and the Android version has a CPM of $0.08. The iOS version is roughly 4x more profitable with an identical user base. Some of my other Android apps have even worse CPMs.

2. Game Framework Maturity

Let’s face it, most user’s play lots of games on their mobile devices. Games are huge. On iOS, there are a number of game frameworks with very active communities, my favorite being cocos2d. Android, on the other hand, suffers from a lack of mature game frameworks. I first started writing games on Android and have tried virtually all of the 2D frameworks I know of. I wanted a full 2D scene graph and none of them were sufficient. I ultimately wound up using an incomplete port of cocos2d to android which suffers considerably in performance and in completeness, but is getting a lot better. This fact has resulted in iOS being a much better platform for developers and users with respect to games.

Thoughts on the Future

Android is a much more advanced and well though out operating system compared to iOS. It is open. Its applications are free. Even its development tools are more modern (which I will go into in another post). Game frameworks will eventually catch up and the communities are growing. The biggest leg up iOS has over android at this point is hardware and aesthetics, and that gap is closing fast and might already be closed. Unlike the laptop market, other handset manufacturers like HTC and Samsung are producing amazing devices. The IPhone was clearly superior when I was on my G1. After upgrading to a Nexus One, my phone was superior to my friend’s IPhone 3GS’, before the IPhone 4 was released. Next generation phones like the soon to be released HTC Sensation and Samsung Galaxy S2 are going to blow existing devices out of the water. The bar for applications on Android is also increasing and the truly good, sexy apps are floating to the top.

Although I currently still develop primarily for iOS, I expect that to change soon. All of the low hanging iOS applications have long since been built and more and more apps are becoming free to compete with the incumbents. I expect this to affect the profitability of iOS development and the expectations of users. Android is also gaining market share and truly has a better user experience. People are starting to openly prefer their Android phones to their friend’s IPhones. If I had to make a long term wager on a mobile OS, all my money would be on Android.

  • http://adamp.com Adam Pieniazek

    Had a 2G iPhone, loved it but eventually got sick & tired of AT&T’s (lack of) service. When my contract ran up I didn’t really like any of the Droid phones out and really didn’t feel like dropping $80 a month so I went old-school and switched to a pre-paid flip-phone.

    Recently got an LG Optimus V with Android 2.2 and love it. Of course being out of the smartphone market for a year affects my perception but Android just feels less like a phone and more like a device. It took a day or two to get used to but couldn’t imagine going back to not having a back button, crazy-good navigation and a host of free apps.

    The iPhones are nice and carry tons of sex appeal but at the end of the day Android’s becoming the power user device.

  • Tim

    as a fellow ios dev (although non-professionally, for side projects), I concur with your opinions – yes, iOS is aging fast (although has better esthetics) and its user base seems to be a little bit more open to paying for stuff.

    Hardware for now is also nicer on iOS, although some newer android devices from HTC (inspire and similar) and Samsung (infuse, SII) are starting to give iphone4 run for its money…

    Not sure whether I’d switch from iOS as a primary platform of choice, but it’s good to have very competitive alternatives that are pleasure to develop for.

  • http://robertmassaioli.wordpress.com Robert Massaioli

    I agree completely with what you just said but I am going to focus on Android too because that is where the future is. The iPhone, while good while it lasted, is going to have some problems in the future in my opinion while Android is still opening up new doors. Just look at what they have announced at Google IO.

  • Jake Singer

    Your post seems more an appeal to fanboys than a coherent argument for Android:

    1. a. Android Multitasking: You ignore the biggest issue, battery life. It’s a problem that the heads of Google have admitted to. Unlimited multitasking ability is not superior but but rather incomplete. Google hasn’t spent the time to make it work within a limited energy budget, but rather just gave a desktop solution to a handset in the interests of expedience. It’s good for desktops, bad for the mobile space.

    b. Notifications need to evolve on the iphone and no doubt each vendors OS release will try to leapfrog the other. We’ll see what Apple has done with iOS 5 in a week or so. And, while Google will have a response, the reality is the majority of Android devices will not be compatible with the Ice Cream release in the 4th Qtr.

    1. In iOS links can be to other web pages or to other Apps, it depends on the “intent” of the site not Google. Apple has from the start linked their browser to Apps.

    2. The backbutton is interesting but in iOS it’s just double-click and select the first app in the multitasking list. But, in a use case scenario, I don’t necessarily want to go back, so iOS provides a consistent approach to quickly switching apps without adding another button. I think for the average joe, that’s a superior interface.

    3. iOS has more free Apps than Android including excellent free IM apps that are tightly integrated with notifications so you don’t skip a beat. It will only get better with the next revision of the notification system. The reason why there are also excellent paid Apps is a testament to iOS’ superior App ecology. I think your argument is ridiculous here.

    4. So you are a developer that is happy that Google killed the Navigation App opportunity for 3rd parties by building in their own? iOS has diverse and large selection of both free and paid navigation apps and some of the best navigation apps out there bar none. No doubt Android has nice Apps as well. It’s not a positive when your OS provider hurts their own developer community though.

    Apple has a much much much more profitable environment for developers because it is a superior product for the mobile space. Consumers are voting with their purses. Consumers are putting their money behind iOS devices and apps. They are mostly not willing to give their money to the Android ecosystem. Android is great for the Wireless companies but just another phone to the consumers; it’s not an iPhone…

    • http://openid.anonymity.com/6DabEQYd Guy Fawkes

      “So you are a developer that is happy that Google killed the Navigation App opportunity for 3rd parties by building in their own?” wtf are you smoking? Google and Apple can’t build software anymore? 

    • Grendel’s Mother

      TLDR … I’ve only read the conclusion. Nevertheless the perfect apple fanboy prototype … IMHO.

  • yoonssoo

    @5b938c748d543af9e62e353238f3b661:disqus  While I absolutely love my android phone(Droid Incredible), I envy iPhone’s retina display and battery life. You’re right on about the battery and multi-tasking.  While I doubt there’s any better turn by turn gps navigation app than Google Maps, the navigation and gps consumes so much battery that the charger can’t catch up with the battery use.  Even without gps activated, I can’t let Google Map running in the background because it uses up too much battery. 

    I do believe Android is catching up rapidly.  However I don’t think it’ll ever be “mainstream” as iPhone as it’s much more complicated than iPhone for non-tech savvy crowd which is the majority of the consumers.  I’ll always go for Android, but  If I were to suggest a phone for my parents it would be an iPhone.

    • joao

      Android not mainstream? It has the largest market share and data usage. How is that not mainstream? See http://blog.nielsen.com/nielsenwire/consumer/android-leads-u-s-in-smartphone-market-share-and-data-usage/ for details.

    • Eric Thelin

      There was I time when I could believe the argument that android is too technical for the non-tech savvy phone users.  But then I started seeing almost all my family and friends getting android phones on their own without me promoting or assisting them.  Most of these people are what I would call average windows users.  And I have even asked a few of them it they would switch to an iPhone if they were offered one.  The answer was no because they have know how to use android now and have bought apps that they don’t want to loose.  It is interesting that at the present time very few people move from one camp to the other once they get either their first iPhone or their first android phone.  The adoptions are mostly from non-smart phone users moving to smart phones.

  • Steve

    “Things like Wifi and USB tethering are also built in to the Android operating system.”

    FYI Bluetooth/USB/wifi tethering is built-in to iOS.

    • http://hempton.com ghempton

      Thanks for the heads up. Recently, I’ve spent most of my time on my iPad/iPod touch and haven’t noticed.

      Tethering in Android is free on the base OS, however.

      • Steve

        In Canada tethering is simply part of the standard dataplan (with Rogers and Telus.. I believe Bell, Fido, etc follow suite). I hear a lot of woe coming from South of the border, however.

      • Anonymous

        “Tethering in Android is free on the base OS, however”

        This is the choice of the carrier not the phone OS

      • http://twitter.com/trollwerks Alex Curylo

         Tethering in Android is free on the base OS, however.

        And so it is on iOS if your carrier doesn’t suck. Fido/Canada for me.

  • http://kevsaidwhat.blogspot.com Kevin Peck

    Pretty good summation of how I feel. I am also writing both Android and iPhone applications but for a company. I find the Android side quicker, easier and friendlier to develop against. The API to me is cleaner and takes less lines of code to accomplish what I do under iOS. Quicker because it takes less lines and less Google searching to find “how to” do something and I don’t have to deal with memory cleanup. Friendlier because I can publish at will and tell our Doctor clients a new release will be ready in minutes and not in days or weeks because I have no control over how long Apple will hold on to it. 

    So far I have not been rejected by Apple but it has take a week to get something published. Only game in town.

    My personal phone is an Android. I really like the multitasking geek side of things. Battery can go faster than the iPhone but anything with more power tends to do that. I can also publish my apps on any of the sales people Android phones in seconds. I have to request a provisioned ID on the iPhone side. Quick process but annoying and I will be limited to 100 for my developer account.

    I wish the Android side was a bit less “free of forget it” on the app side. Like you state it is harder to make money over there. I help perpetuate that by looking for a free app either for my phone or my Xoom. I only develop on the iOS side, I never buy apps for my test devices.

  • Anonymous

    Very interesting article. I’m looking into designing my first apps for [Questioning which right now] format and these are questions I’ve considered but could’ve used an experienced take on. What I’ve come to understand (and I am hoping to be corrected if I am, in fact, wrong) is that iOS dev is more complex due to the lower level coding required vs Android’s JavaScript/HTML5 based design. With that understanding, again as I’m more a hobbyist to this end, I had planned to code something in iOS, first, get it functional, then port it to the easier/lighter Android versions. I have a personal inclination towards Android, though, and I assume that eventually I would consider switching solely to it for dev, as I’m fully independent. 

  • http://dmenounos.myopenid.com/ Dimitris

    I would like that post with your opinion on the development tools – and the languages please. Like you, I have been coding in Java for a long time and as such I am fairly familiar with the prominent tools. Unlike you, I am finding the Objective-C and the Cocoa framework much more intriguing to work with! Literally, I have fallen in love with it that now try to use ObjC outside the scope of the “Apple” platform.

  • Mohammad M. Ramezanpour

    I agree some of these about Android but Multi-Tasking on iOS is something beyond Android’s. If you keep open 20 apps in Android, the OS will be going to hell (As I experianced in Samsung Galaxy S with 1G processor which is as same as iPhone 4) but you can’t even feel slow in iOS.

  • surfari adam

    I would be interested to know witch gameframeworks did you test for Android. Thanks

  • Ramzez

    Tried meebo on iPhone ? It’s free.

    • http://codebrief.com Gordon Hempton

      Haven’t tried Meebo, does it have ads? One of the big issues isn’t having an IM client, it’s being able to use it while also using other apps (a la how people use desktop clients.)

  • http://twitter.com/nRikeDiaz Enrique Diaz

    I liked the last part, some of their lacks in Android are getting better and better. Have you tried Corona SDK to develop Android games? Also i think Google is looking to dominate the market and make money with in-app purchases and advertisement, but the Android Developers must create some award-winning apps to compete with an well-known App Store.

  • sid777

    Please update this article to comply with year 2014. Please :)