+0.40 On Apple's Piss-Poor Documentation (www.caseyliss.com S:+0.13 )
1180 points by ingve 1938 days ago | 335 comments on HN | Mild positive Editorial · v3.7 · 2026-02-28 08:14:50 0
Summary Education Access & Working Conditions Advocates
This technical opinion piece advocates for improved software documentation from Apple, framing inadequate learning resources and tools as a workers' issue affecting developers' ability to perform their jobs effectively. The article engages implicitly with fair working conditions and education access rights by emphasizing developers' need for adequate professional resources, educational materials, and workplace support.
Article Heatmap
Preamble: ND — Preamble Preamble: No Data — Preamble P Article 1: ND — Freedom, Equality, Brotherhood Article 1: No Data — Freedom, Equality, Brotherhood 1 Article 2: ND — Non-Discrimination Article 2: No Data — Non-Discrimination 2 Article 3: ND — Life, Liberty, Security Article 3: No Data — Life, Liberty, Security 3 Article 4: ND — No Slavery Article 4: No Data — No Slavery 4 Article 5: ND — No Torture Article 5: No Data — No Torture 5 Article 6: ND — Legal Personhood Article 6: No Data — Legal Personhood 6 Article 7: ND — Equality Before Law Article 7: No Data — Equality Before Law 7 Article 8: ND — Right to Remedy Article 8: No Data — Right to Remedy 8 Article 9: ND — No Arbitrary Detention Article 9: No Data — No Arbitrary Detention 9 Article 10: ND — Fair Hearing Article 10: No Data — Fair Hearing 10 Article 11: ND — Presumption of Innocence Article 11: No Data — Presumption of Innocence 11 Article 12: ND — Privacy Article 12: No Data — Privacy 12 Article 13: ND — Freedom of Movement Article 13: No Data — Freedom of Movement 13 Article 14: ND — Asylum Article 14: No Data — Asylum 14 Article 15: ND — Nationality Article 15: No Data — Nationality 15 Article 16: ND — Marriage & Family Article 16: No Data — Marriage & Family 16 Article 17: ND — Property Article 17: No Data — Property 17 Article 18: ND — Freedom of Thought Article 18: No Data — Freedom of Thought 18 Article 19: +0.34 — Freedom of Expression 19 Article 20: ND — Assembly & Association Article 20: No Data — Assembly & Association 20 Article 21: ND — Political Participation Article 21: No Data — Political Participation 21 Article 22: +0.28 — Social Security 22 Article 23: +0.22 — Work & Equal Pay 23 Article 24: ND — Rest & Leisure Article 24: No Data — Rest & Leisure 24 Article 25: ND — Standard of Living Article 25: No Data — Standard of Living 25 Article 26: +0.32 — Education 26 Article 27: ND — Cultural Participation Article 27: No Data — Cultural Participation 27 Article 28: ND — Social & International Order Article 28: No Data — Social & International Order 28 Article 29: ND — Duties to Community Article 29: No Data — Duties to Community 29 Article 30: ND — No Destruction of Rights Article 30: No Data — No Destruction of Rights 30
Negative Neutral Positive No Data
Aggregates
Editorial Mean +0.40 Structural Mean +0.13
Weighted Mean +0.29 Unweighted Mean +0.29
Max +0.34 Article 19 Min +0.22 Article 23
Signal 4 No Data 27
Volatility 0.05 (Low)
Negative 0 Channels E: 0.6 S: 0.4
SETL +0.33 Editorial-dominant
FW Ratio 60% 12 facts · 8 inferences
Evidence 8% coverage
4M 27 ND
Theme Radar
Foundation Security Legal Privacy & Movement Personal Expression Economic & Social Cultural Order & Duties Foundation: 0.00 (0 articles) Security: 0.00 (0 articles) Legal: 0.00 (0 articles) Privacy & Movement: 0.00 (0 articles) Personal: 0.00 (0 articles) Expression: 0.34 (1 articles) Economic & Social: 0.25 (2 articles) Cultural: 0.32 (1 articles) Order & Duties: 0.00 (0 articles)
HN Discussion 20 top-level · 30 replies
wlesieutre 2020-11-10 15:46 UTC link
I’ve been picking at SwiftUI recently and run into this myself. You want to know how something works or how to use it, so you go to Apple’s documentation. “Here’s the type signature, have fun!”

Thanks. But I was hoping something more than what Xcode’s autocomplete already filled in for me.

