
This Is What Developing For Android Looks Like - iProject
http://techcrunch.com/2012/05/11/this-is-what-developing-for-android-looks-like/
======
cryptoz
> You know how all Android developers complain about fragmentation? Yeah, this
> is what fragmentation looks like.

This is some of the most insulting garbage out there. I'm an Android
developer. I don't complain about fragmentation. _Ever._ Don't you dare lump
me into a group of people you hear complaining loudly. I'm not one of them!

I know it can be hard to get apps to work across all phones. The variety of
available hardware is part of what makes the ecosystem so amazing. Of course
there will be difficulties that arise from the range of devices (dynamically
positioning text to align with a set image background across every screen size
and resolution can be difficult, I'll admit) but those problems are not
something to complain about, and frankly, they're not any kind of showstopper.

The variety in devices allows me to build apps like pressureNET, which uses
barometers built in to some phones. I could never be building a
groundbreaking, innovative weather network without different ideas and
different manufacturers trying things out. As a developer, I _love_ the
variety available in Android devices. It's what makes the ecosystem thrive and
it's what makes me thrive as a developer.

I hate this "all Android developers complain about X" bullshit. It's wrong,
insulting, and counter-productive to everyone who's trying to build the next
great app. Stop it.

~~~
ktothemc
Hey, I'm the author of the article and I don't really have an agenda in the
Android/iOS platform debate. Both are necessary platforms to build on at this
point.

Yat also wasn't really complaining about the state of affairs on Android at
all. He's happy to QA test with 400 devices and he thinks it's why his company
performs well relative to other game developers who don't do as comprehensive
a job.

I just thought it was a hilarious photo about the lengths that one Android
developer will go to make their apps work. :)

~~~
dannyr
Kimmai,

The way you wrote the headline suggests that you do have an agenda.

Unless you think Techcrunch should not be taken seriously, a lot of people
would think that Android is such an awful platform to develop in and would
stay away from it.

I've been an Android developer for 3+ years. I only test in 3 phones and my
apps work in majority of devices. If a developer follow most best practices, a
lot of fragmentation issues go away.

I understand that you are trying to be hilarious but it just contributes to
FUDs on Android that has really not much basis.

~~~
ktothemc
Tks, it's a simple headline that gets a point across. I talk on a weekly basis
with many of the top-grossing devs on both platforms so I try to listen to
their issues.

This was not meant to be a warning for devs to stay away of Android, but doing
more extensive QA testing is a reality of the platform.

What's your app? How many DLs does it have? How many DAU do you have?

~~~
dannyr
The apps I built varies. Some have hundreds, some have 10K+.

But you know what's a better example? Netflix. They test on 10 phones & 4
tablets.

