Edit: Warning - lots of downvotes in this thread, seemingly for any Google critical comments.
Edit: Warning - lots of downvotes in this thread, seemingly for any Google critical comments.
> This API is not the recommended method for accessing Android location.
> The Google Location Services API [...] is the preferred way to add location-awareness to your app.
http://developer.android.com/reference/android/location/pack...
It seems like Google is intentionally encouraging developers to switch to their closed APIs. Most developers will probably follow what the red warning message says instead of spending more time building another solution.
Google wants to keep control of all Android clone OSs, so they add convenience features to their closed-source libraries, encourage developers to use them, and force phone manufacturers to bundle them with their OS.
Bundling an alternative implementation of the API is probably a bad idea because of copyright.
They introduced a mapping API for Google Maps in Play Services because Play Services contains all client libraries for Google's services. The Google Services APIs are a container for all libraries to consume Google's cloud services.
This is not symptomatic of Google's evilness.
That'd be a fun case; you could just use their own arguments in Oracle v. Google against them.
You can see the internal Google emails here where they note SkyHook was more accurate than their implementation http://www.businessinsider.com/google-skyhook-emails-2011-5?...
And they force Motorola to stop shipping devices unless Motorola agrees to not use SkyHook.
The trial stated that this was not the case
I think this is an exaggeration. Some developers make too many assumptions, sure, but I don't think you'll find many high-profile non-Google apps that don't run on a Kindle Fire tablet for this reason.
EDIT: People seem to think that Google Services contain the bread and butter of the Android OS, but if you look at what APIs are actually provided by them [1], it doesn't contain anything that is not a client of Google's cloud services.
I don't know if it's improved any since I gave up on low profile apps when using my Kindle.
1) How many apps will flat out refuse to run if Google Services are not present, as opposed to have reduced functionality? Having a dependency on Google's Services library only means that the app will use it if it is available, not that the app will fail if it's not.
2) How many apps use more than the Location / Maps / In-app Purchases API, which are implemented in a compatible way by all of the other parties I mentioned?
What about the Chromecast and Android Wear APIs?
I know that Chromecast OS and Android Wear they are both (sadly) based on closed operating systems and somewhat rely on Google APIs, but that shouldn't be an excuse to prevent people that don't want Google Services on their phone from using smartwatches over bluetooth or mirroring the screen to their TV in their own local network.
The Chromecast does not operate over a local connection. It is actually operated 'through the cloud' - if you are controlling your Chromecast, you're sending operations to your Google account over the internet, which are then relayed to your Chromecast which is also tied to your Google account. Note that Google supports a non-cloud dependent sort-of-alternative for Chromecasting called Miracast in AOSP.
Android Wear is heavily dependent on Google Now, Google Search's voice recognition techniques. An Android Wear device cannot do anything without access to Google's services - it is far more than 'somewhat dependent'.
So yeah, both are in Google Services because they actually fully depend on Google's services.
Android Wear would be just be as heavily "reliant" on Google Now as Android is. Google just decided to give it a proprietary version of Android that is heavily integrated with Google Now. Android Wear could do quite a lot without access to Google Services. It is actually pretty pleasant to use without talking to your watch.
It seems like we both have different points of view on this, but in my opinion Google has acted in a way that favours their interests over their customers' freedom.
Chromecast does have a new guest mode that allows guests to control Chromecast without connecting to Wifi network. Those commands presumably are relayed through Google servers. But it isn't turned on by default.
Chromecast does need to be connected to the Internet to download the receiver app that runs on the Chromecast. If the Chromecast could cache the app, or get it from the controlling app, it could run completely disconnected from the Internet.
Perhaps the downvoting is not from Google supporters but fro now accurate information