So instead you end up on 3rd party tutorials (special thanks to John Sundell and Paul Hudson) and always looking at dates on Medium posts because something from before WWDC 2020 might no longer be useful. Or maybe it is. How do you know if the feature changed significantly in the more recent release? I don’t know, but I can tell you where you won’t find out: the official docs.

jjice 2020-11-10 15:56 UTC link
I had to work on a small MacOS app written in objective C at my last internship. The documentation was horrible. It was basically non-existent. I understand Swift is the primary language now, but wow, there was basically nothing in the online API reference.
psahgal 2020-11-10 15:58 UTC link
Has anyone else noticed that Apple has been slowly moving away from the long-form guides that were helpful at explaining core concepts? I remember once seeing a comprehensive guide on code signing, but over the years it appears to have been scrubbed from their documentation resources. In its place is a much less helpful (but prettier-looking) guide.

In comparison, I've noticed Android has FANTASTIC developer documentation. I've found full guides for everything. Even esoteric classes that are rarely used have at least a little bit of documentation.

blinkingled 2020-11-10 16:01 UTC link
I have been trying to optimize a initContainer written in NodeJS and one of the experiment I am trying out is to rewrite it in .NET Core and Microsoft's documentation has been pretty good - it is clear, well organized, gives you examples for each API and there are how-tos for things that people typically care about - the architecture docs linked from here for e.g. https://docs.microsoft.com/en-us/dotnet/

API docs example -https://docs.microsoft.com/en-us/dotnet/api/system.collectio...

I find the Python docs and tutorials good as well. But that's to be expected for mature language/ecosystem like Python.

Good documentation is a lot of work and skill and it's a thankless job for the most part. So it's really amazing when organizations / OSS communities get it right consistently.

Etheryte 2020-11-10 16:05 UTC link
Having run into something similar just recently [0], having any documentation is still (slightly) better than no documentation at all. As a stark example, macOS has a built-in sandboxing CLI tool called sandbox-exec (originally called Seatbelt), but the man page simply says it's deprecated, as far back as I could find them. Mind you, the same tool is used heavily by macOS internally, and has been around ever since Leopard [1]. Some of the best documentation is by engineers at Google, Mozilla, and others, who have just reverse engineered the thing.

[0] https://www.karltarvas.com/2020/10/25/macos-app-sandboxing-v...

[1] https://www.chromium.org/developers/design-documents/sandbox...

tobr 2020-11-10 16:06 UTC link
I don’t personally have much experience with Apple’s documentation in particular, but as a general topic, increasing the quality of documentation seems to be one of the least complicated ways to improve a platform. For all the complaints people have about how hype-oriented the frontend web world can be at times, it seems clear to me that there’s usually some correlation between hype factor and simple examples/clear documentation, and that this excitement can make people move to a new technology much faster. It’s really hard to understand why Apple wouldn’t spend the necessary resources to bring developers along at a faster pace.
kaycebasques 2020-11-10 16:07 UTC link
I've been a technical writer for ~8 years (3 at a startup, 5 at Gooble). I don't know Apple's situation but here's my guess:

> Is the documentation team too small? (Likely.)

Documentation is weird because there seems to be widespread agreement among developers about how lacking it is (and conversely I think it's safe to say how important it is for job success) yet technical writing is almost always understaffed, no matter what size company you have. Part of it is that it's really hard to show a causal link between the docs we create and developer success. I know it seems silly but that's why I've been advocating for getting those little "was this page helpful?" links at the bottom of pages, followed by an opportunity to provide freeform feedback. If developers started using those consistently and leaving testimony about how the docs helped them it would be a lot easier to prove the value of docs. This is especially true when you operate at a big, platform-level scale, as is the case on https://web.dev (what I work on) and these Apple API docs. Pageviews give us a rough idea of the demand for certain ideas but don't tell us anything about whether our docs are actually useful.

(As an aside, in some situations it's easier to justify the technical writing team's existence; e.g. your technical writer specifically creates docs in response to support requests and the support team is able to just link customers to the docs rather than re-answering the same question over and over; or you have access to "customer's" code and are able to show that they are following the best practices / use cases you mention and avoid anti-patterns you warn about)

I'll leave with a suggestion because I don't have a horse in this race. If this situation is so bad; your best option might be to create a community-managed MDN-style resource for the Apple ecosystem. I would suggest focusing it on 1) API reference documentation and 2) examples (MDN puts the examples within the API reference pages, that would probably work here).

Another route could be more of what these people are already doing: make a lot of noise until Apple realizes how bad the situation is. I imagine if you can prove that you're leaving their platform because the situation is so bad, that might wake them up.

(No disrespect to Apple people; I know how tough this situation is; just trying to provide constructive feedback for the broader community)

musha68k 2020-11-10 16:25 UTC link
I feel as if Apple has let down the software industry by “going with the times” in general.

A “north star” to lots of designers and engineers from interaction design all the way down to the systems level.

Excellent documentation was part of it. Long game. Best practices. The whole “crafting” DNA seems to have been lost somewhere along the journey.

I think it’s also a function of market driven angst and hence not saying “no” often enough anymore.

auggierose 2020-11-10 16:33 UTC link
I literally googled a few hours ago for "Why is Apple documentation so shit?"

I mean, look at SwiftUI. Conceptually it's great, but it is also fucking buggy as hell, and I think one of the main reasons is that the developers themselves don't have good documentation available. The best documentation so far I found is this, but it's third-party: https://www.objc.io/books/thinking-in-swiftui/

forty 2020-11-10 16:37 UTC link
Why would they improve the documentation? It's not like you have a choice anyway, you will have to figure out, since you cannot ask your customers to switch to another mobile platform... They really don't give a shit about developers. I'm a backend developer, their In App Purchase system is the worse API I have been unfortunate to work with (and it's much better than what it used to be)
OliverJones 2020-11-10 16:40 UTC link
Here's a contrarian view of this (deplorable) situation, from someone who developed for Microsoft platforms for years. The low quality of the documentation has two reasons:

* Protectionism: The poor documentation defends expert third party developers against competition from new entrants. It ensures a shortage of competent developers and so enhances the revenue of established experts.

* Low commitment: The publisher (Apple) is unwilling to make the functional commitments implied by good documentation. Once the documentation says "this does that" it's harder to change "this" to do something else.

In the distant past, Apple teamed up with the publisher Addison-Wesley to create and publish high quality documentation. They could certainly do so again, with A-W or O'Reilly or whoever.

But they won't do it as long as they have business reasons not to. They have sufficient control over their marketplace to refuse to do this and get away with it.

dep_b 2020-11-10 16:45 UTC link
Hah the nightmare to get CallKit working. The only thing you could do is take a working example application and step by step wrap your application around it.

Because taking your existing VoIP application and inserting CallKit behavior breaks in so many mysterious and undocumented ways that I really had to tell a client it wasn't going to happen with his existing application within the allocated budget.

Just to get the fancy Apple call screen!

And of course only FaceTime can take video calls straight into video from the lock screen, so you have to explain after it works why nobody can see each other.

umanwizard 2020-11-10 16:52 UTC link
An anecdote I heard from a colleague:

He was trying to find out whether it's safe to call a particular iOS API function off the main thread. Obviously, the docs didn't say. He googled a bit and found a support forum where someone had asked. An Apple engineer responded: "I don't know, but I'm looking at the code, and there sure are a lot of locks!"

gumby 2020-11-10 17:11 UTC link
It's really a shame that a scrappy little company like Apple can't afford the resources to produce documentation, even if not for their own apps at least for the developers who write apps that cause their users to buy the hardware. Maybe when they can get themselves established in the market they'll have enough financial resources to invest in this critical area.

===

I never liked Ballmer, and really never liked the win APIs, but I fell in (technical) love with him after the much derided "developers developers" dance he did. In that regard he clearly understood who buttered his bread.

OTOH Apple treats WWDC as the entirety of their developer outreach, when really it should merely be the cherry on top.

jimmoores 2020-11-10 17:17 UTC link
The only thing that might make Apple improve their documentation is if there was evidence that people started actually abandoning Apple's platforms.

Currently it seems there is a never ending supply of developers ready to gamble years of their careers on Apples Terms & Conditions, and while these same people usually eventually realize that there's ultimately no money to be made, they are replaced with a new generation seeking an AppStore paved with gold. Until that stops, the docs will stay piss-poor.

While I have often used a Mac for development and enjoyed it, I don't often actually develop anything for macOS or iOS because, well, why would I risk my livelihood on Apple's whim? They regularly destroy developer's lives with no thought or consequence.

orangefarm 2020-11-10 17:28 UTC link
I can't get my head around why their documentation is so poor.

They should have all the resources in the world to recruit people that have proven to write good documentation. If open-source projects run by volunteers can have excellent documentation (e.g. Vue), why can't Apple?

Better docs mean a better developer experience which means more people want to (and are able to) develop apps for iOS which increases the value of their platform. It looks like a no-brainer to me to invest some resources into this to improve the current state of affairs.

I must be missing something here...

