Live data from Hacker News

Apple Developer Documentation Is Missing

v4.chriskrycho.com

61–70 of 400 posts

Re: Apple Developer Documentation Is Missing

#61
I actually agree whole heartedly with the intentions behind this article. I find Apples documentation to be incomplete and not nearly as detailed as I think it should be.

I think that personally it’s not all that well organized either.

My minimum standard for good documentation has and always been Python’s[0]. While no documentation is perfect, I think they mostly get it right by providing good explanations and examples consistently throughout the documentation. I also like how it’s spilt up between modules and the code examples are routinely updated. I have found very little issue with Python’s docs. While it could definitely use more examples and and deeper content around asyncio in some parts (mostly around transports and protocols) on the whole its very good, to me it’s what all organizations should strive for at a minimum. I also want to call put Mozilla’s Developer Network (MDN)[1] as stellar, I reference and use it all the time and have genuinely been happy with it.

To be fair in assessments, I’ve also found links in Microsoft’s documentation that often link to things they have already marked as outdated or not going to be updated, or just don’t work like the GitHub links on this page:

https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-...

So I think a lot of documentation around the big platforms especially have a lot of work to do. This isn’t to say documentation is easy though. I sincerely hope that all this noise just means it becomes more of a priority. I know from experience that writing good documentation is hard and I don’t want this to come across like I’m faulting anyone in particular or organization in particular. I imagine with large and ever changing platforms it’s quite the challenge. I just wanted to point to some examples I believe get it right most of the time.

[0]https://docs.python.org/3/

[1]https://developer.mozilla.org/en-US/

Re: Apple Developer Documentation Is Missing

#62

Earlier quoted context omitted.

The only two examples he gives for this "a lot" is a completely new framework that was released about a month ago, and a tool that is, honestly, still in development and not part of normal development workflows for Apple platforms.

Two notes: 1. SPM has been out (and officially supported as part of the Swift Project) since Swift 3 came out. You can defend it as being "not part of normal development workflows for Apple platforms" if you like, but it has been officially supported for years . People would rightly call this out in any other language; it's fair to call it out here. 2. My very strongly held opinion, as I noted at the end of the artic…

It is part of the Swift project, but it is not really part of the Apple development ecosystem. It might at some point be, but it is not now, and it is a small side project. And it is not, in general, used when developing for the ecosystem.

And you may feel that way about docs, but it is not reasonable to find one single rushed release, and use that as an argument against the entire ecosystem. That is not a reasonable argument.

Re: Apple Developer Documentation Is Missing

#63
post #14

Earlier quoted context omitted.

The main point here is that a lot of documentation is straight up missing . Some of the code samples/sample projects also regularly break. I wonder if Apple has any automation around that.

The only two examples he gives for this "a lot" is a completely new framework that was released about a month ago, and a tool that is, honestly, still in development and not part of normal development workflows for Apple platforms.

Official documentation may be more important for a framework that is new, especially if it's one that developers are being required or encouraged to switch to.

Re: Apple Developer Documentation Is Missing

#64
post #51

Earlier quoted context omitted.

Look, this is just going to fall on deaf ears. Apple isn't listening. Their machine is output only. That's not really true. Apple is active on Twitter and actively reaches out to correct problems. For example, when I complained that their Xcode beta hangs when you open a large file, an Xcode dev reached out to me and asked for a repro case. https://twitter.com/theshawwn/status/1175197286349119490 (I'm not an Apple fa…

Taking bug reports on Twitter is nice, but not comparable to improving documentation. One is a developer reaching out (costs: developer time, management involvement: granting permission). The other is a change in project plans, staffing, workflow and timelines (costs: large, management involvement: massive).

>> One is a developer reaching out (costs: developer time, management involvement: granting permission). The other is a change in project plans, staffing, workflow and timelines (costs: large, management involvement: massive).

I think it's a pretty safe bet to expect, for this reason alone, that the documentation quality of things like SwiftUI will improve over time. It seems pretty obvious they directed all their efforts to releasing SwiftUI within their iOS 13 release window, which likely meant the API only 'stabilized' very late in the process and it would be impossible to spend time and resources documenting it, at least not without postponing the release (not an option).

Generally speaking, in my experience all of the 'established' Apple API's have pretty good documentation. SwiftUI seems rushed, and it would probably been better if they waited until iOS 14 and release it along with documentation. I'm not definding Apple here, but I think the article is overstating how bad their documentation is based on one brand-new API that probably wasn't fully cooked for release to begin with.

Re: Apple Developer Documentation Is Missing

#65

