Part of the problem is that there isn't just one Android, there are many, and they all behave just slightly differently. Testing on Android is a nightmare because of this.
I wish Google would make some efforts at fixing this problem -- it's the same problem Microsoft had with Windows. Windows on each piece of hardware was just slightly different and made testing just as hard.
Google, please learn Microsoft's lesson and make this easier for developers.
> Part of the problem is that there isn't just one Android, there are many, and they all behave just slightly differently. Testing on Android is a nightmare because of this.
In my experience, this issue is overblown, especially with Android 4.0+. Unless you're developing a game, the hardware differences should not be a huge concern. The Facebook app certainly shouldn't have problems because of this.
> I wish Google would make some efforts at fixing this problem
Google has and can have no control over how Android is implemented or updated by various OEMs, particularly when carriers are dictating terms. And when Google tries to go around the carriers, like they did with the Nexus 4, they get crucified for the lack of LTE. Seems to me they're between a rock and a hard place. Hopefully their plan to launch a wireless carrier with Dish Network will pan out and things will get better.
Testing a few hundred devices ranging in age from 1 to 4 years old on Android isn't great. Where it becomes a tough pill to swallow is when you compare it relatively to the iOS experience.
The number of devices are just a fraction, users update almost instantly and the older devices have a matching ratio for screen size. You also get the added bonus of nearly all apple products having a planned obsolescence of about two years.
Are you saying that you personally test on hundreds of devices, or just that you saw a photo of a huge table full of phones on a blog once and heard that someone somewhere does that? No one does that. It's a dumb argument, stop it.
Is testing on Android more expensive and occasionally more error prone than on iOS? Sure. But make the case sanely with real evidence, please. This is just flaming.
My previous company had dozens of devices to approximate the hundreds (we had our own pictures of tables littered with android phones). They faced ridiculous issues like HTTP not being properly supported. Don't delude yourself into thinking testing android devices is something that it is not. It is a mess. You cannot guarantee your application will work without testing on a device and the devices vary, greatly.
That is all beside the point. My salient issue was that despite testing android devices being a mess, people are proclaiming testing android to be a fucking disaster because they compare it to what testing iOS devices entails. Everything in life is relative. If iOS didn't exist, everyone would be saying testing mobile is a lot like testing web. I'm not saying iOS is better, if that is what ruffled your feathers. I am saying it is a closed platform, specifically for hardware. That makes the story much simpler. Anecdotally, I don't know a QA that has to test for iOS and android that doesn't wish android didn't exist.
We test on 47 different handsets, comprising four different Android versions. Do you want a list?
Our Android app lags in features and reliability to our iPhone app because our devs have to spend so much time dealing with the problems of the fragmented marketplace, so there is less time to innovate. This isn't flaming, it's fact.
Not sure if you know this but most apps are games. So that's a bit funny to say "this isn't an issue unless your making a game".
And I'm also not sure what you work on, but testing on an Android is a nightmare. Most of the issues on apps for Android are (My XYZ phone the app doesn't work). Just go through and read them, that's mostly what the issue is.
> Google has and can have no control over how Android is implemented or updated by various OEMs
Yes it does, it's Google's OS it has complete control over what people do with it.
> Not sure if you know this but most apps are games
This article is about the facebook app.
> Yes it does, it's Google's OS it has complete control over what people do with it.
Not really, AOSP is open source. Too much control would have brought forks, not now though which is why google is enforcing licensing for people who to use the Android market.
No, Android is open source. Google has no control over what people do with it. The only thing google can control is if their branding shows up on the phone.
Amazon for instance uses it without any of the google branding and the open source license means They don't have to consult with Google at all. So your final sentence is 100% false.
I feel like the reason I prefer Android is because it's so faceted, and available for anyone to use to adopt for whatever use-case. I've owned an mp3 player that uses Android as a base, and I think it's being used in appliance dashboards and whatnot. That Android was built with this in mind leads it to be naturally harder to test for.
And while testing in Android isn't braindead easy, they have done a lot to make it easier on developers, from providing a really good emulator with images of all the various android versions, to having APIs designed to do feature detection, and have documented best practices to handling different sized/oriented layouts.
Maybe somebody should build a startup that creates a bridge between hardware owners and software developers. Let device owners have a client that downloads and runs test cases in exchange for money/points/lulz, paid for by developers wishing to support that hardware.
That's somewhat true, but it sounds like one of the goals is to get general feedback on the Android platform and its ecosystem of apps as well. For example, Path does a beautiful job using rich notifications in 4.1 (you see the uploaded photo in the actual notification), but Facebook isn't. Getting a broad set of feedback into product direction is helpful beyond just bug reports and testing.
I wish Google would make some efforts at fixing this problem -- it's the same problem Microsoft had with Windows. Windows on each piece of hardware was just slightly different and made testing just as hard.
Google, please learn Microsoft's lesson and make this easier for developers.