Zelphyr 2020-11-10 17:36 UTC link
Marco is right about PHP's documentation. I've felt for a long time that the quality documentation PHP provided played a major role in the language's success.
mariodiana 2020-11-10 17:59 UTC link
I swear to the gods of Cupertino I am not trying to start a flame war, but -- Apple fanboy though I am -- I recently started taking a look at Flutter and was absolutely floored by the difference in the state of documentation between the two. Leave aside all talk of the viability of cross-platform development. That's not what I'm talking about. I'm just talking about the developer experience of working with the documentation.

At my work there are two of us programming in Objective-C for our iOS apps. We lament that Apple seems to hate its developers. In my most dejected moments, I think of getting out of mobile development entirely, or diving deep into Flutter and getting a job doing that.

Coko 2020-11-10 22:09 UTC link
In some cases the documentation just plain wrong. Core data can be confusing, but worse with wrong documentation. I've had an open radar about the merge policy documentation for over 3 years and nothing has happened, even after talking to a core data engineer at WWDC in 2018.

These two should be the same, but see the conflicting description: https://developer.apple.com/documentation/coredata/nsmergepo... (in-memory changes trump) https://developer.apple.com/documentation/coredata/nsmergeby... (external changes trump)

Same here: https://developer.apple.com/documentation/coredata/nsmergepo... (external changes trump) https://developer.apple.com/documentation/coredata/nsmergeby... (in-memory changes trump)

wlesieutre 2020-11-10 15:57 UTC link
I will say that the WWDC sessions are well presented, and are a good place to start. But you can't use a video for quick reference, and you might be missing context from knowing how it worked the previous year to understand what the new enhancements are. Expect to dig into 2019 videos too. SwiftUI being new at least has the benefit that its sessions can't be any more outdated than that (yet). At most you're reconciling two years.

The Landmarks tutorial is also very well done as a starting point. But a tutorial isn't a substitute for documentation.

https://developer.apple.com/tutorials/swiftui/

layoutIfNeeded 2020-11-10 16:06 UTC link
This. Their documentation on CoreAnimation concepts was wonderful [1]. It even has these little appendix sections discussing advanced use-cases.

Sadly, they seem to have stopped writing these at around 2015...

[1] https://developer.apple.com/library/archive/documentation/Co...

spiderfarmer 2020-11-10 16:11 UTC link
I am 100% convinced that Stripe's success is at least partly due to their attention to documentation and design. Their documentation and knowledge base should be used in case studies on how to succeed as a saas.
gregmac 2020-11-10 16:14 UTC link
Microsoft has put lots of effort into their docs in the past couple years, and it's pretty great.

Under the "Version" dropdown you can flip to see the same docs in a specific version or platform (Framework vs Core), and this is pretty helpful for porting/upgrading code, as well as coming from a Google search or Stack Overflow link -- you can easily get to the docs for the version you're working with.

The other great thing they've done is published all the .NET code on https://source.dot.net, so you can dive into the code for ConcurrentQueue<T> [1] for example. I sometimes find looking at the source is a faster way to answer a specific question about how something works vs reading through several pages of documentation, where the nuance I care about is noted in a "Remarks" section which is easily missed.

[1] https://source.dot.net/#System.Private.CoreLib/ConcurrentQue...

ChrisMarshallNY 2020-11-10 16:14 UTC link
SwiftUI's docs are a nightmare.

Here's a pretty damn cool app: https://swiftui-lab.com

ChrisMarshallNY 2020-11-10 16:17 UTC link
I once owned every copy, of every generation of "Inside Macintosh."

I agree about the Android docs.

However, in defense of companies that don't like to have too much documentation around, I can tell you, from personal experience, that writing developer docs is hard, as is doing developer support.

Keeping them up to date is also a challenge.

I call it "concrete galoshes": https://littlegreenviper.com/miscellany/concrete-galoshes/

_qulr 2020-11-10 16:21 UTC link
You can find some good Mac/ObjC docs in the archive: https://developer.apple.com/library/archive/navigation/
dotnetkow 2020-11-10 16:29 UTC link
How are the "was this page helpful?" links working out on web.dev? Are you receiving useful feedback?
rocqua 2020-11-10 16:33 UTC link
> I know it seems silly but that's why I've been advocating for getting those little "was this page helpful?" links at the bottom of pages, followed by an opportunity to provide freeform feedback.

Whilst this is great, I think most people perceive documentation differently. Rarely does documentation delight me in the sense that I'd leave feedback. Generally, my interaction with documentation is one of "It works as expected"; "pretty bad but I still managed"; or "bad, didn't help, or didn't exist".