[http://techblog.netflix.com/2012/03/testing-netflix-on-
andro...](http://techblog.netflix.com/2012/03/testing-netflix-on-android.html)

Netflix App has at least 10 million installs -
[https://play.google.com/store/apps/details?id=com.netflix.me...](https://play.google.com/store/apps/details?id=com.netflix.mediaclient).

~~~
ktothemc
That's for basic testing. The post also says they still keep a long tail set
of devices for more comprehensive testing.

"We figured out the optimal combination of devices to give us maximum
coverage. We are able to reduce our daily smoke automation devices to around
10 phones and 4 tablets and keep the rest for the longer release wide test
cycles."

~~~
dannyr
Is it 400 devices? Or are you assuming that to justify your post?

"This was not meant to be a warning for devs to stay away of Android, but
doing more extensive QA testing is a reality of the platform."

Your headline & picture suggest otherwise.

Honestly, is this a Techcrunch thing? Before you worked at Techcrunch, I can't
remember you writing a post like this. Too much snark and mocking a platform
(and hence, a community).

------
ajross
Yes, indeed. All android developers have 400 phones (neatly and photogenically
arranged on a conference room table, no less).

Look, fragmentation has costs. Outside the core APIs (and especially with
hardware-facing interfaces) you need to expect to do some testing. Screens
have different resolutions. PVR and Mali have different rendering bugs.
Different cameras have different quirks. But to baldly pretend that this
requires exhaustive testing on hundreds of devices is just sensationalist
nonsense.

~~~
taligent
I agree. Hundreds of devices is ridiculous. But if you are trying to build an
app that must work on as many possible you are still look at 10-20
tablets+phones. It's still very expensive.

------
greggman
Someone needs to take a picture of all the desktop PCs, laptop PCs, tablet
PCs, netbook PCs and then say

"This is what developing for Windows looks like".

I'm sure it would be an order of magnitude bigger, maybe 2 or 3 depending on
how far back you decide to go.

Or even add up all the mac models from the last 5 years. Heck, I have friends
still using power PC macs.

~~~
sigmaxipi
Windows does a good job of abstracting the hardware away and preventing the
OEMs from tweaking the APIs so this isn't an issue in most cases. The major
exception is for the large game developers who have to buy tons of various
configurations of GPUs and motherboards in order to test various
configurations. Basic hardware accelerated graphics works well across
platforms but AAA games use complex shaders and heavy optimizations which are
based on the incomplete and broken implementations of GPU vendors.

~~~
vibrunazo
> The major exception is for the large game developers who have to buy tons of
> various configurations of GPUs

The same is also true for Android. Most (all?) of the valid complaint about
how hard it is to target different Android devices comes from game developers
struggling to get which version of OpenGL to use, which OpenGL API calls are
bugged on which devices, how to circumvent low level GPU limitations on this
or that device, etc. And afaik, those are usually based on incomplete and
broken implementations by GPU vendors as well. Same as with windows.

Most of the regular utility app, which use normal Android layout and API
instead of OpenGL, are doing fine just testing their app in different AVDs
(instances of the emulator) just to make sure they're compatible with
different devices.

(then of course, there's a few newbies who didn't spend 10 minutes reading the
guide for running on different devices on d.android.com, then whine their
app's font looks different on a friend's phone. But I'm counting those out)

------
gregable
I'm not an android developer, but I am curious. Why is it that testing on
dozens/hundreds of platforms is considered essential for cell phones, but not
for PCs? Is android just that much worse at abstracting hardware than
traditional OS'es?

~~~
nl
Because it is early days for Android still (don't forget Android is less than
5 years old), and manufactures are still doing wacky things, and people are
still uncovering bugs and edge cases.

In the early days of MS-DOS compatibility was a big problem too. Magazines
used to use MS Flight Simultor to test how compatible PCs were - plenty failed
that.

~~~
ssp
There is a difference though: The IBM PC was the undisputed gold standard for
compatibility. Software typically listed the hardware requirements as "IBM PC
or 100% compatible". (Some non-IBM-compatible DOS hardware was sold, but it
died out pretty quickly).

It doesn't look like there any similar gold standard is emerging for phones.

~~~
nl
That's not really true.

For non gaming apps, testing on Samsung & HTCs is usually enough to cover 90%
of the market.

Gaming graphics makes that more complicated, but the truth is that people
_still_ find driver and game bugs on _Windows_.

------
salem
400 devices is probably overkill, you can get by with far less if you want to
cover 90%+ of the market.

This sounds about right from my experience:
[http://techblog.netflix.com/2012/03/testing-netflix-on-
andro...](http://techblog.netflix.com/2012/03/testing-netflix-on-android.html)

------
zmmmmm
As an Android developer I have about 5 phones and an extended group of friends
with another dozen or so. Along with the emulator it's more than enough. This
article is ridiculous flamebait.

------
Macha
Techcrunch. Android. Linkbait bullshit. What's new?

------
alanh
And (per the article) this is what using android looks like: “Unlike iOS users
who throw up their hands in frustration, write bad reviews and just leave,
Android users tend to be delighted when they find apps that work even if they
have a glitch or two.”

------
radley
I'm going on my 12th device this week and expect at least two more next month.
My partner has 6 devices at his place.

Part of the problem is Google is releasing OSes faster than devices can keep
up, and in a few cases I'm buying simply because the prior's OS is stuck yet I
have to satisfy new devices users too. For example, I have Galaxy Tab from IO
which is stuck on 3.1, but all new tablets use 4.0 and there's unexpected
differences between them.

The killer reason for us is the dreaded 1-star review because we missed a
particular combo (screen/OS). We have > 1M users between 2 apps w/ 4.2+
ratings each as a result.

Once you're making some good $$, you really can't afford not to have a device
library.

~~~
robocat
> dreaded 1 star reviews

This is very obvious when looking at app ratings - users seem to blame model
even if problem is entirely unrelated.

Hell, the Play Store ratings shows the user's model/device name under each
user's review... that leads users to quickly blame their model type.

------
rokhayakebe
Opportunity for a web-based emulator including all devices.

~~~
yellowbkpk
Why a web-based emulator? Just use the one that's included with the Android
SDK. You can simulate any combination of memory, screen size, screen
resolution, and various hardware characteristics. Sure it can be slow, but
it's getting better and is actually emulating the system you're developing
for.

~~~
stesch
Is the emulator in the SDK usable now? Last time I tried Android programming
it was slow as hell. Unusable even for a simple Phonegap app.

~~~
cageface
If you use the Android x86 system image it's not bad at all. ARM emulation is
still slow as molasses.

~~~
mdwrigh2
Try enabling GPU emulation if you're dealing with ICS. It's much, much faster.

------
sparknlaunch12
Surely this is a quality assurance exercise of diminishing returns.

Why not test on the must common devices or top device in each main category?

Is fragmentation a real issue? First time I have heard about it. Is this like
browser compatibility for web developers?

------
cageface
As long as Android sales remain brisk this is only good news for HTML5.

------
eta_carinae
This is nonsense.

Yes, fragmentations make it a bit harder on developers, but that's why we get
paid the big bucks.

Choice is good for users, you won't hear a lot of Android users complain about
fragmentation.

------
pavedwalden
Some of the comments here have gotten me thinking about access to test
devices. I've never worked on android, so I don't know if installation of lots
of unfinished software would be logistically sane, but what about meetup
groups where local devs could test out each other's beta apps on their phones
and tablets?

~~~
Mavrik
That actally happens quite alos around here... Those "test" meetups were even
sponsored by local service providers and Samsung.

------
gazrogers
If I develop software for a PC I don't have 1000+ PCs with every conceivable
combination of CPU, graphics card, monitor, sound card, and Windows version.
That would be absurd and unworkable. And yet that's what this article would
have us believe you should do when developing for Android.

------
dools
So this is just the precursor to all app developing cycling back to the web
right? I suppose it will take time for browser tech to catch up to what PCs
have on offer and hardware apis but this is obviously what HTML exists for.

------
majmun
Why are you supposed to test on all device types? Couldn't be possible to find
the one or few devices that combined have all the properties that all other
devices has and test on them only.

------
user23409
Looks like a thriving ecosystem that fosters innovation, individuality, and
competition. Seems great for consumers and developers alike.

------
bane
It looks like a wildly successful device ecosystem.

------
taligent
I used to work for a large multinational who had a few popular Android apps.
This is what we had to do as well.

It's surprisingly common place at enterprise companies who need to support a
wide range of devices.

