Open: Android is "open" in the "open cathedral" sense. It's very difficult to just jump in, make a few alterations, and see the changes running on your device.
Wait, are you an app developer or an OS developer?
I'm not talking about the technical difficulty in writing a patch. I'm talking about the difficulty in applying a patch in practical terms. If I want to, say, modify my Xperia Pro so that a particular application that is useless to me isn't forcibly bundled, it's far more difficult than it should be.
Apple can make you waste vast amount of money developing something only for it to be blocked, and then copied by Apple themselves. That's more than a big deal. It's hard to get projects approved when managers see this happening.
I deal with people who commission apps on a regular basis. Unless the entire concept of an application is forbidden by Apple (e.g. porn), it's never been a deal breaker.
But with Android, you have to contend with thousands of different models, each with their own shitty customisations that break things.
Only if you are a terrible programmer. Like most operating systems Android runs on multiple platforms and offers stable APIs to interact with that hardware.
Which means nothing when vendors customise the implementations of those APIs and break them. It's all very well saying that, say, the API to draw a control on screen is the same across all devices, but if one device draws the control and another doesn't bother, that's kind of a problem.
Can you provide any concrete examples of standard Android API functions that are broken on popular Android devices?
I don't remember the full details, but the most egregious problem we had was that radio buttons simply weren't showing up on one device. At all. On another device, the rendering was completely fucked in some way, something like being a tenth of the size they should be or something. The code was right, and the application worked just fine on most of our test devices. But on some, they simply didn't work right due to vendor customisations.
99% of the time, it's when the client is asking for us to do something user-hostile.
You mean like develop an alternative HTML rendering engine, or set up their own app/book/music/video store, or write a better SMS messaging system, or port their keyboard from Android, or some nefarious scheme like that?
Let's be straight here: I'm describing what Apple's policies mean for us in practice, and I'm reporting what clients actually ask us to do. You are scraping everything you can think of that Apple has ever rejected together. I'm sure there are lots of business plans that have fallen by the wayside in the five years Apple have been running the App Store. But that doesn't mean that they are a significant percentage of the apps people actually want to create.
No client has ever asked us to develop an alternative HTML rendering engine. Why would they? Besides, Apple don't have a problem with an alternative HTML rendering engine.
No client has ever asked us to set up their own app store. There are book stores on the App Store already, there's no rule against having a book/music/video store.
Alternative SMS messaging systems aren't against Apple's rules. I've got one on my phone right now.
No client has ever asked us to replace part of the system like a keyboard. If you have an application that needs a custom keyboard, you can implement one for your application, but you can't replace the keyboard in other people's applications.
When I say that the things clients ask us to do are things that are user-hostile, I'm talking about things like hooking into Safari to show adverts to people while they browse, or spamming everybody in the address book via SMS. These are the things that I see Apple's policies preventing over and over again.
many of the newer features in Android are available via non-OS updates that everyone gets via Play.
No, not everyone gets via Play. You're confusing Play with Android. You don't have to license Play to deploy Android.
And no, having some extras bolted on top of an old operating system is not the same thing as being able to rely on a more recent version. I already provided an example that no Play upgrade would fix.
This really isn't the big issue crap programmers make it out to be.
You are repeatedly insinuating that we are crap developers simply because I am pointing out problems with Android. You might want to think about that.
if a feature isn't available in Gingerbread there probably isn't any point trying to hack around it because devices of that age won't support it anyway.
You're making my point for me!
It takes less than a year for about 95% of iOS users to upgrade to the latest version.
Yes, and now you get complaints that your app is dog slow because the OS runs like a dog on older hardware, but users were not clever enough to block the update and can't downgrade.
No, actually. Not once.
Simple solution, don't buy from shitty vendors.
What are the non-shitty Android vendors? Because I was buying flagship phones with good reviews from mainstream vendors like Sony. And if you were paying attention and knowledgable about Android, you'd know that at least one of my phones was direct from Google.
I dislike the controlling attitude of Apple and I dislike how much power they have in the mobile market.
No, you love it.
And this is the point at which it's not worth talking to you any more. Once you stop arguing against what I am saying, and put words in my mouth that are the opposite of what I believe, there really isn't much discussion to be had.