Files
kasperhermansen-blog/content/posts/2023-09-11-i-dont-like-macos.md
kjuulh 4bb6b0228a
Some checks failed
continuous-integration/drone/push Build is failing
feat: add blog contents
2025-07-31 11:01:22 +02:00

9.6 KiB

type, title, description, draft, date, updates, tags
type title description draft date updates tags
blog-post I don't like MacOS (Software dev PoV) This post goes into some of the reasons why I do and don't like MacOS but mostly don't true 2023-09-12
time description
2023-09-12 first iteration
#blog

I don't like MacOS, I've been using it profesionally for the past year and a half, and it hasn't gotten better. This post goes into some of the things I like, and which I don't. This is mostly a post shitting on MacOS, so fanboys please stay clear.

Some background

I am a systems / platform / data engineer, so what I need is generally a tool where I can be productive writing code, in a variety of environments, some virtualization, mostly docker thought. I need a browser for browser stuff, and in our case for Google Meet as well. I also have a variety of utility apps, such as Mailspring, Linear, Obsidian and so on I use on a daily basis. I don't use MacOS because I need to build apps, it is simply a company default and what is recommended, which is why I am using it. The laptop I am on is a pretty beefy 1st gen M1 MacBook Pro, and the hardware has been awesome. But this post isn't about the Hardware, but about the Software, and why I think it is crippling its potential, at least for me.

The things I like

I should probably start off a little positive, so here are some of the things I like

  • The user interface is generally quite polished, I haven't felt the need to change the look of the UI, so that is a plus.
  • I like the dock and the top bar, The dock is generally quite clean, even if it a more animated than I'd like. The top bare is quite useful, I like the integration with my globally available apps, though the navigation leaves much to be desired, I work on a large monitor 50% of the time, and it is just so, so far away. I tend to never use the File, Edit and so on options only when I absolutely need to, otherwise key-binds are preferred, as they're right there.
  • It generally just works, even if the bar is quite low. I trust that when I update the Os, the OS itself doesn't break, which sometimes isn't the case with the Linux and Windows os I normally run on my personal machine. (This is mostly my own doing, as I prefer cutting edge Distributions)
  • The fingerprint integration is quite good, it is responsive, and quite a few of my apps can use it for various effects.

Quite a small list, but that is how it goes

The things I don't like

This will be quite a hefty, section, and I should preface, that I've tried to fix a lot of the follow issues using various third party apps. But generally they all feel like they are fighting against the OS, to actually provide a good user experience. I will go into some of the specifics as we go.

Display manager

I like to be organized, and have opinionated workflows, as such the default of dragging, resizing windows and spaces are clunky at best. I've tried to use Stage manager, but I didn't like that it was as fluid as it was. It felt like my windows were in a pool of water, drifting around when I moved another window.

I would like to jump between windows and spaces using keybinds, and feel fast doing so. I've been using Rectangle and have been fairly happy doing so. I've built my own little manual I3wm workflow around it, but it is a quite manual experience. Recently I've tried yabai and friends. And that is actually what prompted me to write this post. Not because of the tool, but because all the limitation MacOS impose on it.

I ended up switching away from yabai again. Not because yabai was missing features, or had an obscure command set. No because MacOS made it too unstable to use properly (and required super root access, i.e. turning off root disk protection to the OS).

I simply wanted a display manager which organizes my windows for me, and allows me to create new ones, move them between spaces, and let me jump between spaces. But no. MacOS will automatically change the numbering on the spaces, if you use one more than another, it will think. Hippity hoppity let me move that space for you. This was not great when yabai would reassign an app to a space. I would get ghost application, where MacOS would think they were in one space, but yabai had moved it to another (Where I actually wanted it to be).

MacOS doesn't allow by default removing transitions between space changes, you can enable animation reduced mode, where the space transition changes to a fade in and out, instead of a sliding thingy. I just want a snappy change from one space to another, I don't care for the transition, it is pretty and yes the Mac display is high refresh, it is smooth and all that. I just don't care. I want to quickly change to my email client, slack or something else and back in a jiffy, Mac doesn't allow this workflow.