The thing that has the most effect on my is the last one. That is what will get me to drop a system. The first one "it works as expected" comes with a little but of surprise and delight. But, perhaps paradoxically, even though it surprises me, it still only meets my expectation. With a 'was this helpful' prompt, I'd need to click "it was helpful" on every successful search of documentation I ever do. This seems still too unremarkable for me to explicitly mention it was helpful.

Fradow 2020-11-10 16:35 UTC link
Android HAD fantastic documentation, just like Apple had 7/10 years ago. It might not be overly apparent just yet to everyone, but Android documentation is slowly following the same path as Apple documentation, where the experience is slowly degrading, but since it was so good a few years ago, that degradation didn't creep everywhere just yet.

My coworker and me are already starting to feel the pain on various core APIs, the latest being notifications, which according to my coworker had 3 full revision, and finding documentation for the last one is hard. Storage (with Android 11 modifications) is another place where the documentation is starting to get stale. Those are not the only APIs were the documentation was poor.

In my opinion, Android documentation is at the same place iOS documentation was about 5 years ago (before they started removing entire pages from the documentation) : overall very good, but a few places were it's not up-to-par or downright horrible. I don't expect the quality to improve in the future.

pornel 2020-11-10 16:50 UTC link
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.

oh_hello 2020-11-10 16:57 UTC link
Yes, and this is a really shame. Several years ago I was able to become an iOS developer almost completely by reading through Apple's docs and then building a couple of projects on my own. I had a checklist of the programming guides to work my way through from Objective-C, to App Programming, to view controllers, and on. Over the years I found it more and more frustrating to truly understand new frameworks as the documentation changed. iOS development is now a small portion of my job and the lack of good resources is making it hard to stay up to date.
_qulr 2020-11-10 16:58 UTC link
> The poor documentation defends expert third party developers against competition from new entrants. It ensures a shortage of competent developers and so enhances the revenue of established experts.

Why in the world would Apple want to ensure a shortage of competent developers — for apps on Apple's platforms! — or protect third party experts?

fivre 2020-11-10 17:00 UTC link
> technical writing is almost always understaffed > it's really hard to show a causal link between the docs we create and developer success

Amen to that. IMO good documentation is incredibly valuable, but not in a way that aligns with business priorities. At my current job, we hear, repeatedly, that our documentation is poor, and that we need to improve it. Execs echo this sentiment, but the status quo doesn't budge.

Internally, we have about a 10:1 engineer:tech writer ratio (in a small-ish org--I assume the gap is even wider in larger orgs), and the writers are all generalists, covering every product from top to bottom. In practice, this means that engineers are asked to draft the bulk of documentation, and the writers scramble to at least copy-edit it.

Engineer-drafted documentation often isn't great, unfortunately, for several key reasons:

- Writing software is very different from using software. Engineers often don't use their own products, and writing about something you don't actually do is hard.

- It's very easy to omit details that are important for novices when you are an expert. Engineers usually have a great deal of knowledge about their own software in their brain already, because they wrote it, and cannot magically forget everything they know when asked to write documentation for someone who doesn't have that knowledge already.

- Writing effective, clear prose is hard, especially when writing about complex technical subjects for an audience with varying skill levels. Engineers don't spend the bulk of their time writing prose, and it's often not their strongest skill.

Personally, I have a mix of both skillsets because of a weird career path, but while I actually like writing documentation and am arguably better at it than writing software, there's no good reason to pursue that path: I can easily get double the salary in an engineering position as I can in a writing position, despite being a rather mediocre engineer. So I do software engineering :shrug:

tonyjstark 2020-11-10 17:06 UTC link
I wholeheartedly agree. The documentation is sparse and 3rd party tutorials have to be recent. That's why I still hold back for adoption.

Paul Hudson has really good material but I wish I could just leave a tab open with the official documentation and be prepared for most challenges. OTOH, things like Core Audio where never really well documented.

For learning Swift I recommend https://www.swiftforgood.com, no affiliation (also there Paul Hudson wrote the chapter about SwiftUI).

tonyedgecombe 2020-11-10 17:08 UTC link
I had a choice, I decided not to develop any software for the Mac.
creativityEng 2020-11-10 17:13 UTC link
There's a huge disconnect between informed consumers and the average Apple product owner.

I read an ancedote from an aspiring SWE that after he saw the Apple product he couldn't afford, he knew he needed it.

People aren't buying because quality reasons, they buy because of various psychology tricks their marketing department is responsible for.

