Should You Build for iOS or Android? Discover What 7 Mobile App Experts Say
blog.mobiversal.com
blog.mobiversal.com
Please not this. The fragmentation argument sounded very clever in 2010, but it's just not true. The OS takes care of most device diversity just like OSs have for decades. It's true that users are on different OS versions, more so than iOS, meaning that you can't just assume everyone has the latest version, but that's standard for most software. It's not like everything breaks just because the user has a Sony phone.
Progressive enhancement, graceful degradation, and responsive design are well-understood, time-honored, practices for dealing with different platforms and devices. Also, Google's trick of updating Play services means older OSs now get a bunch of upgrades anyway.
> It's not like everything breaks just because the user has a Sony phone.
Even with Android 4+, there are still gotchas. For instance, I was recently bitten by this compass bug: https://groups.google.com/forum/#!msg/android-developers/U3N...
It'd be nice if Google put more stuff in the support library, or even put notes about it in the docs, as they're clearly working around it in their own Android apps..
Possibly overblown but also has a bit of truth to it.
iOS VPN development has its own nightmarish problems, but those were primarily handled through the provisioning process, not in getting the software to work on weird hardware combination.
Actually, recent experience developing for Android tells me it does. Can't tell you how many times I've had the app behave dramatically differently or crash on different devices. Even using a Nexus One as your baseline doesn't help. And if you work with the camera… welcome to hell. The Support Library is not a cure all.
Uh, what? More than 70% are running 4.0+ now[0]. This dude didn't even bother to check the proper statistics.
0: http://www.phonearena.com/news/New-Android-and-iOS-fragmenta...
Useful for most Western markets. Less so for many other countries.
In general, other countries do purchase from Play Store. Only China is an exception, due to Google-China relations that affect all Google services there.
Edit: "China" does not mean Hong-Kong. Hong-Kong has access to Play Store.
I can't find the link, but I remember reading on HN that a large majority of Android's market share isn't actually users who use their Android phones as a smartphone, but instead don't really care what phone they get, so long it was free with their plan i.e. think of the flip or candy bar phones from a few years ago.
I think maybe a more accurate measure would be to compare iOS to the higher end Android phones, like the S4s or the Nexus's, which I think will be a little closer in percentages.
There are ZTE Blade users that do purchase apps, and there are iPhone users who do not use it as a smartphone, but as a fashion accessory. Your comparison would not assess what we need there.
App Store app management (approval, updates, etc.) is a pain in the ass.
If you're building a social app then nowadays you almost MUST have both iOS & Android out of the box otherwise you're hurting any potential network effect.
It is frustrating that you can't do all the things you would like as a developer but infinitely less so then getting something working on 5 Android devices only for it not to work on the other 2.
And you can produce bitcoin wallets, torrent clients and other harmless apps, that have potential to embarass Apple publicly.
By the most recent metrics I've seen, the top 200 iOS apps pull in $18 million a day, while the top 200 Google Play store apps pull in $12 million. iOS still leads (courtesy of the lubrication of things like iTunes gift cards -- there will again be a huge bump after Christmas), but is there any rational player who looks at those numbers and thinks "Oh, I want no part of the latter"? And note that this difference has been closing very quickly (iOS is up 20% YoY, Android is up 242% YoY).
Which is exactly why the majority of apps are built cross-platform from the outset. Whether using tooling that enables it easily (e.g. Unity, Titanium, etc), or designing around abstracting from the platform.
Personally I'd say go iOS first (because it's an easier platform to develop for) and perhaps once the basics are done for the iOS app, start building the Android app side by side. Use Xamarin to build a shared core for both iOS / Android (think in terms of network communications, business logic, data parsing, perhaps SQLite storage etc...)
If you have a Mac of any kind, do yourself a favor and try out learning Objective-C. I'm a pretty devoted C# developer, and about a year ago I spent a few months learning iOS development for a project at work. From a Java perspective(which I've also done), the Objective-C syntax is utterly terrifying at first, but you get used it, and dare I say, you even come to learn to like it. Objective-C does some really cool things that you don't get with Java, and it's worth knowing about.
Personally I find the Android API's harder to use.
If you really want some common, shared codebase, use something like j2objc, where it ends up native to both platforms.
2% exclusion for her mention for justice. If she has some her own belief on justice…
(1) You are willing to take far higher initial development/maintenance cost (for sanely working app) just to reach people with far less buying power.
(2) You need physically wired connection to user's device - no bluetooth - to connect a device where you can't make any assumption on hardware spec.
(3) You want to write an app where AppSore explicitly prohibits - such as spam, porn, piracy, illegal, malware, or potentially dangerous stuffs. (but does this make sense even on Android?)
Altogether... this is the way iOS dies. "We got the rich kids in America! Stay the course!"
When does iPhone 6 drop because the 5s bump will be gone after the holidays. This will be a fun discussion to review 12 months from now.
Review 12 months later? Seriously, are you kidding me?
There are lots of reasons to get rejected by Apple other than the reasons you list. I haven't kept track recently but I know Apple still reject most things which allow user development or a user-visible programming language inside an app.
You are providing talking points, that you believe are true, but without source data. No, appeal to common belief is not an evidence.
The far higher development/maintenance cost claim is unsubstantiated, and is largely driven by talking point anecdotes. For instance the utter and complete incompetence of the BBC team who seem to have so much trouble delivering a simple video streaming application (which they bizarrely built around embedded flash. They represent every poor decision possible, yet always get held up as prophetic).
The far less buying power thing is a common and gross misunderstanding of the applicability of averages.
Imagine that you are making a fruit holder, and you aren't sure whether you should target people who eat bananas, or people who eat apples. So you do a survey of the potential markets.
Incomes of people who eat bananas $55235 $23737 $19083 $65928 $75239 $48679
Average income - $47,983.
Incomes of people who eat apples $62234 $57201 $53233
Average income - $57,556.
As someone making fruit cup holders, does this make the apple market a better market? Of course not. Yet that is exactly the flawed reasoning so commonly used to laughably discount Android -- using the fact that there are low-cost, accessible devices to try to marginalize the top-tier, luxury devices. Only reality doesn't work that way.
Google Play spending still lags iOS, largely as a mechanic of the lack of some of the top tier apps, limited access to the pay market in the Play Store in some countries, and the slowness of Play Store gift cards to pick up, but that gap is closing at a stunning pace (iOS app spending is up 20% YoY, while Android spending is up 235%).
Also, I consider the cost to support various devices. If we don't need to support any other device except Nexus and a few of top-tier models, it can go easy to develop. But in reality, the Android majority is plenty of exotic devices from known and unknown vendors. And they all have configurations with original modifications which behaves slightly differently even from same vendor by versions. It causes compatibility problem, and must be handled case by case. I think this needs a lot more efforts on development. Experiences from coworkers and friends show Android app needs far more efforts (=cost) to be nice on major user devices. Toolchain also slows down development. Though ADT enhanced a lot, we have to stay in 2.x for compatibility. (still true even in 2013, and doesn't seem to be better anytime soon) Common opinion (around me) is - just writing an app is easier, but writing an app looks and works greatly on most device is far harder.
Of course, I am talking about native development, not a middleware/hybrid platform.
For buying power, we don't need to assume it from hypothetic income level. Because we easily can find actual selling statistics from various sources. And you're right that Android buying power is getting close to iOS (in 2013). I still doubt on numbers because specific South Korean - where the insane Samsung centric country - game market is boosting the number. Anyway I would consider to revoke my claims if it really grows enough for its user-base, and can justify development cost.