Last week Motorola went on the record to blame Google’s Nexus program for the delay in software updates on its devices. A device manufacturer trying to explain why software updates are delayed is nothing new, but a device manufacturer that was recently purchased by the its software supplier blaming it’s new owner caught my eye. It’s possible that Motorola was trying to give the impression that things really won’t change much once the purchase is complete or that Motorola wants public pressure to support their devices getting preferential treatment from Google; we’ll never know for sure. Regardless, I think it raised some questions about Google’s Nexus strategy and whether or not it has been good for Android as a whole.
Many of us are somewhat familiar with the development process for creating a ROM for a device. When a new version of Android is released, developers get to work porting the latest version over to different devices. One of the obstacles in making a bug-free, stable ROM is using hardware drivers to run well in the new version. Motorola claims that it’s software updates are delayed because the source code released for Android is built only for the Nexus hardware, so Android manufacturers have to develop new drivers for their hardware that work with the new operating system. The process is similar to when PC manufacturers release new drivers for a computer when a new version of Windows is released. The difference is, when Microsoft releases a new version of Windows, they work with manufacturers before the release to ensure that systems that ran the previous version will be upgradable. Google only partners with the manufacturer who won the Nexus bid to develop drivers, meaning the source code is designed explicitly for that device.
The question is, should Google be working with all of its hardware partners to ensure that when a new version of Android drops they all have device drivers? Motorola also listed carrier approval for new software and developing their custom software that runs on top of Android as obstacles in releasing new software, but the former is out of their control (though Apple seems to be able to get approval rather easily) and the latter is apparently essential to being competitive in the market. If Google worked with device manufacturers to ensure that updates were more easily rolled out it would help manufacturers keep their customers happy and help Google fight OS fragmentation and achieve their goal of getting everyone on the latest build of Android.
If Google began to work with it’s OEMs to get drivers on all devices prior to the latest release of Android, several things would have to change. First, manufacturers would probably have to either limit the number of devices they release in a year or only work with Google on a select number of devices. It would also require a massive amount of coordination between Google and the OEMs, but it’s not like Google has a shortage of cash. Perhaps Google could charge the OEMs to be a part of the Nexus program, which would enable them to have access to the source code along with the chosen Nexus partner. If they allowed other OEMs to access the source code early for a fee it would certainly deal with the fear that Google needs to start charging for their operating system to compete with Apple.
Some might argue that Google can’t give non-Nexus partners access to the source code earlier because it would defeat the purpose of the Nexus program. I think that line of reasoning is wrong for three reasons. First, very few vanilla Android devices are released every year. Android OEMs believe that the software experiences that they offer are superior to vanilla Android. If they thought otherwise then we wouldn’t have Sense, MotoBlur, or TouchWiz. Second, the Nexus device would still be the first device to receive OS and Google App updates due to the lack of an additional software layer. Third, Nexus devices have not sold well historically. They’ve always been about showcasing what Google thinks Android should look like and how it should work, not sales numbers.
If Google is serious about getting everyone on ICS I think this is the sort of thing they’ll have to pursue. I don’t know how else they would pursue that goal. If the company that Google just purchased is complaining about a lack of support from Google in developing device drivers for Android, then it’s a problem for all OEMs. This sort of approach would help Google deal with the lousy update schedule for most Android devices while avoiding pursuing Microsoft’s approach of restricting what hardware OEMs can use. I don’t think the Nexus program has been bad for Android, but I think it would do a lot more good if all OEMs were given access to the source code as Google partners with one manufacturer to make the Nexus device.