3 ms·
Google is frequently pushing new Google Play Services that developers can use for their apps. Those services have the massive advantage over AOSP APIs of having
by ricardolopes 12y ago
Google is frequently pushing new Google Play Services that developers can use for their apps. Those services have the massive advantage over AOSP APIs of having OTA updates for all, not having to rely on carriers and manufacturers for full OS upgrades. In addition, those services offer new and useful functionality that is not always present in AOSP. Therefore, it is only natural that, on a general basis, developers start using more and more of Google's proprietary APIs.
This is not to say that pure AOSP is broken, or that it is impossible to have products like Kindle Fire and Nokia X. But it is a growing problem, and the fact that Amazon has to spend so much time replicating Play Services' APIs to have a decent app store (that is still considerable smaller than Google Play Store) is concerning.
- DCKing 12y agoThat is true. Although AOSP in itself is a complete operating system, most apps require the need for the "extras" that are provided by some cloud service. Although you can manage without, apps assume an "ecosystem" with additional cloud services rather than an OS to be present. It would be wrong to have AOSP depend on Google cloud APIs, and seperating those cloud APIs in Google Play Services also has problems. There's really no winning here for an open platform.
- jayd16 12y agoI think a good solution would be to abstract the Google Play Services behind some 'cloud-api service' that others, such as Amazon, could re-implement and drop in. The Google play store would be the canonical implementation. Google controls the API but Amazon is free to expand the functionality on their devices. This way, the developer can simply call Context.getSystemService(CLOUD_SERVICE) and have access to whatever cloud service the user as installed. Every other part of android, from keyboards to cameras, works this way and these services could as well.
- DCKing 12y agoThat would be difficult, I think. "Cloud service" does not really define any capabilities present or absent in the library. Even if you split it up in things like "mapping service" and "cast service" then a lot of details will differ between otherwise equivalent providers. It's not something you can easily generalize. And if you generalize it, you're stuck with this generic API until your phone gets updated. This project and some of Amazon's libraries basically take a subset of Google's Play Services API as canonical and reimplement those. That's not an ideal solution either, but at least it provides minimal pain for app developers.
- jayd16 12y ago>And if you generalize it, you're stuck with this generic API until your phone gets updated. The cloud service version and the client library code would not be coupled to OS version and updated with APKs just like how Google Play Services does. Its not any harder than exactly what Google is currently doing with play services. I'm not proposing anything that isn't already being done besides some standardized calls and some extra service discovery.
- x3c 12y agoIsn't it a copyright violation to copy API signatures? It'd be interesting turn of events if Google who lost the case of copying API signatures ends up enforcing the same violations if a strong contender pops up.
- vomitcuddle 12y agohttp://www.tgdaily.com/business-and-law-features/63756-apis-cant-be-copyrighted-says-judge-in-oracle-case http://www.tgdaily.com/business-and-law-features/63756-apis-...
- comex 12y agoThat ruling was overturned on appeal a whole back.
- ricardolopes 12y agoThis would, IMO, be the best approach. We already have players (Amazon, Nokia, etc) that would certainly be interested in having such a layer that they could apply on top of their services. Then, having an open source community contributing with open implementations could help filling the gaps to make life easier to those players (and probably lowering the bar to allow new ones to join) and, who knows, to make it possible to have an AOSP device fully compatible with Play Services APIs without the need for gapps, probably just using some private server or other custom solution. Maybe I'm misunderstanding something somewhere, but that seems to be the goal of this project. If it is, then I really hope for its success.