Friday, April 1, 2011

Commentary: The Reasons Behind Android's Lockdown

It's come to my attention that the biggest problem with Android may not be fragmentation. Over 90% of Android devices are running 2.1 or 2.2 (2.1 Eclair and Froyo), and those two versions of the OS are quite compatible with one another (so I've been led to believe).  Developers can target either version of the OS and users don't have to worry about incompatible apps, for the most part.  This data shows that fragmentation is not a large issue.  However, what is becoming an issue and what is the main cause of what Android fragmentation there is, is the lack of OTA (over the air) OS updates for Android phones.

It's not a major problem yet, since 2.1 and 2.2 are the 2nd and 3rd most recent versions of the OS and, as previously stated, most Android devices are running these versions.  Android users are only one OTA behind.  But this has the potential to be a bigger problem—even if this doesn't cause fragmentation, handsets could fall behind Google's OS releases.  This means Android users won't get important updates (like the fix for the SMS bug that sent text messages to the wrong contacts) or less important updates (like version 2.3).

It's confusing why carriers and manufacturers wouldn't simply spend a couple days testing each update with the manufacturers' custom skins (MOTOBLUR, TouchWiz, etc.) and then send the updates to all their most popular phones, if not all phones.  Why, then, is the Nexus S the only phone running Android 2.3 (Gingerbread) when 2.3 was released almost 4 months ago?  This question plagued me for months until I discussed it with another commenter at Engadget.
Because corporations are not [your] friends. They want to sell you a new phone. Just think if they updated their phones every six months to a year. At that rate as powerful as phones are, when are people going to need to upgrade? It's not like they're Apple and it seems like every successive update make your phone or Mac slower (with no logical reason). Android is made to run on damn near anything. If a ~500mhz phone can run 2.2 as smooth as silk (a new one like the Aria, not the MyTouch) don't you think any of these dual-cores would run anything Google threw at it with a proper uncrippled [ROM]? No one would buy new phones unless there was new innovation. I seriously don't see the masses selling their Droid X for another Droid XX with a better camera, better flash, screen with higher resolution and better battery life. That's the best Motorola can do with it. They are not Apple.

-Ashiedu Nwadiei
This explains why manufacturers don't want to update their phones: planned obsolescence.  A new version of a phone with a slight bump in specs sounds much more appealing when there is also a bump in the OS functionality.  Outdated hardware isn't really an issue, as I previously considered.

But what about carriers? Why should they care if you buy a new phone or not, as long as you're tied to them with a contract?

One reason is that buying a new phone generally means renewing your contract.  Whether a user upgrades mid-contract or after two years, that user is generally going to renew his or her contract, especially given the prices of off-contract smartphones.  Mobile carriers want their customers to renew their contracts, so anything that forces them to buy new phones is good.

But probably most compelling reason for carriers to block updates is to ensure they can control the OS.  The main purpose of controlling Android is to prevent tethering.

A Quick Aside About Tethering: Android, just like iOS, allows users to use their phones as an Internet hotspot, either wirelessly or by using a cable.  Users can then use the phone's 3G or 4G data with their laptop, desktop, iPad or other device.  Although I could do this back in 2005 on my Motorola KRZR dumbphone and I would only be charged for how much data I used, mobile carriers have decided that they should charge users extra for this data.  Now tethering costs $20 (includes 4GB data) on AT&T and is supposedly $20 (unlimited data?) on Verizon, even though it required no work on the carriers' part to enable this feature on phones and doesn't cost the carriers any more than using the data on the phone. But I digress.

You can download free tethering apps on Android, but most of them require root access or heavy OS customization.  By locking down Android handsets, carriers can prevent you from tethering for free.

So what's the solution?

One option, is for Google to better coordinate with manufacturers and carriers so they can release more Google-approved phones like the Nexus phones.  Or they can take more aggressive measures.

Google can make Android more closed source.  They can't make the entire OS closed, as it's built on a modified Linux kernel.  Since Linux is protected with GPL (a type of open source license), any derivative software must also be open source.  However, parts of Android (Google Maps, the Gmail app) could be removed for manufacturers that don't play nice.  Android Market could be locked down, as I mentioned in an earlier post.

Another option is to simply create a hardware division.  Google has the money to do this.  Why not be like Apple and the rest and make the phones themselves?  The only drawback is that if they kept Android open, other manufacturers will still create custom Android phones and Google phones might only have moderately successful sales, just like the Nexus phones do now.

The more I think about it, the more that locking down Android seems like the answer.  Who takes advantage of the fact that Android is open?  Only carriers and manufacturers, who lock down the phones, and hackers, who open the phone back up again.  If Android was totally closed source, carriers and manufacturers wouldn't dare risk the legal troubles of messing with Android, and hackers—who don't mind breaking a law or two—would still find a way to hack Android, although they would have less of a reason to do so.  Again, Google can't make Android totally closed source without at least rewriting the kernel, but they could close down parts of Android

And this seems to be the direction Google is taking.  In the past week, Google has let carriers and manufacturers know that they can't make changes to Android without their approval and they have decided to withhold the source code for Honeycomb for an indefinite amount of time, even though Honeycomb is currently deployed on Motorola's Xoom.  This has upset some manufacturers and set the blogosphere ablaze.

Time will tell if this will help Google or will end up as a terrible PR move they will eventually come to regret. Until then, we can only hope this move will spur Android phone makers and carriers to allow users to update their phones.


Update: I think Engadget has been reading my blog. A recent post "Android's problem isn't fragmentation" basically says what this post does in an admittedly more elegant way: Fragmentation isn't much of an issue, the slow desecration of the "Android experience" is.  Google should lock down the OS to prevent carriers and manufacturers from ruining Android.