Android Addresses Backward Compatibility
In an April 28 blog post, Google addresses the issue of backward compatibility for Android applications, which causes some observers to ask: why?
Google rolled out version 1.5 of its Android software development kit (SDK) on April 28, which has given rise to whether developers need to be concerned with backward compatibility involving newer APIs and older devices.
A blog post from Andy McFadden on the Android Developers blog, said:
"Android 1.5 introduced a number of new features that application developers can take advantage of, like virtual input devices and speech recognition. As a developer, you need to be aware of backward compatibility issues on older devices-do you want to allow your application to run on all devices, or just those running newer software? In some cases it will be useful to employ the newer APIs on devices that support them, while continuing to support older devices."
McFadden also said, "If the use of a new API is integral to the program-perhaps you need to record video-you should add a manifest entry to ensure your app won't be installed on older devices."
Yet, industry observers over at TechCrunch question the whole thing. Said an article on TechCrunch:
"Love the iPhone or hate the iPhone, at least you know what you're getting out of the box is a device that will work with all the apps in the App Store. That's been the case so far with Google's Android platform as well - but only because there has been only one device, the G1. With more devices starting to roll out, and a new firmware (1.5, 'cupcake') to support them, things are continuing to get a bit murky.
"Last week, we wrote about how the 1.5 Android software update would break some apps that previously worked with Android. Google gave some tips as to how to fix them, but it's still a bit troubling. Today, comes another post on the Android Developer blog with two dreaded words: Backward compatibility."
Meanwhile, to avoid any backward compatibility issues, McFadden insists that testing is the key.
"You must test your application on every version of the Android framework that is expected to support it," he said. "By definition, the behavior of your application will be different on each. Remember the mantra: if you haven't tried it, it doesn't work."
McFadden also noted:
"You can test for backward compatibility by running your application in an emulator from an older SDK, but as of the 1.5 release there's a better way. The SDK allows you to specify 'Android Virtual Devices' with different API levels. Once you create the AVDs, you can test your application with old and new versions of the system, perhaps running them side-by-side to see the differences."