Thursday, December 6, 2012

Pros and Cons of Developing for Android vs. iPhone

I've been saying I'd do this post for awhile, but I hadn't actually gotten around to doing an Android app myself until recently (we previously published a small app, but I didn't do much of the dev work). Since I just finished porting Run Tracker+ and Run Tracker Free I thought now would be a good time for this review(iOS version). Side note: I don't have a free version on iPhone, this is the start of a new experiment I'm trying to upsell the full version. From what I hear free apps really dominate Android, so I thought this might be a good idea.

There are actually quite a few pros and cons for both platforms, and they don't all match up, i.e. there are some things that suck on both, and some that are good on both.

Learning Curve

IMO, this is a pro for both of them. I didn't find either one to be too bad. I'm coming from a C/C++ background with a lot of time spent doing embedded development. Obj-C for iPhone is obviously a bit different, but not so much that I didn't pick it up fast. My Java experience prior to Android consisted of 2 weeks of a class in college, but the basics (syntax) are similar enough that I didn't have any troubles getting up to speed.

Winner - Tie

Development Environment

This one is tough. I've been using xcode for so long now I'm really used to it. I'm using Intellij for my Android development based on a friends recommendation and I like it too. I've also used Eclipse. If we were talking about pre-xcode 4 I'd say Android wins because I hated interface builder. With xcode 4 though that's solved. I did have a slight problem with Android, as everything in the documentation is Eclipse based. Maybe that's just my problem, but I like Intellij better, so....

Winner - Leaning iPhone. 


For me, the iPhone wins hands down. Supporting lots of different screen sizes and resolutions and aspect ratios is a lot harder than supporting 2. (and we just got 2 with the iPhone 5.) Also, being able to just drag and drop stuff onto my interface is really nice. iPhone allows for pixel perfect design easily. If you want that on Android you have to have way more patience than I have.

Winner - iPhone

Coding Time / Built in Features

This one sort of surprised me. I've never had a problem getting things done with iPhone, but there are a few things I found to be really awesome in Android. 1 example being that it has built in text to speech and the iPhone doesn't. My voice summary function is 50-100 lines in iPhone. In Android it's 1:

foo.speak(text, TextToSpeech.QUEUE_FLUSH, null);

That was handy. I wasn't sure if I was going to include that feature in 1.0, but I decided to look it up real quick to see how much work it was going to be. 5 minutes later it was done.

Winner - Android

Submission Process

At the start, Android has an advantage in that it is $25 and iPhone is $100, but that's where it ends. Back to earlier, all the documentation is for Eclipse. Getting my submission ready required a command line. While I've spent countless years of my life using the command line for various tasks in various operating systems, I'd much rather have a button that says, "Build this app and then submit it to the store." Maybe eclipse has this button, I'm not sure, but I know Xcode has it so...

At this point, iPhone has a big lead. Unfortunately it throws it out the window at some point during the 2 week review process. The part where apps that work get rejected for absurd reasons, and apps with major bugs get through (and then more weeks to fix said bugs) frustrates me. <Rant> I just had an iPad app update that I tested on my iOS 5 iPad pass a review. Unfortunately, I didn't realize they deprecated the screen rotation stuff in iOS 6. In iOS 6 it turns out, my app was entirely unusable. Not just not that great, UNUSABLE. It got stuck in the opposite rotation it was supposed to be in, and you could click on anything at all. Apparently Apple doesn't test on their latest version either (or at all). Then, when I asked for an expedited review for a critical bug fix, they said, "unfortunately we cannot grant your request at this time as it does not meet the criteria for expediting a review." Seriously? What the hell is a critical bug fix, if, 100% not working app doesn't qualify?</Rant>

Winner - Tie - Yeah I had a big rant against iPhone, but they were way ahead up to that point :-)

App Store

I've spent a lot of time talking about the Apple App Store so if you're interested check out the archives. It's terrible, awful, really freaking bad. Android wins hands down. The searching auto complete isn't broken like Apple. It completes what you were typing instead of completing into a 15 word app name. (While I'm at it, they limit app names to 30 characters, something Apple really really should do. Instead of random rejections based on a reviewers subjective view of how long an app name should be, we get a nice clear rule.)

Continuing with search, after a few hours, searching my app by the first part of its name "Run Tracker+" gave my app as the first result. On iPhone, +'s are ignored, and searching for my entire app name (that's been in the store for 18 months and has 5 figures of downloads) "Run Tracker - GPS Fitness Tracking for Runners" puts my app at #2. Seriously. Unbelievable. Note that people will actually search for this because of the above mentioned absurd auto complete.

Moving on, the Android store also offers the option to a video and large promotional headers. I don't really care about the header, but the video is definitely a nice touch.

Winner - Android


Ah sales. The only category here that actually matters. This particular app has only been on the store for a day, and other app has been there for about 6 months. On the other hand I have > 20 apps on the Apple Store and have had some of them there for several years. It's certainly not a fair comparison, but the app I have had out for 6 months has done has made 5% of what it's iPhone counterpart made over the same time period. That being said, the recent Apple App Store changes have made it really hard for a new app to succeed. We'll have to see how that plays out for me on Android.

