Nat Brown leaves Apple.

Thanks for the feedback. Nat has also said he’s open to an episode two at some point :)

Definitely agree with with part 1 of your conclusion.
As for part 2 I don’t think I have seen most of the context for it.
I can say that I absolutely love Swift and think it’s among the most beautiful languages ever with an elegant design and a lot of low level power. It’s got a lot of shared philosophy with rush too. Unlike metal though swift isn’t your only option. You can program in all the languages that can emit arm binaries or have interpreters. I don’t see swift mattering so much to the gaming discussion. Aside from perhaps using it for the glue code that starts up the NSApplication and gets a window handle, there’s no expectation games will be written in swift. I assume C++ will be most common for engine code. And then the engine can ingest whatever it may. Like Unity can eat C#.
Metal is the only way to interface with the gpu so that’s a bigger deal. You can of course use something like MoltenVK but that still goes through Metal in the end anyway. I’m not knowledgeable enough in graphics stacks to properly comment there but from what experience and knowledge I do have I would say metal is definitely s bit behind DirectX and Vulcan but I wouldn’t think it unsalvageable. It has improved a lot from where it used to be that’s for sure. But there’s great potential in Apple defining their own shader language and graphics stack and not just implementing a standard like OpenGL especially with their own hardware. It does make adoption harder and I think Nat’s point that there aren’t that many really talented metal developers and most of the ones that do exist already work at Apple is its greatest weakness. The initial design of metal basically came from AMD’s mantle and is similar in nature to other modern graphics APIs.
From my talk with Nat my impression was more that the tech doesn’t really matter. Mindshare and game sales is king. The more success stories we have for major sales on the Mac encouraging developers on to the platform the more games there’ll be regardless of how nice or horrible the developer experience is. And I for one think it’s pretty good. Nat after all pointed out that the Nintendo switch developer experience isn’t that great but games are plentiful there.
Yeah, to be clear he’s not stating that Apple’s problems with gaming are in any way due to Metal or Swift. He specifically states that he feels there are 5 people in Apple (not SVP level, but perhaps just below that) who hare blocking gaming improvements. My point is more that he doesn’t like Metal or Swift personally. If you find yourself working with technologies you don’t like, and actively dislike, then it’s not going to be a very pleasant environment to work in.
For regular app dev at least I can say that in my opinion working with swift and apple frameworks is far far far nicer than Java and the Android app or windows and .NET with C# or Qt and C++. And while I know many disagree I’ll also take swift and cocoa touch. over react native any day of the week (or any other web tech for that matter)
Good to hear.

Some examples
1745531475190.png

1745531496745.png

1745531513229.png
 
The problem with Swift shows with Apple's own apps. Apple has not made a stable performant Swift app in a long while. The frameworks are nice but when it acutally comes to the actual apps produced by Apple its bad.

iOS 18 Photos - slow and buggy
System settings - slow and buggy
iOS 16 and later lock screen - slow and buggy
Widgets - buggy and often glitch out

and who could forget Weather. While it looks nice its a UI disaster and is often buggy.
The Photos app was so fast and smooth prior to the move to SwiftUI.
 
Last edited:
Nat after all pointed out that the Nintendo switch developer experience isn’t that great but games are plentiful there.
This doesn't seem to be the case anymore, judging by the number games on Switch2 on launch day. The most glaring being CP2077, it would be a very sad state of affairs for Mac gaming if it launched on the Switch 2 before Mac.
 
This doesn't seem to be the case anymore, judging by the number games on Switch2 on launch day. The most glaring being CP2077, it would be a very sad state of affairs for Mac gaming if it launched on the Switch 2 before Mac.
For some, every possible outcome is a sad state of affairs for Mac gaming. Go to Reddit. The number of games is way higher now than 5 years ago and still the sentiment is “doomed”.
 
For some, every possible outcome is a sad state of affairs for Mac gaming. Go to Reddit. The number of games is way higher now than 5 years ago and still the sentiment is “doomed”.
Agree, its on Apple to change that tho. I mean they can do it. if they put in more effort like they do for TV+.
 
The problem with Swift shows with Apple's own apps. Apple has not made a stable performant Swift app in a long while. The frameworks are nice but when it acutally comes to the actual apps produced by Apple its bad.

iOS 18 Photos - slow and buggy
System settings - slow and buggy
iOS 16 and later lock screen - slow and buggy
Widgets - buggy and often glitch out

and who could forget Weather. While it looks nice its a UI disaster and is often buggy.
The Photos app was so fast and smooth prior to the move to SwiftUI.
Sounds like your issues are not with apps developed with Swift but with apps developed by the newer frameworks like SwiftUI and other modern frameworks.

At work I write Swift everyday, but UIKit/Cocoa Touch. And it's experientially just like Objective-C but more ergonomic, safer and easier. But the exact same capabilities are there exposed in the same, nay easier ways. - And no null pointer exceptions if you use optionals properly.
Agree, its on Apple to change that tho. I mean they can do it. if they put in more effort like they do for TV+.
TV+ has quality, but hasn't exactly been a huge commercial success



As for dealing with memory directly; You *can* do that in Swift. It does have "UnsafeMutablePointer" types and the like. But no, it's not its strength. It's not that ergonomic. But it's not supposed to be. It's a bit like unsafe rust. It's in there but it's encouraged to use it as little as possible, only to create your cement and then you build your bricks and house in Swift without Unsafe types. - But you can also just write your methods that need direct memory access in C and call them from Swift with an extern. Pretty smooth
 
For some, every possible outcome is a sad state of affairs for Mac gaming. Go to Reddit. The number of games is way higher now than 5 years ago and still the sentiment is “doomed”.
I think a lot of folks on MacGaming Reddit want the games to be native OR for Apple to just work with Valve/Codeweavers and make GPTK an "official" part of Steam just like Proton is for Linux. From what I can tell most posts are about running games via crossover vs the native games on the platform (at least this is the case between native releases).
 
Back
Top