Once again, while working with Android, I’ve been bitten on the backside by differences between devices and how the camera works.
In the latest incarnation, users uncovered a problem where the DroidX camera (using com.motorola.camera) simply stops working. And not just for our app; for all subsequent usage until the phone is restarted.
Simply by taking a picture.
Apparently there is a known issue with the Motorola camera app and marking photos with GPS data.
But here’s the thing – why the hell is it so impossible for Google to simply say, “this is the camera app – use it, or else?”
If I sound frustrated, it is because I am. Camera issues account for 95% of the headaches I have when dealing with Android app problems (the other 5% usually involve memory allocation).
So, borne of my frustration, I make the following modest proposal:
In the future, before certifying a handset as being an Android device, Google should change their licensing to require handset manufacturers / carriers to provide a ROM-identical simulator for every Android device they ship. Running the exact apps that run on the actual device in the wild.
Without having actual hardware on hand, it is impossible – IMPOSSIBLE – to realistically test 100% of a device’s capability.
And when the carrier or handset maker ships a custom camera app, without a physical handset on hand, there is zero hope of testing – and guaranteeing – that an app will work with that particular handset.
It’s a small miracle that more outrage isn’t commented upon. Because it’s certainly out there.
As an Android user, I feel the pain personally. As an Android developer, it is a big point of pride to try and release the best possible software that I can.
But when every handset maker and carrier chooses to pick and choose core peripherals (like camera, video, gps, etc.) that they will support – or not – in a standard – or not – way, it makes the job of creating 99.99% up time, quality software nigh impossible.
At least not without sounding like you’re a whining excuse maker.
It is what it is.
I simply believe that Google must step up and think more of what this is doing to user experience and how app developers are bearing the brunt of the shoddy crap that is coming out of Motorola and the other carriers.
Instead of being concerned with spreading the Android “brand” at the expense of defining what, exactly, it means to be minimally “Android” in anything approaching a uniform sense.