No week notes for last week, because I was in Potsdam for a work event when I would otherwise have been writing them. But the theme of the week was clear: Apple’s technology conference WWDC.

Getting the easy stuff out of the way up front: yes the technology in the Vision Pro is utterly amazing; yes the human interactions are utterly creepy, especially the ones involving children; yes I will probably end up buying one eventually; yes it’s way too expensive for the moment. I mostly want it for work and work-adjacent things (more screen real estate for programming!) which it won’t be really ready for until it can spread applications from my macbook or desktop into multiple visionOS windows. I do expect we’ll see radically unexpected possibilities come out of the predictive attention-tracking technology (some of them possibly extremely unpleasant). Here’s some wild speculation that, although clearly unhinged, ponts in an interesting direction. It’s also clearly unhinged but very interesting to compare this technology with Thomas Metzinger’s ideas of the “self” as a transparent predictive model.

Enough about the mirrorshades of the future.

WWDC is usually a litany of “looks great, I can’t use it for a couple of years” but this year I saw plenty that we can start with more quickly. I’m excited about:

  • Swift macros (for moving features out of the core language and into library territory)
  • The new #Preview macro (which works with UIKit as well as SwiftUI)
  • Documentation improvements in Xcode 17 (especially as-you-type docs preview)
  • A new UIViewController lifecycle callback (that back-deploys to iOS 13!)
  • Xcode 15 test reporting (with screen recordings and beautiful traces)

I’d like to be excited about @Observable but I think that one will be limited to recent iOS releases.

Similarly, SwiftUI scroll views got some updates that basically replace all the snap-to-item carousel logic we wrote (checks notes) last year. But probably we can’t use them yet.

I’m not sure yet what to think about Swift Data. I like the story for version migrations, with each versioned model explicitly represented in Swift code. (Their suggestion to copy/paste the type into a caseless enum and rename it adding a version suffix is ugly and I love it.) I hope the on-disk storage is still just a sqlite database, that’s so handy for getting messy in the details. The SwiftUI integration of course is magical, both in the sense of “wow that’s sparkly” and in the sense of “if this stops working I’ll have a really hard time figuring out why because everything is happening inside the magician’s sleeve”.

Standout videos:

It’s been a few years since a WWDC has excited me, but this one did. I have a sense that Swift, SwiftUI, and Apple’s open-source strategy are really gathering momentum; I feel the AR potential for the future (if not quite yet); and I was absolutely delighted at their policy of avoiding the term “AI” and the steadily growing prominence of privacy in their brand positioning. I’m pretty locked in to the Apple ecosystem by now, and this year that didn’t feel too bad.