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

Don't forget that the proprietary Google Play Services are required by more and more apps and that Google is doing everything it can to push these services to the largest number of devices by weaving some sort of web of interdependency.



I agree it isn't perfect, but services that phone home to google servers can't realistically be open source. Google is pushing them insofar as it is trying to make them better.

I think it's still a far cry from the state of affairs on iOS or MacOS, and the fact that you can fork it if you are willing to replicate those apis is still reassuring.


> I agree it isn't perfect, but services that phone home to google servers can't realistically be open source.

Yes, they can. Google makes a conscious choice not to make them open source. There's no fundamental law or anything saying that they can't.

I think the better question is: Why do those services need to phone home? There are plenty of apps that should work just fine without doing that, but don't.


Why does location services need to phone home? Or the App Store? Or push notifications? I think most of these are obvious. I am not aware of any non-obvious ones, but if so they are more likely for crash reporting or usage metrics than for advertising.


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.

https://play.google.com/store/apps/details?id=com.google.and...

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




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

Search: