This commit is contained in:
187
content/posts/2023-09-11-i-dont-like-macos.md
Normal file
187
content/posts/2023-09-11-i-dont-like-macos.md
Normal file
@@ -0,0 +1,187 @@
|
||||
---
|
||||
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.
|
Reference in New Issue
Block a user