Google’s strategy is clear. Play Services has system-level powers, but it’s updatable. It’s part of the Google apps package, so it’s not open source. OEMs are not allowed to modify it, making it completely under Google’s control. Play Services basically acts as a shim between the normal apps and the installed Android OS. Right now Play Services handles the Google Maps API, Google Account syncing, remote wipe, push messages, the Play Games back end, and many other duties. If you ever question the power of Google Play Services, try disabling it. Nearly every Google App on your device will break.
Fragmentation addressed through the backdoor. Too bad it’s too technical for most blogs, so the fragmentation line will be parroted for years and years to come.
I’m fascinated by the prospects, but confused about how Ars describes the solution.
So it doesn’t include base framework APIs? Layout, controls, animations, rendering, JIT, the whole nine yards?
What use is it if there’s still a hard dependency on the base system and APIs? Developers still worry about differences just like they do for every other mobile platform.
The fragmentation problem with Android is overblown, especially recently. Google has taken important counter measures to combat this, and frankly it isn’t any more of a problem than say Windows 8.
Android just takes problems every platform has and magnifies them by virtue of its sheer scale. So what may seem like a small issue on Windows 8 is actually a large problem on Android.
iOS is different in that Apple controls the end-to-end experience, same with Windows Phone to an extent.
Agreed. It’s not a service they are required to use, nor does it include essential frameworks. Sure it’s an easy way to link to Google services, but that’s it and frankly I’m even less comfortable with apps requiring that than I am about Android’s fragmentation at all. I’m not too excited about every app requiring Google services, and neither I suspect are companies like Amazon that build their own Android-based solutions.
Not a good comparison. I’m no fan of Windows 8, but it’s just like other versions of Windows in that no matter what hardware you have, no matter what drivers or additional OEM crap you have shoved in your face, Windows is still Windows. It may be more or less stable, or speedy, or anything else but the operating system core is no different whether you build your own machine or buy one from any OEM. Windows is Windows, and any app that will run on said version of Windows will run on it regardless of who put your machine together and set it up. Such is not always the case on Android as of yet, unless app developers take measures to handle it. Samsung’s APIs are somewhat different from vanilla Android, as ar HTCs. Most of the core still works but there are those little bits that’ll trip you up if you don’t watch out for them and employ a solution appropriate to the flavor of Android the user is running. No such things are needed with Windows.
Agreed fragmentation with Android is exaggerated. But windows is more fundamentally more fragmented, phone/rt/x86/xbox are all incompatible. Wasn’t .net supposed to prevent this?
I don’t know about that. Recently, my dad installed MLB At Bat 2013 on his Nexus 10, and got a big, fat message saying that the app was not supported on his device. Well, why the hell not? It’s Android 4.2, after all, and other devices running 4.2 (like the Asus Transformer) is on their compatibility list.
There’s no reason why it shouldn’t work. And as a matter of fact, it DOES work. I told him to ignore the message and run it anyway. And he’s had no issues with it.
Still though, if fragmentation is not an issue, and it works on one device running 4.2, it should run on ALL of them, without vendors having to maintain a list of officially supported devices. On Windows, you don’t see that kind of shit. If it works on Windows 8, then it works everywhere, assuming your machine has the horsepower to run it.
Here’s another example… what mobile devices work with NFL Sunday Ticket?
http://support.directv.com/app/answers/detail/a_id/2315/~/what-mobi…
Instead of listing specific Android devices, why not just put in there whatever version of Android it supports and/or what specs are required? Could you imagine looking at the minimum requirements for a Windows app and seeing specific models of Dell or Lenovo computers listed?
Edited 2013-09-03 19:17 UTC
I wonder if a better way to look at this is to say that Google is decoupling it’s services from Android? As far as Google is concerned Android has done it’s job, which was prevent iOS taking over and becoming so dominant that it could shut out Google services on a majority of mobile devices (actually Android was originally targeted to stop Microsoft Mobile but then came the iPhone and to their credit Google instantly knew it had to reconfigure Android to take on iOS).
Google’s strategic aim is to ensure that it’s services are ubiquitous horizontally across all platforms. Google doesn’t care if a user accesses those services via Android or iOS as long as they do access them and access them in a way that allows Google’s advertising business to prosper.
So as Google rolls out new services for Android it also does so for iOS. Google is now (post Rubin’s) truly platform agnostic. As a key empowering technology for horizontal ubiquity Chrome seems to be more important to Google than Android.
I wonder what Samsung makes of all this? They are obviously eyeing the extra value that Apple gets from iOS by controlling a great deal of the service and content stack, and also eyeing Google’s healthy revenue streams. They would to be foolish or, disinterested in extra revenue streams (and based on their track record that seems unlikely), not to be thinking about doing some decoupling of their own.
This is quite interesting.
In this approach, the manufacturer has to provide (adapt/port) the kernel and drivers for each device as before. Customization would be optional.
If I understand well, Google Services and the Apps it supports would feel/look the same accross all devices.
Now, does this open a creative solution? Could one replace “Google Services” by something else (a different personality) – even if this may mean no longer being able to run a number of Android Apps?
congrats, great post !
Samsung really does not care. As long as there is actual competition in the platform market, they will prosper. They are the beneficiaries of Google’s goal of having a market that is not controlled by one company.
Yet they know that their situation is better with Google providing services that they don’t need to support.
I am not so sure about that.
On the topic of this article “Google is defragging Android”. On reflection I think that Play Services defragments Android for Google, it doesn’t not defragment it for anyone else.
This is a move designed to help just Google but it does not help anyone else trying to monetise the Android ecosystem.
Personally I think that fragmentation is pretty much over blown once you actually take out low cost mass produced Android phones such as ZTE, Huawei, Alcatel etc. and just look at the big players like Sony, HTC and Samsung which have pretty much all sitting at around 4.2.2. The biggest problem it appears isn’t carriers in general but carriers in America because it seems that most of the complaints centre around US carriers screwing over customers rather than OEM’s necessarily holding back updates – so shouldn’t the question be about how to stop carriers in the US from screwing over consumers than the nebulous question of fragmentation?
Le sigh. Not the first time, either.
Are you accusing me of copyright infringement? Got some evidence to back that up?
You do realise that this is an article on Ars… A site I read daily?
Too bad you don’t actually understand what the problem with fragmentation is and why it’s a problem. In it’s current form, Google Play services does nothing to address the problem of fragmentation that developers complain about.
Well I was going to post that maybe this would allow them to do more radical changes to the OS, but now this dropped:
http://www.theverge.com/2013/9/3/4690214/android-kit-kat-is-the-nex…
So the new version is big enough to get a new name(KitKat), but not 5.0 yet.
Separating the app compatibility issues(and maybe security) with the driver breaking OS updates will be a big help I think. But I hope this doesn’t mean we wont be able to run Android without Google services.
I don’t agree with Stallman on many things, but he was right on one thing: A piece of software is either 100% open source, or it’s closed source.
If you have a piece of software which is mostly open source but some of it is closed (and the closed parts are in an app called hereisourproprietarystuff of PlayServices or whatever), and insist calling that “open source”, there is the very real danger that the hereisourproprietarystuff will gradually become larger while the open source part gets smaller or stays the same.
Edited 2013-09-04 09:50 UTC