Hacker News new | ask | show | jobs
by newtritious 1357 days ago
Other platforms don’t care if applications fingerprint the device without the user’s consent.

Closing off APIs that facilitate fingerprinting is just one of many incompatible changes Apple has been making.

Some other reasons are deprecating power hungry technologies and asking for more permissions to access private data.

These are changes that benefit users on a massive scale. Why shouldn’t a developer be expected to respect users needs?

4 comments

There are ways to still maintain API compatibility in that case (Windows does it all the time), and it’s also not a reason to require projects not affected by those changes to recompile with the newest Xcode version each year. I’m maintaining a Swift library/framework that doesn’t use any iOS APIs at all, only basic Swift standard library calls, and I still have to produce a new build each year from unchanged source code so that the library can be consumed with the new Xcode version. That’s just insane.
Why is it insane? Do you not test your library with new versions of the OS?

Also - “windows does it” is obviously irrelevant when we are talking about a mobile OS.

Testing with a new OS version shouldn’t (and usually doesn’t) require rebuilding the project. The need to rebuild is imposed primarily by the Xcode releases here, not by the OS. And that seems entirely unnecessary. Note that breaking compatibility and having to rebuild for new Xcode versions are two independent and orthogonal issues here.

I won't continue this discussion about maintaining compatibility. This is fundamentally a philosophical issue. I agree with the sibling comment that it is the job of an OS to provide stable APIs across versions. It requires some effort (as a long-term library maintainer, I'm very well aware of this), but it is not an impossibility at all.

The sibling and you are entitled to this preference, but I don’t see anything philosophical about it.

The job of the computer is to serve the end user. The job of the OS is to manage the computer’s resources on the users behalf.

API stability can contribute to that goal, but this is not an absolute.

Apple balances their view of what is good for users over what is good for developers and themselves.

Your preference is to prioritize developer comfort over both end users and Apple.

Being able to continue using an older not actively maintained app they still want to use is pretty good for the end user...
Maybe a tiny minority of end users, where the breaking changes benefit everyone else.
The whole point of an OS is to provide a stable API to use.
This has never been true. The point of an OS is to manage the resources of the computer on behalf of the user.

API stability sometimes serves the end user, and sometimes does not. When it does not, it should not be maintained.

Being able to use the app you want to use serves the end user pretty well.
Yes, that’s the point here. A few end users can use an app the developer has abandoned, at the expense of the millions.
If I'm aware of an issue (be it tracking, or power consumption, or ...) with the older version of the app and want to run it despite that, that should be my prerogative as a user.
It’s clearly delusional to expect iOS users to keep track of the deficiencies of all the old APIs their apps are using.
> Other platforms don’t care if applications fingerprint the device without the user’s consent.

Isn't this supposed to be why the App Store has a manual approval process? So Apple can actually check if developers are doing malicious things?

By all means, apply extra scrutiny if an old API is in use. Maybe allow the API only in updates to old apps, and not new ones.

No. The manual approval process covers the visible features, not shady stuff the reviewers can’t see.

> By all means, apply extra scrutiny if an old API is in use. Maybe allow the API only in updates to old apps, and not new ones.

If the developer is updating the app, there is no reason they shouldn’t adopt a more user friendly api.

Why not ask for those things specifically rather than saying "old is bad?"
In practice, it amounts to the same thing. To make use of the APIs with the enhanced privacy etc., you have to use the latest SDKs.
Keeping apps up to date with modern privacy concerns is a good thing. Why is anyone arguing in favor of developers abandoning apps?