On Native Mac Apps
Keaton Brandt has written an interesting, comprehensive post on Medium, Elegy for the Native Mac App, which also serves as quite a trip down memory lane.
I’ve been an indie Mac developer in one form or another for well over two decades now, and a lot of that rings true to me. On the minor points, I wasn’t a fan of skeuomorphism, but I think the “fun” part holds (I think that got out of hand and was then overcorrected). Meanwhile, I would expect visionOS to be very much focused on games and entertainment — probably not indie territory by and large — so seeing the likes of Bob Iger in an announcement for that only makes sense. Mind, put those points together, and it seems to me that if anything could bring about a skeuomorphism renaissance, it’s visionOS.
Closer to home, I also agree that these days Apple’s bundled apps are going places previously only third-party devs would dare tread, and that worries me a little. Indeed, apps like Reminders and Notes in particular are very capable now, and if you’re an indie starting out, wanting to do something in that area, those apps will set the baseline, which is a lot. Additional to that, it’s not easy getting things out of those apps (particularly Notes, with all its new features), and so users will remain locked in.
However, the biggest pain point for any developer is making an app cross-platform, potentially on macOS, Windows, iOS, and Android, with perhaps some kind of web version too. It takes a lot of time and effort to make native apps, sometimes an equal amount for each platform, because savings on the things they share tends to get devoured by gnarly platform-specific considerations.
Apple’s answers to that are Apple-only solutions that won’t serve Android or Windows — porting iPad apps with Mac Catalyst, or adopting SwiftUI — and neither are anywhere close to zero effort to deploy across platforms, and nor do they provide a truly first-class experience on Mac right now. These technologies would be perfect for indie developers that only want to target Apple’s platforms, except that I know my existing apps’ users wouldn’t accept either, because the apps would turn out less integrated and therefore less powerful.
For larger companies who want to target all platforms and don’t have apps that integrate too deeply, a “write once, run everywhere” solution will win out, especially if you can start that way, because your users will never know any different. Contrast that with native apps that have become cross-platform Electron apps, for example, and lose power-user features as a result.
Larger companies won’t feel the backlash anywhere near as much as an indie would, and can probably survive targeting the 90% who don’t care about the niche stuff. Indie apps can often only thrive by also serving the other 10%, especially these days. You also need people to make those apps, so it should be noted that the technologies Electron uses — Javascript, HTML and CSS — are the most common at up to two thirds of everything, while Swift and Objective-C are at around 5% or below.
The Mac App Store fractured the discovery and distribution of Mac apps. Prior to that titles from Apple, indies and corporations sat alongside each other on the Mac OS X Downloads page (archive.org) on apple.com, and as an indie developer that was incredible.
With the Mac App Store, many amazing apps couldn’t work with the App Sandboxing requirement, or their developers cope with things like 7 – 14 day review times, Apple’s 30% commission, the inability to respond to customer reviews, arbitrarily applied guidelines, or its limited payment models. Apple has addressed many of those shortcomings since, and I think things have got a lot better there, but the Mac App Store remains a shadow of its Mac OS X Downloads predecessor, which is a shame.
Finally, I think the author is correct that indie apps clearly aren’t anywhere near as important to Apple as when the company and Mac were clambering their way back from obscurity. Really, that’s down to the success of iPhone, but also to some extent the decade-long belief by many tech pundits that iPad would ultimately replace the Mac (something Apple always denied), until the Apple silicon Macs came along.
All together this led to the death of most Mac-specific blogs, podcasts, web sites, magazines, etc. Nowadays, such sites either focus on iOS, or tend to specialise in nerd concerns, like Markdown and automation, so you end up with very little, if anything for general Mac users to care about.
I think some things could be better (particularly the Mac App Store, or something like it, showcasing a wider range of apps), but a lot of what’s happened with native apps is just a consequence of where we are with tech today.
When it comes to actually developing native Mac apps, I think things are better than ever. Whereas iOS and particularly iPadOS have required apps do a lot of work (and rework) to even get close to rivalling their Mac counterparts, macOS has gradually improved and refined what was already a great offering — these days it’s stable, reliable and offers extensive frameworks for just about everything; given the choice, I wouldn’t want to work on anything else.