It creates a system where developers are dragged along to support 100% of users.

ProAm 2020-11-10 17:15 UTC link
> So instead you end up on 3rd party tutorials...How do you know if the feature changed significantly in the more recent release? I don’t know, but I can tell you where you won’t find out: the official docs.

Get ready for documentation subscriptions. I wish I were joking.

lostcolony 2020-11-10 17:19 UTC link
I've run into this more often than I can count with Java based things. "Just look at the Javadocs!" You...you mean the auto-generated API descriptors that have exactly zero usage information on them, and expect me to figure out how to piece things together just by type signature? That...that isn't how documentation works.
ericlewis 2020-11-10 17:37 UTC link
There is a lot of money to be made working on iOS for big corp. hell, even small startups.

You seem to allude to indie devs though, so I can agree that it would be insane to attempt to go out on your own without essentially being a startup in your own right.

auggierose 2020-11-10 17:42 UTC link
I think what is happening here is that the attitude of Apple towards normal users is spilling over to its attitude towards developers. Which is obviously a big problem, if that is indeed the case.
bbreier 2020-11-10 18:02 UTC link
You are totally correct- and the worst part is, it hasn't always been this way. I've been doing iOS and Android development since the days of iOS6, and for the majority of that time, I've found iOS documentation to be significantly more useful than Android's. Recently it has flipped, and it has truly come to a head in the release of iOS14, where many documentation pages still mark live APIs as Beta software. It's so frustrating, and it is so much worse knowing that the developer experience used to be so much better.
delfinom 2020-11-10 18:11 UTC link
Apple at this begrudgingly allows developers on their platform as they slowly make their own apps to capture all the recurring subscription revenue as the logical endgame of its walled garden.
captn3m0 2020-11-10 18:19 UTC link
PHP's documentation is amazingly well done. It goes above and beyond almost everything else.
corty 2020-11-10 18:20 UTC link
Apple developers are a captive audience, they will pay their annual hundred bucks and develop for iShiny no matter how crappy the docs are. There are just too many rich users and clueless PHBs demanding apple development to miss out. If those reasons went missing and Apple really had to compete for developer mindshare, docs would improve.

Which leads to the solution: Quote a lot more for Apple development or don't develop for Apple, and as soon as the stream of app updates and releases dries up, Apple might react. But not before.

megiddo 2020-11-10 18:23 UTC link
I try to explain to non-PHP devs how they live in a world of darkness and ignorance.

PHP documentation is a major factor in it's long-term record.

alexashka 2020-11-10 18:24 UTC link
SwiftUI is not great in any sense, other than looking great to people who've never written non-trivial software. When your criteria for 'great' is whatever 'content creators', 'software journalists' (email newsletter 'creators') and apple's marketing team pump out this week, 'great' is anything a marketing firm puts dollars behind that seems 'cool' and 'fresh' and 'hip', or is it 'dope' this week?

It is quintessential form over substance - like Apple's fucking 'butterfly' keyboards.

SwiftUI is butterfly keyboards of software - wait until you want to write non-toy code with it, you'll be needing 'hack #235 by content creator #563' to make trivial features possible.

jes5199 2020-11-10 19:12 UTC link
It's true! For me, PHP's docs were an amazing on-ramp to becoming a developer "I just need a function that does something like...". A lot of the language design is annoyingly inconsistent and hard to use, but even in 2005 there were clear explanations on how to make it work.

As an experienced engineer, if I'm handed a well-designed but poorly-documented API, I can usually guess the intent and make it work, at the cost of working more slowly. But a junior engineer will be completely stymied by insufficient docs, regardless of how good the software design is.

I guess, in summary: good docs can make up for bad code. But good code can't make up for bad docs.

merb 2020-11-10 19:56 UTC link
> I never liked Ballmer, and really never liked the win APIs

actually WinRT is really good. unfortunatly they are barely widespread and probably are not that much used.

C# api docs: https://docs.microsoft.com/en-us/uwp/api/?view=winrt-19041

vagrantJin 2020-11-10 20:25 UTC link
To be honest, was this helpful button is rather vague and I usually ignore it because it doesnt seem to be the right question or rather its a request for feedback I don't know helps me or not.
Editorial Channel
What the content says
+0.50
Article 19 Freedom of Expression
Medium Advocacy Practice
Editorial
+0.50
SETL
+0.45

The article exercises freedom of expression by publicly and directly criticizing Apple's corporate practices using pointed language and advocacy for change. The author exercises the right to voice dissent on matters of public concern.

