Tuesday, 14 December 2010

Motorola Droid X Not Playing Nicely With Camera Applications


It has come to my attention in the past few weeks that the Droid X isn’t exactly reliable when it comes to using its camera; hence it affects my camera applications – the SECuRET applications and GroovyCam Livestream. Various commenters on the Market have left the obligatory negative comment as they tend to do, but also I have had some helpful users contact me via email to try and nail the problem down. Not having a Droid X myself (I only have a Nexus One and an HTC Magic ... with a Nexus S on the way – very excited!) it is difficult for me to debug and test my camera applications on the device, but I have found some interesting information nonetheless...

The main point to make to any Motorola Droid X users reading this is ... it isn’t my fault! You can find plenty of stuff on the web regarding “Droid X camera problems” – it even seems to effect the native Camera and Camcorder applications. The main symptom seems to be the phone randomly resetting itself when using the camera hardware. As I said previously, it seems to affect all ‘camera-type’ applications, even the native ones, and so it is believed that there is actually a deep-rooted issue with the actual camera hardware/software/drivers in the Droid X itself.

Now one of the reported ‘fixes’ for this is to not run any ‘media-type’ applications in the background whilst you try to run a ‘camera-type’ application. The 2 ‘media-type’ applications that are commonly mentioned are Pandora and Music. Again, I can’t verify this myself, but some of my helpful testers have confirmed this indeed stops (or at least reduces) the random resets. The eagle-eyed amongst you may have noticed I have recently added a warning message to the SECuRET and GroovyCam applications that appears when you press ‘Start’ that says exactly what I have said in this paragraph ... so you have been adequately warned – so no more 1 star ratings and comments of “Doesn’t work on Droid X – Uninstalling!” – deal? Good, thanks!

It does work on the Droid X, it’s just the Droid X’s camera doesn’t work properly! :P

I have also added some new code and tweaked some old code that handles errors from the camera in a more efficient way, as well as interrogating the camera before it’s used to make sure everything is valid. Yet again, I can’t verify this myself, but some of my helpful testers have actually said that they no longer see the random resets at all. Personally, I think that is just a happy coincidence because some users are still getting the problem ... but it’s nice to think I may now be handling any errors from the camera well enough to prevent random resets.

So hopefully this post explains what is going on with the Droid X and I can point any emailers here from now on to answer their questions. Also, it may help you to appreciate just how difficult it is to write camera applications for Android – every new device seems to have some little quirk or strange behaviours that means my code needs to change regularly to ensure compatibility with as many devices as possible.

I think I have done quite well to make my camera applications as widely compatible as they are, considering I only have a pair of HTC devices to my name! ;)

No comments:

Post a Comment