Don't Overextend Yourself

Guilherme Rambo:

However, Apple's documentation lacks crucial information on how to use these new APIs (FB10140097), and there were no WWDC sessions or sample code available in the weeks following the keynote.

Thanks to some trial and error, and some help from other developers, I was able to put together some sample code demonstrating how one can use ExtensionFoundation/ExtensionKit to define custom extension points for their Mac apps.

I spent about three hours doing the software development equivalent of gesticulating wildly trying to get ExtensionFoundation to work and will be looking at this. Vital pieces of information just weren't there at all, nor were any Xcode templates present to fill in the blanks. (Update: there apparently is a target for Generic extension, which I missed because it wasn't in the Multiplatform, iOS or Other categories.)

On the one hand, this technology now exists, likely took months to implement and years to bake and was someone's passion project.

On the other hand, it's just thrown out there. Here you go. I hope you understand how to use it. We will explain the thread of every shipped nut in details; we will even provide an example of one sort of fully assembled cabinet. But we will abstain from providing actual instructions of vital parts of the process.

This is not the first time I'm getting these vibes from Apple frameworks; IOSurface and its ilk has been like that, and the sessions on ScreenCaptureKit were almost comical at their circuitous avoidance of describing what you actually do with the audio/video buffers you are handed.

The title of this post is a salty pun, but if history is any guide it's also an actual earnest hope for the individuals who put together the new technologies, stressed to the gills under time pressure. They have my admiration as always.

But – they also get the dubious pleasure of being the face of underdocumented software. Apple is big enough that it's time to grow beyond the scrappy image, respect developers both inside and outside the company and allocate time and opportunity to move beyond "no overview available".

Previous post: WWDC 2022 Following post: Functional UI