Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I rarely ever see apples-to-apples comparisons in Android-iOS development discussions.

It's tempting to say that his TechCrunch credentials bias him, but I actually chalk it up to his wanting to write a dev blog with a link-bait title. I don't think the lesson learned has anything to do with Android first at all.



If you read through the article and ignore all the 'We fucked up by using SMS/MMS' stuff, you'll find the crux of why Android didn't work for him:

* APIs are not well-documented, and Google has changed them over time

* Carriers modify the OS to support their particular [...] idiosyncrasies.

* ...we need to ask the user to go into Settings and send us the details. Since manufacturers and carriers often modify Android’s Settings app, we can’t always tell the user where (or whether) she might find them.

* On some Galaxy Nexus phones, when you’re listening to Pandora and get a notification sound from Emu, Pandora’s volume drops. This doesn’t happen with other apps’ notifications, nor does it happen with streaming apps other than Pandora, nor does it happen on any other device.

* Several text-layout and view-layout bugs created situations where a seemingly harmless visual change would create significant UI bugs.

* Poor, inconsistent and conflicting documentation


* "APIs are not well-documented, and Google has changed them over time"

* "Carriers modify the OS to support their particular [...] idiosyncrasies."

* "Poor, inconsistent and conflicting documentation"

Not true. Google usually documents APIs well, and older versions of Android are forwards compatible to newer versions.

The SMS Api that the author used was a so-called "hidden API". These APIs are not documented on purpose, as they are not supposed to be used by developers. These are experimental APIs that can and mostly will change over time.

Hidden APIs are not part of the Android specification and they are not part of the Android compability test suite. Of course they do not work reliable on different versions of the operating system.

See: http://android-developers.blogspot.co.at/2013/10/getting-you...


Interesting. So the SMS API was a private API all along? On iOS you get rejected for using private APIs for that very reason.


iOS 4 has an API for sending text messages, doing the same prior to Android 4.4 required using hidden API's. That's the real issue.


iOS does not have an API for sending text messages. iOS has an API that presents the user with an Apple-controlled screen, from which she can then send a text message...but there's no way to send a message without presenting that extra UI step.


And on android 4.4 you can have 1 and only 1 app can send text messages. There both compromises around the idea that sending SMS messages costs people money. If it's really important to you you can always set up your own SMS server and use that, however for security reasons Apps don't get full control of the SMS system though an API.


The market share bit seems pretty huge too:

By building for two years’ worth of Android (as we did originally with 4.0+), you’ll support about 40 percent of the U.S. smartphone install base. Removing 4.0-4.1 support leaves you with one year’s worth of OS compatibility, and that number drops to 12.5 percent.

By building for iOS 7 only, you’ll support 32 percent of the U.S. smartphone install base.


That is if you only care about the us. Just including Europe will give you a different story.


Yes but consider that about 95% of the People I knie have Smartphones. Those that really want a smartphone mostly have iPhones. On android it is 80% the phone that was cheap for their desired contract. Most will never use more than web & email


The next time somebody on this site says 'x is true because everybody I know is/uses/does y', I'm going to blow a gasket.

(Not that anyone cares probably)


For me it is exactly the other way around, apart from the cheap bit.


One of my favourite sayings: The plural of anecdote is not evidence.


I keep hearing about fragmentation but I'm not having that much problems with my app (more than 1 million users). Especially on 4.0+ because manufacturers have to ship Holo, so you can control the look of your app.

What kind of problems devs are seeing with the various 4.0 devices?


Part of the problem with the APIs being badly documented and them changing is that the entire SMS and MMS stack was an undocumented (deliberately) API until 4.4. Trying to build an app around an undocumented API will always lead to running into bugs and changes in the API.


Quite, and those undocumented APIs are used to do something that they wouldn't be allowed to do at all on iPhone.


blekko's "izik" tablet search engine app is basically identical on Android and iOS -- almost all javascript -- and the engineer who wrote it says that 60% of the js is workarounds for Android differences.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: