Apr 28th, 2009

backwardsThe very words “Backward Compatability” provoked MG Siegler from TechCrunch to dread the complexities that would inevitably follow. But “Backward Compatability” was the exact topic of discussion on the most recent Android Developer Blog post.

Complain if you will but the issue can not be avoided and I applaude Google for addressing the issue head on. Apple is running their Operating System in a vacuum – they are the only puppet master putting on The iPhone Show. Google is taking charge on behalf of the entire Open Handset Alliance which includes many carriers and many manufacturers, which if you ask me, is at the root of the backward compatability issue.

Different hardware. Different specs. Different carriers. Different languages. These are problems that Apple and Android both face. But different priorities and agendas? Only Android has that problem since with the iPhone, Apple has a “my way or the highway” mentality.

While Google keeps Android Open Source they have to assume that different manufacturers and carriers will choose to take the platform in different directions. They also have to hope that application developers will try their best to account for these differences, with the community giving negative ratings to applications that fail to bridge gaps. But Google isn’t in the business of making other people’s decisions for them. They aren’t in the business of forcing, refusing or demanding. Google would rather leave that to Apple.

So while some view the Backward Compatability post as a sign that Android is already becoming a huge cluster-muck of a mobile ecosystem I suggest that the glass is half full. Google offers the greatest “freedom of choice” to manufacturers, carriers, developers and customers. But with freedom of choice will come bad decisions and so beforehand, Google is informing us as best possible so we’re not left saying, “hindsight is 20/20”.

The TechCrunch article compares this new Android vs. iPhone mobile comparison as the PC vs. Mac which first cropped up in the 80s/90s:

Yes, it’s essentially the same thing that happened with Microsoft versus Apple in the PC wars of the 80s and 90s. But, as we’ve learned from that, “bigger” doesn’t necessarily mean “better.”

Well if you ask me, “better” doesn’t necessarily mean “better” either.

Here is an interesting section from the beginning of the article:

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.

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.

The emphasis was added by me. I think if developers follow this guideline it will clear up a lot of the potential problems, confusion and complexities. And to be honest, call me old fashioned, but the fact that Google isn’t just going to ban applications because they aren’t properly backward compatable or don’t meet there expectations is… refreshing.

When reading the above please keep in mind that I am NOT a developer and haven’t developed for Android or the iPhone. I’d love to hear first hand from some developers… from both side of the fence.