known to be and is famous for being one of the next biggest platforms that will be able to steal the spotlight away from the iPhone. This, however, does not seem to be true given the current situation for Android. The biggest problem is that the platform is currently facing a big number of versions of software on different phones. With many different versions and releases available for the Android platform, many of the apps that are made are not compatible with the operating system giving the average android app developer a problem. Consider, as well, the numerous vendors who are providing different phones with numerous variations of hardware components which means that majority of developers have very difficult times developing codes for each individual phone instead of having the luxury of having a single universal app.
The problem here lies in within the fact that cross-platform independence, regardless of the hardware, is the ideal notion that developers all dream about but can never get. Just like the situation with BlackBerry wherein porting apps from one platform to another poses a challenge because, while it is possible, it will not be an easy task.
From the perspective of the small time freelance developer, Android is a rather difficult platform to work with. The amount of resources and time that is necessary to code for a single application is very important to many small businesses. The need to change the code in order to work with other hardware and different versions of software is not conducive to building a large customer base. Not only do the variations in hardware and software have an effect on the overall compatibility of an app, it will also have an effect on the build quality of each app made and recoded.
As a result of this constant need to reconfigure their apps, customers have become naturally wary of the platform when they experience bad quality with their apps whenever they are using them. This leads to an android app developer having to find a quick solution in the form of patches to find ways to go about these problems which is rather dangerous and a very poor practice in programming.
Google must find a way to address this issue very carefully. There are several underpowered phones that are using Android version 1.5 as well as powerful, high-end phones that use the latest version available. The inability of versions to run with backward or forward compatibility means that the apps available on either version will only run on versions that are exactly the same as theirs.
What the iPhone did to counter this is was to launch new phones along with the mandatory use of the iTunes interface to make sure that the phone's software stayed up-to-date. While it may seem a bit controlling and very draconian, Apple has found a winning formula because they have found a means to control the entire experience and usability of using an iPhone. Apple is capable of damage control whenever software or any malicious threats or viruses arrive. But the thing of it is, most people switch to android to avoid Apples draconian methods and lack of compatibility with many other programs. Those who meet an Android app developer will know how much more satisfying it is to not be answerable to Apple as they are given much more freedom to develop whatever kinds of programs and apps he likes and this results in many more apps available for those running on Android.
This gives an Android app developer a giant advantage over those who are making apps for the iPhone. The problem is, sometimes this freedom is abused and several malicious programs and viruses are made and spread around. This is easily solved by getting an anti-virus.
The next logical step to take is to start using emulators to ensure that all apps can run across all platforms and hardware, but, the very nature of an emulator is to provide something very much like the real thing. The cost of using an emulator, however, is that it will never be able to truly reflect how apps interact with the phones hardware and software.
Google must find a way to provide some means of standardizing the software available on all hardware or provide some sort of interface that would at least be able to help an android app developer to diagnose their problems with their android compatible phones. The logical assumption would be using a web-based interface that lets users download from a central location the same way iTunes does it. The Marketplace on Android to can become this, but, it would need serious overhauls in its design and must be integrated with all hardware. With the new technology that Google has just acquired, it would make sense that the marketplace will most likely receive a revamp that will transform it into an interface for phones to be kept up-to-date through Google.