VSCode and the Github App I think are fairly good examples of good UIs that don't use the default OS widget appearances.
* Has an expand/collapse panel on the left, using large icons. Not Mac-ish, very Google though.
* Title bar isn't integrated with the system (eg can't right-click on the filename to access locations.)
* General look and feel uses different controls. For example, the Problems/Output/Debug Console tabs: they aren't rendered like macOS tabs. They're capitalized text, and the UI is completely different.
* Cmd+, to open Preferences opens a tab, not a Preferences dialog. This is text (which is nice, good for a dev environment) but even the headings and collapse/expand controls are custom. There is no UI here that behaves like a Mac app.
I could continue for hours. There's almost _nothing_ in the app that is built in an Apple or macOS-congruent style. Now, it's a good app. Absolutely. But it's not a Mac-ish app.
With a native app, all of these things could be done in just as clean (and very similar in layout) UI, but in a Mac style and with what you, as a Mac user, have grown to expect as Mac app behaviour.
I care very much when normal Macintosh facilities are ignored, widgets don't act like they should, etc. etc. The entire point of the Mac is that seamlessness.
I wonder how many of these folks claiming nobody cares about desktop consistency will turn around and say the reason why Linux on the desktop isn't popular is because of lack of desktop consistency.
For example, most CG/VFX applications are multi-platform to various degrees. None of them are native by your standards as that would be an obscene amount of complexity to develop, maintain, and more importantly support. However, all of the applications behave identically on all the platforms they run on (sans some specific host platform features like D3D support, RTX/Optix, macOS menu bar, etc), which makes supporting vast user bases simpler, and enabling mixed OS environments without introducing cognitive load just to understand what’s different about the app.
We have our own gripes with UI/UX of these apps because they are complex, but not because they are not "native". Building a "native" application only works when you choose to target a single platform (like the Chime Go text editor), or if you have the reasonable ability and resources to have and support separate teams for each platform and the organization to coordinate roadmaps and priorities across them.
From my experience, the only group I really see complain about "native" appearance is macOS users. Windows users really don’t seem to care, and on Linux (there are some vocal people) I guess you could say GTK is the native toolkit above X/Wayland, but it’s really up to the DE/WM for determine what the "native" context is.
And you're right, Mac users are mainly the only ones to complain. That's because we do have a fairly consistent, unified experience and like it that way.
Which is why I don't use apps that don't play nice on the Mac. If I wanted inconsistent, I'd use another platform. Developers have to make their own choices, of course.
> but not because they are not "native".
This is incorrect, and contradicted by your next paragraph. On my work machine, I use two non-native apps because I have to (Chrome is installed but only used for troubleshooting Chrome-specific issues). My home mac has zero.
Adobe left a market gap for a few independent shops to step into on the graphics side, MS on the office app side. Here's hoping more do elsewhere. I like indies.
I’m not seeing the contradiction. In one section I’m talking about UI/UX gripes with a particular type of applications because of complexity required by workload, not based on host nativeness. The next about general platform user sentiments. The two are not the same. I almost never see anyone on any platform for these workhorse applications, that are essentially they’re own environments, ask for more "native" UI/UX outside of file dialogs. Because, for 98% of these users, it’s not important and has no effect on them getting their job done.
> This is hardly a new argument.
It will remain old, yet valid, as long as there are limited developer resources and multiple differently structured platforms to support. Hence toolkits and frameworks like Qt or Electron exist to make the developers lives easier. Are they perfect? No, but they do a heck of a great job in allowing developers to build applications that have a shared experience for all users within their business constraints.
If that’s something you don’t enjoy dealing with and want to maintain a pristine, full native environment, then that’s good for you. But that puts you in an extremely selective minority of an already minority environment.
I give credit where credit is due, Apple has done a great job of setting style guidelines and creating interfaces for developers wanting that native feel. Compared to Electron/web apps and cross-platform framework apps, though, that’s a very small slice of the pie.
Nova is another new addition, that while not a fully fledged IDE, is a an amazing Mac experience (still in private beta, unfortunately: https://panic.com/nova/).
I've been using Coda for a decade or so now and would really like to see another Mac-native code editor that solves some of Coda's jankiness while preserving its good things (most drastically, IMO, vertical splitting. Why do so many other editors not support that?).
Everything else is great, it looks and feels like a very high quality Cocoa app. You’ll be happy to know that Both horizontal and vertical splitting are included. While everything has been moved around compared to Coda, I think there haven’t really been any feature regressions (though I was never a heavy Coda user).
Panic has done a great job, imo.
Visual Studio for Mac, better at least.
The list of macOS IDEs that do not feel native is larger. The Jetbrains one, likely due to Java, are to me fairly horrendous. Love the language breadth and features, really dislike the lack of care for UI.