Exactly six months ago, Eric Schmidt made a remark that in the near future, developers might want to focus on Android first, instead of iOS. While developers haven’t moved to Android-first, iOS-later en masse, there’s no denying that we’re seeing more and more former iOS exclusives move towards Android.
Back in early December of last year, Eric Schmidt said the following, addressing a single audience member directly:
Ultimately, application vendors are driven by volume, and volume is favored by the open approach Google is taking. There are so many manufacturers working so hard to distribute Android phones globally that whether you like ICS or not – and again I like it a great deal – you will want to develop for that platform, and perhaps even first. So think of it as a transition over the next 6 months.
Whether or not this prediction came true really depends on how you interpreted Smidth’s words in the first place. Bloggers firmly in the iOS camp read it as “everything will be Android first, iOS later”, while in my view, Schmidt’s words are a lot less finite than that, thanks to terms like “will want to” and “perhaps”. The first group are having a field day, while I’m mostly thinking – aren’t we actually witnessing them coming true right now?
Several key iOS exclusives have made the move to Android these past few months. First, we had Instagram releasing an Android version of its photo sharing application, leading to a whole stream of hilariously houtain responses (see what I did there with the French and all). Flipboard soon followed, and even Instapaper, whose sole developer was probably most vocal in his disdain for the Android platform, had to face the music and move to Android.
While this clearly isn’t the same as everyone developing for Android first and iOS second, it’s clear many big-time applications – and now even tried and true iOS exclusives – just can’t get around Android anymore, which is exactly what Schmidt alluded to.
On top of that, there’s a group of developers often wholly ignored by popular technology media and bloggers. People who don’t code elegant Twitter cients, beautiful reader applications, or other intriguing applications; people who, instead, focus on the nitty gritty, getting down to the very core of the operating system, porting it to different devices, fiddling with drivers, frameworks, and other lower-level stuff. Those surveys you read about asking application developers if they go iOS or Android? Yeah, they don’t catch this particular, hugely valuable breed of developers.
These people almost exclusively flock to Android due to its open nature, and one has to take but a single peek at the xda forums to realize the huge amount of talented developers and potential flowing through the lower levels of the Android operating system. If you worry about fonts and icon detail all day, and never fully embrace Android and all that comes with it, it’s easy to overlook this hugely important group of people. iOS has such hackers too – but in far more limited numbers.
It’s because of these very people that I have more faith in Android’s long-term staying power (i.e., how fast it will evolve) than in that of iOS. I’ve mentioned this before, but the more you lock your users out of the lower levels of your operating system, the harder it becomes for people to actually learn how to hack away at such things. You’re basically chopping down the tree the branch you’re sitting on is attached to.
So, while Schmidt’s words haven’t come true to their fullest extent, it’s easy to look at Android and see that more and more application developers are embracing it, while at the same time, Android has a far larger following of programmers hacking away the lower levels. Android has many, many flaws, but developer support is not one of them.
That must be a really crazy level of brainwashing, which can produce all those “ews” and “yucks”, about a simple fact that other users have an option to use that service. What do they care that other people have more choice?
Edited 2012-06-07 17:13 UTC
I think the amount of “ew”s and “yuck”s are a result of the search skills of the author of that article. He wanted to prove a point and no better search terms came to mind.
Forget Android: the iPhone Is a Better Phone for Hacking, Tweaking, and Customization
http://lifehacker.com/5916593/forget-android-the-iphone-is-a-better…
What a piece of Eric.
Oh man. Did he just argue that fewer options == more customisable? Yes, he did. When you really, really have a point to prove, and no way to prove it, just go all-out into denial. For your like-minded, it might Just Work.
(Just Work is known to the State of California to cause cancer and birth defects or other reproductive harm.)
That article was… Painful. Clearly written by someone who doesn’t understand the appeal of hacking your devices AT ALL.
One of my friends has a Galaxy Note. She uses it as a server for up- and downloading files over a webinterface, playing video games on an emulator (N64, Game Boy) and as a Samba server in a local Windows network, for example. She does much more with it, but I forgot.
For me, as an iPhone user, the possibilities blew my mind.
Adrian
Sometimes developers can’t code for Android because either the OS has some broken part, some bits are missing or SDK has some broken parts.
As an amateur guitarist I would like to use my Android phone or tablet to emulate a guitar amplifier like it’s possible using popular iOS app, iRig. Unfortunately, audio related apps can’t be ported over to Android due to high latency issues and a lack of low latency audio api. This affects not only music software but to a lesser extent voip, too.
Video latency is also an issue, sometimes the interface is laggy compared to iOS. The shitty Java based SDK doesn’t help improving performance. Extending the NDK, to be capable of handling everything the SDK can, would be a great improvement.
You can make ALSA work with low latency. And then use something like Nemo or Plasma Active distros (with Mer Linux). They are way more flexible than either Android or iOS.
Edited 2012-06-07 18:37 UTC
yeah, like “I want to play guitar fx with my android phone” answer: “easy, just install another operating system on it, then learn to program, learn how to fiddle with a low latency audio driver, make an audio virtual fx app from scratch, and in just a couple of years you’re done!” looks amazing! #fail
Not fail. The person above is talking about writing an application, and laments the lack of API and / or OS capability to produce low latency audio, so I understood it as coming from developer’s perspective. So the answer was according to the question. There are platforms which allow writing it. Or you understood the question somehow differently?
Edited 2012-06-07 19:51 UTC
I keep hearing about how developpers of music apps never even give a look at Android because of “latency issues” – but excuse me, I am completely clueless, what is it exactly? I never had any problem playing audio files, streams or fiddling with the few audio generators for android.
So, what is it? A urban legend, or something for which someone can provide a real, practical proof to show me?
Simple demo:
http://www.youtube.com/watch?v=Curn_fdMOBA
As for personal experience; try getting one of those piano apps and swipe your finger across the keys. That’s basically the problem. It’s not really a problem with Honeycomb/Gingerbread or prior version either. I’ve experienced on ICS with my Galaxy Nexus.
Google says it’s an issue with the hardware. Hardware makers say it’s an issue with Android. I’m guessing it’s more probably the latter.
Edited 2012-06-07 19:43 UTC
Erm. No.
https://www.youtube.com/watch?v=55r6IaARsJw
edit: and this http://www.image-line.com/documents/android.html
Edited 2012-06-07 20:04 UTC
Thanks for the links.
So the question should be, what are these 2 doing that companies like Korg can’t? Do they run a specific audio engine (like the second link states, even if it is still unreleased), or is it something else? I read an interview with a Korg exec last year where he said Android was (at the time) a non-option for them cos they couldn’t get past the latency issues.
I can’t remember the name of the piano app I tried (it was free and available on both ICS and iOS), but it wasn’t as good as the one you linked on Android, but was smooth on iOS (ipad). Whether that’s an issue with the program or the platform, I don’t know. I just told it like I played it.
Edited 2012-06-07 20:40 UTC
I personally think that Image-Line are developing this low latency audio engine not just for their own products but to licence to other app developers.
Though I have to say Caustic seems to have very low latency compared to other Android audio apps.
https://play.google.com/store/apps/details?id=com.singlecellsoftware…
But that youtube video still has noticeable latency problems. Not nearly as bad as the one on the tablet posted above, but still not good enough.
Thanks a lot, I’ll check with my two Android phones (a Galaxy S with CM9 and an unmodified HTC One S).
I second that, audio/input latency seems to be a sore point in Android atm, is ICS anywhere better it this regard? Too bad as Linux and Alsa have given Google great basis for fixing that.
Enter Any.Do and on{x}
http://www.any.do/ – Just launched iOS app, while being on Android for a long time now
https://www.onx.ms/
Yes. The first is available on Android, iOS and Chrome while the later is Android-exclusive:
“on{X} lets you control and extend the capabilities of your Android phone using a JavaScript API to remotely program it.”
Funny thing, the latter comes from Microsoft.
Adrian
Edited 2012-06-08 06:00 UTC
I don’t know how many devs would go Android first. I know that when it comes up to try to do something on mobile, I only do Android (and mostly ndk at that). Why? It’s good (from a dev point of view – well, at least my dev point of view
), mixing native and java (latter mostly for the ui) is relatively easy (I mean c++ through jni), it’s affordable (good emulator, affordable devices to test on, no developer fees). Of course, there could be a chance I would change my mind if I were to develop mobile apps for a living, which I don’t, since in that case my choice would be strictly the given OS’s market share on the specific market I’d target.
If you would be developing apps for a living you would be developing for both. Because there is a ridiculously small chance of you making it big in either ecosystem and custom development comes with the requirement of targeting for both iOS and Android.
That is, all substantial orders for custom mobile application development have requirements to be on both platforms at once. And without custom app development you will not get through the time it takes to start making enough in either of the stores.
Also, VC will not invest into any new mobile app anymore. It’s not 2009. It’s essentially useless pitching any(well… most) mobile app ideas.
As a profissional developer for both iOS and Android I usually pick android first because it’s easier for me than iOS.
Also some apps are easier done on Android than iOS (and vice-versa).
not a very profissional answer.
I have gone Amazon Kindle first (so … Android first), and is now developing an IOS port.
However, for a full range, my priority is this:
Web -> Windows -> Amazon Kindle -> IOS.
I refuse to develop for any other Android platform other than the Kindle … the Android ecosystem is to messed up for any real development and support.
Edited 2012-06-07 18:48 UTC
My company is doing Android first. It’s a lot lower cost to get started. We’ll port to iOS once the Android versions pull in enough money to fund the effort (A couple mac computers and a few devices).
In the mean-time, Android work is getting done, as well as open source desktop versions.
And yes, the Android SDK is quite nice – excellent device emulators and working environment. I simply couldn’t ask for more.
[EDIT] P.S. We’ll probably deliver the Android apps to both Amazon’s and B&N’s stores too; perhaps with some additional modifications for each. But yes – Android gets us 3 markets out of the bat, while iOS only one (Apple’s AppStore).
Edited 2012-06-07 18:54 UTC
Transcription from this translation was in error.
HI DID NOT COMPARED ANDROID TO iOS. !!!!
BUT ANDROID 2/3 TO ANDROID 4 !!!
He and those who have interviewed him, expressed their astonishment at this mistake.
has got to be the most frustrating, futile experience I’ve had on mobile. My god is it horrible.
Only recently did Android get an emulator that performed anywhere NEAR what competing platforms offer.
Besides, ROI isn’t even that great. Android users have a lower propensity to pay for apps and piracy is rampant on the platform. Discovery on the marketplace is terrible compared to others.
Then there’s the 80 or so resolutions you need to be aware of, the performance quirks from device to device (Notice how Apps usually say “Supports device XXX and supports device XXX” as opposed to “Supports ALL devices”).
It’s a load of bullshit, and I don’t see how anyone would target Android first. Second of course, but first? No way in hell.
Instagram and other high profile apps come to Android because their business model permits it, and they want to grow their install base. Both which Android is very conducive to.
Really?
http://www.androidcentral.com/pocket-lead-developer-developing-andr…
If you’re on a Windows box, you should check out Basic4Android
There are literally 10 articles stating the opposite, for every one article supporting your position.
Android development is mildly frustrating.
Edit:
Reading that article, he takes a lot of my points, and tries to spin them in a positive light. Things like “get a device” the emulator was terrible, is exactly what I was saying.
The fact that compat libs exist, the fact that you need to actively canvas your userbase to make sure you’re covering their devices (and even then, you’re not hitting 100% coverage) is an annoyance.
Edited 2012-06-07 19:54 UTC
That being the case, I can only imagine how Windows devs feel. I mean, with all those PCs out there running different versions of Windows, with different screen resolutions, and all kinds of different hardware configurations, it’s a wonder how developers manage.
Mobile development and Windows development are different beasts.
Mobile devs are likely small time or even first time developers looking to get their app on the app store for 99 cents. This is an entirely different breed of developer. Likely a hobbyist.
Windows devs can afford the larger budgets, afford to spend more time dealing with such issues.
Other platforms namely iOS and Windows Phone simply don’t deal with these issues. Only 7% of Android users even HAVE ICS, so a lot of the aforementioned improvements aren’t even available to any app developer wishing to address a broad target audience.
LOL, that’s exactly what we need… a bunch of shitty apps from part-time, hobbyist developers. Let ’em stay on iOS
Yeah, you just have to buy a mac. And a registration. And learn another variant of C.
Way to improve your ROI.
For Windows Phone development I already had a PC. Microsoft SENT me a phone, for free AND gave me developer registration. For free. Plus, I already knew C# and XAML.
It’s all relative to your existing skillsets. For example if someone followed your advice, they’d also be able to target the Mac App Store. They could optionally (if they know C#) use MonoTouch and the C# Bindings (and MonoMac for the Mac App Store).
Aren’t you just an exception? I heard WP development required $100 key to fully utilize SDK or use the store (don’t remember).
As for MS giving out devices, they had to generate that %1 marketshare somehow
.
Not really, dev registration is also free if you’re a student, or part of Nokia’s developer network. Nokia seeds thousands of phones (They sent me a Lumia 800).
Anyone who really shows initiative can realistically get a device if obtaining one is an issue. Nokia is currently running a contest whereby you submit two apps and they send you a free phone.
The barrier for entry is significantly lower than Android.
For now until MS controls that market (if they ever do).
Yeah, look how many roadblocks Microsoft puts, for those who’d like to develop on the platform where MS has a dominating market, the ~desktop…
Oh wait, no they don’t, they strive to have one of the most accessible dev landscapes around.
Free phone? Where do I sign up?
I’ve never written any C# code but it seems close enough to C++ and Java for me to pick it up quite quickly.
Yup, MS is pulling out all the stops to bribe devs to make decent apps for their failing platform. Not surprising.
What?
Lmao, touche
It is about percentage market share and what industry you are talking about whether all this matters.
I work in the gaming industry, and nobody cares about the OS or whatever … “does it have adoption and how to we make people give us money” (usually casino slot machine games which are flash based, they make tons of money).
Coders don’t flock to android because there are low level hacking opportunities .. they flock to it because it basically becoming the as dominate as Windows in the mobile space.
It isn’t every about code … it is always about money.
EDIT: a lot of terrible software keeps on getting bought because management don’t ask their in house dev team how it works and whether it is any good.
Edited 2012-06-07 19:51 UTC
Exactly right but people will still create their own ideas about it that are far less on point (if at all), I guess to make it feel better when they stroke their android penis.
Gambling industry, you mean?
Hm, oh well, not a surprise there I guess, it’s always been popular with humans.
No. No one is developing for the ICS platform primarily, not even exclusive Android developers.
The barrier to entry for Android app development is much lower than for the competing platforms.
A $300 PC/notebook running the OS of your choice, with a $150 Android phone and a $25 publisher account (one-time registration fee) will get you started.
In contrast, developing e.g. for iOS means you need expensive Apple hardware and a $99 per year Apple developer account. Symbian/WP7 also demand yearly payments.
You can even forget the phone if you are on a tight budget and just develop on the emulator. Even the publisher account fee doesn’t need to be paid until you’ve actually developed an app and want to publish it.
So basically the only barrier to entry is a PC and an internet connection to download the SDK.
Google is shooting themselves in the foot by not supporting Eastern European and developing countries in the market. These are the places where the dev kit cost truly makes a difference.
Android game development interest has actually dropped off compared to iOS.
Some of the bigger companies rushed to release on Android once it hit a tipping point but have since pulled back. Market size isn’t everything, there is also purchase rate and for Android it is much lower. I suspect the real problem is that heavy gamers got onto the iphone early and see no reason to switch. Android and WP7 have a lot of late comers who rarely buy games.
Highest selling titles on WP7 are games. Try again.
WP7 could only have games and yet my statement could be 100% true.
Edited 2012-06-08 12:02 UTC
Better to develop on iOS first; the developer tools are way better.
Once you’ve debugged and implemented there, then you can port to Android.
Have you ever used XCode? It’s probably the worst professional IDE by a long, long margin.
Yes, actually, I use Xcode on a daily basis. I don’t think it’s the greatest, but it’s better than what Google offers for Android.
It’s not about the hackers, it’s about the money. Quality development occurs on a platform when money can be made from that platform. And it’s really about quality development, not just little things you do for yourself.
Linux has vastly more hackers then Windows and Mac’s but it’s market share on the desktop has not moved while Mac OS is soaring.
Android, for all it’s openness, offers MUCH lower revenue opportunities, it’s MUCH harder to support the different OS versions and hardware out there, and there is dramatically more support overhead.
For the current app we’re building Android is not even in scope. It’s iOS first, Windows 8 second (tablet app). We won’t even start work on Android until we know the app has traction.
That’s not to say Android is not doing well. It’s doing great and the latest versions are awesome but the market is still a pain in the ass.
XDA has actually started as Windows Mobile hacking community. They were trying to get WM handsets to run Linux, continuing support for HTC HD2 (that has recently got ICS treatment) is testament to that.
They are working on getting WP more customizable that it initially was. Seeing the amount of good will WP gets there it’s funny to see MS screwing them over time and again, by playing cat and mouse with their root methods, making promises and then withdrawing and so on.
Edited 2012-06-08 07:03 UTC
I will release my first Android App that month and make it available on the BlackBerry PlayBook as well. I was a long time Mac user and Apple friendly in general. That has changed in the last years, I got more and more disgusted by the company and finally switched back to a Windows 7 PC. I may reconsider supporting iOS again in the future, but only if Apple changes their mind.
Even though you’re linking them in a slightly sarcastic manner, it still kills a defenseless kitten every time you link to John Gruber or his TechCrunch posse.
Just sayin’. 🙂
so we now have similar situation like we have with Windows and Mac OS:
– applications will be made for Windows for sure and “perhaps” for Mac OS!
nice step forward for Apple
Edited 2012-06-09 01:09 UTC
This is the battle of the personal computer all over again and again Apple will lose in the long run. Apple will lose because of the proprietary nature of their system. Android, like Windows isn’t tied to one hardware company. This is becoming more important now than it was during the days of the pc wars. All kinds of gadgets and devices are coming with full fledged computers now. Set top boxes, GPS, stereos, refrigerators. Unless Apple starts making iOS devices and appliances of every stripe they are going to ultimately fail. When everything is compatible with Android (because everything is made with Android) and less and less is compatible with iOS, the winds will change.
It’s much easier to do something for iOS and Windows Phone.
You can do some things in Android and make those work on most mobile phones and tablets if you use the SDK which is Java based.
Being Java based you can do only cute twitter apps, facebook apps, calendars, chess games and other apps with low hardware requirements.
Any more serious apps requires being native. And Android doesn’t encourage native apps and it doesn’t provide lots of useful apis. More than that, you have to recompile and fine tune your native app for every goddam ARM chip used in a phone or in a tablet.
There isn’t an ARM ABI and an app compiled for a Broadcom chip (as in Raspberry Pi) won’t run on a Samsung chip, the app compiled for a Samsung chip won’t run neither on a Nvidia chip nor on a TI Snapdragon chip, nor on another Samsung chip.
Edited 2012-06-09 19:08 UTC
Yeah because the following line to your Application.mk file is sooooooo terribly complicated isn’t it?
APP_ABI := all
That will give you arm5 arm7 MIPS and X86 binaries in your APK.
call BS on this part seeing some of the hardware demanding apps that exist on the Android Platform.
Something more than RS Feeds, cutsy social net apps and calenders.
Just saying. Also open development on Android is going great guns with community access to hardware divers and SDK’s from certain vendors.
Moving from my now dead Nokia N900 (yes it died) to a Galaxy Note, I at least feel some form of life on the platform with open support and my Paranoid Rom doing nicely.
I’m not saying there aren’t hardware demanding apps running on Android. There are. Games for example. But games are developed using OpenGL ES and NDK.
That’s what I would like Google to do: extend the NDK so it covers all aspects of Android programming, not just a limited set. Java and SDK sucks for mobile apps if your app demands some performance and you want it to be fluid and provide a nice user experience.
As it is right now, it’s easier to develop for iOS and Windows Phone than it is to develop for Android if you have something else than Java in mind.