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

I 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.

This 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.

That 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.

>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.

Isn'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.

That ruling was overturned on appeal a whole back.

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