+0.40
Article 22 Social Security
Medium Advocacy
Editorial
+0.40
SETL
+0.35

The article advocates for developers' right to work under fair conditions by criticizing inadequate documentation and tools. It frames poor documentation as a working condition that directly hampers workers' ability to perform their jobs effectively and productively.

+0.40
Article 26 Education
Medium Advocacy Framing
Editorial
+0.40
SETL
+0.28

The article extensively advocates for educational resources (documentation) as fundamental to professional development and learning. It frames documentation as an educational right and compares Apple's approach unfavorably to exemplary models.

+0.30
Article 23 Work & Equal Pay
Medium Advocacy
Editorial
+0.30
SETL
+0.24

The article discusses how inadequate documentation creates unfair working conditions by forcing developers to spend excessive time troubleshooting and learning instead of productive work, reducing the fairness and adequacy of their labor conditions.

ND
Preamble Preamble

Preamble framework (universal dignity, equal rights) not engaged.

ND
Article 1 Freedom, Equality, Brotherhood

Equal dignity and rights not engaged.

ND
Article 2 Non-Discrimination

Non-discrimination principle not engaged.

ND
Article 3 Life, Liberty, Security

Right to life, liberty, security not engaged.

ND
Article 4 No Slavery

Freedom from slavery not engaged.

ND
Article 5 No Torture

Freedom from torture/cruel treatment not engaged.

ND
Article 6 Legal Personhood

Recognition as person before law not engaged.

ND
Article 7 Equality Before Law

Equal protection before law not engaged.

ND
Article 8 Right to Remedy

Right to effective remedy not engaged.

ND
Article 9 No Arbitrary Detention

Freedom from arbitrary arrest not engaged.

ND
Article 10 Fair Hearing

Right to fair/public hearing not engaged.

ND
Article 11 Presumption of Innocence

Presumption of innocence and fair trial rights not engaged.

ND
Article 12 Privacy

Right to privacy not engaged.

ND
Article 13 Freedom of Movement

Freedom of movement not engaged.

ND
Article 14 Asylum

Right to asylum not engaged.

ND
Article 15 Nationality

Right to nationality not engaged.

ND
Article 16 Marriage & Family

Marriage and family rights not engaged.

ND
Article 17 Property

Right to own property not engaged.

ND
Article 18 Freedom of Thought

Freedom of thought, conscience, religion not engaged.

ND
Article 20 Assembly & Association

Freedom of peaceful assembly and association not engaged.

ND
Article 21 Political Participation

Political participation rights not engaged.

ND
Article 24 Rest & Leisure

Right to rest and leisure not directly engaged.

ND
Article 25 Standard of Living

Right to adequate standard of living tangentially related through developer livelihoods, but not directly engaged.

ND
Article 27 Cultural Participation

Right to participate in cultural/scientific life not directly engaged.

ND
Article 28 Social & International Order

Social order ensuring rights not engaged.

ND
Article 29 Duties to Community

Duties to community not engaged.

ND
Article 30 No Destruction of Rights

Right not to have rights destroyed not engaged.

Structural Channel
What the site does
+0.20
Article 26 Education
Medium Advocacy Framing
Structural
+0.20
Context Modifier
ND
SETL
+0.28

The blog platform shares knowledge and learning commentary, supporting professional education and knowledge development within the developer community.

+0.10
Article 19 Freedom of Expression
Medium Advocacy Practice
Structural
+0.10
Context Modifier
ND
SETL
+0.45

The personal blog platform provides unrestricted publication of critical commentary without apparent censorship or barriers to speech, structurally supporting Article 19 rights.

+0.10
Article 22 Social Security
Medium Advocacy
Structural
+0.10
Context Modifier
ND
SETL
+0.35

The blog platform enables workers to collectively discuss and critique workplace conditions and employer practices.

+0.10
Article 23 Work & Equal Pay
Medium Advocacy
Structural
+0.10
Context Modifier
ND
SETL
+0.24

The platform allows discussion and critique of workplace conditions and fair labor practices.

ND
Preamble Preamble

Preamble framework (universal dignity, equal rights) not engaged.

ND
Article 1 Freedom, Equality, Brotherhood

Equal dignity and rights not engaged.

ND
Article 2 Non-Discrimination

Non-discrimination principle not engaged.

ND
Article 3 Life, Liberty, Security

Right to life, liberty, security not engaged.

ND
Article 4 No Slavery

Freedom from slavery not engaged.

ND
Article 5 No Torture

Freedom from torture/cruel treatment not engaged.

