Microsoft stoped doing this 20 years ago
It was a big deal then. Special APIs that could only be used by MS Office to entrench a monopoly. I think the courts thumped them by vague memory, or were going to.
Yet Apple is now as dominant as MS was and seems to be able to get away with anything.
Re: Microsoft stoped doing this 20 years ago
MS had "undocumented" (and "barely documented") APIs - but at least when you found them and understood how to use them it didn't block your applications (some made money from "Undocumented xxxx" books - no Internet to look for those APIs easily)
It was still a way to get an unfair advantage over competitors (because having an early access to new APIs was not enough).
EU antitrust ruling forced it to open and document a lot of APIs and protocol specifications to third parties, but there could still be some undocumented ones lurking around...
Re: Microsoft stopped doing this 20 years ago
Undocumented DOS - my bible when I was developing DOS software. It was amazing what you could do.
Does anyone have a list (or know where to find a list) of the APIs we're now allowed to use?
Re: Which APIs
I was thinking along similar lines. Without a list of "don't go here", how is one supposed to know if you are doing something not allowed by Apple? Doing something new, unique or just different is primary part of making your work stand out from the crowd
Will I finally be allowed to use an iPhone to survey my local WiFi environment for congested channels?
Ha ha ha
Don't be silly. Of course not. I'd also like to have an API to look at what networks are out there and their strengths. No such luck.
Undocumented features have always been in software products. Developers think ahead and thus put in what we call 'hooks' for future requirements. These are then tested over a few releases. They might be changed, or even dropped.
If they were released to developers early without testing, then removed, developers would have to spend a lot of money updating - there would be screaming all round.
But this also works the other way. There might be feature which they want to deimplement. In this case, APIs go through a 'deprecated' phase. This allows developers to remove dependence on APIs that will disappear in the future.
So you don't want APIs appearing and disappearing quickly - you want to have a deal of stability. The only reason to have less stability is to have progress.
This is all nothing new. It is good software development practices actually being practiced. There is nothing devious about this - there will always be APIs that are for low-level OS use only. Anything else that attempts to use these APIs is probably a hacking attempt. Security is the most important consideration in 2017.