I'll update this after I have more significant data, but from the data I have, and from what I've read and talking with other devs:

Winner - iPhone

Overall Conclusion

I actually liked working with Android more than I expected. If it wasn't for all the different aspect ratios I'd like it significantly more. That being said, it all comes down to money in the end. The verdict is still out on that front. Assuming I can get it to make a reasonable amount (> 50% of my iPhone sales) I plan on making it a first class citizen for my next new app (That is assuming I can my sales back to a reasonable point and I do a next app instead of trying something new or freelancing). Until then, I do plan on porting several more of my apps to try and get a better feel for the store, and how much it can make.

If you've read this far and are interested in the mobile app market you may want to check out my newsletter. It's periodic emails (no more than 1-2 a month) on mobile app sales and the different markets.


  1. Thanks for your article on Android technology. Android is an open source platform that allows developers to create stunning website loaded with various advanced features and functionalities. Android Training in Chennai | Android Course in Chennai|iOS Training in Chennai

  2. Great information.I like this kind of blog information really very nice and more i can easily new skills are develop after reading that post.
    Best Android Training institute in Chennai | Android courses in Chennai | Android Training

  3. Thanks for sharing the information regarding iPhone. It was really excellent.
    iphone service center in Chennai

  4. This information is impressive; I am inspired by your post writing style & how continuously you describe this topic. After reading your post,thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic.
    Selenium Training in Chennai
    Selenium Course in Chennai

  5. Nice post. Very interesting to read. Thank you for Sharing.
    erp software in chennai

  6. Thanks for sharing....Learn a training in Best Institute & get a 100% placement Assistant...........
    Selenium Training in Chennai

    Dot Net Training in Chennai
    Android Training in Chennai

  7. Thanks for taking time to share this post.It is really useful.Continue sharing more like this.
    Android Training in Bangalore

    Software Testing Training in Bangalore

    R Programming Training in Bangalore

  8. Very interesting article, thanks for sharing your information... keep rocks...

    Android Training in chennai | IOS Training in chennai

  9. Nice blog., Its really interesting to read.. Android is one of the leading Technology so its very informative to us., Keep updating.. Software Testing Training in Chennai | Selenium Training in Chennai | Java Training in Chennai

  10. You blog explain everything in detailed manner and it was very interesting to read. Keep updating Such a nice blog.
    No.1 Selenium Training Institute in Chennai | Selenium Training in Chennai | Software Testing Training in Chennai

  11. Buying a franchise can be an investment in your future. But as with any major decision, you should thoroughly research the franchise industry, the franchise model and the pros and cons of owning a franchise.
    Franchise Opportunities|Franchise Opportunities India
    Franchise development|Brand Expansion|Franchise opportunities in India

  12. Well Said, you have furnished the right information that will be useful to anyone at all time. Thanks for sharing your Ideas.

    Java Training in Bangalore|

  13. It’s great to come across a blog every once in a while that isn’t the same out of date rehashed material. Fantastic read.
    I’ve bookmarked your site, and I’m adding your RSS feeds to my Google account.
    selenium training in bangalore

  14. It’s great to come across a blog every once in a while that isn’t
    the same out of date rehashed material. Fantastic read."Devops Training in Chennai"

  15. Thank you a lot for providing individuals with a very
    spectacular possibility to read critical reviews from this site.

    Selenium Training in Chennai

  16. I feel really happy to have seen your webpage and look forward to so many more entertaining times reading here. Thanks once more for all the details.
    Besant technologies Marathahalli

  17. to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here. php training in chennai

  18. This comment has been removed by the author.

  19. I like the post format as you create user engagement in the complete article. It seems round up of all published posts. Thanks for gauging the informative posts.
    cara menggugurkan hamil

  20. Excellent post. I have read your blog it's very interesting and informative. Keep sharing.
    Cloud Computing Project Center in Chennai | Cloud Computing Project Center in Velachery

  21. Interesting post! This is really helpful for me. I like it! Thanks for sharing!
    Mobile application developers in Chennai | PHP developers Chennai

  22. It's interesting that many of the bloggers to helped clarify a few things for me as well as giving. Most of ideas can be nice content. The people to give them a good shake to get your point and across the command.
    oracle training in chennai|| hadoop training in chennai


  23. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here.

    java training in bangalore

  24. Thanks for sharing such a superb blog, Really Android is one of the leading technology such a technology you explained in clear manner. RPA Training Institute in Chennai | UI Path Training Institute in Chennai | Blue Prism Training Institute in Chennai

  25. Impressive blog with lovely information. really very useful article for us thanks for sharing such a wonderful blog... 
    No.1 Software Testing Training Institute in Chennai | Best Selenium Training Institute in Chennai | ISTQB Certification Center in Velachery

  26. Those guidelines additionally worked to become a good way to
    recognize that other people online have the identical fervor like mine
    to grasp great deal more around this condition.

    java training in chennai