ND
Article 6 Legal Personhood

Recognition as person before law not engaged.

ND
Article 7 Equality Before Law

Equal protection before law not engaged.

ND
Article 8 Right to Remedy

Right to effective remedy not engaged.

ND
Article 9 No Arbitrary Detention

Freedom from arbitrary arrest not engaged.

ND
Article 10 Fair Hearing

Right to fair/public hearing not engaged.

ND
Article 11 Presumption of Innocence

Presumption of innocence and fair trial rights not engaged.

ND
Article 12 Privacy

Right to privacy not engaged.

ND
Article 13 Freedom of Movement

Freedom of movement not engaged.

ND
Article 14 Asylum

Right to asylum not engaged.

ND
Article 15 Nationality

Right to nationality not engaged.

ND
Article 16 Marriage & Family

Marriage and family rights not engaged.

ND
Article 17 Property

Right to own property not engaged.

ND
Article 18 Freedom of Thought

Freedom of thought, conscience, religion not engaged.

ND
Article 20 Assembly & Association

Freedom of peaceful assembly and association not engaged.

ND
Article 21 Political Participation

Political participation rights not engaged.

ND
Article 24 Rest & Leisure

Right to rest and leisure not directly engaged.

ND
Article 25 Standard of Living

Right to adequate standard of living tangentially related through developer livelihoods, but not directly engaged.

ND
Article 27 Cultural Participation

Right to participate in cultural/scientific life not directly engaged.

ND
Article 28 Social & International Order

Social order ensuring rights not engaged.

ND
Article 29 Duties to Community

Duties to community not engaged.

ND
Article 30 No Destruction of Rights

Right not to have rights destroyed not engaged.

Supplementary Signals
How this content communicates, beyond directional lean. Learn more
Epistemic Quality
How well-sourced and evidence-based is this content?
0.61 medium claims
Sources
0.7
Evidence
0.6
Uncertainty
0.5
Purpose
0.8
Propaganda Flags
3 manipulative rhetoric techniques found
3 techniques detected
loaded language
Article title and repeated use of strong emotional language: 'piss-poor', 'despicable', 'embarrassing', 'Fuck you, figure it out' to describe documentation.
repetition
The phrase 'No overview available. Fuck you, figure it out.' is repeated multiple times as a refrain to emphasize Apple's dismissiveness.
appeal to authority
Marco Arment and Dave Verwohlt are cited as authoritative voices and experts on SwiftUI and developer experience, lending credibility to the criticism.
Emotional Tone
Emotional character: positive/negative, intensity, authority
confrontational
Valence
-0.3
Arousal
0.8
Dominance
0.7
Transparency
Does the content identify its author and disclose interests?
0.50
✓ Author ✗ Conflicts
More signals: context, framing & audience
Solution Orientation
Does this content offer solutions or only describe problems?
0.41 mixed
Reader Agency
0.3
Stakeholder Voice
Whose perspectives are represented in this content?
0.55 6 perspectives
Speaks: individualsworkers
About: corporationinstitution
Temporal Framing
Is this content looking backward, at the present, or forward?
present long term
Geographic Scope
What geographic area does this content cover?
global
Complexity
How accessible is this content to a general audience?
moderate medium jargon domain specific
Longitudinal · 5 evals
+1 0 −1 HN
Audit Trail 15 entries
2026-02-28 08:14 model_divergence Cross-model spread 0.29 exceeds threshold (5 models) - -
2026-02-28 08:14 eval Evaluated by claude-haiku-4-5-20251001: +0.29 (Mild positive)
2026-02-27 23:59 eval_success Light evaluated: Neutral (0.00) - -
2026-02-27 23:59 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral)
2026-02-27 23:59 rater_validation_warn Light validation warnings for model llama-3.3-70b-wai: 0W 7R - -
2026-02-27 23:46 dlq Dead-lettered after 1 attempts: On Apple's Piss-Poor Documentation - -
2026-02-27 23:43 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-27 23:42 eval_success Evaluated: Neutral (0.09) - -
2026-02-27 23:42 rater_validation_warn Validation warnings for model deepseek-v3.2: 25W 25R - -
2026-02-27 23:42 eval Evaluated by deepseek-v3.2: +0.09 (Neutral) 11,253 tokens
2026-02-27 23:42 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-27 23:41 eval_success Light evaluated: Neutral (0.00) - -
2026-02-27 23:41 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral)
2026-02-27 23:41 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-27 23:29 eval Evaluated by claude-haiku-4-5: 0.00 (Neutral)