Hacker News new | ask | show | jobs
by Mindless2112 2641 days ago
I don't really mind that some behaviors are being restricted. (Although I think removing the ability for apps to toggle WiFi is nonsense.)

The problem is that Google wants to break API compatibility without actually calling it what it is. Your app, which worked for years, is now broken and as far as the user is concerned it's your fault. I've been tempted to set the "max API level" property on my apps so that I don't have to deal with this anymore. (Oh, wait, Google changed Android to no longer enforce that property.)

If Google wants to make breaking changes to the API then give developers a reasonable deprecation timeline and don't let users install apps that target old API levels.

2 comments

>reasonable deprecation timeline

Each new Android version starts with a beta which previews and advertises the behavior changes, how is that not a reasonable deprecation timeline ? (real question, not trying to be cute)

> don't let users install apps that target old API levels

Google has been less active on that front that I would like but the play store is starting to at least enforce that new apps and update must target a recent API level.

> Each new Android version starts with a beta which previews and advertises the behavior changes, how is that not a reasonable deprecation timeline ? (real question, not trying to be cute)

Testing against betas can cause regressions for non-API reasons. That's why I'm reluctant to test against them, preferring to wait for final releases.

For apps that need maximum stability with minimal effort deprecation policies have to preserve BC at least for one release cycle.

>Testing against betas can cause regressions for non-API reasons .

if the regression is not listed on the behavior change list, create a ticket on the beta bug tracker to determine if it is intended or a beta bug.

What in this is not ok ? That's what I have been doing in the past cycles and have had no issues. I can't speak for all the usecases, but that's a reasonable process.

You've got between the beta release and when Play will mandate that you target the new sdk. That's like three years.
Many new restrictions apply to apps regardless of the target API level, so all you actually get is from beta 1 to final release, and that's assuming all the restrictions are already enforced in beta 1.