macOSSaturday, Apr 22, 2017 · 1600 words · approx 8 mins to read
I wrote recently about the tools that I use on my Mac, promising to write about macOS itself a bit later when I’d had time to think about how. The context was my belief that when considering Macs for purchase, people forget about macOS, and thus skip evaluating the combined hardware and software product as a whole.
macOS (then Mac OS X) is the reason I never went back to Linux or Windows after switching to a Mac in 2008. At the time, I was a heavy Linux user at work because it’s the platform our software ran on and, like many, I was happy with it in terms of the basics of how it worked — so the shell, the GNU userland, largely plaintext configuration, binary package management, etc — but I was unhappy with the upkeep of making sure it didn’t continually break on my hardware.
I had a Thinkpad T61p at the time. While Thinkpads are mostly renowned for good Linux support today, in 2005 or so it was incredibly hit and miss. I had so many problems. I didn’t have reliable Wi-Fi, GPU driver updates broke everything, USB 3G dongle connection stability was crap, power management was much worse than in Windows. The list went on. I spent as much time messing with it to make it work as I did using it for something productive.
I’d cut my teeth in the PC space on the endless tweaking of both hardware and software in the overclocking scene, starting in the mid 90s, so I’m not adverse to some work to get the best out of a computing platform; after all, none of them are perfect. But at that point, after a decade, I was sick of it. I’d enjoyed the discipline of the endless search for stable performance you didn’t pay for, hardware wise, but I didn’t enjoy the tweaking when it came to software. Against a backdrop of endlessly feeding in all of my spare money on the hardware side of things, something had to give.
My choice was simple: give up booting Linux on the T61p and just use Windows Vista, or take a look at a MacBook. I’d followed the resurgence of the Mac as viable mainstream computing platform for years, enjoying John Siracusa’s regular analysis of each new major release of OS X as my main window into what was happening over on Apple’s side of the fence. The reasons that convinced me to give a MacBook a try back then — a revised early 2008 white polycarbonate MacBook — are the reasons I still stick with it today, mostly learned from Mr. Siracusa’s legendary analyses.
Firstly, it’s a Unix. The way today’s Unix and Linux platforms are put together are a big draw for me, and macOS is no exception. While all modern operating systems today are mostly similar, with kernel and userland separation, how Unix and Linux systems do it works for me, especially when it comes to the userland side. The combination of a familiar GNU-like set of core utilities, Apple’s open source policy, and a strong source and binary packaging system in the form of Homebrew, means that I’m able to build a shell-based environment on macOS that’s very similar to what I am traditionally used to.
macOS is also largely configurable from that environment as well, with command-line configuration tooling and text-based property lists surfacing the majority of macOS configuration that the user can control. System Preferences is mostly just a GUI on top of common open source tools. The login system is PAM-based. The printing system is CUPS-based. Hell, Apple invented and still maintain CUPS. That mostly open source, easily configurable, and easily composable system is one that gives macOS great power.
Then we come to the real trick Apple has pulled with macOS, built on top of that powerful Unix core: the truly cohesive UI system and application frameworks. Here’s the best example. While the PC mainstream has yet to embrace high-density/HiDPI/Retina displays, there’s been a distinct switch in the high-end, largely prompted by Apple only using high-density displays for the MacBook, MacBook Pro and the iMac in the last few years. High-density displays bring a bunch of new problems for the operating system’s display layers to solve, from application code all the way out to pixels on the display.
Rather than use high-density displays at native resolution as we always did before, rendering is (usually) scaled to fit. For example, the display on the iMac I’m using to type this has a resolution of 5120x2880, exactly twice the resolution in each direction when compared to the 2560x1440 resolution of the prior iMac models it replaced. The display is the same size at 27”, so any operating system driving the newer display has a choice: display application windows at a quarter the size and display four times the number of pixels as before, or scale everything up.
It all depends on viewing distance and therefore the arc the display covers across your eye, as to what the human visual system is able to resolve, but at common distances for something like this 27-inch iMac, rendering at native resolution would mean everything is much too small. Instead, macOS maps a 2560x1440 “virtual” resolution to the 5120x2880 real pixels and takes advantage of having 4 real pixels for every virtual one in order to keep application windows at the same size, and improve the quality of what’s rendered in that same physical area, especially text.
The key thing to note there is that macOS does it all for the application transparently, so the transition to Retina for Apple was truly painless. Apps looked fine out of the box and didn’t have to do anything special. The same rough thing happened over on iOS, just with the additional complexity of handling more than just a 2x density level. The relative stability of the underlying application frameworks, which funnel all application drawing through the same paths at the OS level, mean that I haven’t seen a single application on macOS look bad on a Retina Mac.
In stark contrast, Windows on high-density displays has been a real mess. You can install the latest Windows 10 Creators Update and connect it to a 4K or 5K display, and both out-of-the-box and tweaked settings still won’t stop a troubling number of even common applications looking really bad. Applications have to do a lot of work to opt-in and have good compatibility with high-density displays on Windows, rather than Microsoft fixing it at a lower level underneath the application and everything just work. Even some of Microsoft’s own applications that are a part of Windows don’t even work well today.
That leaves macOS in pole position for me. A solid Unix core that I can (mostly) transparently interrogate and manipulate without compromising overall system stability, with an opinionated sub-application layer that Apple continues to control. Apple make sure that GUI apps on top all look great and are interacted with in a common way, no matter the march of the technology they run on. They all share a common look, feel and usability. Linux has the mostly solid core and userland that I like, but the cohesive, high-quality GUI application layer on top is missing.
The value in Apple controlling macOS in an opinionated fashion, while still leaving it malleable enough for application developers and power users to shape it to their needs, pays dividends for them overall, and dividends for me as the end user. Regular users get stability, speed and productivity with how it works, in no small part because of good setup and nice out-of-the-box default behaviours for a lot of stuff. Power users get a Unix, but one where there’s no fucking about to keep it working or have it support the latest hardware.
That’s because Apple also control that hardware, which brings me back to the reason I wrote this in the first place. The value in a new Mac, no matter the form factor, can’t be assessed without also considering the contribution from macOS. I couldn’t care less that I can buy a more powerful Windows computer for the same money. I wouldn’t even notice, most of the time. What I care about, and what I think the technical press, and even the online Apple community, has forgotten about, is the total value and how well the new Mac runs macOS.
Evaluated as just the physical form factor and the contained high-level performance, measured just by feeds, speeds and dimensions, analysis of a new Mac is going to fall short. People must consider that they’re also the vehicle to run macOS.
Of course my argument doesn’t give Apple a free ride to short change customers, or appear to forget they even exist, as was the case until Apple recently announced that new “pro” Mac machines are in development. But Apple users should remember what macOS is buying them before complaining that the Mac doesn’t keep pace with Windows machines in terms of specs.