I haven't done a lot of work in Apple ecosystems, but what I have seen from their docs are admittedly pretty bad. Recently out of curiosity, I tried to figure out how macOS drivers are written and left more confused than I was before. Microsoft iirc, used to have their docs terribly organized (it was difficult for me to find what I wanted without a Google search) but they seem to have improved that nowadays

Driver development docs on macOS largely haven't been updated in 10+ years. I started doing macOS kernel stuff when Snow Leopard was the latest release, and the only documentation I can think of since then has been sample code for Audio Server Plugins (for writing new-style audio drivers) and headerdocs explaining the transition from IOUSB* to IOUSBHost* APIs. Any additional information has been buried in a bunch of WWDC session videos, or you have to extract it from Apple by filing DTS incidents.

On the other hand, Apple have decided a bunch of documentation was out of date, so they've simply made it harder to access by burying it in archive sections or taking it offline altogether, without providing replacements. Getting into driver development now is almost certainly a lot trickier than it was back then.

Re: Apple Developer Documentation Is Missing

#66

My issue with this is that the developer is comparing his experience with Apple's documentation over a few months, with his anecdotal experience over 4 years. Part of gaining experience with a platform is the ability to source answers to technical questions effectively, including how to use official documentation effectively.

I'm extremely comfortable reading documentation for a very wide variety of platforms, languages, etc. (The first software I ever wrote was Fortran via `gfortran`. Trial by fire!) It's not just me. This is just straight-up absent: https://nooverviewavailable.com/swiftui/

As I noted in the post, I'm getting by anyway… but it's more work than it needs to be, and more work/worse state of docs than other ecosystems I've learned in similar amounts of time.

Re: Apple Developer Documentation Is Missing

#67
The Swift language has excellent documentation.

For SwiftUI, the WWDC presentations are essential, IMO, for the high-level stuff. There is basic reference documentation, but there's no way to put it all together without a high-level understanding. It follows the patterns of some other frameworks so depending on your experience you may be able to get by without the WWDC presentations, but I'd still watch them or at least read the transcripts.

I think Swift Package Manager is meant as a community tool, and the love and care it needs to become excellent is not going to be coming from Apple, not without some kind of strategic change. Either the community will value it and figure out how to move it forward or it's not going to get much better. I could be wrong -- I'm trying to judge it's on-going strategic importance to Apple -- but I think the way it's going to improve is through community involvement.

Anyway, I'm not sure what the point of this kind of rant is. Whining about Apple is an easy way to get useless internet karma points, but it's such a bad look for a developer. At least half the job is being the one who finally deals with things someone else probably should have already dealt with but didn't.

Re: Apple Developer Documentation Is Missing

#68

I actually agree whole heartedly with the intentions behind this article. I find Apples documentation to be incomplete and not nearly as detailed as I think it should be. I think that personally it’s not all that well organized either. My minimum standard for good documentation has and always been Python’s[0]. While no documentation is perfect, I think they mostly get it right by providing good explanations and examp…

php, whether you like the language, or abhor it, has always had some of the most useful documentation, I've found.

Re: Apple Developer Documentation Is Missing

#69
It's always been bad, too! Back in the OS9 days, the Apple documentation was "cumulative". You had to know every trick, every hidden bit and flag, back to day 1 in order to write a program.

It's no better today. People who live isolated in the Mac universe have no idea how good Microsoft Visual Studio tools are, and how complete and thorough the documentation is, and how consistent the API is. You don't have to wade through a 30 years of legacy APIs to get anything done.

Re: Apple Developer Documentation Is Missing

#70
Some time ago, I was contacted by Apple to apply for a job. My code is insanely well-documented. I like to think that a lot of the inspiration for my code docs comes from Apple's open codebases. Their code is exceptionally well-documented.

In any case, as is usual with all employers, these days, they completely ignored the focused, relevant links that I sent them to elements of my extensive portfolio of repos, and, instead, based the entire interview on a 50-line binary tree test in Swift.

I'll make it clear that I'm NOT a fan of these. I am mediocre, at best, at them, as I don't come from a traditional CS background (I started as an EE).

In any case, during the test, I did what I always do when I write code. I stopped to write a header document for the function.

This was clearly not something the tester liked. Also, to add insult to injury, they dinged me for not writing a cascaded nil-coalescing operator. The code they wanted me to write was difficult to understand, and absolutely not one bit faster.

What makes this even funnier, was that this was for an Objective-C job, and the links that I sent them (that they ignored), were to ObjC repos.

After that, I just gave up on them. It kind of shows where a lot of this is coming from.

Dynamically-generated documentation can be great (It's clear that the lions' share of Apple's developer documentation is dynamically-generated), but it requires a VERY disciplined coding approach. I suspect that they may be hiring less-disciplined engineers, these days.

Post reply on HN