Wednesday, May 16, 2012

Android Centralization

I normally don't repost comments I've made in other people's G+ streams. Well, this time I am, by collecting some of the comments together and expanding upon them.

One of the murmurs going around tech circles right now is an apparent push from Google to centralize Android/Linux distribution. The objective on Google's part is to get Android/Linux updates into the hands of users. Case in point the latest version of Android/Linux is the 4 to 5 month old Ice Cream Sandwich 4.0 release. However, Android phones are still shipping with the literal years old Android Gingerbread 2.x release, and many popular Android/Linux phones like the Galaxy S II still haven't been updated despite carrier promises (AT&T) to get their act together.

The largest issue caused by inability of carriers to get their acts together and get updates out to device owners is not application incompatibility, despite what some reports, and programmers for that matter, would have you believe. The actual Android Application Programming Interfaces are very clearly defined and relatively stable between releases. The reference case in point here could be any long standing RPM or Debian based GNU/Linux distribution. Despite a wide variety of GNU/Debian operating system environments and /Linux kernels, you can generally maintain program compatibility if you target the published /Linux API's. Case in point, I can still run games like UT'99 and Doom3 that haven't had any effective updates to the binary executables in years.

From what I can tell from the Android/Linux documentation Google wasn't too particularly worried about Operating System fragmentation since they could implement API fallbacks for deprecated API features. In practice the program compatibility question does become complicated. The level of control given to vendors means that API fallbacks may not be exposed on any single Android/Linux device a user may actually have in their hand. There also can be other vendor-caused issues, such as "baked-in" shovelware like Facebook.

In my opinion the largest of these vendor-cause issues is the exposure of users to security threats. As Android/Linux devices become more widespread they become a more desirable target for malicious software and targeted attacks. It is my opinion that too many security choices are left in the hands of the phone carriers, many of whom have a long history of proving they have no business participating in software distribution or management.

Centralizing Android distribution allows Google to force the software-compatibility and security issues. This proposed centralization is very similar to the methods used by Apple in regards to the Iphone, which often raises the question of why it took Google so long to mimic Apple's successful software management strategy. My opinion here is that the recent history is being re-written by the present events.

Google publicly launched the Open Handset Alliance in November of 2007. When Google started the Open Handset Alliance it, as in Google,  was trying to break into the smartphone market. The Android/Linux platform was unproven, and for that matter, unwanted.  In 2007 there was active market competition from not just Apple's Iphone, but also from Palm and RIM. Case in point 2007 Palm was both profitable and already talking about their next generation software platform. Granted 2007 was also when RIM thought the Iphone was a wormhole product. Just getting the a foothold against the established players in the smartphone meant Google had to take a fundamentally different approach than Apple, which meant allowing the decentralization of updates and allowing phone vendors to do their own things.

Fast forward to today and the market itself has changed. Former smartphone powerhouses Palm and RIM have been mismanaged into irrelevance. One of the strongest players in the dumbphone market, Nokia, suffered not only from internal mismanagement that encouraged in-house competitions to ludicrous levels (Symbian, /Linux, and QT); they also suffered from external mismanagement (Microsoft, Elop, and Windows Phone). Also, yes, I know I just linked to an article written by Andrew Orlowski. As far as I can tell that article is actually accurate. Yes. I checked. Multiple times.

Anyways, the very competitors that forced Google to make concessions to get the OHA rolling to begin with, are, as far as the market is concerned, gone.

There are other factors to consider, such as the emergence of malicious software that attacks mobile devices, and then the whole updating question. Quite frankly Apple pioneered the entire concept of a smart-device getting an operating system and functionality upgrade, something Palm and RIM users had always equated to "spend more money on a new device."

Another unmentioned factor here is Kaz Hirai's push on Android through Sony. Sony needs Android centralized in order for Sony's content-driven Playstation Suite plans to actually work. I'm not too terribly interested in going into why Sony needs a centralized Android since that is it's own story, and will likely be posted on GNiE.

Additionally there is the whole legal quagmire with design patents, software patents, copyrighted API's, and so on and so forth. Google's ongoing triumph against Oracle in a courtroom probably is the straw that broke some of the involved camel's backs.

From an outsiders standpoint I think Google only now has the market muscle to actually push centralization of Android Distribution onto unwilling carriers. From the user's perspective the hopeful outcome is that devices running Android/Linux will be updated within a reasonable amount of time, say a couple of weeks if not days, from the launch of new software versions. I'm not sure I can imagine what the hardware vendors perspective is, but the loss of software competitors means they'll just have to focus on making better hardware. I can imagine what the carriers perspective is right now, Google's taking away their baked-in cash-cow shovelware deals and giving users back their devices. I think AT&T is not going to be happy about this.

And before you ask, I'm singling out AT&T since the Samsung Galaxy II S was flagged for ICS 4.0, and as far as my friends tell me, it's still Absent without explanation.


pastry arts school said...

Thanks for this good & excellent work. you should have to continue it forever.....

pastry chef education

Jason Monsen said...

What effect do you think the centralized distribution of 'Droid will have on homebrew users? I'm thinking specifically xda-developers.

Would you expect to see Google support and possibly even distribute popular project builds, or would they be forced to pander to carriers and only support official builds?