Display

I often have to share a part of a screen or use an external monitor, either for a presentation, or at the office because we have free seating. The mac often forgets window placement, or craps out entirely, requiring me to unplug and plug the monitor in again until it works. This is frustrating, and I'd hoped that the experience at least was better than what we have on Linux, but to be honest it isn't much better.

Sound

Don't get me started on the sound system in macos, it has a life of its own. Sometimes it just randomly changes my Microphone to the build in one, even when the mac is closed, and docked. The same for the output. I honestly don't know what is going on, but it sucks when speaking to a large group of people and you just disappear.

The Dock and app lifecycles

You can hide apps in the dock, but they may also be unhidden if you do a global action on them. Lets say I have a VPN client I'd like to hide, because I use it once in the morning, and turn it off when I stop for the day. I don't care of looking at it on my dock the entire day.

When you close an app for the most part, it is just pseudo dead, it is actually still stateful, and can be started nearly instantly again. This is somewhat nice, but when I want to close and app, it should just die. It shouldn't keep running in the background. Cmd+q will kill it for me, which is nice, so it isn't a huge deal, it is just annoying, given how troublesome MacOS generally makes building routine apps running in the background for a root user.

Package manager / App store and updates

Homebrew or rather its packages are often abysmal, often the packages are binary builds, which means that it builds the binaries for me instead of downloading them. This can be hefty, both in time and battery usage. Especially as homebrew is run sequentially, which I don't understand, it should know the dependency graph of the different packages, so why couldn't it resolve it after downloading the taps and casks? No idea, but it is by far the slowest in my normal day to day update cycle. I've also got a lot of them, as I am working in multiple different development environments.

I don't use the App store, I haven't found a lot of value on it, maybe slack and so on. But either I use dmgs or homebrew. The installation for Apps is childish and obtruse, you have to know how macos works, to actually install an app properly. First you download an app of, of the internet. A random dmg file, then you double click it and a draggable application pops up, you move it to the application folder, and then nothing happens, you usually don't get a confirmation that anything was installed. You have to manually open the application to verify that it works, and then you can close the popup and delete the dmg file. This is quite strange, a few family members have called me because they couldn't understand why the app wasn't installed, when it turns out it actually was, they just hadn't opened it yet.

There is also the story of actually getting a dmg to install, if you don't have a signed dmg, then it is quite bothersome to install, and properly not something a non technical person would be able to figure out on their own. Though that may not be true.

Inconsistencies

MacOS default apps work a lot like windows apps, in that they tell the os to play by certain rules, but don't actually follow those rules themselves. For example the new settings panel cannot be made wider, the finder cannot be hard killed using Cmd+q.

Xcode is rolled out with os updates (as far as I can tell), this breaks on every single goddamn update, and I have to reinstall the cli tools package again. This also often breaks, and I have to retry it a few times for it to actually update properly. This has been reported multiple times, and have been a problem for years, as far as I can tell given the support tickets, but it doesn't look like it will be fixed anytime soon. I don't even use xcode, but still it is giving me grief.

Shady stuff

I don't generally care all that much about privacy, especially on a work machine like this one. As I don't use the Mac for anything other than work. But seeing the background processes sometimes consuming a lot of memory, and then googling the process names to reveal that it is some kind of trial run by Apple doing image scans, feature toggling, telemetry and all sorts of crap. It doesn't feel nice, and I don't want to give a trial process a few gigabytes of ram, when I don't benefit at all from it.

Conclusion

There is a bunch more, but I think this is probably enough from me for now. I can still keep using the Mac and MacOS, but it isn't as impressive as people say, I am probably not the intended user, and that is fair. It is just frustrating as the MacOS generally markets itself as a general purpose os, but also for professionals, and after this experience I think it is anything but.