I switched to an M1 Air back at the beginning of 2021, was on Linux (desktop machine) about a decade before that. It's basically purely a work machine (software and management).
The hardware is amazing. The battery life is astounding.
The software, in almost every area, is inferior to my experience in Linux. The Apple parts generally worst of all (only Microsoft Office on it is worse). In the end, I'm probably 70% as efficient on macOS as I was on Linux after 3 years of using it.
The one thing macOS did better than my Linux box, hands-down, was supporting a 4k monitor. My Linux install was a little long in the tooth, though, so hopefully it's gotten better?
I really look forward to using Asahi when/if it's ready. I'd love to go back to Linux.
Example gripes:
- macOS offers this great feature that announces the time every half hour (or whatever you set it to). For a year, after a major OS update, it just didn't work after reboot unless you went in and changed it. Solutions? Wait for Apple to fix it (or write a wonky script to fix it on boot, which I did). Eventually they did, but ug.
- to support using 3 finger clicks as middle-click I had to buy software. On Windows this is just built in. On Linux it's on by default.
- to make Spotify work somewhat properly I had to download separate software (BeardSpice). After 3 years, I forget what that actually does
- if I open Spotify and hit the Play button on my keyboard, Apple Music opens. (Once I actually play Spotify it fixes it, though)
- it took me a LONG time to figure out how to set Excel to open CSVs instead of Apple's Numbers app
- The Apple calendar app alerts me whenever I create an event in another app (Outlook, Google, whatever). Like I got invited. To an event I created. It didn't used to do that...
The tone of the community is really different, too—and imo the worst thing about the transition from Linux -> OS X. And ok, it's not a fair comparison, because Linux users tend to be way more technical due in part to the OS family's barriers of entry.
Still, it's annoying when you search for how to do something in OS X and the first few threads are full of people saying "that isn't how it works! Instead of wanting to change it, you need to understand and follow the Apple Way™!" You're usually able to find the solution after a bit more searching, but the Apple Forums are especially bad.
If your mental model for how the software works is not an accurate abstraction for how it actually functions, you're going to be frustrated. If, when confronted with evidence that your mental model is inaccurate, you refuse to update your mental model, you will have difficulty coming up with solutions for the things that bug you, and difficulty even asking the right questions.
Being mad at software for operating in a different paradigm than you are used to is not productive. This all applies just as much to users coming to macOS from Windows (or imitations thereof) to macOS as it does to users coming to git from svn.
Okay yes but git and an OS are very different pieces of software. One does one thing (version control), and to be effective at that single task its highly opinionated. This is fine and good; he restriction allows the tool to laser focus on being good at a few things. OTOH an OS needs to do many very different things, as many different things as there are users. Creating a single paradigm, and obstructing basic configuration stuff like mouse input settings, is the opposite of what you want in this case. An OS should be flexible customizable, to allow the user to fine-tune it to match their use case needs as closely as possible. Just telling an OS user "get with the program" kind of misses the point, IMO. I prefer OSs which meet my needs, rather than the other way around.
You may wish to note that I'm explicitly not telling the OS user to just "get with the program". I'm telling the OS user that they need to understand the OS before they can effectively modify it to suit their needs.
I guess I can see how you intended your comment to mean what you're saying, but reading these two comments in sequence I think one can understand my confusion. You may wish to directly say what you mean, rather than speak in glib generalities.
I don't think I'm the one being glib here. I'm trying to both illustrate that there's a problem that truly is general and not specific to macOS, and trying to make the fine distinction between telling users to understand and suck it up vs telling users to understand so that they can better figure out how to get what they want. That latter distinction is what you seem to be having more trouble with.
Okay good talk
I'm reminded of a saying... The reasonable man expects to change to fit in the world. The unreasonable man expects the world to change around him.
Thus, all progress is made by unreasonable men. (Paraphrased)
Indeed, it is often the ONLY thing that causes progress.
The "unreasonable men" who come up with better solutions are usually the people who have the deepest understanding of what is wrong with the status quo. I don't think the people who refuse to understand the problem are usually coming up with good solutions.
Understanding is a totally orthogonal concern. Just because someone doesn't like "The Apple Way(tm)" doesn't mean they don't understand it. Believing so just gives the "Apple's a cult" type people more ammo.
What most people on this thread are asking for is to be given the ability to mold/configure things that most other non-Apple apps provide. It's a well known trope to have the Apple culture say "You are wrong, do it this other way instead" rather than "here's how you get what you want".
I still remember the apologists (circa 2011) trying to justify OS X's system-wide autosave feature when it came out despite its obvious pitfall -- users could make inadvertent edits to their documents without noticing. When users pointed out that Apple's own XCode didn't adopt that feature, the apologists' excuse was simply "IDEs are different".
What?
Autosave also has versioning. You can always go back through the auto save history. You can also revert to the original opened file. This is done from the file menu.
Also, if like a good mac user you have Time Machine configured and on, you can browse your versions further into the past.
Heavy iWork user, I don’t know about Xcode though.
Does the version browser show a line-by-line diff? When I last used it ~10 yrs ago it displayed a fancy Time Machine-like interface that was useless for telling if I accidentally inserted a character in page 11.
By 4k monitor do you mean a high DPI monitor? Not much has changed in regards to resolution support, that should always have been fine, but a lot has changed in regards to high DPI support with Wayland now having "real" (direct) fractional scaling which makes it even better at approaching the problem than macOS which has "fake" (render and scale) fractional scaling. KDE Plasma and QT apps (the default desktop environment for Fedora Asahi) should support this already, I don't remember if Gnome has gotten around to defaulting to the newer protocol yet or if it was still experimental.
Sure, high DPI. I really mean scaling.
On Linux, I plugged in the 4k and everything is tiny tiny tiny. I tried to make it a little bigger, and some stuff grows, other stuff doesn't, and some stuff just broke. Then in the end I was sort of stuck in this weird frankenstein of settings that looked like crap on any monitor. Like I said, this was over 3 years ago and the Linux install was very old at that point (I think it was a Linux Mint based on 18.04 at the latest, possibly even 16.04 still).
Mac has a slider that changes the scaling of everything, smoothly and all at once.
I probably should have just gotten a bigger 4k
If using Gnome, only use integer scaling. 100%, 200%, 400%.
KDE will have working fractional scaling for the DE and apps using QT and there you can adjust a slider to a % you like.
See but that's exactly the thing, on Mac you can just pick a scaling and every scaling option looks flawless across the board.
Integer scaling is silly for me: it's either huge or tiny.
Yes, KDE does it better and with Wayland you can also do fractional scaling. But the original point stands: it sucks on (most) linux and works flawlessly on Mac.
It's not that Gnome can't, it's that it's not recommended. Gnome actually handles e.g. 150% scaling the exact same way as macOS does: render at a higher resolution then downscale. The reason it's not recommended over integer scales is that's inefficient, not that it doesn't work. The same recommendation exists on macOS. The difference in quality of life is macOS is generally better about assuming a given display should be high DPI the first time you use that display (and doesn't even show you the tiny options at all by default in such cases). So long as you select the same scale things should seem identical between Gnome and macOS though.
Windows/Android also use the superior direct render approach. The reason you always heard about Windows having horrible scaling was due to legacy Windows apps not having an understanding of how to use scaling, the actual scaling approach itself is very good (and most all apps still getting updates should be good by now).
Not really, if you have a discerning eye.
Any non-integer resolution on macOS is rendered at twice that resolution, and then raster-scaled down and anti-aliased. So, if you have MacBook with a 2560×1400 display and you select any other resolution besides that and 1280×800 (exactly half), the desktop render will be raster scaled.
To be fair, it works better than Wayland's previous behaviour because of the 2× rendering factor, but you can absolutely still see scaling artifacts if you look for them, and I certainly do. Ringing around text in a dark-mode editor is especially obvious.
The only OS that has gotten HiDPI right is Windows.
This is just a slider in KDE these days. You tried it on an ancient system where it wasn't implemented yet.
“Better” still has some asterisks, for example though KDE is by far the best of the major DEs in terms of fractional scaling support under Wayland, it still has some oddities like Aurora window decoration themes not drawing properly with fractional scaling, limiting the user to one of a tiny handful of C++ window decorations (the overwhelming majority are Aurora). GTK apps under KDE can act a bit funny too, with e.g. your cursor drawing at 2x when hovering over a GTK window.
I deal with these things daily using a Thinkpad with a display that requires 1.5x scaling to be usable. Can’t wait for these issues to be solved and for the asterisks to disappear.
Yea, GTK4 to my knowledge until now doesn't support fractional scaling, but the new™ ngl and vulkan renderers should be able to do fractional scaling. If it's actually hooked up to do so is another question.
https://blog.gtk.org/2024/01/28/new-renderers-for-gtk/
Meanwhile linux keybindings appear stuck in the 80s
How? They exist and they're customizable, unlike Windows's.
And I'll bet you you can't bind xkill to Ctrl-Alt-Esc, and your cursor turns into a little skull-and-crossbones, and whatever you click immediately vaporizes via a SIGKILL, on a Mac. :p
I'm referring specifically to the use of ctrl as a primary key for both the shell and the ux. How did this happen?
Anyway, keybindings are certainly changeable if you're ready to dive into a hundred distinct projects each defining their own key handling. There's no truly system wide way to alter system keybindings in any meaningful sense.
On balance, I really like that Ctrl is overloaded in that way. Means that Super/Win/Cmd can be used for a wide variety of things on top.
For example, I use Super for tiling window management, launching programs, and other things. On macOS, with Yabai and skhd, you can't use plain Cmd to do that.
Overloading Ctrl has downsides, but I think it is a net benefit overall.
I mean yea, but in practice I run into frustration that the terminal doesn't have a key dedicated to commands far more than I need to do something globally.
Anyway, you can use cmd, you just need to have an actual command (non-modifier-key) to pass it—I have no use for a key that does one thing.
It happened because Windows adopted IBM CUA, and the ‘desktop Linux’ crowd had a fetish for copying Windows. Before that, X11 programs were typically fully configurable, with key bindings in X resources.
Currently I think KDE is the least-bad option, as common shortcuts can be remapped globally, but it could be a lot better — Qt can universally remap ‘Control’ shortcuts to the GUI key, but it's only available on Mac builds.
Tiling WMs tend to make heavy use of the super key. I would hate to lose all my keybinds because of copy/paste and such moving. I do think the macOS approach is conceptually cool (emacs/readline binds everywhere is neat) and makes sense, but I also hate actually using macOS, especially window management stuff. I guess if there were a way for people to have it both ways, all would be well.
I'm trying to manage working on both Linux and MacOS, and this has been the number one frustration. Fortunately, toshy.app (as well as into) exists and does a pretty great job at mapping shortcuts to match MacOS.
Your list sounds more like app related things rather than OS related things to be honest. Also, contrasting your issue list with the issue list of Linux, where Wayland barely works, audio issues are constant, the whole system is so delicate that an automatic update can easily brick the OS, 10 different ways to install apps leading to no consistency at all (flatpak, snap, .tar.gz, AppImage, native binary, apt-get, software center ...), makes MacOS sound really great.
Those are all issues with Ubuntu. Switch to arch
Upside: better than Ubuntu. Downside: wait too long to update and your computer is headed for the shadow realm.
Your list sounds more like Ubuntu related, rather than Linux related to be honest.
You must be doing something wrong. I have zero problems with Linux updates since many years.
It seems a lot of those gripes are about specific apps, or simply not understanding that MacOS does somethings differently.
By contrast I have never been able to use Linux successfully as a desktop OS because there is a dearth of polished commercial apps, and the HW compatibility has always been iffy. MacOS generally works out of the box with the HW, and the apps are generally highly polished.
I caveat the apps as “generally” because there are some turds for sure. iTunes and now Music have always been horrible, and somehow they managed to make Music even worse than iTunes.
Historically Macs do benefit from 3rd party software (see also Alfred), over time the best of it seems to eventually get baked into the OS. I don’t see that as a downside really.
This x100. I have regularly tried to set up a Linux environment, thinking that there really isn't that much of a barrier to being productive on Linux, but with the lack of polished commercial apps and the hardware quirks I always seem to spend more time finding workarounds than actually working.
I have found more recently that I can get something reasonable (for me) set up, although I'm confident I'll always need a Mac nearby to do some things on.
I didn't really run into this as an issue at all. Then again, "commercial apps" sounds largely like a relic of the 90's. It has Slack and Teams and Spotify and can run most games thanks to Valve.
Biggest thing I ran into was that MS Word is too buggy to 100% reliably read anything created in alternate programs. I know it's Word and not LibreOffice or anything because it happens between different versions of Word too.
It's always about specific apps. I need about 10 apps to work on my work machine, and if any of them is fighting the OS it would be enough to degrade the whole experience.
In the olden days it was having a decent unix comand line environment. Windows didn't, osx and linux did, and many of us switched. For others it's a good Adobe suite experience. For others it will be Excel and Office etc.
I totally sympathise with parent and Apple Music starting up every damn time the play button is pressed without a media app already started. That's a button I used to press a lot, and at some point I stopped playing music on the mac altogether.
The move to kill kernel extension nullified a lot of the historical advantage of the mac: many stuff that was changing low level behavior became a lot more unreliable . Having keyboard remappings get stuck or unresponsive for instance is a huge QOL degradation.
Linux's desktop experience also lacks polish in a lot of areas. It's not a talent or expertise issue, it just comes down to lack of resources. You can do a lot of polishing if you say here's 50 million dollars and a staff of 50, have at it.
My main gripe - how on vanilla MacOS alt(cmd)-tabbing cycles through applications first and then _all their windows_ rather than windows first, doing _nothing_ on a per application basis.
I cannot imagine how this matches at all to anyone's workflow. Nobody at apple works on a single project across multiple applications (documentation in browswr, your IDE, an emulator, some terminals, etc.).?
You have to install a specific app and give it some crazy permissions to fix those issues. Pfft
Command-` is the shortcut you want for cycling through windows within an app, otherwise Exposé/Mission Control is the layer that can be configured to think in “windows” instead of in “applications”.
Don’t forget to add the shift key to scroll backward through the apps or windows.
Some people prefer Linux (or Windows) to macOS, and that's perfectly reasonable. Some of your gripes are a little curious, though:
Writing a wonky script to fix something on boot sounds eerily like my Linux experiences.
This could also be phrased as "in some ways macOS works differently to Windows and Linux. However, there is a solution for those who prefer the Linux way."
That's Spotify, not macOS.
Yes, Apple Music opening for inexplicable reasons is very annoying.
That's just not understanding how macOS works. A 10-second web search would have ended your suffering.
That doesn't sound entirely unreasonable to me.
No one will disagree.
OP would be a bit more specific, and say "worse."
The way these modern macs are set up in terms of permissions is really strange and has put some projects on a backburner for me.
My latest woe is getting newsboat to refresh my rss feeds either as a cronjob or launchd service. On my mojave machine this was as trivial as it sounds, either a single line in crontab or a single line with some window dressing to make it into a launchd plist file then its OK. I try and do this now and it doesn’t work, since it appears newsboat runs and pulls changes but is unable to actually write changes to the cache database now.
I have gone down the rabbit hole now of giving full disk access to the shell, cron, launchd, launchctl, and the newsboat binary, but no dice. I can’t get it to work and I can’t find anything about why this shouldn’t work other than permitting full disk access. Even then that shouldn’t be required because the cache.db file sits in the users home directory.
Oh that’s interesting to me. I’ve gone deep into the automation and stuff on macOS and it really _should_ work… Do you have logs?
MiddleClick is a free app that brings middle click functionality: https://github.com/artginzburg/MiddleClick-Sonoma