Hacker News new | past | comments | ask | show | jobs | submit login

Obviously some of them need to phone home, I'm talking about the ones that don't need to. And, just because it can't phone home doesn't mean it should stop working altogether.

Yes, and you have to swallow the whole blob as soon as you need any single one of the services. Just want "cloud" messaging for your app? Force anyone who uses your app to install the whole blob. Want just assisted GPS? Too bad, you still force anyone who uses your app to install the whole blob.

If Google had made the services modular, it would probably be easier to replace them with homegrown ones, but they made it a blob because that gives them more power. There are efforts to replace this blob with other manufacturers' blobs (like the one Yandex is working on, or microG) but it looks like this is not easy and it's not going quickly.

We also probably get a typical reverse-engineering situation where Google's services will always be several steps ahead of anything anyone else can offer as a drop-in replacement, so the alternative looks less and less enticing to the average consumer and they'll probably go with the blob :(

   but they made it a blob because that gives them more power
They made it a blob because they need the data to generate revenue. Googles services are free, if you let them have your data. I'm 100% certain that a paid alternative would not survive because people does not want to pay a reasonable fee for the services, when they can have it for free if they let Google save some, to the User, harmless data - they even get personalized content in return.

you can include just one component of the entire Play Service library (e.g. cloud messaging) in an Android Studio project with a line like this in build.gradle:

  compile 'com.google.android.gms:play-services-gcm:10.0.1'
but, i get the impression that's not quite what you mean when you say "install the whole blob."

i guess you're talking about the Google Play Services library, which is updated independently of my app. or something like that.


not quite sure. trying to clarify this for my own understanding.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact