
Google is defragging Android - abraham
http://arstechnica.com/gadgets/2013/09/balky-carriers-and-slow-oems-step-aside-google-is-defragging-android/
======
spion
As always, everyone forgets to mention the poor, slow and by now outdated
Android WebView - which by the way will finally be getting a very important
upgrade in the form of WebViewFactory. This may allow using alternative
WebViews, such as a chromium-based webview - another important step towards
defragmentation.

Some more info is available at
[http://danosipov.com/?p=572](http://danosipov.com/?p=572)

~~~
zenocon
I've been working on something similar myself, since Google has indicated
Chromium WebView isn't a priority for them right now
[https://github.com/davisford/android-chromium-
view](https://github.com/davisford/android-chromium-view)

~~~
saurik
How does your work compare to this?

[https://github.com/pwnall/chromeview](https://github.com/pwnall/chromeview)

~~~
cbr
"This project was inspired by pwnall's chromeview, but it shares no common
code."

~~~
saurik
That doesn't answer the question. it answers how the codebase is related, but
it doesn't at all explain how the works compare.

------
lazerwalker
It's worth noting how closely Android's apparent path going forward mirror's
Apple's strategy with both OS X and iOS: closed end-user components built on
top of an open source core. I guess Google's realized that "openness" isn't a
meaningful market differentiator for the average consumer.

~~~
icarus127
I'm interested, what is the open source core in OSX and iOS? I was not aware
of any. I know they share code with BSD but I didn't think it was to the
extent that one could compare Apple's OS relationship with BSD to Android's
relationship with Linux.

~~~
shirederby
[https://en.wikipedia.org/wiki/Darwin_%28operating_system%29](https://en.wikipedia.org/wiki/Darwin_%28operating_system%29)

------
ChuckMcM
This is an interesting move on Google's part. It is a lot more mature (from
the perspective of running a software business) to have this level of control
over your destiny. It is also another step away from the engineering driven
focus toward the business goals focus. One of the more difficult things to do
is have the conversation why something is correct for the business, even if it
is an inferior engineering solution. I hope they manage that transition well.

The other part of this story seems to be that if you move to this as your
"api" then you can move the underlying OS tech to something else as well.
(away from Linux to something perhaps smaller for a budget phone.) Should be
easier than it was for Microsoft to move everyone to the WinAPI and off DOS.

------
StringyBob
Smart move by google. Potentially they've regained control of their platform
past, present and future...

In one fell swoop they can resolve fragmentation, keep everyone up to date on
functionality/APIs, bypass OEM/carrier update issues (be it carrier QA, OEM
lack of interest, or just crapware). Most importantly google can keep any
OEM's (ie samsung) in check and prevent them branching away from android.

The downsides: what happens when google break an entire range of
phones/functionality with an update? Are they going to QA every android
product in existence? Will older models slow down and become unusable as the
baseline resource requirements increase? (I'm looking at you IOS7)...

------
r00fus
So Rubin departs leadership of Android just before Android becomes "not open".
Seems like there's a backstory here that I'd love to hear about.

~~~
estel
Moving some functionality into the Play Services package is a direction that
Google have clearly been going in for at least a year: last year both Google+
integrations (understandably) and an updated Google Maps SDK being released.

Android Community's original description of Play Services as "In a nutshell,
Google Play services allows app developers to integrate other Google services,
like Google Plus, into their apps" is still accurate today.

~~~
r00fus
Again, I'm not going to argue the point, but it does seem like Play has gained
a lot more significance after Andy's sidestep.

I found the Google memos from the Java trial absolutely fascinating… I imagine
the story (going back a couple of years) on this would make great literature.

------
morgante
So, the ultimate nail in the coffin for open, fragmented services. If you want
to build a good OS, you ultimately have to take almost complete control.
(Google is basically following Apple's route.)

The reason I think the Google system is worse is that theoretically _any_
application can achieve this level of control. So while I might trust Google,
it seems all too easy to trick users into installing a different process which
can take complete control of their phone. With iOS, only Apple is capable of
this level of control, thus decreasing the attack vectors.

EDIT: Admittedly it's highly unlikely that Google would ever let such an
application into the Play Store, thus limiting its distribution potential.

~~~
coolnow
Also, Google do some kind of scanning of applications you want to install
(optional), last time i checked, so that would probably limit the distribution
potential even further. AFAIK, Google's services have root access to the
system (they can freely download .apk, install them silently and more), but
rogue apps would need a 0day on non-rooted phones,

------
myko
I think this is great for Android as a whole, users will be better served.

It does cut into the openness of Android though. Unless Amazon bends to
Google's way of doing things a little bit their platform will stay even
further behind, for instance.

~~~
Zigurd
Indeed it makes an increasingly important part of Android closed. It would
have been better to make all of the parts of Android OS that run in a Dalvik
instance updatable - or something like that. Unfortunately that part of
Android is effectively held hostage by OEM modifications.

It would be nice that if an OEM commits to limiting their modifications to,
say, at worst, some privileged apps, that there would be a workflow from
Google's OS development to the SoC makers' chipset support engineering, to the
OEMs so that new versions could be continuously integrated and therefore
delivered to each product shortly after release. That plus some kind of
community support model for EOL'ed products would harness openness in the
cause of timely updates and long-term support.

------
unicornporn
Only boring updates in 4.3? Have you seen app ops [1] functionality? Hands
down the greatest thing to happen to a mobile OS in a long time. I know
there's Xprivacy, but having this thing built in is awesome.

[1] [http://www.androidpolice.com/2013/07/25/app-ops-
android-4-3s...](http://www.androidpolice.com/2013/07/25/app-ops-
android-4-3s-hidden-app-permission-manager-control-permissions-for-individual-
apps/)

~~~
notatoad
The author of this Ars article is the same person as the author of that
androidpolice article discovering app ops. so yes, i'm pretty sure he's heard
of them.

App Ops aren't _in_ android 4.3 though. it's not a released feature, it's just
a development experiment that never got fully disabled prior to release.

------
acjohnson55
I don't understand what the all negativity over these changes is about. Has a
significant amount of mainstream Android features being incorporated into play
been from the ecosystem, rather than Google? If so, I can see how this could
result in a worse end-user experience. But if not, how does providing timely
updates and a less fragmented ecosystem such a horrible outcome? Feel free to
enlighten me if I'm missing something.

------
coolnow
It'd be interesting to see how it pans out for OEMs that don't, for various
reasons, bundle Play Framework/Services with their phones. This could be fixed
by having the user install a GApps zip through recovery, but it'd be a pain to
the average user. Also, are there, or will there be, any manufacturers
forbidden to use the Play Store and its framework? It seems for the vast
majority of people, this move is great, but for a tiny minority, i'm not so
sure.

~~~
Zigurd
It is difficult to say if manufacturers might get locked out. So far Google
has let B&N come in to the Google Play ecosystem when they wanted to do that,
and Amazon evidently prefers to cultivate their own ecosystem.

If Google could make licensing transparent and accessible to 3rd tier OEMs,
that would improve the customer experience at the low end.

~~~
coolnow
Would Google object to having Play on devices made in and/or for North Korean
officials, or Iranians etc? Would Google be forced to restrict access to them?
Granted, the amount of people this realistically affects is very small.

------
teovall
The elephant in the room here is security.

A lot of security updates can be pushed out for the apps and Play Services.
However, the underlying OS still needs regular, frequent updates to stay
secure, and that's just not happening for the vast majority of Android
devices. Who needs 0-day exploits when you have millions of Android devices
out there that are vulnerable to exploits that are one, two, or even three
years old!?

------
e12e
"It has its own silent, automatic update mechanism that the user has no
control over. In fact, most of the time the user never even knows an update
has happened."

Great. So, if it was difficult to trust your phone/tablet/tv _before_ it is
now impossible. I'm looking more forward to Ubuntu and FirefoxOS than ever
before - I want to be able to control what software runs on my devices!

~~~
chx
Yeah. You and the thirty other people (minor exaggeration) who reads this page
might want to but perhaps even among them there are a few who can't care less.
The general public? You know that well.

------
nomercy400
A closed source app that can update itself without notifying the user, and has
full permissions? How is this any different from the 'loss of control' to
American institutes, like the Windows 8.1 / TPM 2.0 warning from the German
government. Isn't this exactly the same thing?

~~~
estel
I've not tried to, but Android surfaces an option to disable Play Services.

------
credo
>>This is how you beat software fragmentation.

This does help defragment Android from a Google (developed) app perspective.

However, it doesn't do anything for 3rd-party developers. It doesn't do
anything for regular consumers who wish to upgrade their 2.3.3 phones or 4.1
phones to the latest version of Android. So Google has a long way to go before
they really defragment Android.

~~~
jaegerpicker
What? It absolutely helps 3rd party app developers. Need a new and better
video/gps/network/etc.. api? Right now you stuck depending on a new OS
Version. if they start tying api's to play store updates, as they have with
things like geolocation/gps functions, they worrying which OS and about
fragmentation mostly goes away for 3rd party developers of apps.

~~~
Someone
I'm not sure about the extent of the 'mostly' part. You still have the huge
differences in CPU speed, GPU capabilities, screen sizes and amount of memory
to cater with.

That 5 year old phone may have the latest Play Services, but what good is that
if that leaves only 10 kilobytes of RAM for your app?

~~~
makomk
You have the same problem with, for example, iOS devices though - there are
games out there that don't run on older devices even though they're all
nominally running the same OS because the older devices are too slow.

------
querulous
i think this will ultimately prove to be a terrible move for google. android's
success is largely a function of how attractive it is to device manufacturers
and carriers. stripping control from them is going to force them into a corner
where forking android or moving to another platform (amazon's fork of android,
firefox os, windows phone 8 and ubuntu mobile are all potentially technically
competitive even if they are not currently feasible).

~~~
acjohnson55
I don't see what the issue is. It seems to me that the OEMs are still
perfectly able to build their own skins and bundle their own apps. They just
can't let their recently released devices rot with outdated tech.

Not to mention that if OEMs completely leave Android, they lose the app
ecosystem. Having already launched an Android app store was a big boost to for
the Kindle Fire. Not many other companies can pull that off though.

------
pdknsk

      defragmenting
      defragging
    

It's just 3 letters saved. Vote me down if you must.

~~~
GauntletWizard
Three letters, a syllable, and sounding better to the technical crowd who
understands the jargon (and, if you're outside that technical crowd, you won't
understand "defragmenting" any better).

~~~
wicknicks
The video game community might misinterpret it:

[http://en.wikipedia.org/wiki/Frag_%28video_gaming%29](http://en.wikipedia.org/wiki/Frag_%28video_gaming%29)

~~~
ceejayoz
That's exceedingly unlikely.

~~~
annnnd
Not really - that was how I understood it too, and the title just didn't make
any sense. Is "defragging" a common substitute for "defragmenting"? I have
never encountered it before.

~~~
mvanvoorden
Yes it is. When MS-DOS introduced defrag.exe, the term defragging came into
existence and never left :)

------
bsaul
It seems that this article doesn't really separate between user concerns
(having the latest google apps) and developper concerns (access to latest
APIs).

From what I understand, this means developpers will be able to rely on android
"services" being updated more often and more consistently available.

However, what about things like using new UI components ? For this, you still
need the latest OS version, right ? If that's the case, then maybe this would
mean users caring even LESS about updating their OS, and thus an even worst
situation.

i suppose Google thought about it, so there's probably something false in my
statement, could anyone confirm ?

~~~
pacofvf
Well it already happened before, with the tabs and other UI components, the
solution is a third party library that implements the new UI components in
older OS versions, google itself has released backward compatilibity libraries
to support new APIs in older OS versions.

------
unono
Hackers need to do something about the big companies abusing the app store
system. Google, Apple, Amazon are taking far too much fees from independent
developers.

\- Apple's store especially needs to be killed fast for innovation to thrive,
Apple is turning out to be the new Microsoft, Tim Cook should fear the wrath
of developers

\- and Google needs to be reminded that it's business could swiftly vanish if
it isn't pro-developer and pro-consumer, a 30 percent cut for what amounts to
hosting a file is way too much.

~~~
prewett
Hosting a file \+ handling payments (in all major currencies) \+ providing
worldwide visibility via search and app categories

Those last two are pretty big, if you ask me.

------
newman314
I'm sorry but this makes it sound like Google has come up with this magic way
of beating fragmentation. It shouldn't have happened in the first place.

Contrast this with iOS upgrade path or what webOS had been doing. Seamless
(for the most part) and a great UX.

Google is able to do this; see Chrome. What is strange is why they did not
adopt the same strategy for Android as for Chrome.

~~~
kalleboo
Easier said than done. Microsoft tried to beat fragmentation in Windows Phone
by mandating a specific hardware spec, and even they have had huge issues
getting manufacturers to clear updates in time, and they won't even let you
update to the new major version.

------
rarw
Aside from fighting over whether Android is closed or not this is an
interesting solution to dealing with the inconsistencies present in the
Android universe. The freedom everyone wants to love that comes with a fully
open source Android platform is, in reality, a real pain when you're trying to
develop apps. There is at best a plurality of different operating system
versions. Phone manufactureres spontaneously stop supporting devcies, only
pushing out updates to the newest of the new. OS improvements are lost on
those devices left behind until the users can afford a new device or reach the
point where they can upgrade.

Unlike Apple, where the iOS landscape is 100% consistent (minus physical
hardware variations) Android is a mess. Before going to town on Google for
"closing" the operating system, let's at least look at the problem they are
trying to solve and how this attempt - I'm not saying it's correct, or good -
addresses those issues.

------
ZeroGravitas
Google/Android really can't win now that this "fragmentation" frame has stuck.

Google's been updating core parts of the system like this from day one. The
Android Market/Play Store, Maps, Youtube and many other things have received
massive updates and been pushed out to millions of people. However, the
dominant storyline at the time was that "Android devices don't get upgrades,
because fragmentation".

Then suddenly, for no obvious reason, the tech bloggers all noticed at once
that this was happening (possibly because they had started actually using
Android?) and it was portrayed as sudden U-turn by Google. A weapon in their
"war" against Samsung (don't get me started on that one).

~~~
ntoshev
Who cares about the tech bloggers? Android customers don't care about
fragmentation. They care about having working apps. Developers care about
fragmentation, and this approach (unlike updating Youtube in this way) helps
with their problem, regardless of what bloggers say and who is in a "war" with
whom.

~~~
ZeroGravitas
They've always had working apps. My whole point is that nothing in reality has
changed. That's why I'm focussing on what bloggers say, because that's the
only thing that is different.

------
antrix
The headline made me think Android 4.3's fstrim feature (defragging flash
storage) is delivered via Play too!

~~~
blinkingled
That only really benefited the Nexus Devices. Far as I know no other popular
device has had issues due to lack of fstrim. And all recent Nexus devices
already got the 4.3 update.

But since Play Services has system level access I am wondering if they
could've technically been able to stuff the fstrim daemon along with the app
updates. All it does is wakes up on idle and issues trim ioctls - Linux kernel
proper has had TRIM support for a while.

~~~
ZeroGravitas
You can get an app that does it already, but it requires root:

[https://play.google.com/store/apps/details?id=com.grilledmon...](https://play.google.com/store/apps/details?id=com.grilledmonkey.lagfix&hl=fr)

And I think this affected more than Nexus devices, HTC One gets mentioned in
the app description.

------
aboodman
Alas, the system UI (button bar, switching, etc) are not included in the
updateable components :(.

------
gummydude
Some services are totally unreliable, for example the Geocoder service.

------
zerolinesofcode
This sounds like Microsoft .net Framework all over again.

------
engrenage
Notably, Play services is totally closed. So Google has abandoned the open
source part of Android and is now developing the operating system as a
completely closed product.

Edit: downvotes don't change the truth of the observation. Android is no
longer meaningfully open, other than a years old core of basic functions. Just
like OSX and Darwin.

~~~
turing
_downvotes don 't change the truth of the observation. Android is no longer
meaningfully open, other than a years old core of basic functions._

The problem is that your observation _isn 't_ true. Here are some of the
under-the-hood changes in just the most recent releases of Android:

    
    
      -OpenGL ES 3.0
      -Bluetooth low energy/Bluetooth AVRCP
      -restricted profiles
      -VP8 encoder
      -new DRM framework
      -SELinux
      -various other optimizations and APIs
    

Yes Google is moving some functionality to Play services. Yes it is worth
discussing how this may impact the future of Android as an open platform. No,
that does not mean that Android is no longer "meaningfully open", especially
not in the matter-of-fact way you are presenting it.

~~~
fleitz
Like most things open source is a continuum of subtle differences rather than
a category.

In my opinion the following software is much more open than Android:

Linux, Apache, FreeBSD, OpenBSD, GCC, clang, and generally most open source
products developed by the community.

In my opinion the following software is less open than Android: C#, OSX, iOS,
and generally most software developed by major corporations.

The real keys are that your Android device is locked down, fixing it voids
your warranty, and development does not take place in the open, rather every
few months a major patch is released and there is no way for the community to
contribute to the project in any meaningful way.

~~~
andrewfong
> The real keys are that your Android device is locked down, fixing it voids
> your warranty

As it should. There's nothing in open source that requires a warranty. Here's
a snippet from the MIT license, generally considered open:

"THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT."

And from the GPL, also open:

"THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
LAW."

When manufacturers go out of their way to lock down a device, I agree that's a
jerk move. But I also don't think it's reasonable to expect them to agree to
replace your device if it bricks after you've hacked the firmware. Obviously,
the device may be bricked for reasons entirely unrelated to whatever you've
hacked, but I don't begrudge manufacturers for drawing a line in the sand and
not wanting to expend resources beyond it.

~~~
fleitz
Perhaps you shouldn't have to modify a firmware to install your own OS on an
'open' platform.

IBM somehow figured out how to do it on an IBM 5150 back in the early 80s and
my Raspberry Pi supports it on ARM systems.

I'm happy to use my iPhone which doesn't allow firmware mods under warranty,
however, I've never heard Apple talk about the iPhone being an open platform.
Google's stance on the openness of Android strikes me as disingenuous.

~~~
ZeroGravitas
Apple talking point # 3124: we never claimed our platform was open so we can
be more hardline than RMS when critiquing Android.

Yeah, that one never gets boring.

~~~
fleitz
Apple requested Google call it GNU/Android? Must have missed that one.

~~~
simias
What are you talking about? The android userland is not provided by GNU (and
is not even GPL to begin with).

