Slashdot Mirror


Why Developers Still Prefer iOS To Android

An anonymous reader writes "Google Chariman Eric Schmidt recently addressed an Android user lamenting the fact that that mobile apps are often released on Apple's iOS platform well before they finally reach Android. Schmidt cooly and curiously explained that this dynamic will change in just 6 months. Here's why he's wrong. Though Google brags about the total number of Android users, developers care about certain kinds of users (those that pay for apps). A similar dynamic can be found in television advertising, where advertisers will more money for ad spots on less popular shows in order to reach desirable demographics, even though other programs may have many millions of more viewers."

20 of 614 comments (clear)

  1. Qt by Anonymous Coward · · Score: 5, Insightful

    Google should buy Qt from Nokia and use that toolkit as the basis for Android apps. It is already efficient as hell on smartphones (Meego and Symbian), and uses C++ as its programming language. No more worries about Oracle lawsuits, excellent programming environment. Mod this up.

  2. Re:Android has many problems by InsightIn140Bytes · · Score: 5, Informative

    Here's one article that shows most expensive categories http://techcrunch.com/2011/07/18/most-expensive-google-adwords-keywords/

    I also remember that some years ago there was lawyers paying really high clicks for some really specific cases. I think it was targeting some people who got major health problems as result of some company. They paid for those clicks really much because the amount of money they got from settlements etc was so good.

  3. Re:Really Has Nothing to Do with Development by RyuuzakiTetsuya · · Score: 5, Insightful

    Is there something inherently better with iOS development? Is the API better written? Is there some technological inferiority to Android? Is it cheaper to buy the development tools for iOS?

    FTFA

    Unfortunately for Google, this is just the tip of the iceberg with respect to the uphill battle they face in the fight for developers. Clunkier development tools for Android have been on ongoing problem, and let's not forget about the vast number of scamware, crapware and malware apps that permeate through the Android Marketplace. The lack of an approval process for apps on Android certainly has its benefits, but letâ(TM)s not forget thereâ(TM)s also a downside to being open.

    So you mean I get to use lousier development tools, potentially have my app hijacked by scammers looking to repackage my app as malware AND deal with fragmentation?

    SIGN ME UP!

    --
    Non impediti ratione cogitationus.
  4. Re:Really Has Nothing to Do with Development by Anonymous Coward · · Score: 5, Interesting

    > Is there something inherently better with iOS development? Is the API better written? Is there some technological inferiority to Android? Is it cheaper to buy the development tools for iOS?

    Yes, yes, and yes.

    Xcode is a wonderful IDE, and with things like CLANG/LLVM and LLDB it's only getting better. Cocoa and Cocoa Touch are insanely great APIs and Objective C kicks the shit out of Java in terms of readability and performance. The development experience for iOS is much, much more streamlined and defined then Android.

    I'm not even sure if it's worth mentioning the fact that Google (and it's associates) actively brag about a new Android device every week now- with different specs, hardware, and screen resolutions. Trying to support a moving target like Android is a nightmare, so you might as well pick the top 5 phones and make sure your stuff works on those- and forget about the five thousand other devices out there (which may or may not work).

    Comparing iOS to Android is like comparing the Xbox 360 to a PC. You get a stable and well defined platform with one, and a crapshoot with the other.

    -AC

  5. Re:Really Has Nothing to Do with Development by RyuuzakiTetsuya · · Score: 5, Insightful

    Screw the language. Interface builder rocks. Using XML files with no WYSIWYG editor? Screw that.

    --
    Non impediti ratione cogitationus.
  6. Many reasons why devs did iOS first... by Anonymous Coward · · Score: 5, Insightful

    You know you're doing something wrong when RIM can claim (unchallenged) that the Blackberry App World is the #2 app store in terms of paid apps. #1 is, of course, Apple's App Store, but to have the #2 service be one from the #4 player is just... pathetic. (Windows Phone 7 is platform #3 after Android (#1) and iOS (#2)).

    There are many reasons for this.

    First, Google Checkout sucks. Yes, it does. When Android first came out, very few countries could access paid apps. As such, if you wanted to sell in the Google marketplace, you had to have free apps. The situation's better now, but you're still suffering from the fact that people found alternative ways to get paid apps for free. Google APKTor or the open-source counterpart.

    Second is that it's too easy to pirate apps. Google's APKs aren't DRM'd, so what people do is they buy apps, rip them, then return them. 15 minutes is enough time for this, and if it wasn't, they can always return and try again later. Given that there are almost daily "New Paid Apps" torrents on your favorite torrent sites... After all, the iPad was dinged as "cannot run pirate apps".

    Then Android users really don't want to pay for apps. I've seen some hardcore Linux users saying they'll never pay for apps - it should be FREE. Apparently, iOS users pay for 3-4 apps a month on average - Android stats are sketchier (C'mon Google - you just had 10B apps downloaded - how many of those were paid apps? Especially with the 10 cent deal?).

    Third, well, the fact you have to use your phone is a major drawback. iTunes sucks, but at least you can download your app on your PC first then sync it over rather than have to leave your phone alone while it downloads hundreds of megabytes of apps. Many apps use SD cards (and full SD permissions) to get around this by having a downloader app go and download all the game assets and such.

    Finally - fragmentation. Different screen sizes, different OS versions (a year after Gingerbread is released, it's on 50% of the devices. Which means roughly 100,000,000 out of the 200,000,000 Android devices run the what was latest and greatest OS. ALl the others run Froyo or prior (yikes). iOS has similar issues, but the number of people stuck at iOS 3 (only iPhone and iPhone 3G (iOS 4 doesn't run well so I'm not going to count it)) is fewer than those capable of running iOS 4/5, plus a number are upgrading. Ice Cream Sandwich will resolve this (Google's words), and maybe by tihs time next year we'll have 50% of Androids running ICS.

    Then there's the black sheep - AOSP. Without access to the market, it has to use alternative marketplaces, bringing us back to piracy.

  7. The REAL reason by WarwickRyan · · Score: 5, Funny

    Come on, we all know that the REAL reason devs prefer to code for iOS is because it's the only way we can convince the wife that we NEED that shiny overpriced MacBook Pro or MacBook Air.

    The Wife Acceptance Factor.

  8. Re:Android has many problems by InsightIn140Bytes · · Score: 5, Interesting

    Not to mention that Android runs interface on normal priority, compared to iOS's high priority. I have no idea why they choose to do it so, because interface speed matters a lot to overall look and feel of the device.

  9. I'm the opposite by Dan+East · · Score: 5, Interesting

    I'm the exact opposite. My game engine and various libraries (lua, box2d, etc) are all written in C++ / C, thus I have a single codebase that I build for both iOS and Android (and Windows and OSX). 99.9% of the code is shared - there are literally a few dozen lines of Javascript / Objective C that tie events at the app level into my game engine.

    I greatly prefer to release for Android first, and I can't imagine why anyone would want to release for iOS version first. I can patch bugs and have a new Android build online and rolled out to my users within an hour or so. I can throw a new build straight to a user via a URL or email that they can upgrade to directly to check the fix (which is, for all intents and purposes, not an option with iOS having to deal with getting the user's device ID, generating a mobileprovision file, using one of my 100 device slots, etc, etc) With iOS my app has to go through the entire approval process again, adding at least a 1 week minimum delay before the bug fixes reach the users. It's far better allowing the Android users to give the game a thorough thrashing for several days to make sure there aren't any obscure or hard to trigger bugs, then roll out to the iOS folks.

    --
    Better known as 318230.
    1. Re:I'm the opposite by jader3rd · · Score: 5, Interesting

      Sounds like an argument for why end users "feel" that iOS apps are more polished. End users tend to loathe updates. As a developer I completly see the value in your statement, but I can also see the point of view of people who don't want updates.

    2. Re:I'm the opposite by maccodemonkey · · Score: 5, Insightful

      This sounds like an argument for thoroughly testing your software and not releasing with bugs.

      Game developers have had similar issues on other platforms. It used to be that when you released on a cartridge you actually had to do good work the first time. You can't patch a cartridge in the wild. With internet connected consoles, the problem has been getting worse and worse. It used to be that when you bought a game at launch it was solid. Now you're pretty much guaranteed to get something extremely buggy until the first few patches, assuming you actually get the whole game and the developers haven't decided to favor an early release and just update the game with more content later, leaving you with a pretty threadbare experience.

      So if your complaint is that Apple makes things difficult if you don't write good code the first time, maybe the problem isn't with Apple. Heck, your description just made Apple's system sound much better to me. Why would I want to buy buggy games?

  10. I'm guessing the following... by RanceJustice · · Score: 5, Insightful

    If I was going to totally through ethics out the window for the pursuit of profit as an "App" developer, I'd easily choose the Apple monoculture. Lets face it, Apple users are used to being free with their money; these people were, in a year that wasn't prefixed by "199", paying $40-60 for a bloody unzipping program. Now, these same people have paid a bloody fortune for a locked down phone and again for a locked down tablet which are both predicated on an "it just works, so long as you make sure you always buy the new one" monoculture, and attached their credit card they use for impulse purchases to it That's PT Barnum-level temptation right there!

    So long as one doesn't mind paying for dev access and isn't interested in making programs that strain social mores and/or step on Apple's toes, once you've made it past the gate the walled garden I'm sure appears glorious. You don't have to worry about multiple hardware/software platforms outside the well-documented and very limited iSphere, you are assured your userbase has someone's money to spend, and so long as you abide by The Apple Way For Developers (tm) and kowtow properly to cocoa and objective C, you'll probably watch the dollars roll in.

  11. Re:Really Has Nothing to Do with Development by bstarrfield · · Score: 5, Informative

    Most of the iOS APIs are derivatives of the very well tested, designed, and readable NS (NextStep) APIs that have been in production for over twenty years. Apple adds new APIs with every release, yet they still follow the design patterns and methodologies of the older application interfaces, making learning new ones quite easy.

    With Objective C finally receiving easier memory management (yes, it was never terribly hard but it was at times frustrating), new developers, especially Java developers, can start rolling out code relatively quickly. As a point of history, Java's developers apparently did look at Objective-C as one of their primary influences. Personally, I find Objective-C much easier to code in then Java, and the clear nature of Apple's APIs combined with very, very strong development tools makes me much prefer iOS development over Android

    There's an added benefit of iOS development which isn't commonly mentioned - it's relatively easy to port iOS code over to Mac OS X, allowing you to reach a broad and lucrative environment, leveraging your previous work.

    --
    /* Dang, I can't type that well. */
  12. one word: consistency by ZeroExistenZ · · Score: 5, Informative

    I'm developing on both Android and IPhone; started out on Android and now have extended my repetoire to IPhone.

    The advantage but also disadvantage with Android is that it's very open-ended. Often you want to get a specific thing done and you end up alot of time bending the API to your will. (Oh tabview, why art though so...) Or bump into the limitations of your architecture and need to rework some things to get it running.(why does it crash on device x when I have two nested frameviews to have this design? Why doesn't it scale well on device y?)

    The IPhone API takes more knowledge (how does that delegate call again and what object is stored where and how do I get a refernce to this?) but it's consistent. And the look is consistent. (which shaves up alot of time thinking about the GUI when trying to implement it.)

    I'm an avid Android lover but I can appreciate the IPhone API as well.

    --
    I think we can keep recursing like this until someone returns 1
  13. Android Market Problems by JohnG · · Score: 5, Interesting

    I tried to read all of the posts to see if someone else mentioned it, but didn't see one that did. Aside from the problems with Google Checkout not being widespread, there is a huge problem with the functionality of the market. At least once a month I get an email from someone that says they bought my app but the download would not complete. They demand their money back from me. This is annoying for two reasons. One, it is entirely possible that their order was never charged. If you look over your checkout account, there are several attempted purchases every single day that didn't go through. It happened to a friend of mine that tried to purchase one of my apps, and I know there was money on his debit card. This is a lot of money in lost sales. The second reason it is annoying is because I am being wrongly blamed for Google's incompetence. When customers complain to me that an app they purchased wasn't downloaded, it is the equivalent of buying a PS3 off of Amazon and complaining to Sony that Amazon never shipped it. I've never once gotten a support email from an iOS user about the same issue. And over a two year period there have been dozens from Android users. Google also has MUCH less developer support than Apple does. They simply do not care about us or our opinions. Period. They seem to view the market as an after thought as well. Why should I make them my primary platform under those circumstances?

  14. Re:Mod topic as flamebait? by miltonw · · Score: 5, Informative

    Wait. The front web page of Flurry says "FLURRY: Introducing a game-changing marketing approach to build your iOS audience more effectively." So, they target Flurry for iOS and then find that most of their developers use iOS. And this is worthy of any notice?

  15. Re:Android has many problems by Dynedain · · Score: 5, Insightful

    Actually the original version of Android was specifically for blackberry-style devices with a physical keyboard and some kind of d-pad like interface.

    Read his post again, did he say that Android copied Apple anywhere? No, he pointed out valid underlying architectural and business reasons why these issues exist on Android devices.

    Yes, Android today is designed for many different form factors and input methods. But ultimately when you design for many different things, you end up building to a lowest common denominator, and sacrifices are made. I think you argued his point for him actually. Since Apple requires all their devices to have GPU-acceleration, IOS benefits. Android doesn't require it, and so you have to build your apps to specifically take advantage of it. By targeting cheap devices, they sacrificed user experience.

    Oh, and considering how secretive Apple is, and that Android was announced before the iPhone, who else would Android be competing agains in the pre-iPhone marketplace? The playing field was Symbian (very small developer base) Palm (already dying as they started shipping WinMobile devices) Microsoft (with their very painful an kludgy Mobile OS which has since been killed) and Blackberry. Blackberry was the smartphone leader by a very large margin before the iPhone appeared.

    Stop pushing anti-Apple revisionist history. It's just as bad as pro-Apple revisionist history.

    --
    I'm out of my mind right now, but feel free to leave a message.....
  16. Re:Android has many problems by loconet · · Score: 5, Informative

    There are a couple of insightful posts by a Google engineer addressing this specific myth. The original reddit comment, where your comment originally came from, generated a very interesting discussion on the subject over at G+.

    --
    [alk]
  17. Re:Android has many problems by shutdown+-p+now · · Score: 5, Informative

    There were two, actually - the first one (VS2002 and VS2003) was "C++ with managed extensions" - that was pretty nasty in more ways than one could imagine, and was hastily scrapped. The new one that's still alive (VS2005+) is C++/CLI.

    However, it's important to understand what "compiles to .NET" actually means. VC++ compiler can compile pretty much any random C++ code to IL bytecode, but to do that it needs to use bytecodes which are not memory-safe ("not verifiable", in .NET parlance) - think pointer arithmetics and other such things. IL itself is expressive enough to allow for such things, and the resulting code is architecture-independent, and is JIT-compiled and runs under the VM just the same. So, yes, you can take a C++ library as is, and run it in .NET. The catch is that it cannot be sandboxed. Therefore, it does not run on Windows Phone (or Silverlight), because those only allow for verifiable IL, such that it can be sandboxed.

    Then there's C++/CLI, which is a set of language extensions to C++ that lets you access .NET APIs, and define your own - keywords like "ref class" and "gcnew". If you write code using only those language extensions, you can use /clr:pure compiler switch to request the compiler to produce verifiable, sandboxable IL. That runs on WP7 just fine, but in that mode, you can't use most features of regular C++ - no arrays, no pointers, no regular classes etc. Basically, what you end up with is a subset of C# with more C++-like syntax. Obviously, this is completely useless from portability perspective - you can't run any existing C++ code with this.

    There is a way to use this mode to write code that's portable between WP7 and other platforms if you do it from the get go. I briefly described it in one of my old Slashdot post; basically, the idea is to define a bunch of macros such that they expand, alternatively, to C++/CLI constructs when compiling for WP7, or to regular C++ constructs with identical meaning when compiling for everything else (with a support library for smart pointers, strings and such that matches C++/CLI semantics). You still end up with a rather limited subset of C++ - about as expressive as C# or Java with C++-style templates - but it's actually possible to write something useful in it, and have it run on all platforms. However, this is only applicable to any code that you would be writing yourself there and then - i.e. it doesn't solve the problem with numerous existing C/C++ libraries, and it doesn't solve the problem with porting existing iOS or Android apps. Besides, given the current market penetration of WP7, it is likely still too much effort for too little gain.

  18. Re:Android has many problems by nschubach · · Score: 5, Interesting

    They've been paid to sit around waiting for it to be posted so he could say something nice about Microsoft. It's officially called "online reputation management" but it's essentially someone who's paid to tote the company line and up-sell the brand. They'll have several accounts and down-mod anyone that speaks ill of the company (or poster) For instance, I'd wager they have a registered account to see the incoming stories and it gives them time to come up with some advertisement for the release post. (AKA, the long post about how Microsoft is great. This one is a "karma bump" that basically tells you what everyone already knows to build up the account karma which they use to get the karma point bonuses so more people view it and down-mod dissenting opinion.)

    This is the second account that I'm aware of that these people use (CmdrPony was mentioned as their previous, I do not know of the ones previous). The last account they basically came out and said they will create a new account because someone will eventually karma bomb them by down-voting every post they can to try to reduce the amount of trolling by this account. The new account will build up karma by posting agreeable comments, then start towing the line.

    --
    Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.