News for hackers. Stuff that matters.
Re:On Apple's Piss-Poor Documentation by pornel on Tuesday November 10, 2020 @11:50AM (#25048015)
Yes! Apple used to have Technical Notes that were a deep dive into how the OS is implemented. They were super helpful in troubleshooting and optimizing for Mac OS. They haven't published anything like this in over a decade.

I suspect someone took "hiding implementation details" too seriously, and now Apple never talks about how anything works (it's all magic). You only get function's signature, and "documentation" that is basically just the function name with added spaces between words.

Re:On Apple's Piss-Poor Documentation by _qulr on Tuesday November 10, 2020 @12:03PM (#25048165)
The other day someone referenced this post by an Apple engineer:

https://developer.apple.com/forums/thread/663858

Why in the world is this a random undiscoverable post in the (terribly designed) developer discussion forums rather than a Technical Note in the documentation? It would have been a TN in the past. In fact that same engineer wrote a number of old Apple TNs.

It's clear even to some within Apple that there's a need for more and better documentation, but some pointy haired boss in upper management seems to think the current situation is fine.

Re:On Apple's Piss-Poor Documentation by thombles on Tuesday November 10, 2020 @05:00PM (#25052595)
I would struggle to get many things done if not for that one particular Apple engineer and their forum posts.
Re:On Apple's Piss-Poor Documentation by saagarjha on Tuesday November 10, 2020 @08:32PM (#25054569)
We all would. Eskimo is a treasure and I have no idea how he does what he does.
Re:On Apple's Piss-Poor Documentation by hutzlibu on Tuesday November 10, 2020 @02:10PM (#25050102)
Current situation is, money is coming in. Stock market still loves apple. So for them it seems fine.
Re:On Apple's Piss-Poor Documentation by Polylactic_acid on Wednesday November 11, 2020 @12:03AM (#25055643)
Basically. What are you going to do? Not release your app on apple devices? No, you will do whatever it takes to work it out yourself.
Re:On Apple's Piss-Poor Documentation by lmm on Wednesday November 11, 2020 @03:50AM (#25056687)
It might even be in their interests to drive away all but the most dedicated developers. After all, they have more apps than they'll ever need, the problem is always quality.
Re:On Apple's Piss-Poor Documentation by _qulr on Wednesday November 11, 2020 @09:34AM (#25058708)
> the problem is always quality

But writing quality apps requires quality API documentation. I don't know how developers fumbling around in the dark can result in quality apps.

Being "dedicated" to Apple platforms is not the same as being dedicated to quality.

Re:On Apple's Piss-Poor Documentation by coldcode on Tuesday November 10, 2020 @12:06PM (#25048202)
When I worked at Apple in the mid 90's, DTS had to hire someone to go around to every engineering team to collect what they had change so we could write a tech overview of an OS release, otherwise no one would have known what changed. But then was when Apple was going out of business.
Re:On Apple's Piss-Poor Documentation by egsmi on Tuesday November 10, 2020 @12:03PM (#25048158)
There are good reasons to hide the implementation details in documentation. The primary being it’s easier to keep the documentation up to date, our primary topic here. Many languages even publish class interfaces but not necessarily implementation details.

That said, a couple of example code snippets on using the interface wouldn’t hurt.

Re:On Apple's Piss-Poor Documentation by justinclift on Tuesday November 10, 2020 @12:40PM (#25048631)
> The primary being it’s easier to keep the documentation up to date ...

That's NOT a "good" reason in any sense.

That's a terrible reason, which no-one in a team leader or above position should ever sign off on.

Re:On Apple's Piss-Poor Documentation by egsmi on Tuesday November 10, 2020 @01:45PM (#25049498)
We're going to have to agree to disagree on this one. But let me give you all an example.

Wolfram Documentation on Mathematica is excellent in my humble opinion. Here is a function I use very often, convolve.

https://reference.wolfram.com/language/ref/Convolve.html

Notice how the interface is very well described, there are examples on how to use it, but there are no implementation details.

Re:On Apple's Piss-Poor Documentation by justinclift on Saturday November 14, 2020 @09:07AM (#25092358)
Your reference example includes lots of details, examples of usage including source, explanation of options, etc. :)

That's not an "easier to keep documentation up to date" type of thing ;), but is definitely an example of good documentation.

Unlike the Apple approach mentioned above. :( :( :(

Re:On Apple's Piss-Poor Documentation by ironmagma on Tuesday November 10, 2020 @04:18PM (#25052070)
Following that reason, the easiest way to keep the documentation up to date is to not have documentation.
Re:On Apple's Piss-Poor Documentation by egsmi on Tuesday November 10, 2020 @04:26PM (#25052191)
It’s always the null cases that get you... I suppose if “up to date” was the only requirement I would agree. But in reality there are many competing requirements which is why there are many degrees of documentation. Obviously internal and external documentation will be different too.
Re:On Apple's Piss-Poor Documentation by jonhendry18 on Tuesday November 10, 2020 @05:15PM (#25052769)
The reason to keep implementation details out of the docs is that people will rely on those implementation details, and then when their app breaks, they won't even think of looking at the documentation for updated implementation details. After all they probably have the old version all but memorized, and the app may break in a way that isn't obviously related to the implementation that changed.