All that is gold does not necessarily have to shine. Android has been touted as one of the next big platforms that would topple the iPhone from its throne. However, this does not seem to be the situation for Android. The last problem the platform is currently facing is the number of software versions on the phones. With a large number of versions available for the Android platform, many apps are not necessarily backward or forward compatible with the operating system. Added to this, the various vendors offering different phones with numerous variations of hardware components means that most developers have nightmares of developing code for each individual phone rather than a universal app.
The inherent problem with this situation is that cross-platform independence, regardless of hardware, is an ideal utopia that developers want but can never achieve. Similar to the BlackBerry situation where porting apps from other platforms is a nightmare, it can happen but not without a significant fight.
From a smaller developer’s point of view, Android is a difficult platform to work on. The amount of resources and time required to code a single application is significant for a small business; the need to recode for various hardware and software versions is not conducive to building a customer base. Variations in hardware and software not only affect overall application compatibility, but reflect poorly on the build quality of the application. As a result, customers are naturally wary of the platform when they experience poor app quality and interaction. Developers are then forced to write quick and dirty patches to fix problems, which is inherently dangerous and shoddy programming.
Google needs to approach this issue carefully. There are a number of low powered phones running Android version 1.5 up to extremely high end power phones with the latest version of 2.0 available. The inability of the versions to run backwards or forwards compatibility means that applications available in either version will only run on versions that are exactly the same as yours.
The iPhone countered this by launching new phones along with a compulsion to use the iTunes interface to make sure the phone’s software was up to date. As draconian and controlling as it may seem, Apple has achieved great success with the iPhone because they have managed to control the entire experience of using the iPhone. Since customers only know one experience, Apple can easily do damage control when software or malicious threats emerge.
Emulators would be the next logical step to ensure apps run on all platforms and hardware, however the very nature of an emulator is to provide something close to the real thing. There is always a cost to using an emulator; it may never truly reflect how applications interact with the phone’s hardware and software. As a result, the developers still don’t know how to deal with the variations.
Google needs to provide some means to standardize the software available across all hardware or provide some sort of interface that will at least help users and developers diagnose problems with their Android-compatible phones. The logical assumption would be a web-based interface that allows users to download from a central location similar to iTunes. The Android Marketplace has the potential to become at this point, however, it would have to be perfectly designed and integrated with all the hardware. With the specialized technology that Google has recently acquired, it would make sense for the Marketplace to get a facelift that provides an interface for phones to stay up-to-date through Google.