188 lines
9.6 KiB
Markdown
188 lines
9.6 KiB
Markdown
---
|
|
type: blog-post
|
|
title: I don't like MacOS (Software dev PoV)
|
|
description: This post goes into some of the reasons why I do and don't like MacOS but mostly don't
|
|
draft: true
|
|
date: 2023-09-12
|
|
updates:
|
|
- time: 2023-09-12
|
|
description: first iteration
|
|
tags:
|
|
- "#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 `dmg`s 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.
|