Comment by epaga

10 months ago

Here's what I find most puzzling about these things: Apple does amazingly helpful WWDC sessions on how to profile and improve your code, how to prioritize performance...but when it comes to their own apps, it's like they forget everything they know?

Messages on Mac is one of my biggest annoyances. How do you make one of the most used messaging tools and have the keyboard lag so badly while typing - sometimes even skipping typed letters? It's a complete mystery to me.

There's always been a lot of room for them to optimise performance on macOS to a level that they do iOS, but modern Apple basically wants macOS to go away and sees it as more of an annoyance, so they don't spend any time tuning it. Then the elephant in the room is SwiftUI itself, there's a performance cliff there, wherein if you've optimised everything else, you might just hit the brick wall that's the layout engine with no recourse or ability to even peak under the hood. We're at a point now where building a fully native macOS app, with the first-party toolchain, will give you far worse performance (in terms of responsiveness not resource usage) than something like Electron. I have a suspicion teams inside of Apple are also running up against these issues as they start to actually adopt the framework.

  • A modestly sized list of WiFi networks (30-40 items) slows down and stutters while scrolling on a M4 MBP. SwiftUI is a performance disaster, and I refuse to use it outside of toy single screen projects

    • Yeah it's in a really bad spot on macOS still, iOS performance is a lot better. I'm sure all of this can be overcome but I'm not certain it's a priority for them.

      3 replies →

  • > modern Apple basically wants macOS to go away and sees it as more of an annoyance, so they don't spend any time tuning it

    [citation needed]

    • Oh, the leadership keeps saying that MacOS is separate from iOS and they care about MacOS.

      And then they keep adding iOS UIs into MacOS, produce horrible laggy iOS-optimised software for it, and call it a day.

      Actions speak louder than words.

      2 replies →

    • What sort of citation would you be looking for here? It's generally accepted that it's not a priority for them, the discrepencies in performance and features between UIKit vs AppKit have always existed and are even more pronounced in SwiftUI. Due to how it's used they can't apply the same business model to the mac as they can iOS and therefore can't extract as much value from it, this is reflected in revenue.

Poke around on jobs.apple.com looking at developer positions and everything will become clear. There seem to be at least an order of magnitude more outsourced software development jobs than jobs within the US/EU.

You don't outsource to India because you want to get better quality products. You do it so you can pay a terrible Indian programmer $30,000/yr instead of hiring a great Indian programmer for $300,000/yr in Cupertino.

Messages on Mac freezes up for 5-10 seconds every time I get a Screentime request. It’s a hot mess.