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. 

Interface/Graphics

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

Sales

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.

122 comments:

  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

    ReplyDelete
  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.
    Regards,
    Best Android Training institute in Chennai | Android courses in Chennai | Android Training

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

    ReplyDelete
  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

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

    ReplyDelete
  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

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

    Software Testing Training in Bangalore

    R Programming Training in Bangalore

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

    Android Training in chennai | IOS Training in chennai

    ReplyDelete
  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

    ReplyDelete
  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

    ReplyDelete
  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

    ReplyDelete
  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|

    ReplyDelete
  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

    ReplyDelete
  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"

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



    Selenium Training in Chennai

    ReplyDelete
  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

    ReplyDelete
  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

    ReplyDelete
  18. This comment has been removed by the author.

    ReplyDelete
  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

    ReplyDelete
  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

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

    ReplyDelete
  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

    ReplyDelete

  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

    ReplyDelete
  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

    ReplyDelete
  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

    ReplyDelete
  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

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

    android training in bangalore

    ReplyDelete
  28. your blog contain exceptionally valuable data. Truly from now on I am enormous devotee of your blog.. Fixed Assets Audit
    Claims Audit

    ReplyDelete
  29. Very good informative article. Thanks for sharing such nice article, keep on up dating such good articles.

    NO.1 APP DEVELOPMENT SERVICES | MASSIL TECHNOLOGIES

    ReplyDelete
  30. I read this article. I think You put a lot of effort to create this article. I appreciate your work.
    thesis Writing Service

    ReplyDelete
  31. REALLY VERY EXCELLENT INFORMATION. I AM VERY GLAD TO SEE YOUR BLOG FOR THIS INFORMATION. THANKS FOR SHARING. KEEP UPDATING.

    NO.1 Mobile APPilication DEVELOPMENT SERVICES | MASSIL TECHNOLOGIES

    ReplyDelete
  32. Nice and good article. It is very useful for me to learn and understand easily. Thanks for sharing your valuable information and time. Please keep updating.
    oracle training in chennai|| hadoop training in chennai

    ReplyDelete
  33. Well Said, you have provided the right info that will be beneficial to somebody at all time. Thanks for sharing your valuable Ideas to our vision.
    Excel Macro Training in Chennai | VMWare Training Institute in Chennai | Tally ERP9 Training Institute in Chennai

    ReplyDelete
  34. Hi, am a big follower of your blog. I am really happy to found such a helpful and fascinating post that is written in well manner.
    mobile website builder

    ReplyDelete
  35. Hi, am a big follower of your blog. I am really happy to found such a helpful and fascinating post that is written in well manner.

    white label website builder

    ReplyDelete
  36. Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging…
    Regards,
    hadoop training in chennai || selenium training in chennai




    ReplyDelete
  37. Thanks for sharing this niche useful informative post to our knowledge.
    brochure designers in chennai | brochure design company in chennai

    ReplyDelete
  38. Very happy to see this blog. Gives a wonderful information with coded explanation. Thank you for this blog. very useful to me.
    MCA Project Center in Chennai | MCA Project Center in Velachery

    ReplyDelete
  39. Wonderful post..Thank you for updating such a informative content..Java Project Center in Chennai | Java Project Center in Velachery

    ReplyDelete
  40. You made some good points there. I did a search on the topic and found most people will agree with your blog.
    Vacation Classes in Chennai | Best Technical Boot Camp in Chennai

    ReplyDelete
  41. Very nice blog. I appreciate your coding knowledge. This blog gave me a good idea to
    developed the android application.Thanks for sharing
    Summer Courses in Perungudi | Summer Courses in OMR | Summer Courses in Velachery

    ReplyDelete
  42. 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.
    Best RPA Training in Chennai

    Best RPA Training in Bangalore

    ReplyDelete
  43. 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. digital marketing jobs career opportunities in abroad
    Advance Digital Marketing Training in chennai– 100% Job Guarantee

    ReplyDelete
  44. Nice blog with excellent information. Thank you, keep sharing.

    Join in Avinash College Of Commerce for Best career in commerce

    ReplyDelete
  45. Excellent information you made in this blog, very helpful information. Thanks for sharing.

    Software Testing | Austere Technology

    ReplyDelete
  46. Very useful content you have shared. Really great. Thank you.

    PHP Training in Chennai
    PHP Course in Chennai

    ReplyDelete
  47. Great article, really very helpful content you made. Thank you, keep sharing.

    chartered accountant | Avinash college of commerce

    ReplyDelete
  48. Really great blog, it's very helpful and has great knowledgeable information. Thanks for sharing, keep updating such a good informative blog.
    Multimedia Course in Chennai | Multimedia Course in Velachery

    ReplyDelete
  49. Great one,You have done a great job by sharing this content,Thank you a lot for providing individuals with a very spectacular possibility to read critical reviews from this site.
    CCNA Training in Chennai | CCNA Training in Velachery

    ReplyDelete
  50. This is the best place to get more opportunities and information, looking so great article thanks for sharing please do keep on sharing...
    Matlab Training Institute in Chennai | Matlab Training Institute in Velachery

    ReplyDelete
  51. interesting Pros and Cons of Developing for Android vs. iPhone. thanks for sharing .
    Data Science Training in Chennai

    ReplyDelete
  52. This is the best place to get more opportunities and information, looking so great article thanks for sharing please do keep on sharing...
    Certified Ethical Hacking Training in Chennai | Certified Ethical Hacking Training in Velachery

    ReplyDelete
  53. awesome post.. thanks for sharing. expecting much in future.

    Selenium Training in Chennai

    ReplyDelete
  54. Thanks for the blog and it is really very useful one.hadoop training in chennai

    ReplyDelete
  55. excellent post,its really informative and keep sharing
    Python Training in Chennai

    ReplyDelete
  56. The information you have posted here is really useful and interesting too much..
    Python Training in Bangalore

    ReplyDelete
  57. Hi Thanks for the nice information its very useful to read your blog. We provide best Block Chain Services

    ReplyDelete
  58. This was an nice and amazing and the given contents were very useful and the precision has given here is good.
    AWS Training in Chennai

    ReplyDelete
  59. Thank you for sharing this valuable information. But get out of this busy life and find some peace with a beautiful trip book Andaman family tour packages

    ReplyDelete
  60. This was an nice and amazing and the given contents were very useful and the precision has given here is good.
    AWS Training in Chennai

    ReplyDelete
  61. Thank you for sharing this valuable information. But get out this busy life and find some peace with a beautiful trip. book Andaman Tourism

    ReplyDelete
  62. Thank you for sharing this valuable information. But get out this busy life and find some peace with a beautiful trip. book Best Travel Agency In India

    ReplyDelete
  63. Hi Thanks for the nice information its very useful to read your blog. We provide best Find All Isfs Courses

    ReplyDelete
  64. Hi Thanks for the nice information its very useful to read your blog. We provide best Massil Technologies

    ReplyDelete
  65. This comment has been removed by the author.

    ReplyDelete
  66. This comment has been removed by the author.

    ReplyDelete
  67. Thanks for sharing this information and keep updating us. This information is really useful to me.
    Embedded Project Center Training in Chennai | Best Embedded Project Course in Adambakkam

    ReplyDelete
  68. Interesting post! This is really helpful for me. I like it! Thanks for sharing!
    PHP Project Center Training in Chennai | Best PHP Project Training in Pallavaram

    ReplyDelete
  69. I have read your blog and I gathered some needful information from your blog. Keep update your blog. Waiting for your next update.
    Pega Training in Chennai | Python Training in Chennai

    ReplyDelete
  70. This comment has been removed by the author.

    ReplyDelete
  71. Very nice post here and thanks for it .I always like and such a super contents of these post.Excellent and very cool idea and great content of different kinds of the valuable information's.

    angularjs Training in bangalore

    angularjs Training in btm

    angularjs Training in electronic-city

    angularjs Training in online

    angularjs Training in marathahalli

    ReplyDelete
  72. Excellent blog, I wish to share your post with my folks circle. It’s really helped me a lot, so keep sharing post like this

    angularjs Training in chennai
    angularjs Training in chennai

    angularjs-Training in tambaram

    angularjs-Training in sholinganallur

    ReplyDelete
  73. Amazing blog about the various informative information on the programming languages... Java Training in Chennai | RPA Training in Chennai

    ReplyDelete
  74. It is amazing and wonderful to visit your site.Thanks for sharing this information,this is useful to me...
    python interview questions | python tutorials

    ReplyDelete
  75. Impressive blog with lovely information. really very useful article for us thanks for sharing such a wonderful blog...
    BE Final Year Project Center in Chennai | BE Project in Velachery

    ReplyDelete
  76. Thanks for posting this info. I just want to let you know that I just check out your site and I find it very interesting and informative. I can't wait to read lots of your posts

    advanced excel training in bangalore

    ReplyDelete
  77. Thanks for ones marvelous posting! I genuinely enjoyed reading it, you are a great author. I will be sure to bookmark your blog and may come back very soon.
    MCA Final Year Project Center in Chennai | MCA Project in Tambaram

    ReplyDelete
  78. Wow it is really wonderful and awesome thus it is very much useful for me to understand many concepts and helped me a lot. it is really explainable very well and i got more information from your blog.

    rpa training in velachery| rpa training in tambaram |rpa training in sholinganallur | rpa training in annanagar| rpa training in kalyannagar

    ReplyDelete
  79. Wow it is really wonderful and awesome thus it is very much useful for me to understand many concepts and helped me a lot. it is really explainable very well and i got more information from your blog.

    rpa training in velachery| rpa training in tambaram |rpa training in sholinganallur | rpa training in annanagar| rpa training in kalyannagar

    ReplyDelete
  80. Great Article… I love to read your articles because your writing style is too good, its is very very helpful for all of us and I never get bored while reading your article because, they are becomes a more and more interesting from the starting lines until the end.
    java training in chennai | java training in USA

    ReplyDelete
  81. It is amazing and wonderful to visit your site.Thanks for sharing this information,this is useful to me...
    java training in tambaram | java training in velachery

    java training in omr | oracle training in chennai

    ReplyDelete
  82. Great Article… I love to read your articles because your writing style is too good, its is very very helpful for all of us and I never get bored while reading your article because, they are becomes a more and more interesting from the starting lines until the end.
    Data Science training in Chennai | Data science training in bangalore

    Data science training in pune | Data science online training

    Data Science Interview questions and answers


    ReplyDelete
  83. Thanks for sharing this valuable blog. Very clear step by step representation of the process.
    BE Final Year Project Center in Chennai | BE Project in Madipakkam

    ReplyDelete
  84. hank you very much for this. I hope this will be useful for many people. Please keep on updating these type of blogs with good content.Thank You...
    aws online training
    aws training in hyderabad
    amazon web services(AWS) online training
    amazon web services(AWS) training online

    ReplyDelete
  85. Hello! This is my first visit to your blog! We are a team of volunteers and starting a new initiative in a community in the same niche. Your blog provided us useful information to work on. You have done an outstanding job.

    Best AWS Training in Chennai | Amazon Web Services Training in Chennai


    AWS Training in Bangalore | Amazon Web Services Training in Bangalore


    Amazon Web Services Training in OMR , Chennai | Best AWS Training in OMR,Chennai

    ReplyDelete