I switched from Linux Mint desktop to an M1 Air last year.
Performance-wise, the M1 is very impressive, probably feels about 80% as fast as my 6 year old desktop (that sounds like snark, but it isn't). Meanwhile, the battery life is insane (I've never brought the charger anywhere but my desk, and will often use it for a week out and about).
I opted for the Magic Keyboard and Magic Touchpad, because I had a lot of trouble with everything else.
I could not get a mouse setup that worked (I'm strictly no acceleration, and macOS's acceleration was literally making my arm ache).
I switched because I stopped being a fulltime developer, my main machine was getting old (6 years), and macOS has good MS Office support.
Overall I'd say I'm about 70% efficient vs on Linux, a bit less so when in active development. The mobility makes up for it, and efficiency just isn't as important to my day-to-day for now.
Many of my gripes are listed elsewhere, but things like middle-click paste is something that is easy to write off but was actually a gigantic part of my process. Also, the fact that everything I want to tweak requires buying an app?
I had to pay for an app in order to properly emulate middle clicks on the touchpad! That's bonkers!
>Also, the fact that everything I want to tweak requires buying an app?
I find this is often the case with MacOS, sometimes with open alternatives available.
I wanted windows/linux like window snapping and found a free solution called Rectangle[0], but discovered however they do it was causing mouse lag in games. Apple dev friend investigated into it with logs from my machine and discovered they are "just not doing it properly, go buy bettersnaptool[1]"
Sure enough I go spend $8 on bettersnaptool and all my mouse lag is gone and I've got the tweakable window snapping I crave.
This is often the case it just depends if the open software solution is done "properly" or will have some small bug that may or may not bother you. Rectangle worked flawlessly in every other instance except once I would launch a game, the mouse lag was not present on desktop applications.
Rectangle is fully open source, so rather than working with the community to fix the problem you're having (about 1/10th the effort you went into debugging the problem), you instead opt for a paid app? What you do if you were using Linux?
If you have had the skills to write this comment, you have the skills to submit a bug report.
Rectangle has a simple bug report template, and maintainers would probably guide you if you'd have trouble providing the requested information.
macOS version:
Rectangle version:
Logs if applicable (In Rectangle menu, hold option, "View Logging..."):
Maintainers are used to receiving barely understandable bug reports written in broken English or a foreign language by non-technical users, and the issue can usually be debugged if the users are willing to follow directions and respond to questions.
People talk about free software but to me there’s the cost of time that’s often overlooked. Submitting bug reports is one way to help “pay” for your “free” software. Sometimes there are usability or productivity or compatibility costs as well, all costing time. But we owe it to the developers and maintainers to put in that work in exchange for all they’ve done.
Paying $8 is also valid, but I wouldn’t complain about it. It’s just the cost you choose to pay to get what you want.
Exactly, it's perfectly fine to not report a bug and pay for a different product instead. The issue starts when we attribute this to not having the needed skills to report a problem, and we defer the work to our friends. Many of us have that acquaintance who is suddenly capable of doing basic things when you stop offering them your time.
The mouse acceleration curve on Mac drives me insane. There is a way to set it to "0" with some command line incantation, but it still does not set it to 0.
Also, the fact that I can't independently control the scroll direction of mice and trackpads is insane to me. The whole selling point of Apple is that "it just works" , but I can't even get my mouse working properly! That's like the lowest bar for an OS.
> Also, the fact that I can't independently control the scroll direction of mice and trackpads is insane to me.
Oh yeah I just plugged a mouse into a work Mac recently and was super confused at this. Yes I’ve gotten used to natural scrolling on touchpads by now, but no that doesn’t mean I want it on a scroll wheel!
This starts to make sense when you see the mice that apple sells don't have wheels, they have a touch surface on top. And if you aren't using an apple mouse you're off the happy path and stuck toggling settings forever.
Yeah, I used to use a Magic Mouse years ago. They now aggravate my RSI terribly though. This kind of thing feels like Apple telling me their stuff is not for me.
I'm a fan of apple MacOS as of late, specifically because the rigidity leads to easier computer usage to me.
I'd hesitate to lump all apple fans around the few vocal ones. The vast majority of people that like apple don't push a cult of "it just works". Most people I know just recognize a computer as a computer, not an identity.
What I find amusing is just how much of an identity being anti-Apple has be come. You know, the people who will jump at any vague opportunity to profess their hate for anything Apple. I used to be in that camp.
I gave up on fanboyism years ago and nowadays I've found I like almost every platform for different reasons.
My secret to happiness on a Mac: focus your energy on figuring out how the designers want you to use a tool. Don't fight the design, work with it. Don't change the defaults, live with them.
Some folks love to fiddle with settings and tweak configs to get everything just right... but this is a recipe for disappointment when an upgrade removes the secret config you found or hard-codes a setting that was previously available as a preference.
Some of the defaults are just plain bad and assume you never want or need to use another computer. The scroll wheel thing is particularly bad. Like imagine if Apple decided all their laptops now were going to come with Dvorak keyboards instead of Qwerty. "Sorry Gram, I need to change your keyboard layout before I can solve your computer problem".
Don't mess with users' muscle memories for your design for literally no gain. That's bad design.
Honestly, I think Apple just forgets people use a mouse. The default trackpad scroll direction matches iPads and touchscreens. Their oversight was coupling trackpad and mouse wheel scroll direction. Until I had a job where I needed both I didn't really care...and I found an open source utility that addressed it[1].
I'm not sure why you're being downvoted because your opinion is (in my opinion) perfectly valid. I spent 6 to 12 months forced onto a Mac by the company I worked for and I reached the same conclusion. Learning to subjugate one's personal preferences to the way the designers designed it is a good strategy on Mac (and to some extent Gnome on Linux).
I spent untold hours on Mac trying to recreate my Linux environment, and after cobbling together a number of different tools (some paid, some not) I got it pretty close - and then a new version of the OS came out and broke everything. It took a few months before most of the tools I used were updated, and due to accessibility API changes some of them never did get updated.
it sort of reminds me of an interview someone did w/ a farmer's market vendor of gourmet jams/jellies....when they had a spread of 29-30 jams, no one bought any because it was too intimidating/confusion/bred indecision or whatever
They changed their lineup to 6 jams and sales went thru the roofff
Okay, except this is nothing like that. Computer programs can have defaults.
When you don't like the default, you go to the settings screen to change it. If you don't want to deal with settings, you never have to open up the screen.
But the scroll settings is much more annoying than that. Apple provides two completely independent settings for "Mouse" and "Trackpad". Under each, there is a toggle for scroll direction. If you toggle one, it magically and silently toggles the other as well.
That's not "simple", that's not "easy to use", that's 100% bad UX. If there's only one global setting, why present it as two independent options which are magically linked?
> Okay, except this is nothing like that. Computer programs can have defaults. When you don't like the default, you go to the settings screen to change it. If you don't want to deal with settings, you never have to open up the screen.
This is possible, but never as easy as it sounds when written down like that. Even when advanced settings are tucked away out of sight from regular users, at the kind of scale OS X or iOS operates in (or Linux, for that matter), there will be a non-negligible number of people who by accident or intent fool around with the advanced settings and get themselves into a state from which they lack the expertise to extricate themselves.
This is why Apple layer their own UX on top of Bluetooth, for example. And why many settings have no UX, you have to know the magic incantation to use in Terminal.
Again, I don't disagree, I'm just pointing out that "Making a boat for passengers AND for sailors" is a hard problem.
versus ubuntu where the kernel may be fine, but it's certainly nontrivial to bork some random config file or the nvidia/xwin/wayland configuration setup or some other part of the app layer on top of it, and rather than spend the next few hours trying to google whatever arcane setting it is, I've just thrown up my arms and wiped the drive and reinstalled the OS from scratch...
Don't get me wrong, I run ubuntu on a home fileserver/nas box but when I need it for some scientific computing package or something, the best way to run it is on top of Mac OS in a VM....
Maybe they should present it as one setting. But linking it makes sense for the vast majority of users. Because if it wasn’t you would see a flood of people asking why their mouse or trackpad is scrolling in the wring direction.
I‘m more and more convinced that the Apple way is the right way for the vast majority of users and deeper customization should only be available through the CLI or extensions.
How do you "zero mouse acceleration" people survive? I have three monitors side by side. If I went with zero mouse acceleration, I'd need a 3 meter wide mouse pad in order to be able to move the mouse cursor edge to edge! Or do you do that mouse bicycle move where you constantly pick the mouse up, bring it back to its original position, move it some more, pick it back up, and so on? Such a weird subculture :)
Way back in the late '90s and early '00s, lots of PC games with mouse look simply drew a window behind the game and placed the mouse cursor in the center. Every frame it would measure the distance the cursor traveled from center and reset it to poll for mouse movement. This meant that your OS mouse acceleration settings directly impacted how your mouse felt in game. If you've ever had a game glitch out and show a mouse cursor stuck in the middle of the screen, this is why.
Some of us who grew up playing these games got used to using Windows with no mouse acceleration. This is because it is easier to build muscle memory without it, since a certain distance traveled with the mouse will always produce the same camera movement in game regardless of how fast the mouse was moved.
How we deal with it? I think there are three factors, at least in my case;
1: Mouse sensitivity. I run my mouse at 1600 DPI, which is 2-4x higher than your typical typical cheap office mouse. I can zip across a large display pretty quick.
2: Fine motor skills. Years of Quake and other fast paced shooters have elevated my mouse accuracy above that of your typical computer user, allowing me to function on the desktop at a high mouse sensitivity.
3: On-the-fly DPI adjustments. My mouse has buttons for cycling through a number of sensitivity presets. I set mine to have 400, 800, and 1600 DPI. When something requires high mouse precision (such as photo editing) I turn the sensitivity down.
> 1: Mouse sensitivity. I run my mouse at 1600 DPI, which is 2-4x higher than your typical typical cheap office mouse. I can zip across a large display pretty quick.
I run my mouse at like 17000 DPI, then lower the sensitivity to compensate.
This gives me sub-pixel precision in FPS games.
Not that it helps much. I still have shit reaction times.
> 3: On-the-fly DPI adjustments. My mouse has buttons for cycling through a number of sensitivity presets. I set mine to have 400, 800, and 1600 DPI. When something requires high mouse precision (such as photo editing) I turn the sensitivity down.
Ahh, very interesting and very cool. That's the explanation I was looking for! Didn't realize mice had this feature or that OSes supported it.
Operating systems do not implicitly support this, but lots of mice do at the hardware level. They can be configured with software provided by the manufacturer, and usually support storing these configurations on the mouse itself so they can be used without any extra drivers or software running in the background or on operating systems not officially supported.
But then you must be sacrificing small, precise movements. Assuming your monitor is 1920 pixels across, and your mouse's DPI is high enough, you'd need to move your mouse 1/1280 inches (or approximately 20μm) to move the cursor a single pixel. How does your hand physically move 20μm? If your 1.5 inches of movement spans a 4K monitor, then you need to move your mouse 10μm to move the cursor a single pixel.
EDIT: babypuncher's reply seems to address this using on-the-fly DPI adjustment. Pretty cool!
If you use a trackball you have actual momentum to help keep the cursor moving (and no mouse surface to worry about). I usually use pointer acceleration anyway because I find it’s more comfortable for me now to make smaller movements, but in the past I’ve used a flat profile and just flicked the trackball when I wanted my cursor on the other side of the screen.
Growing up playing first person shooters has wired my mind to a degree that it's difficult to overcome the muscle memory. This makes mouse acceleration terribly frustrating. Fortunately, using a track pad with mouse acceleration doesn't use the same muscles and is much more bearable (if slower) to use.
Well the m1 only supports one external monitor so thats not much of an issue ;)
I use a Logitech G502 and I just like the high sensitivity. I don't need a huge trackpad or to pick up the mouse. When mouse movent maps 1:1 to pointer movement, your brain and muscle memory can do a much better job at fast & precise movement.
I used a total of three external monitors with the original m1, via a displaylink hub. Saying "m1 does not support it" is not accurate. Its not like a amd 3950x supports any external monitors, does it?..
The Apple m1 is an SoC, not a CPU. It is not comparable to an AMD 3950X. It is perfectly reasonable to talk about the display capabilities of an SoC, because the GPU and display controllers are built into the SoC.
Apple themselves markets the macbook air as supporting:
> One external display with up to 6K resolution at 60Hz[1]
And yes, I'm aware of the display link hacks. This works by emulating extra GPUs in software (VGC). The m1 supports multiple displays via display link in the same way MacOs runs Gnome via an Ubuntu VM.
You mentioned the M1, which is an SoC, not a computer. So when you said the M1 only supports one external monitor, you were being vague and incorrect. The M1 Mac Air only supports one monitor, but the M1 Mac mini supports two. If you expand the M1 SoC to encompass both the Pro, Max and Ultra versions, you can connect 3, 4, and 5 displays respectively.
14-inch or 16-inch MacBook Pro with M1 Pro: Two external displays at up to 6K over USB-C and one at up to 4K over HDMI 2.0
14-inch or 16-inch MacBook Pro with M1 Max: Three external displays at up to 6K over USB-C and one at up to 4K over HDMI 2.0
Mac Studio with M1 Max or M1 Ultra: Four displays at up to 6K over USB-C ports with Thunderbolt 4 and and one at up to 4K over HDMI 2.0
Displaylink is not a hack. Its commercially supported. You buy a displaylink hub, you can pick up the phone and they will sort out your problems. The same tech is used, for years, to provide multimonitor support for laptops in corporate offices. This was always the surest way to allow all sorts of dell, lenovo and apple laptops to work with multimonitor setups. Its not without flaws, but it does work. Saying "m1 does not support more than one ext monitor" is misleading; it sure does, with the extra (and not necessairly cheap) accessory.
Hated that I couldn't flip scroll direction because I wanted the trackpad to be natural and mouse to be inverted. Found this: https://pilotmoon.com/scrollreverser/
The acceleration seems to scale with the mouse sensitivity setting. With the setting at 0 there is very little or no acceleration. You'd need a mouse with adjustable dpi setting to use it like that though.
> Also, the fact that everything I want to tweak requires buying an app?
I had to pay for an app in order to properly emulate middle clicks on the touchpad! That's bonkers!
Yes I have noticed this too! I love my MacBook, but the idea that I would pay what, $20, for the top tier window snapping app is completely ridiculous. That’s something that should be built in to the shell!
I love Rectangle. I have a couple of external displays, and a 25 key macro pad. I've assigned various buttons on the pad to move my windows around using Rectangle.
The audio behavior is always a little funky on macOS, for the specific steps given I think the problem is that the 'play' button on the keyboard is more like a 'resume' button really, which can cause it to do seemingly bizarre things if you haven't been doing any audio recently. I would expect that if you clicked play in Spotify, then pause, then hit the key on the keyboard it should behave.
This. I get the M1 must be very good but what I really want is something I doubt I'm going to get: native Office support in Linux. I use Office rarely but on those rare occasions it sucks to use Office 365.
Depending on your needs I find older Office versions play pretty well in Wine. 2007 is insanely easy to install and 2010 isn't too bad with PlayOnLinux or Crossover. Word, Excel and PP work very well although as you get outside those it's less good.
But the kernel is wrong. I kind of buy this philosophically until I tried it. It just feels like you put the the wrong person in control, while all the time you really want to deal with another.
> I had to pay for an app in order to properly emulate middle clicks on the touchpad! That's bonkers!
That’s just the traditional way in which the Apple ecosystem works. They provide you with a pretty phenomenal starting point and App developers fill in the gaps.
Base macOS with Amphetamine, Magnet, and perhaps some utility for file/network access provide you with a desktop experience that comes close to the productivity of a tiling window manager, but certainly meets or exceeds the features built into Windows 10 or KDE for window management. Plus you can use AppleScript if you really want to get creative with desktop management.
The problem is that most of these apps are only available in the App Store which can only be used if you dox yourself to Apple (an Apple ID requires an email and working phone number).
It also transmits your hardware serial to Apple when you use it.
> Custom hot keys are easy in MacOS settings menu.
I use this feature all the time. Unfortunately, lately there seems to be a goblin in my system that's occasionally going in and deleting App Shortcuts for a specific app and I have to re-create them. Any ideas? I was thinking the app was getting updated or something like that so Mac forgets the settings.
It seems like an oversight to have a physical backlit button with play/pause icons on it taking up space on the mac keyboard that can't be generally used to play/pause applications.
It's like making TVs you can install arbitrary applications on, but shipping them with remotes with branded buttons to open one or two specific preinstalled applications.
This doesn't work. Mouse acceleration isn't exposed using a defaults key anymore. You need to use a tool like linear mouse to modify the scaling value.
In the before-times, in the long-long-ago, we could modify basic system settings from a nice discoverable GUI control panel. Why is the future year of 2022, no doubt filled with flying cars and personal jetpacks, continually found to be unable to deliver features we took for granted in 1995?
2 of these 3 things, I have done multiple times on a Mac. Mounting NFS is natively supported in macOS and has been for nearly a decade. Mounting SSH is supported by 3rd-party tools, yes, but they're the same cross-platform 3rd-party tool you'd use in Linux... sshfs, which is built on top of FUSE, which is something you can install on a Mac and is not installed by default in most Linux distributions (although fair enough it's installed by default on Ubuntu).
The only thing I wasn't familiar with is MTP, which is apparently a Windows-specific protocol that Microsoft forced into the USB standard in later versions, and as far as I know across decades of using Linux, BSD, Windows, and macOS across multiple computers on the same network with shared peripherals I've never even used this protocol.
What's the complaint again?
OS choice is mostly a personal preference. As far as I am personally concerned, FreeBSD is the best OS possible to use, and macOS is second best. But I don't write blog posts telling people that their preference is incapable of doing things my preference is capable of doing, and if I were to do so, I'd at least do my research first to make sure it was correct.
" ... sshfs, which is built on top of FUSE, which is something you can install on a Mac ..."
I've given a lot of thought to ssh/sftp mount points (for obvious reasons) and the standard recipe (and support answer) at rsync.net has been FUSE/sshfs.
I've even written a handful of scripts and one-liners to support my personal use of sshfs on my own machines, etc.
But lately ... I've just switched to using "Mountain Duck" which does everything I want and is quick and easy and slick and professional.
I forget what the license cost is, but it's worth it. The "official" FUSE for OSX and sshfs packages were getting old and came from odd sources (sshfs for mac is from 2014) and I don't think you can 'brew install' them, etc.
You can install sshfs via brew, but it works a lot better if you just download the package manually.
That being said, I wouldn't recommend using sshfs on Mac. I used it for about a year, and about 90% of the time it worked great. The rest of the time it would hang, just not sync, not let me write files, etc. and every couple of weeks it would break so badly that a restart was the only fix, usually at the most inopportune times.
I ended up just grabbing an old external hard drive and installing syncthing. The remote server still has all the RAID and backups and whatnot, but now I basically have a local cache on the old hard drive, so it works consistently and is fast. If it breaks, oh well, I'll get another one and sync it again.
I remember at some point it would hang and becomes very difficult to remount after that. There was an issue that has a work around but wasn’t fixed by the time I give it up.
I created an HN account just to second this comment. I still can’t understand the thought processes that goes into similar blogs that like to trash one OS for another or another.
If you like something, awesome! But making something else look bad because you didn’t like it does not make your thing any better.
The article uses the phrase “objective fact” in the introduction which, to me, is a huge red flag, and it ultimately served as an accurate predictor of what was to follow. There are plenty of things to criticize in macOS, but the complaints in this piece were inane, inaccurate or overwhelmingly nit-picky.
MTP is used by basically every single Android phone and tablet. It's also used by some other devices like MP3 players. Because of the first point it's actually extremely widespread...
Garmin watches apparently are Linux-based but with Qt UI. It doesn't look like they directly use Android/WearOS (or the SDK would be Java or a compatible language), but likely they re-use many of the same lower level Linux features.
I know fanboy debates are tiresome, but... I really do struggle to comprehend taking a device that can't do these things seriously as a computer.
As a toy yes, or as a specialised tool for video or audio rendering, which... fair enough. But moving bytes is something any general purpose computing device should be good at. It's almost something you have to actively design out. It's certainly a deliberate, non-budget-constrained choice from Cupertino to be bad at this.
Crap like "should Apple be [scanning for CSAM | scanning for copyright | scanning for anti-CCP | whatever I've almost stopped caring ] before uploading to iCloud?" exists primarily because the devices are so bad at moving bytes around without relying on iCloud.
This article feels a bit like the author didn’t look very hard for solutions to a lot of their problems, but instead skipped straight to writing an article to complain about things they didn’t understand.
OSXFuse is now replaced with sshfs, but it’s now a PITA to install it via Homebrew because macFUSE, a dep for sshfs has turned closed-source and Homebrew would refuse to install sshfs for that reason.
You’d have to install macFUSE binary from their official site first, and load their kernel extension via the GUI, before running the Homebrew command to solve it.
Which begs the question: if I’m already jumping through hoops to get SSH mounts on macOS to work, why not use Linux already?
It’s easy to say so now that I’ve gotten it to work, but the whole process isn’t documented at all on any website.
I daily drive macOS, Debian, and Windows (for personal & work purposes) - the same can be said for Linux (auto mounting a WebDAV share on boot), but at least:
- Linux’s documentation is much more comprehensive than Apple
- whatever you do on Linux some guy from 2003 would have already done so, whereas going from Catalina to Big Sur would’ve seen some big process changes and deprecations
- Intel vs M1 compatibility concerns galore, the only times I need to worry about that on Linux is when I run VMs and LXCs on Proxmox.
>whatever you do on Linux some guy from 2003 would have already done so
Ah, sure, but that was pre-systemd. Or maybe the solution was for XFree86 and now I'm on Wayland... Or an interesting incantation of ifconfig, which might not even be installed by default?
I am installing Garuda Linux on a MacBook Pro later today. I have never installed Garuda before. I will let you know how it goes. After a good experience installing Manjaro on an iMac, I am expecting it to go well.
> written from my frankenstein arch linux macbook pro
oh... oh you poor soul :P
I used to use Arch on a high end gaming laptop when I was younger and had time to waste on things like dotfiles and perfecting my vim config and jumping through hoops like Bonus level Sonic.
Now I opt for lovely simple boring functional Dell laptops from my employer and install Fedora on everything.
Out of Windows OSX and Ubuntu/Arch/Fedora/Sabayon (Gentoo variant), Fedora wins the "everything just works" thing by miles on the supported Dell HW and _still_ supports stuff better out of the box with my home desktop.
Yeah yeah I know everyone's experience is different, but...... Out of using all of the operating systems on the daily for 15 years, linux is the one I consistently begrudge the least.
The main reason I switched over to a windows box (after WSL2 was released) was because I hate dealing with obtuse hardware and driver issues.
I am a software engineer, but I work in user space and have zero interest in managing hardware issues. When I plug in a device to a Mac or Windows box it just works 95% of the time or more. I never have to touch textual config files, I never have to adjust DNS settings and routing settings to work with the VPN, when I plug in my headphones it plays audio through them, and my webcam works nicely. I don’t have to use the terminal to get my GPU to kick in at appropriate times.
I have tried to make the switch to Linux so many times, I love the computational model, but I’m too busy to spend my time working out the user experience, and too cheap to use a Mac now that WSL2 gives me a real Unix environment on Windows.
“Cheap, User Friendly, or Dev friendly, pick two” Was my mantra before WSL2 made windows dev friendly too… I’m not a fan boy for Windows, just too lazy to care anymore. I’d be happy to try Fedora…but I have my doubts…
> When I plug in a device to a Mac or Windows box it just works 95% of the time or more.
I quit using Macs a long time ago because I find I have to spend way too much time configuring them and adapting to the workflow, but between Windows and Linux I find devices work pretty much the same. If anything Linux has a better success rate, things "just work." On Windows it seems like every single time I plug in a mouse Windows starts "installing drivers." Even though it has the drivers. Usually "installing drivers" seems like it's a nothing but sometimes it actually seems to be downloading things and installing them while the PnP mouse already should work.
Definitely, as a rule plugging things into Windows it can take 10-15 seconds to pick up while Linux works much faster on average.
Don’t want to jinx it but the process has been painless. Technically I’m using EndeavourOS. Had to install with a USB wireless adapter but after the driver, it’s great. Everything “just works” including suspend/wake with lid, keyboard backlighting, brightness/volume fn keys etc.
"You’d have to install macFUSE binary from their official site first, and load their kernel extension via the GUI, before running the Homebrew command to solve it."
Agreed - again, from someone who has given a lot of thought to sshfs and mounting ssh/sftp on OSX.
See my reply to a sibling-of-your-parent, upthread: use Mountain Duck.
Have you personally used OSXfuse/sshfs? it really sucks to get working properly and set up. I had it all working on my x86 laptop finally then upgraded to m1 now it's back to being broken again.
I wonder how much Cunningham's Law contributes to flakey search results? I can totally see people using it to game places like Stack Overflow which are far too trigger happy about removing duplicates.
How many of the functionalities the author misses and doesn't want to install "unsupported 3rd party tools" are NOT 3rd party tools in ubuntu?
Ubuntu linux is a distribution, and only a very very small set of tools and functionalities is "Ubuntu", all the others are simply packaged up 3rd party tools
These 3rd party tools are tested and supported by the distribution though.
It's a big strength of Linux distributions. There is one central, easily reachable place where you can report and track bugs for pretty much everything you do on the computer.
Obviously there are no guarantees that things will be fixed (fast) if you don't pay some sort of support but that's fair enough and still, the maintainers usually want the stuff they package to work reasonably well (they wouldn't spend their time packaging it otherwise) so one can expect a minimum level of functionality for most things unless explicitly stated otherwise.
The supported area for Windows and macOS from Microsoft and Apple is small in comparison to BSD and GNU/Linux distributions and good luck reaching them anyway.
And no less importantly, on a Linux distro these 3rd party tools are installed with native package management tools from a (minimally) vetted source. No need to go out and search the wild web for forum posts of suggestions of which tools to risk your install on.
It's reasonable to have unfixed bugs for years if they are not really blocking many people (and even if they did, but that would be too bad). Maintainers are focusing on other things that need to be done (or not, anyway nobody is supposed to fix bugs for free if they don't want to).
In this case, launchpad works as intended, as a place were you can track the (non) progression of your bugs.
Me too, probably, by the way (in other projects). My bugs reports are more like FYIs to the community.
If the problem is in the software provided by a package, most of the time you can report them in the bugtracker of the distribution, but it wont be fixed/supported by the distribution since the bug is upstream.
Mac OSX is also a distribution, containing (formerly mostly GNU and now mostly BSD) third-party utilities. However, the surface area that Mac OSX tries to cover in terms of real UNIX utilities is getting smaller and smaller.
It's almost ;) as if Apple doesn't care if real UNIX people prefer their laptops anymore.
Apple has moved on, to a bigger and far less demanding market: "real" people who have never heard of the artist formerly known as UNIX.
In my case I use sshfs, which also uses FUSE and is a "3rd party tool". Is that more reasonable than osxfuse? (Honest question, I'm unfamiliar with the latter)
edit:
sshfs is "unsupported": "However, at present SSHFS does not have any active, regular contributors, and there are a number of known issues (see the bugtracker)."
gvfs-sftp counts as native to me if you're using a gnome desktop. The author is using a fullfat gnome distro like Ubuntu, so it's probably even preinstalled.
I wasn't familiar with that (I don't use gnome). After a quick lookup, it seems it doesn't even use FUSE - but it does have a "fuse bridge" for interoperability with other apps.
Apparently this supports a bunch of other "virtual filesystems", like Google Drive, as well.
Since it's part of Gnome, I guess it's fair to compare this with MacOS and consider it "woking out of the box".
It is, I have been doing diff of files from different remote machines using meld and gnome gvfs mounting for years. It works out of the box and is really mature.
Only thing app that wasn't working well with gvfs was libreoffice. I don't know if it is still the case but it refused to handle a file gvfs mounted on my NAS regardless of the protocol (ssh, smb, nfs).
..and MacOS lets you mount an nfs share ootb as a user.
On linux you need an fstab entry for that though that is really not an issue at all.
How you ask?
You do this with the mac specific command: mount_nfs
Here is how I use it to mount shares from my NAS.
$ mount_nfs -o nolocks,nfsvers=3 /home/nas/myshares/nfs /Users/bob/nas/nfs
I think you are misreading the author, their point is all this works by default on Ubuntu and not on Mac with the exception of NFS.
It's not that there are no solutions, it's that the author and as a matter of fact I too resent that we have to look for solutions.
From my point of view when I plug my phone in my linux box it just works but when I plug it in my Mac nothing happens, thus MacOs is an inferior operating system. As in it fails to operate in the manner I would like it to.
And if you’re deliberately installing unsigned drivers, the assumption should be that you (should) know what you’re doing. So disabling Secure Boot/SIP as a prerequisite for that is fine.
Or are you suggesting that everyone should be able to install unsigned drivers with 2 clicks? Because I’m not convinced that it’s a good idea.
> Or are you suggesting that everyone should be able to install unsigned drivers with 2 clicks?
Actually I am ("signing" with one CA only is mostly security theater and market control), but that's besides the point. The point being that macfuse will quickly become even more of a pain to install and use, making it more useless and not recommendable to end users.
Please don't go around another time and now claim "but you can disable SIP!" while at the same time claiming "but end users should not disable SIP!". We are effectively an end user here. If you "need to know what you are doing" to install macfuse then no one is going to install it.
It's exactly the same as with Secure Boot. No one wants the Scary Boot Prompts. No one wants the Scary Desktop Watermark. Your users will blame your product and avoid it.
If you could just whitelist one extra signature, then maybe there'd be something to discuss. But you can't.
I'd not heard of MTP before, so looked it up: "MTP is part of the "Windows Media" framework and thus closely related to Windows Media Player."
I wonder, can Windows natively work with APFS volumes..? I know with extra software it can, but then with extra software macOS can do all the things in the blog post too.
There is at least one thing I can do on macOS though that I can't on Ubuntu: run the latest version of Photoshop in a stable manner.
> I'd not heard of MTP before, so looked it up: "MTP is part of the "Windows Media" framework and thus closely related to Windows Media Player."
This comes from [1] which is an interesting page.
It's a de facto standard though. And now specified in the USB standard. Android devices expose themselves using MTP when connected with USB for instance. I think the goal was to allow devices to expose their media data / receive media stuff from the computer while still being able to be used. Exposing as a mass storage device was problematic because conflict could happen when both the device and the computer tried to access the drive, so at the time, most mp3 players just couldn't be used both as a mass storage devices and as an mp3 player at the same time. You can still use your Android phone while it is plugged as an MTP device (fortunately).
Though it seems something like Samba, NTP or sshfs could have been possible. I don't know what is the full rationale behind the choice of developing a custom protocol. MTP probably provides some features that makes it easier to manage media stuff. I've not looked into it much. It does extend the Picture Transfer Protocol (PTP) (used in digital cameras) which is an ISO standard so it's not completely custom neither.
Apple went with their custom iTunes-related protocol with the iPod, the iPhone and the iPad, because why not.
MTP is necessary because Android uses ext4 (or maybe some use f2fs now) and so a Windows host would not be able to read the filesystem, as a mass storage device
> I wonder, can Windows natively work with APFS volumes..? I know with extra software it can, but then with extra software macOS can do all the things in the blog post too.
This is almost like saying that devices don't need to support dealing with USB sticks formatted with FAT32 because the file system originates with DOS.
MTP today is one of the more prevalent protocols that many devices (including most if not all Android phones made in past decade) use by default.
I briefly considered penning a response called "Things I can’t do on Ubuntu which I can do on macOS" and then realised nobody has that much free time, especially me.
I think you are making an understandable misreading (but perhaps i am!). MTP is a standard promulgated by the USB Implementers Forum [1], just like the mass storage or human interface device protocols. What that paragraph means is that on Windows, MTP is dealt with by the media framework, as opposed to being part of the storage subsystem, as SMB and NFS are. Why is why you can't access MTP devices as if they were volumes on Windows.
This reads like "my use case defines what a computer is," which is absolutely as tiresome an argument as any fanboy debate.
I imagine iOS can't do those things, either, and yet an iPad is the computing platform of choice for an awful lot of people because it meets their computing needs. Examine your biases here.
(1) Good hardware with good software support goes a long way. I'd say that iOS is much more of a polished OS than macOS. No wonder, considering that it's the iOS devices that fuel Apple's profits, not Macbooks.
(2) For a lot of people, an iPad is more of a consumption device, or a device to run 2-3 specialized apps (e.g. for drawing or music). Maybe they would be glad if iOS offered wider universal computing capabilities, but their choice of a powerful and mobile device is pretty limited.
(1) It depends, as ever, on one's needs. iOS is limited by design in order to deliver the things it's intended to do more smoothly. There's a lesson there.
(2) Many people really only use any computer as a consumption device, but the general ding of iOS as "read only" has always rung hollow to me. A large number of people work primarily with text -- emails, posts, documents, spreadsheets, presentations. An iPad with a keyboard is a GREAT tool for them, and that's not a "read only" use case.
As an aside, when I last updated my camera kit I added an iPad Pro to use for photo processing and culling when traveling instead of a laptop. It's actually GREAT for that, too, but this level of power is relatively new to the platform.
Your #1 is not a valid statement. OS, be it Mac, iOS, WatchOS, TVOS has a huge shared codebase. It's all OS, tweaked to the particular need of the hardware.
I daily drive a mac, it earns me my living doing everything from development to writing specs. There's a bunch of compromises, weird decisions etc, but none of them are holding me back from doing my job. I vastly prefer this setup over windows and wsl.
I do find it interesting how strong the Apple anti-fanboy sentiment is though. Rarely do I hear people rabidly defending Apple around me. It's a tool, like a DeWalt drill or Milwaukee saw. It gets the job done, and of the tools I have to choose amongs I prefer this particular one.
Why are specific protocol support needed to be a general purpose computer and not a toy/specialized tool?
Nothing prevents people from writing programs to support this on the Mac, so it's a general purpose computer. Its like saying linux is bad because it does not build in X that I personally use on a daily basis.
No, heck, there are apps like Mountain Duck that do it fine. I should know, that's how we did share drives for offsite staff during Covid. There are plenty of free apps, I just went with a non-free option.
Comparing a stock Mac OS to a Linux distribution with packages installed is pretty shady.
ROFL. Yes, "as a toy". Things that 99.9% of Hacker News (and 99.999999% of the general public) has literally never had a need to do, their absence surely just invalidates it.
Hot takes like yours are what make HN a hilarious joke to the rest of the world. Embarrassing.
> As a toy yes, or as a specialised tool for video or audio rendering
I think this is a useful framing. Apple markets an appliance like a microwave or a refrigerator — both of those are computers in a sense but function only in a specific narrow capacity. You can warm a potato (if it’s in one location and the door is closed), but you can’t move arbitrary bytes around regardless of the capacity of the underlying hardware.
On your Mac you have a way to watch movies, play music, even browse the web. General purpose computing I think is just not the overall goal of these devices.
I'm willing to accept your argument that a Mac is not a general purpose computer. It then begs the question of why these devices are so popular for software development...?
Software Development is also a specific purpose. One that has a much broader range of requirements than (e.g.) a microwave, but still. It is entirely possible that Macbooks fulfill those requirements while lacking some other properties required of a general purpose computer.
(I'm not claiming that that's true - simply that your implication that "it is necessary to have a general purpose computer in order to develop software" is untrue)
Yep. My notion isn't so much that you need a general purpose computer to do software development, but more that people who are interested in doing development are more likely than most to be interested in general-purpose computers.
I think it’s more of a trajectory than the current state of the world to be quite honest, but if you’ll engage with my more conspiratorial speculations — you can imagine software development would have to be one of the last activities to be subject to severe tool restriction out of the box.
I think a lot of this will happen under the goal of unifying the laptop and phone/tablet experience.
I switched from Linux to MacOS around 14 years ago.
With Linux it's not only that I could change everything (system font, acceleration of the mouse pointer etc), but I literally HAD to do it. First days after buying new laptop and installing Linux I had to spend of configuring everything – from mouse pointers to Google calendar integration, often with obscure command line or config setups.
That was fun.
Until I bought first Macbook Air and discovered that I don't need to reconfigure everything anymore. Touchpad had just perfect speed/acceleration of the pointer. Mail/calendar/contacts was syncing out of the box. Fonts were awesome. Screens and external montiors just worked. Wifi just worked. Hybernation/sleep just worked.
So this is true on Linux you can configure way more than on MacOS. But the reason behind it is what keeping me with Macbooks all these years.
The last 14 years have seen a lot of changes to linux desktops and window managers. There are several high quality options that require very little to no configuration to have a pleasant experience.
Hardware wise, things are a bit mixed. I'm writing this from an LG gram that runs perfectly out of the box- screen, wifi, sleep, everything Just Works. The battery life is fantastic.
The only real configuration that I've done is the same configuration I would do on a mac anyway via karabiner / hammerspoon.
I've used Linux for 20+ years. I have to give it to Linux Mint, it's almost there, like 95% there. The remaining 5% is painful, but ignorable enough.
Desktop linux has come a long way since the Corel or Mandrake Linux days.
I use it in my PC nowadays and it's ok. I think the current iteration of the nonworking hardware (before it was soundcard/winmodem/bluetooth/graphics) are Laptop technologies like multi monitor with right resolution or fingerprint scanning.
Linux has always had problems with hardware though (not your fault, but still your problem).
So much this. I realized I want to use my computer as a tool to perform work and consume entertainment, and not as a hobby in and of itself.
I used Debian sid for about a decade and later switched to Ubuntu for a few years before biting the bullet and buying a Mac around OS X 10.5 (Leopard). I'm extremely thankful for my Linux years, as I gained now-invaluable information about low-level system issues that I use nearly every day at my job. But I don't think I'll ever use it as a desktop operating system again.
Similar experience here. My macos (actually pretty much all my apple devices just work). Could it be better? Sure, in some cases…but does it work well enough…definitely.
I watch other folks spend hours and days tweaking up a new machine. For me, I could swap out my Mac in less than an hour and likely have an identical user experience. That to me has more value than hyper levels of control.
Lots of replies saying Linux has changed. My experience is that it’s exactly the same: potluck. For some people, things just work, for most people they mostly work, and for a good chunk of people it’s a lot of effort to get a usable machine.
I switched to Mac around 2009 and have regularly gone back to Linux. It’s just not appropriate for a workhorse machine that you don’t want to have technical problems with, sadly.
I have a friend who loves Linux, has used it and nothing else since the 90s, and he said he would still never recommend it for anyone but a tinkering hacker.
Linux machines are great for dev, but terrible for any kind of management, and the UX generally sucks. I love Linux but it is not the right tool for the job unless your job is pure dev or you enjoy tinkering. Mac remains the best compromise, but it is a major compromise.
True. But have you tried the latest Ubuntu for example? Everything works out of the box on my HP EliteBook. Touchpad works great as well. I didn't need to configure anything.
Time hasn't stood still. Both Windows and Linux have improved tremendously.
Sure, I have huge respect for Linux and confident that it provides decent experience nowadays. If I have had extra money, I would definitely buy some latest ultrabook and install one of the latest Linux distros. Not to much incentive though, as I'm a bit locked into Apple ecosystem now (M1 is sick, insane comfort with stuff like airdrop, copy/pasting text from phone/tabled into laptop, iCloud etc).
I like this post. For the first time someone actually provided a list of things and more so jumped right into them! Most of the apple posts go into a long philosophy rant about walled gardens and other bs. Glad to see a legit list and they have a legit point.
Exactly, both informative for MacOS users and those who never used it.
MacOS users can quickly scan and think yeah I don't care about this feature, or think huh this is something that could be useful and maybe I should look for a 3rd party app which has this.
Those considering switching to MacOS can compare to their existing environment and have a greater picture of what possible pain points to expect.
I would like to see more of posts like this for all Desktop environments. Like things you can do in MacOS but not in default Ubuntu setup.
This list is personal and far from exhaustive (which is fine). If I quickly scanned looking for things I care about, I'd find very little. However, as a Linux user I could very quickly come up with an equally long list of things that I do care about and that does not overlap much with this one.
I think the larger point is: in Linux, some things are complicated but most things are possible. On Mac and Windows, some things are easier but many things are impossible.
So there's definitely a tradeoff. But since I have to use this tool for the majority of my waking hours in order to make a living, the ROI from taking a bit longer to solve an issue and then having it solved virtually forever makes Linux a better proposition IMHO.
> On Mac and Windows, some things are easier but many things are impossible.
The obvious caveat is that many things are impossible out of the box. There are plenty of tools available to address a good number of the shortcomings mentioned in the story.
> Why do we need a trade off between stability and control?
There isn't infinite time and money in the world. Every hour making one feature more stable means an hour not invested in another. Flexibility and control are just additional features. If you want to change the system font, you have to test (and support) a much wider array of things, especially if your UI guidelines are as restrictive as Apple's. Every piece of control you expose to the user increases the engineering cost of writing and maintaining the software.
And frankly, if more people wanted that level of control, this year TRULY would be the year of linux on the desktop. But they don't.
It's not just control. It's control plus stability, as we said.
Control is deliberately withdrawn to preserve the commercial interests of the producer, not because it is technically impossible to add it to stability.
You want stability? Provide a perfect default configuration. You want control? Allow tweaking that configuration in detail for users that are willing to do it.
I was actually a bit disappointed in the article. I thought it was going to explain some kind of substantive work or task that the author can do on Linux but not Mac OS. Instead, the things he lists all boil down to Mac OS being a lot less customizable.
That absolutely true but I feel like we all already knew it.
I'm always amazed at how many little third party utilities or programs people recommend downloading or buying just to bring the desktop experience on macOS up to parity with Linux (or even Windows!).
The lack of snapping/tiling at this point is just a deliberately malicious decision. I can't fathom why they will not implement some version of this better than that half-hearted split screen view that requires a separate virtual desktop.
> Like he wants to move the clock. Oh my god just leave it where it is
> and get on with your job.
I have an ultrawide monitor. I would very much like for the macOS clock to be centered in the menubar (except when using the built-in display, which for some ungodly reason has a notch in it) or failing that at least to the left of the menu icons. It makes a huge usability difference for me, as otherwise I have to physically turn my head, and sometimes crane my neck depending on how my eyes are treating me.
This is impossible out of the box, and maybe possible depending on what third-party tools I hack together. IIRC command-dragging used to work on the clock, but either it never did and I'm misremembering, or the clock and the iOS-replica Quick Settings panel are special and exempt.
> I'm amazed that people don't just use the software as it's designed.
Why? Sometimes it's badly designed for a use case you're unfamiliar with, and needs a fix. Sometimes it's just hobbyists being hobbyists. This forum is called "Hacker News," after all.
I don't know - I'm a big fan of sensible defaults, lack of customisation (so lack of entropy) and just getting on and using it as designed, rather than trying to bend it to be something else.
I'm not sure there can really be any reasonable requirement to move the clock. I think that's just being fussy.
For every wacky feature or option someone wants, that has to be built, maintained, tested. Every boolean option you add doubles the state space of the application!!
Less is more. This blog post is a set of requirements for a Homer car, not a sensible professional tool.
You believe moving the clock is a wacky feature? You can already move the macOS dock, so its not like it’s unheard of in that world.
Sensible defaults are great, but after spending most of your day glued to a screen, you start noticing little improvements to your workflow. e.g. i dont want to turn my head all the way to the right to look at the clock (using external monitors)
Thats not a big change, but I believe the sum of all those little changes add up
> This blog post is a set of requirements for a Homer car, not a sensible professional tool
"Professional" is a wide category for sure, but I would argue professionals are the ones who need more customization, not less. They are the ones with esoteric tools and workflows, and where customizing their environment to match how their mind works allows them to focus on the problems at hand and not their tools.
> For every wacky feature or option someone wants, that has to be built, maintained, tested
True. However, these are trillion-dollar companies. Look at all the options for cars, or refrigerators, or whatever. And all these have the constraints of the physical world. And all made by companies with a heck of a lot less cash than Apple and Microsoft.
> I'm a big fan of sensible defaults, lack of customisation (so lack of entropy) and just getting on and using it as designed, rather than trying to bend it to be something else.
This does seem to be the basic philosophy Apple has adopted for its devices. Which is why I don't use them. I don't like their defaults (which means the whole concept of "sensible defaults" doesn't really make sense except in reference to some particular set of users, and there are many such sets with different preferences), I like being able to customize things (because my idea of how I want to work is never the same as some designer's idea), and I'm going to be doing things that the OS designer didn't think of (particularly since I'm a developer). In short, my experience with Apple devices is that they don't let me work the way I want to work. So I don't work with them.
> For every wacky feature or option someone wants, that has to be built, maintained, tested.
No, it doesn't. We seem to have forgotten that there are more general ways to think about software and engineering and math and the world.
You can just design a system that is guaranteed to work fine:
- regardless of where widget X is positioned
- regardless of what font and font size (from an interval) and color is selected by the user for a certain UI components
- ...and you can have all UI on all apps on the whole computer be customizable in the same way without having to write any (zero!) extra lines of code by just inheriting functionality for some common components
- etc.
You don't have to just dumbly test all scenarios to guarantee sane global behaviors of systems.
And you don't get the burden of maintaining the "test cases for all possible scenarios" because you just don't write those tests in the beginning, they are useless in a well behaved system that follows LAWS and properly preserves INVARIANTS and just burn money through their tests-maintainance costs! (Like lots/some of pre-web systems actually were!)
We've now built for ourselves a crazy computing world where there are no longer stable (across years and decades) contracts, laws and invariants in software, so we have to defensively code and over-test everything! We could've had-the-cake-and-eaten-it too if we would've just put the effort of building more solid software foundations for ourselves, but instead we're torturing ourselves building Electron web apps on desktops in languages with lacking or handicaped type systems and run them on operating systems that offer no sane components with contractually guaranteed interfaces...
</rant>
...imagine if physics worked like that, you'd have to re-test the laws of physics every time you wanted to build a house because the laws could vary by neighbourhood and not even basic invariants like the conservation of energy were guaranteed to hold. Oh, you can't just ask for more than a 1-room rectangular uncostumizable house of standard size, because properly testing anything else doesn't crash on you in our universe with non-uniform physics is just too expensive! Just get used with you sensible defaults citizen, stop questioning the party and the world!
Funny enough he's answering your complaints in the last paragraph. You're telling him he's "holding it wrong". Except individual taste can rarely be wrong.
Nobody said his taste was 'wrong'. I don't even know what that would mean?
I'm saying he'd get more out the tool by learning and embracing the design of it, rather than wishing it was something that it isn't. Go with the flow, rather than fighting it. Reduce entropy not create it.
I was recently playing the remastered Dark Souls on Switch. For some reason, they used the Japanese button mapping of B and A rather than the usual mapping in the US. And you couldn't change it.
I mean, no big deal, I can learn the new mapping. And I mostly did. But even after 50-100 hours, I would still occasionally press the wrong button (accepting rather than cancelling). The previous configuration was so ingrained in me that I could not overcome my muscle memory without conscious thought.
So even when I really try to "go with the flow" there is friction. People come from different backgrounds, using different software and different paradigms, and it's not really easy at all to remap their way of thinking, even if they want to.
It’s the difference between being able to decorate your room and put things where they make sense for you vs. being given a cookie cutter room with everything bolted to the tables and floors. Can I use the latter? Sure. Is it functional? Sure. Would it feel like home? Not really.
Or you can design the system generally enough and solidly enough in preserving useful invariants that adding wobbly windows to it would be "trivial", and testing it would not even be worth it!
Decades ago a Linux window manager drawing engine added wobbly windows just to show off that with their new system was trivial not because anyone needed it or wanted it! This is the kind of software and attitude I love and want to see everywhere! Doing something so well that the cost of a "luxury" feature drops to almost zeros and you just add it to show off in some free time :) Unfortunately not all of Linux is build like this and most of its parts are not really compatible with each other so they need to be forcibly ducktaped together by layers of glue code to resemble a full system, but that's a different story...
There's different ways to think about software and do software than our hellish local maximum we're stuck in... you're just going full "stockholm syndrome" and justifying the badly designed an non-extensible non-generalizable systems we're stuck with because doing things differently would've generated 5% less profit in the last quarter :)
Having different preferences, and using a different platform that serves them better, is absolutely fine.
Deciding that the platform that doesn't meet your needs is somehow illegitimate, "not a computer," or somehow morally unacceptable is juvenile fanboy crap.
Your game console, your smart TV, and even your microwave oven all have computers inside, crucial for their interaction with you. But they choose to not expose to you the general computing capabilities they possess. (Yes, there is a reason for that.)
Truth be told, a Macbook does expose itself as a general computing device all right.
There are different brains out there, and they think differently, and understanding that is half way to developing empathy, but also extremely important when developing accessible applications.
Maybe I don't want to see the clock whenever I look at notifications, or vice versa, because that's extremely distracting. Lack of customisability gives us less accessible software. Apple is really good at accessibility, but at the same time really bad.
That's why people always use fullscreen in mac. Because window just don't really work well. The only time I ever use window is dragging file from finder to vscode. Because mac is dumb enough that don't allow drag happen between different desktop. (Or I would just drag file from finder to vscode on different screen)
Who are these people? I absolutely hate fullscreen in macOS and literally only use it for fullscreen videos and the like. What part of the window doesn't work well?
The alignment, it don't even support snapping, place two windows side by side properly is just like impossible, and the + on window go fullscreen unless you hold opt.
You can't just swipe to switch between window. You can only swipe between desktop.
I'd wonder which part in mac's window manager actually works well (compares to other desktop manager)?
Swiping up with 4 fingers will display all windows for you to select the one you want. Then CMD+TAB or CMD+` if you want to cycle.
Like macOS by default might not be exactly fitting for everyone, but surely it works well enough for 99.999% of the population.
And coming from Linux users who love customizability... I mean there are multiple ways to make it work exactly as you want. I have snapping, and multiple gestures to position and resize exactly to my liking, through BetterTouchTool. And I am a very light user.
with fullscreen, you just swipe left and right without even touch the keyboard, moving the cursor or look at screen to pick window you want as long as you remembered the order.
The window experience is really scuffed on mac compares to the fullscreen/desktop workflow (and apple even decides to swap maximize with go fullscreen because they expect you to use it so you need hold opt if you want to maximize.)
I highly doubt where the 99.999% comes given apple itself don't really recommend it.
For full screen to work as you you’d have to have all of your applications full screen, more or less. I just don’t think I’ve ever seen anyone who used it as their main way of working.
Not sure I follow what you mean by Apple not recommending it. Recommending what?
> place two windows side by side properly is just like impossible
macOS has supported automatic snapping while dragging windows for years now. Just drag it slowly when you're approaching the edge of the other window and the window you're dragging will snap to it
I like window snapping when I'm using linux and I like opening apps in full screen on a mac, just like I do when I'm using a phone or a tablet. On windows the application window is the application instance, on MacOS the application instance is still running even though you closed the window. I think this is what throws people off when they switch from Windows to Mac. They're used to doing things a certain way and when it doesn't work that way they complain that it's "broken."
It's like me saying Windows is broken because I have to install an app to use SSH, or because I can't just go to internet explorer and type vnc://.
Alternative point ( as somebody that uses macOS, Windows, and Linux about equally )…
Apple may leave “wobbly windows” or even window manager behaviour as the kind of thing a third-party could add. They might do this because they want software companies to be able to make money making software for the Mac. A rich community of software providers is good for a platform.
As a user, this means that high quality software is more likely to be available for the Mac than it is for Linux. Companies struggle to make money on Linux and so fewer companies try. Microsoft used to get roundly criticized for adding stuff into Windows for free that third-parties could be selling for money instead. In fact, Microsoft was branded as “evil” by many for including a web browser for free shortly after Netscape had biggest IPO in history selling theirs for money.
I prefer the “everything in my distribution” model myself but calling an OS a “toy” because it does not bundle a utility or functionality that is hardly universal in utility or preference does not resonate with me.
Not being able to run the software I need for work is a more legitimate beef. I love Linux and I can use it for almost anything. I have to admit though that even just using it for my work email or calendar is a far inferior experience to either Mac or Windows.
For most people, an article about how Linux is still a toy because it poorly integrates with iMessage or Face Time may even make more sense than complaints about NFS.
I do not like macOS as much as I used to but there is a lot bundled into it. Even simple apps like Preview work a lot nicer than what I have on Linux. The Linux printing subsystem ( CUPS ) is a gift from Apple.
Again, I like Linux more than Mac these days. I am thinking of putting Garuda Linux on my MacBook Pro later today in fact. That said, this article did not hit with me.
The catch is, with enough 3rd party apps MacOS can do all that stuff but no amount of 3rd party apps and utilities can make Ubuntu match the MacOS experience. To match macOS on Ubuntu you will need a full time Linux guru as PA to smooth things out for your. You will need another one for the after hours. Therefore, Ubuntu is great for really rich people or people who need that one thing that Ubuntu excels at and nothing else.
It's essentially the same issue with iPhone v.s. Android. There's always some Android phone that can do one thing better than the best iPhone out there and to have an overall better-than-iPhone experience you need to use a dozen Android devices all the time(buying and maintaining multiple devices is unrealistic for most of the people, you need to be really rich and have a PA to manage all that for your. Another PA for the extra hours).
As someone who uses both, I have to say I am not sure what's so special about the 'macOS experience'. I mean the desktop is not even a decent window manager imo, I have to get something like PathFinder for a decent file manager etc, yes there are some nice apps for macOS but it's not like the OS experience itself is some unbeatable benchmark.
Good for you. Good experience essentially means good defaults, stuff work reliably as expected and when things break you fix them easily. That usually require good edge case handling and justified restrictions.
Notice how OP complains about not being able to change the default font and text size? Well, he is technically right but the thing is that Apple has already addressed the reason behind changing fonts by designing a UI that works well with all kind of resolutions. You don't have instances of extremely large or extremely small text or buttons, for example. It's all polished very well so there's no reason for someone to need to tune font size or font face. Sure, some people have visual impairments or use their computers differently therefore they can choose a "UI zoom level" instead of resolution and font sizes.
This works very well for most people and that's why most people are very happy with their device. For people who don't find this behaviour useful for them, there's Ubuntu, Windows, ChromeOS etc.
I see a lot of Android screenshots with barely legible fonts as system font. Some things are better when left to professionals and for those who disagree, there's Android of course.
Yes, some of these make sense. I agree with you on fonts. On the other hand what makes the windows snapping behavior/lack of thereof without fiddling a good default?
Stuff designed with workflows in mind and work well almost all the time in a consistent fashion and when they don't, there's an easy fix kind of experiences.
Different strokes for different folks. I run a pretty vanilla Ubuntu on a desktop at home, and macOS on an M1 laptop at work. The out of the box experience on Ubuntu / Gnome these days feels better to me for the things I do: web browser, terminal, emacs, and perhaps an unfair addition-Steam games.
The macOS experience out of the box turns out to be pretty rough in some places, and is untweakable. I recently gave up on my ergonomic trackball and bought a generic mouse because making the scroll buttons work in macOS was impossible.
I took a long hiatus from Linux to run exclusively macOS until just a few years ago, then I started running a mix again. If I have to run a laptop, nobody beats Apple on hardware. But macOS is the price I pay to have a portable that gets good battery life. It's a compromise. By contrast, if I could had a permanent desk at work that I could have a desktop computer at, I'd much prefer that.
Same reason they default to whole filesystem search and disorganized icons. No idea what the reason is, but there seems to be a wellspring of bad somewhere.
> I'm always amazed at how many little third party utilities or programs people recommend downloading or buying just to bring the desktop experience on macOS up to parity with Linux (or even Windows!).
You say that like there aren't always recommendations for GNOME extensions to install to make it act like it isn't a tablet.
Well I think it’s mostly because Linux users tend to not realize it’s an entirely different paradigm. Someone once put it roughly to me as Linux and windows being window focused, macos bring application focused
Mac users eagerly recommend importing Linux tools (Docker, Brew) to make MacOS a tolerable dev environment. But they completely miss the fact that Apple makes it illegal to do the reverse: I can not run a MacOS VM on Linux.
I can't understand the mindset that makes that kind of company behavior acceptable or the tradeoff worth it.
You don't want to anyway. OSX is slow without hardware graphics acceleration.
EDIT: I've hit my comment quota, here's my response: You don't need OSX for that, just their headers and libraries. People have built the build chain for Linux but it's useless without those and they cannot be redistributed.
- Debug apps which don't opt into debugging, using gdb/lldb, without disabling SIP. It's my computer, I should be root, I should be able to introspect how processes execute on it. Not being able to do so prevented me from debugging https://github.com/samschott/maestral/issues/597, since I had to disable SIP, which required rebooting, which stopped the bug from happening.
- Edit $PATH for IDEs launched from the Mac GUI (to add MacPorts/Homebrew-installed Ninja to Qt Creator's binary search $PATH). ~/.profile isn't evaluated at login time (only in terminals), /etc/paths doesn't work (forgot if it affected terminals, definitely doesn't affect GUI apps), and `launchctl setenv PATH` didn't work in my testing.
- Install libraries like SDL systemwide in paths searched by default by build systems and runtimes, like on Linux. MacPorts installs to /opt/local, Homebrew on M1 installs to /opt/homebrew, neither of which is searched by build systems. I might try setting up developer environments using Nix at some point, but I haven't learned how to use Nix/nix-darwin beyond editing the set of global apps.
>- Debug apps which don't opt into debugging, using gdb/lldb, without disabling SIP. It's my computer, I should be root, I should be able to introspect how processes execute on it. Not being able to do so prevented me from debugging https://github.com/samschott/maestral/issues/597, since I had to disable SIP, which required rebooting, which stopped the bug from happening.
Another option is to re-sign the application with the entitlements necessary for debugging.
- No way to fullscreen a window without moving it into a separate workspace. All a new workspace achieves is making it difficult for me to switch between this app and my other apps! (individual apps can implement this, and some like VLC do, but most apps don't)
- No native support for containerisation. Containers/Docker are a great technology, but even on my M1 mac where literally everything else is super speedy, they're really slow.
> Containers/Docker are a great technology, but even on my M1 mac where literally everything else is super speedy, they're really slow.
Either you're using Docker for Mac which itself is slow on IO mostly due to the macos-linux file share syncing every single fseventsd<->inotify or you end up running intel images on aarch64, which uses non-virtualizing qemu to emulate the foreign CPU (see github.com/tonistigii/binfmt)
I'm using Docker in a Fusion instance, sharing /Users through vmhgfs (which in my tests performs better than DfM shares) and it's plenty fast as long as I stick to native images (intel on intel, aarch64 on arm64) and don't outrageously reach out to the shared dirs (notably DfM shares /tmp by default which is ridiculous)
Container tech on Darwin would bring little in most cases since it would containerize a darwin userland, which, while cool, is probably not what most people want. There's no shortcut from running a Linux kernel in a VM to run a Linux userland on Darwin.
> Either you're using Docker for Mac which itself is slow on IO mostly due to the macos-linux file share syncing every single fseventsd<->inotify
If you haven't tried the new VirtioFS accelerated directory sharing in Docker for Mac, it makes a _huge_ difference to I/O performance of mounted volumes.
Admittedly I didn't, not the least because I expect it to be at best equal in speed to my current setup, plus my current setup gives me better control on the virtualised OS + memory ballooning of the VM (... and that there are other things with DfM that rub me the wrong way).
Nonetheless, I salute the years-long effort from the Docker team on that one.
I'm using Docker for Mac on an M1 Pro and it's stupidly fast, to the point that my dev environment runs faster than the Intel production servers on some things.
How well does it handle a large amount of writes to small files (say 1000 files, each about 8KB)?
Edit: the static blog generator I wrote [1] takes 11 seconds inside a Ubuntu virtual machine with the directory shared with MacOS on an Mac mini late 2014. Docker, on the same machine, takes 1m13 seconds using gRPC FUSE for file sharing. 1866 HTML files are being generated.
I have no idea I'm afraid, I don't work on anything that would ever do something like that. As a real world benchmark, the project I'm working on at the moment (Python / Django) runs the test suite in ~10.2 seconds on my Mac inside Docker, on GitHub CI it takes 35 seconds.
Or they could do what windows did. Support windows docker for whatever use case that supports (never used it) and creating WSL which has Linux roots deep in the OS. I find WSL docker works great for development. Certainly wouldn’t use it in production.
WSL2 doesn't have Linux roots deep within Windows anymore, it's literally running a Linux VM with a full kernel under the HyperV hypervisor, so it's exactly like DfM (IIRC save for the fact that Windows then also runs under HyperV with the hypervisor sitting on top, Xen-like, and as is achieved on Xbox, and Linux running side by side instead of being handled by an OS process underneath the main OS)
> No way to fullscreen a window without moving it into a separate workspace.
One of the reasons why I almost never use the full screen feature. You can click on the full screen button on the too left-hand corner of each window whilst holding Option, I think that’s the closest you can do out-of-the box. You can assign a keyboard shortcut for this very easily (seriously, the way we can define keyboard shortcuts for almost anything and have them work in almost any app is amazing; nothing comes even close on the Linux side).
Otherwise, you can use something like Magnet or Rectangle, which enable exactly what you want.
I do use magnet. But something I do want something to be truly fullscreen (no menubar or anything else visible), but without being on another workspace. I think the most common use case for this is with videos. I often want to fullscreen a video, but still be able to quickly switch between windows so that I can for example reply to a message.
Note that with any non-fullscreen window I can continue to see live updates to the window in the mission control view. So I could for example continue to watch a video (albeit smaller) while watching chat messages arrive in another window as my friend sends them. But with a macOS fullscreen window I can't do that. If I open mission control then I can only see the fullscreen window (because it's the only window in the workspace), and if I switch to another workspace to the see the contents of those windows I can no longer see the fullscreen window. Infuriating!
Try exiting full-screen in the video player (green button) back to windowed mode and then double clicking the title bar. It’s not full, full-screen, but it’s the largest window you can get.
I’m still not sure why you can’t switch between applications even if they aren’t on the same workspace though. Cmd tab, Cmd tab takes me from a full-screen video to the last app on a separate workspace, and right back to the video.
And if you want to see other apps at the same time as the video, no wonder full-screen gets in the way.
The problem is if it isn't a dedicated video app. Say for example a video embedded in a webpage. Then you can maximise the browser window, but the video itself still takes up a small part of the screen.
> And if you want to see other apps at the same time as the video, no wonder full-screen gets in the way.
You say that, but is doesn't on windows or linux. And it didn't used to on macOS either until they changed things around a few years ago.
What keyboard shortcuts are you missing in Linux? At least with KDE, I can go the entire day without touching the rodent. And on the rare occasions that I do use the mouse, I'm mostly touching it only for webpages that don't work with Tridactyl, or for highlight-middle-click copy-paste.
I miss the ability to set arbitrary shortcuts and bind them to arbitrary menu items. Also, shortcuts are not very consistent across Linux applications, compared to macOS, which is much more homogenous and less surprising. OTOH, that's not a deal breaker and I keep using both Linux and macOS daily.
macOS is frustrating to use without a mouse. On one side the shortcuts are consistent, work everywhere, and are very deeply customisable. Really much better than anything I have tried on other platforms. All the menus are very easy to use without a mouse once you know the shortcuts (which, granted, are not obvious if you don't know they exist). Emacs-like shortcuts in all text fields are absolutely fantastic. The fact that Command is used throughout the GUI leaves Control available for things like terminals, which is awesome (e.g. there is no conflict between Control-C to kill a process and Command-C to copy some text). But at the same time there are things like window management that pretty much require a mouse, but really should not.
> I miss the ability to set arbitrary shortcuts and bind them to arbitrary menu items.
In each application? Interesting that the OS provides that.
> macOS is frustrating to use without a mouse.
My experience confirms this as well. I was really expecting an ergonomic, well-polished experience but I found that the Mac is polished like shark skin. It's nice and smooth if you do things - or can force yourself to do things - like the engineer in California does things. But if you like to keep your hands on the keyboard, or organize your applications (not just windows but applications), or anything else then you are going against the grain and that smoothness turns into obstacles and pain points.
Interesting. I recently started using an M1 Mac and found the fullscreen workspaces a bit weird (coming from i3), but kinda grew to like it? I got the external trackpad and use gestures a lot (before it was Control + arrows) to navigate the workspaces.
My main issue is that all the different "Terminals" have subsets I like on them, but none have all the features I like lol. It's not a big deal though. FWIW I'm trying out the Warp term now (used wezterm on linux) and it's been mostly enjoyable so far.
For me, those gestures are next to useless because the animation is just waaay too slow. It's literally a whole second (exactly; I just timed it) of waiting for window focus to switch.
The animation is shorter when you're on a model without a 120Hz screen, so it gets a little more bearable there.
Also, try to use keyboard shortcuts: the animation is muuuuch faster than with gestures. In Keyboard prefpane, Shortcuts, Keyboard, Mission Control (make sure to have many desktops created). I have desktops set to ^1..^0 and left/right to ^left and ^right (which is sadly the only way to move to fullscreen apps), and disable MRU automatic space reordering in Mission Control prefpane.
It's got nothing to do with gestures, the key combo has the same switch delay as a quick gesture swipe (Which seems to have the same delay as mission control selection) when switching workspaces.
I've spent more time than I'd like to admit trying to get rid of this workspace switch delay. The tipping point for me on it was switching to a 16" Pro with a 120 Hz screen and finding out that means it now takes longer to switch.
Got it. In my experience switching with shortcuts takes half a second (which I understand can be annoying, being an i3wm user myself) and is visibly faster than evn quick gestures, which have a slower ease-out for me (but that may be due to how I swipe)
I don't mind the animation, I actually really like the animations in macOS. I just don't want it to take a full second to switch the active window. "Reduce motion" keeps the full-second delay but replaces the nice animation with a less nice fade animation, which is kind of the opposite of what I want.
Yes, iTerm2 is one of the best macOS apps. It's the first thing we have new developers install if they're new to macOS.
On the 120Hz MacBook Pros, there's an advanced iTerm2 setting that lets you change the maximum frame rate to 120 or above (adaptive frame rate also needs to be disabled).
For monitors with a high refresh rate, it's worth checking out. You can see the difference by running:
I used it for a long time but switched back to regular Terminal for the lower latency, because I realized I couldn't even name an iTerm2 feature I used that Terminal didn't have. I'd just been using it because it was so widely discussed.
That's completely fair. For me the killer feature is it's multi-pane support. Being able to have several terminal panes side-by-side on screen at once without having to fiddle about with something like tmux is wonderful.
Hold Option and double-click the window corner. This will probably do what you want (fill all of the available space). You can also do this with the sides of the window and have it grow only horizontally or vertically.
I would also recommend trying out if BetterTouchTool can't change the behaviour of the green (+) button as it's pretty powerful.
For those who don't mind "full screen" still including the top bar, I find https://www.hammerspoon.org/ to be a good compromise. I set up option+shift+f to full screen my window instantly.
+1 for this. Hammerspoon is a godsend. I have keyboard shortcuts to switch to my desired apps instantly (around 10 or so, hyper+I is IntelliJ, hyper+A is Atom, hyper+F is Firefox etc.)
The '+' button and double-clicking the title-bar doesn't maximize windows—it zooms them in Apple's terminology. It should just make the window big enough to display its contents, although some apps don't cooperate (Chrome). Hammerspoon can be configured to maximize windows, i.e. make them fill the screen.
Holding Option when you click the green window button will maximise the window - rather than make it full screen - for most, but but not all, applications. For some reason Safari only maximises vertically when you do this.
macOS has never had full-screen maximisation. It maximises "for the content". Which means some windows will never be full screen because they don't have more to show.
What you get when you hold Option is the way that was the previous "maximisation" option, before they added the full screen mode which I also abhor.
Which is annoying for some applications which don't maximise, because the content isn't there but could be. I can't think off what does this off the top of my head since I installed Amethyst, but I think I remember Excel used to do this back in the day.
I hate the thought behind this. Often I don't maximize to see more content, but to hide everything else. Why does Safari decide for me that the window can't be any wider? That doesn't make any sense at all.
Note that this concept predates the concept of maximisation, and comes from an era when single apps would be implemented in multiple windows. E.g. the content area the toolbar in photoshop were separate windows. Back then it made a lot of sense. But I agree it's just annoying now.
We can split hairs and hold our breath til we're blue discussing design decisions we don't control.
I'm just trying to be helpful, possibly barely pointing out that things claimed to be impossible are not (and not argumentatively, only because folks may stop at that and have to endure something when there are solutions that would fit their use case)
Yes the enlarge is a thing which unnerves me as well because some apps insist on keeping a specific aspect ratio and so on. I still use Better touch tool which has support for screen zone snapping. And I have a custom key binding to maximize windows setup via better touch tool.
You can stop it hiding the menu bar in full screen. System Preferences -> Dock and Menu Bar -> Automatically Hide and Show Menu Bar in Full Screen (at the bottom of the window).
- Control external monitor sound volume. There are buggy paid and open source solutions, but they all trigger all kind of bugs with sound and macOS itself.
- Capture game audio with OBS together with microphone input.
- Being able to wait for files to copy and work Finder at the same time. Yeah I could find replacement for Finder, but why the hell?
- Use Valve Proton. Yeah, Linux is great to play games now.
And yeah PulseAudio is just so much better than everything macOS can offer.
PS: Yeah I'm currently on Mac because M1 is amazing and I left my Linux desktop at home due to unexpected immigration. Still I really wish to come back to use Linux as soon as I have option to.
What any pulseaudio or pipewire-based desktop can do, is to route streams from separate applications to separate devices. You can have one application playing into your headphones, second into your speakers and third streaming over bluetooth to your soundbar. Never managed to do anything similar with Mac (also I never explored any 3rd-party apps to do it, they might exist, but with PA/Pipewire, it is built-in).
You can also mark some devices as not to use - i.e. DisplayPort advertises audio out, but the monitor has no speakers? So does your dock, but you don't intend to connect any speakers to it? Easy, disable that device. Not so easy on mac, just be sure to never select it for output, there's only one global output device anyway.
I personally used advanced PulseAudio features all the time by playing different audio in headphones and speakers, but it's still rarely used feature compared to audio volume control.
One of neatest things I did on Linux is playback of multiple audio streams while watching series when using VLC. It's very cool when you have some international group of friends together and e.g someone prefer to watch in German, someone in English and then someone in some other language.
So basically 3 people can connect their headphones to Linux PC and then everyone listen to their preferable language.
control external monitor sound: if your monitor supports DCC, MonitorControl is FOSS and allows direct control. Also, see below.
capture sound: there's a flury of apps that allow you to do that, Rogue Amoeba has a couple that go from simple to very advanced audio routing. This audio routing also allows you to set the output volume (so, indirectly volume sent to a monitor) using the standard macOS controls.
> And yeah PulseAudio is just so much better than everything macOS can offer.
Someone has never dug into Audio Midi Setup, which can do a bunch of nice things already, including creating aggregated audio inputs and outputs.
It's annoying that Apple doesn't implement DDC control alright (neither volume nor brightness). I'm just trying to be helpful and point to solutions that I use daily for these use cases, not making a case, barely pointing out that things claimed to be impossible are not (and not argumentatively, only because folks may stop at that and have to endure something when there are solutions that would fit their use case)
Imagine having to install kernel extensions just to adjust the volume over a digital output like HDMI, maddening since you know it can do it, but stock MacOS won't allow you to. Or how about volume levels by app?
Since the message that PA was here to stay was received, everyone got the point that the only way forward was to fix all the buggy audio drivers. It's no surprise, that it helped. Sure, it sucked for the affected users at the time, but in the long run, we all are better off.
> The PulseAudio that is one of the factors that drove me off desktop linux in 2013? :)
Yes that one :)
It still sucks if you have to get too close to it and work around some of it's uh... things. But during normal usage, "it just works" these days and has been for a long time.
I'd still easily pick it over audio on windows. Also it's on the way out, and pipewire, which is replacing it is way more powerful again, while being drop-in. Let's see how long it takes for pipewire to be really stable though. But imo windows and OSX cannot compete with pulse, and certainly not with pipewire.
> - Control external monitor sound volume. There are buggy paid and open source solutions, but they all trigger all kind of bugs with sound and macOS itself.
For me this is one of the most annoying missing feature of macOS, while there are 3rd party apps, I'd want to have it without installing anything extra. But as we know it hard (if not impossible) that Apple implements this feature for other than their supported devices (that is mostly their products and maybe some of the 3rd party displays that they sell in their official web store).
Yeah I used Audio MIDI Setup and it does enable some use-cases. It's still wont let you capture app's audio without 3rd-party dummy device driver and said drivers are buggy mess.
Even Discord offer an option to audio game capture and one of first steps to install is "Disable SIP".
Awesome! Now I can listen to music using headphones while being able to play it through the MacBook speakears at the same time. That'll provide a better social experience of listening to music.
I'm sure there are more uses to be found but that was the most immediate I found.
Exactly what I posted. I have no idea why, but while I wait to copy somethign to USB stick Finder show that copy popup and dont let me do anything else.
Seems like the obvious tradeoffs you'd expect, mostly lack of control/ability to change things, which I'd expect of MacOS. In return you get stability, Apples locked down approach means the OS is far more predictable. Linux in my view takes the reverse approach, you lose stability relative to MacOS in exchange for complete control. Historically Windows has sat somewhere in the middle, though in recent years with all the telemetry and bloat has made it a hard sell in any area other than legacy compatibility (which is a shame, because that middle option is desperately needed by a lot of people, but I dont think its as indestructible as Microsoft seems to think).
Though I haven't used MacOS in a very long time so I could be wrong.
My personal laptop is a mac os, and agree with some of the criticism. However, stability-wise, it has been rock-solid.
I also manage my own Ubuntu desktop for work, and had to reinstall the system 3 times from scratch because it magically stopped working. In the end it turned out to be something with a new kernel, but it took me, dunno, 2 days to debug.
I don't know what I have to do to get the sublime desktop experience that macOS is famous for...
My work-issued Macbook Pro regularly forgets which monitor (my external monitor or the built-in display) is the primary monitor and moves the dock and task bar between them seemingly at random.
My mouse sensitivity is cranked all the way up but my mouse still feels like it's mired in tar compared to my Windows and Linux machines.
The dock is always in the way. I can hide it when a window approaches/overlaps it, but it often takes multiple swipes with the mouse to get it to reappear. Completely removing the dock (which would be my preference) does not seem to be an option. I was able to move it to the left side of the screen, which is better - why take up so much valuable vertical screen real estate with a top bar and a dock on the bottom???
So... I don't know. I'm not seeing it personally. For me Gnome, KDE, Windows 10, and Windows all provide a better GUI desktop experience than macOS.
I think you need to increase the tracking speed in "Mouse" preferences. Mine is about 75% and I can move across a 1440px screen with just a small flick.
> However, stability-wise, it has been rock-solid.
Oh sorry, might not have been very clear, thats what I meant.
As I say I haven't used MacOS in a while, but in my eyes its always been the strongest choice in terms of stability, with the tradeoff being control and to an extent (depending on what your doing with it) compatibility.
Windows seems to specialise in compatibility, Linux in control (I prefer saying that than customisation, which in my view makes light of it) and MacOS in stability.
I've had work machines running stock Ubuntu, getting Canonical recommended updates totally fail to boot. Cue a day or so of trying to read instructions on my phone on how to roll-back the kernel, or simply reinstall Ubuntu over the existing installation so I could just get back to work.
It's the reason I didn't move to Linux at home when Mac laptops were getting so awful a few years ago.
Stability ????
Ubuntu is far more stable. Have never had issues wrt stability.
I have had issues with support as in some software do not work on linux (Turbo Tax , Games etc) but never in stability.
Have been using linux desktops since 2010
You’re kidding right? Linux as a desktop OS is a dumpster fire in my experience. Many times I’ve had a system working for a couple of months, only to be laid low mysteriously by an update. This happened on everything from Ubuntu to Mint to Arch.
The last straw for me (not stability related) was when I needed to scan something. Cue hours spent in the terminal… still no scanning.
MacOS will keep working for years for most everyone and has all basic functionality in place or easily installable. The same is true for Linux as a server, which I use every day.
Why would the person be kidding? Why is it a dumpster fire in your experience?
My work PC has the uptime of 3 months right now. I've been using this particular PC for 26 months, with Ubuntu installed. No crashes. No problems. No slowdowns.
These testimonials where someone says "but it's <insert reasons that confirm it's bad>" are difficult to relate with. I also scan and print from time to time, I'm not advanced user of scanners/printers - but after plugging the devices in via USB, they did their job.
I had the pleasure of trying to work with containers on Mac the other day. After 10 minutes I gave up. Mac is a great machine but it's not for me, it definitely has its audience and I can tell it's great because it helps many types of users cut a lot of corners. I'm sure I could get containers to work with M1, if there was any kind of benefit to use a machine which is, hardware-wise, slower than the beefy one I use with Linux.
We must live in a different universe then. My Ubuntu desktop crashed three times in one day yesterday. I was trying to run a Windows-only application in WINE and for some reason all of GNOME crashes when I open a pulldown menu. I had to C-M-F1 and use systemctl to restart the window manager. Never did get it working.
If testimonials about Linux being unstable are hard to relate to, you are absolutely in the minority of computer users or you have not used Linux very long. I still remember the days where I had to (lightly) edit C source code to get my WiFi drivers working...
I'm sure you can see how condescending your comment is, you basically went into discrediting me instantly. For the sake of argument - I've been windows user since 1998 and Linux user since 2005.
I used it for a long time. I had problems with nvidia drivers, before that I had problems with modem drivers and the list goes on, from finding where xorg.conf is to which thing I need to modify so that I can have multiple monitors running. I tried many distros, I used i3wm for extended period of time until the keyboard navigation only started to bore me.
I believe my "membership card" has been shown.
Despite the problems, PopOS and Ubuntu have been very stable for me for the past 2.5 years. Problem is also often in users, who are quick to blame software when it doesn't work the way they imagined it must work. I haven't used software that instantly works great. However, for development (and running containers in particular), Linux has been stable and a total workhorse. I can even put up with uglier UI. It's also the only OS that I can shut down forcibly via button and it won't fall apart.
Could it be that the, often loud minority of angry users, simply reports problems because:
1. they imply knowledge and thus earn internet fame points?
2. they purposely twist the truth because they can?
3. they aren't particularly advanced users to begin with?
Lol, just saw this now. Yeah, I went into discrediting you instantly because I have used Linux for over a decade and continue to use it daily, and I know you are wrong. I don't really care what you think.
- Lots of people happily use "a dumpster fire" where you have "hours spent in the terminal… still no scanning" and are completely unbothered by serious issues you are describing.
- Your exaggeration is absolutely ridiculous.
Criticism is fine, but at least make it sound vaguely plausible.
You are the one exaggerating by saying "lots of people" and "completely unbothered". Linux on the desktop is famous for being neither popular nor easy, surely this isn't new information for you.
If you like it, knock yourself out. I'll stick to OS's that employ product managers for my daily drivers.
> MacOS will keep working for years for most everyone
My working mac hangs about 1 time in 3 days. With completely un-addressable memory leak and lag. And close everything don't help either. The only way I found to solve it reliably is a reboot. While my linux vm and main windows system lives like forever (heck, I don't even bother to reboot them if not a update, because why?).
From my perspective, I though you are just kidding. I don't even see it runs perfectly more than one week.
I guess he wanted to upgrade to the newly released 22.04, am I right? upgrade is temporarily disabled due to some bug they're sorting out. Guess he didn't read the release notes and did a full reinstall out of frustration. https://discourse.ubuntu.com/t/jammy-jellyfish-release-notes...
I haven't used Windows since 2005, so my opinion might be unwarranted, but I've been upgrading my home Linux distro since sometime before 2010 without a clean wipe. During that time I've heard of so many Windows "fix it by reinstalling" stories that I wonder if that is simply the default first step in Windows troubleshooting. After turning it off and back on, of course.
in the old days I would format before upgrading osx. if you use a bunch of developer tools, they would often break with osx versions. remember macports?
wiping every year or so isn’t a big deal when everything is in the cloud. haven’t needed to in years, though
I am literally never able to install my household name desktop apps that I use daily on Mac, when I try Ubuntu, without the thing crashing my whole computer. It’s insane.
Does that imply that Linux is not stable? I've had my Arch installation for a full year and it has never broken down on me. No package has ever broken, and updates are always smooth thanks to pacman.
Meanwhile, I can recall a handful of instances where bugs slipped into the macOS userspace in the last year (and made it to the front page of Hacker News)
The desktop environment is not, no. Various applications one is likely to run on it are not, compared to some closed-source alternatives, including those provided on macOS.
Heavy Linux on the Desktop user for about 10 years, here (~2001-2011). I still try it periodically. I see a lot more bad glitches, X/Wayland crashes (may as well be a whole system crash, on a desktop), and application crashes, on Linux than elsewhere. I find it's most stable when I build up from something minimal and hand-configure everything, but I just don't have time for that anymore, and stopped finding it entertaining years ago.
Personally, I'd have to spend as much or more time tweaking the mac (finding helper apps) to work the way I want (starting with Ctrl/Alt swap, and then reconfiguring the broken apps).
I wouldn't say its not stable, as much as I wouldnt say you have no control of macOS, its just less so, generally speaking.
So many variables (mainly who's using the computer and for what) go into this that its impossible to speak for everyone, but yeh generally speaking macOS is more stable than linux. You might have experienced more stability, whereas someone else might have experienced more control using macOS than on linux.
And airdrop. I could never live without airdrop again. It’s really annoying actually as I want to try the folding phones from samsung but they don’t have airdrop…
I am currently using M1 at work and it sucks Ass. The two main painpoints are the unpredicble window manager and the keyboard layout.
WM:
1. There is no deterministict layouts available
2. You can not tab between windows of the same application, (problematic if you use multiple chrome profiles)
3. Switching to a window USUALLY opens the wrong one. In my case, I somehow always endup in VS Code when tabbing to Teams
4. Switching between workspaces (or maximized windows if) sometimes causes the computer to hang.
The second painpoint is the keyboard layout, which also sucks ass;
1. ~|"@, are all in the wrong places.
2. Some idiot decided to prioritice control keys ahead of functions keys, so I have to press fn to use standard debugging keys.
My i3/arch setup is far more reliable and ergonomic.
While your point is true, that you cannot set ESC to Caps Lock without external apps, you can use Karabiner to do that. Very useful when typing, and with Vim https://karabiner-elements.pqrs.org/
The command+tab switch is also driving me insane!
I loved Ubuntu's (probably around 12.04?) window+workspace (or however they called it) handling, but as all the teams I worked on, the devs used Mac, I decided to give in and switch. I miss the window handling options, but hopefully I gain from other aspects (such as being able to rely on coworkers in case something doesn't work as expected).
Correct, I'm not sure when they added this but you can modify this now in System Preferences>Keyboard>Modifier Keys and you can set different settings for the built-in laptop keyboard vs. an external magic keyboard, e.g.
Okay, I tried it. Cmd+V doesn't paste what was highlighted. (The parent is referencing Linux's selection, which, AFAIK, doesn't exist in any form on macOS. iTerm2 tries to emulate it by using the clipboard, but that's not the same.)
If I'm supposed to middle click, I have absolutely no idea how to do that.
> It’s ⌘↹.
If "↹" is supposed to be "tab", no, that's no it. Cmd+Tab is, as op says, a switch between applications, and pulls all windows of a given app to the top of the Z-order. Alt+Tab's functionality (pull this particularly window to the top of the Z-order) is usually exactly what I what — I want a particular browser window, which I have positioned to the side so that I can still see, e.g., my editor. But then Cmd+Tab fronts unrelated stuff on top of it.
AFAIK, there is no equivalent to Alt+Tab is macOS. There's Cmd+`, but it is different still.
- Screen fades to black as it realises there's an external monitor
- Finally unlock, windows are all bunched up on the internal display
- Everything becomes unresponsive, maybe even another fade to black
- A minute after initially opening the lid, suddenly all the windows pop back into place
I have no idea if this is improved on M1 machines, but it's frustrating enough on my Intel 16" that I've just pushed all the auto-lock timeouts to excessively large durations.
IME, macOS (Monterey on M1 Pro) handles this better than Windows 10. Everything goes to the right places right away, whereas in Windows you'd have windows all over the place.
Windows 10 also, last time I checked, doesn't understand the concept of DPI properly. No idea if it's been fixed in 11.
That is, if you have for example a 27" 4K monitor next to a 27" 1080p monitor then the 1080p version is treated as though it's 25% of the size and the mouse gets "stuck" in the 4K monitor unless you're within the 50% of the screen that Windows thinks your 1080p monitor is adjacent to. This works sanely in macOS as it rightly treats each monitor as having the same size.
It's even more comical if you have a very high dpi laptop next to a 1080p or 1440p large desktop monitor.
That's odd; I never had any issues like these. Display ordering is always the same. I have two 27" 4K monitors: one connected directly to MBP's HDMI and the other through a USB-C hub (also HDMI). Connecting both always gives me the correct ordering, and it's instantaneous - it takes longer for the monitors to turn on than for macOS to distribute the windows, so when they're on, everything's in place.
If it's about making the physical Esc key function as a Caps Lock, that's not an option in the modifier keys. If it's about making the physical Caps Lock key work as an Esc, then that's possible.
It's probably because many people have no use for caps lock so want an escape key on the home row. Not many people want another caps lock key in a hard to reach position.
> * Return from sleep will rearrange the order of the connected monitors, even though they have not been disconnected, if the laptop lid is not opened.*
macOS will, for me, happily rearrange windows even without sleeping it. Just returning to the machine after ~15 minutes (all while on external power) is sufficient to get a "hold on for 15 seconds while I rearrange the windows like a mad OS".
Meanwhile Linux can resume from sleep pretty much instantly, but Linux is the one that has all the trouble, according to folklore.
The lack of Alt+Tab kills me to this day. Cmd+Tab just doesn't work as well.
I use Caps Lock to swap languages. Win-1 is English, Win-2 is Hebrew, etc etc for Russian Arabic and Greek. But Caps Lock swaps between the last two used languages, e.g. so that I can write an English-Hebrew message to one colleague but I can write Hebrew-Arabic in a chat with a friend.
As a VIM user, I prefer the Escape function closer, where the Caps Lock key is. But having the old Esc key function as Caps Lock allows KDE to recognize it to swap languages.
I wonder if the OP has switched from Windows to Linux initially. And did he write a piece complaining that everything isn't exactly how they're used to then?
A lot of "i'd switch but" articles - in all directions - basically come down to "the destination doesn't work how i'm used to". Even though they're fundamentally as crappy in the background.
When someone asks me why I use Mac OS as my main desktop I answer "it's the least annoying". There is no "best OS" available now.
I think you've hit the nail on the head. I'm happily using Windows now but used a Mac before and it took a long time for me to realise that my complaints about Windows largely boiled down to "it doesn't do things in the way that I'm used to".
With that said, whilst I do like macOS overall I always found it infuriating how on macOS applications could steal focus. Something I do appreciate on Windows is that focus stealing by and large isn't a thing.
> With that said, whilst I do like macOS overall I always found it infuriating how on macOS applications could steal focus. Something I do appreciate on Windows is that focus stealing by and large isn't a thing.
Interesting... I think the last time I used Windows everyone and their extended family stole focus all the time. But then I moved to Linux as my main desktop OS in like 1998... and to Mac OS in 2013.
> Something I do appreciate on Windows is that focus stealing by and large isn't a thing.
Until you need to run an app as Administrator, and then… everything disappears in favor of a blue screen (even on external monitors), with only a single confirmation modal remaining.
I’ve never understood why what is effectively ‘sudo’ needs to be a full-screen event.
Well said. This is always part of why everyone will have different favorites. Different OSes have different pain points, and not everyone is trying to accomplish the same things with their computers.
It really shows people's true colors on how inflexible their brains might be by writing articles like this. If you can use every OS and have no troubles using each extremely deeply for meaningful work you might have a very fluid and adaptive brain. That's a plus in being able to get work done in different modes.
I use macOS for the same deep work I use Windows 11 desktop for and I have no issues switching off into Linux on my cheap laptop to get some things done. Why waste time complaining? Adapt!
I don't use a Mac often (mainly Linux), but I do troubleshoot my significant other's. I'll add on my gripes:
- SMB shares are wonky and will randomly disconnect with vague errors.
- A large USB drive formatted with NTFS can't be mounted as read/write natively, you have to pay for a third party tool for that.
- Mac's built in gatekeeper software is inferior to Windows Defender. While there's less malware available, the ones out there can cause havoc and don't get caught.
- lastly, Mac restore process is not as easy as Windows, you can reset a Windows PC in a few clicks. Mac your manually nuking volumes, which for a newbie isn't really friendly.
"lastly, Mac restore process is not as easy as Windows, you can reset a Windows PC in a few clicks. Mac your manually nuking volumes, which for a newbie isn't really friendly. "
This is not true. Macs had an in-place reinstall before Windows did, IIRC.
The protocols on the wire are different than what's documented especially for older SMB servers - Windows "released documentation" on some of the protocols because they were being reversed, but the docs are flakey or incomplete.
The actual transfer operations are pretty straightforward, but the negotiation steps are _very_ intricate and the Microsoft docs about the protocols are less than honest at times.
Thanks for the suggestion. This is one of the things that I find most annoying about MacOS. I had been using a paid closed-source plugin, but like the idea of switching to something open source.
Before using a Mac I was told how glorious it was and a feat of engineering. Reality is that the Mac and associated products are not as perfect as Apple fans make it out to be. The window manager on Mac makes me want to scream. Navigating the file system in Finder is not intuitive and don't get me started on the Magic Mouse and it's charging port...
I work on a Macbook, play games on a Windows machine, carry around a Chromebook, and use Linux in various places (web hosting, WSL, etc.). I agree that the Mac is a nice machine but not everything is intuitive.
When I had a PowerMac, every time I needed to burn a CD/DVD I had to look up the steps. Dragging a window from one monitor to the other often doesn't display the window, and if a window is full-screen, Option-Tab won't bring any other windows on top of it.
The hardware is nice, and generally high quality, but my battery started to bulge and the repair (replace keyboard and new batter) was over $500.
I like it, but I wouldn't turn up my nose at alternatives. Since most of my job is typing, and web browsing, almost anything short of a Commodore VIC-20 would be fine.
What do you find non-intuitive about the Finder? This is a serious question, not a troll or anything.
IMO it hides less about the disk layout than Windows Explorer does, but "it's better than Windows Explorer" is a low bar indeed.
"don't get me started on the Magic Mouse and it's charging port"
I use that mouse every day and I've literally NEVER needed to use it while charging. It warns me with ample time and charges insanely quickly. I get a warning? I'll plug it in when I get a coffee or over lunch. End of.
The other thing that nobody seems to pay any attention to is this: The current Magic Mouse is pretty much EXACTLY the same as the prior AAA-powered version except for the battery and charging. I'd bet folding money that one reason they went the way they did was that it allowed them to make zero design changes outside the area that USED to hold AAA batters, and now holds the rechargeable battery and port.
This means they could do a rechargeable version without a major redesign -- which would've been required. The whole upper shell of the mouse moves down when you click, which means putting a port on the front wasn't going to work.
But, again: it's 100% a non-issue for me. I don't actually know anyone in real life who has trouble with this.
You forgot "spend three days trying to get a Bluetooth keyboard to pair at boot every time". :-D
I love Ubuntu and I use it with Cinnamon desktop on the daily alongside my Mac, and I love the customizability, but I also like just being able to turn on my laptop and do stuff without having to fiddle with a terminal unless I want to, or install a new app by just downloading a thing and clicking on it and agreeing that, yes, I'm trying to do this thing. And that's just not quite there with Ubuntu yet.
(Also, trying to do music stuff is mostly a nightmare of JACK and Alsa headaches. I can write generative music code in at least two languages, but I just wanna plug my guitar in and record things and use plug-ins without having to recompile shit.)
There's places for both. Use whatever works for you.
> Also, trying to do music stuff is mostly a nightmare of JACK and Alsa headaches. I can write generative music code in at least two languages, but I just wanna plug my guitar in and record things and use plug-ins without having to recompile shit
This hasn't been a problem in a while. You definitely don't need Jack for recording your guitar into a DAW with a backing track (I have a studio full of synths that I record - 24 tracks in, 24 tracks out, via a class compliant USB audio interface). And as the sibling comment points out, Pipewire makes things better still; you can point your DAW at "ALSA" (really Pipewire under the hood) and also play Youtube vids in a browser at the same time - this was of course possible with Pulseaudio or Jack, but both of them had their own quirks. Pipewire is overall really nice and just works cleanly.
For realtime audio, Pipewire basically solves this problem on Linux. It appears as JACK, Pulse and ALSA to client programs and allows seamless interop between all of them. It's slowly landing in mainstream Linux distros as the default audio solution.
This means that without any special setup, both real-time audio software (which uses JACK) and 'normal' software (Pulse, ALSA) can co-operate on a single system with a single digital patchbay between all of them and the system output devices (including Bluetooth audio devices).
I use a pair of BT headphones (paired to 2 devices) and a keyboard. Both have worked without a hitch since day one on Ubuntu Mate. Funny enough, it's the only device I own that will work with my prehistoric HP printer from 2005 without any hacks. Newer versions of Windows don't work with it (I probably need to fish out the CD with the drivers), MacOS never did.
I can echo the HP printer comment, mines a printer/scanner. Every time I print or scan on Ubuntu I'm expecting it to not work, as that was my experience on macOS, but it works flawlessly. On macOS the driver was abandoned 6 OS versions back, and I had to do some pkg command line trickery running as root just to get the thing to install.
Sorry, I just want to get this straight. We're comparing Linux and MacOS, and having to do command line trickery to do something is a knock against MacOS? Really?
I mean if that's a legitimate black mark, that's 1 ding against MacOS and we can bury Linux under a thick pile of back marks.
It does not have to be ancient printer; I present you Samsung SL-M2070W, which HP is still selling under some other designation.
I can print in MacOS, but I cannot scan. It used to work, but color scanning was broken few years ago, and about two years ago b/w scanning was broken too - Preview or Image Capture will just produce something malformed.
There used to be a workaround using Samsung scanning utility, but it doesn't work since Catalina, due to the utility being 32-bit app.
So what I do? RDP into other machine that does not have such problems (either Linux or Windows) and then transfer the scanned file.
Does pipewire solve your problems in recording? I'm planning to get into the music making rabbit hole and I wonder if my Pop_OS! laptop is up to the task.
I got introduced to focus-follows-mouse mode when it was the default on some X11 unix system I used years ago. I have been using linux as a workstation for decades with this feature, and loosing it is the biggest barrier to my using a Mac or Windows machine for anything serious. (For a few years you could feasibly enable this in windows, but it doesn't work well enough to use anymore.)
It saddens me that there are so many cases where the 'better' way to do things gets lost in the noise of the beginner-friendly masses, and can't be standard because people aren't used to it.
Another example of this is electric vehicles and one-pedal driving. Only a few EVs (BMW i3, for example) allow you to mainly drive with the accelerator, where releasing it slows the car to a stop, without use of brakes.
A lot of our electronics suffer from this too. You notice it sometimes if you compare electronics sold in Japan to those sold in the US. The market here is seen to not support 'too many' buttons and features so we get a dumbed down version.
> You notice it sometimes if you compare electronics sold in Japan to those sold in the US. The market here is seen to not support 'too many' buttons and features so we get a dumbed down version.
I'm assuming "here" is USA. I don't know much about what's sold in Japan, but I feel like most gadgets still have way too many buttons. I'd wager that most microwave users don't know what most of the buttons on a microwave do. I certainly don't. I'd love to get one with a more streamlined UI, but they're hard to find. Remote controls are similar. I'm kind of scared to imagine what a Japanese microwave might look like.
This is such a glaring omission, but I guess they don't sell a mouse with scroll-wheel so they don't care. Luckily there are a few 3rd party apps that sit in the menu bar, I'm using Scroll Reverser.
And the worst is that there's a toggle for each one, which changes the other. Since i only occasionally use the touchpad, it took me a few back and forths to realise that's what's happening and that i didn't misremember fixing the setting.
The thing is... that MacOS works for "techies" because of that, limits are lack of configuration possibilities and lack of configuration possibilities are seen as user friendly, Mac OS for me as a Gentoo User day-to-day who see macOs only on company hardware is a limit, but it works, you accept the limits and you move on with your work, no matter if you are in the share of people who are not helped by it
I mean I don't think it's wrong or good, I think it's limited and has its share of market within people who don't want to waste time reading manuals of being involved in software or systems, what I find upsetting every now and then is those cool people coming around communities and say "Why Linux can't be MacOS?" I think each system has it's target, all of them cover different needs, I really don't understand who uses something and wants something else to become like the something they use and not use the somethign they already use .. I wish someone had an explanation for this humanity trait for me
I have to agree on San Francisco, it's not a great font. It looks good on "retina" screens but it appears like it was designed to be less than optimal on non-retina displays. I've always assumed they just introduced it to get people to buy new machines.
But I really hated the lack of customisation, and also the way that they change stuff around all the time, screwing with my muscle memory. macOS in the Tiger days was pretty perfect for me, but since then things have gone downhill. Now virtual desktops are no longer possible in a grid but only a line, expose has been replaced with Mission Control that doesn't work as well. The overall design is worse and every release they lock more configuration files down. Try to change sshd_config so you can only authenticate with private keys, not passwords - a very sane configuration that is widely recommended. macOS will revert it with every update.
Anyway in the end I just decided I was done with it. I still use it for work but at home I moved to FreeBSD with KDE.. I love its customisation options <3
Slightly related: I feel it's worth spreading the word about yabai [1], a tiling window manager for MacOs. I've been using it for >1 year, to get an i3 like experience, and find that it makes using MacOs very pleasant.
Issues in the article are somewhat addressed:
> Focus Follow Mouse
Can do this with yabai
> Always on top windows
Can do this with yabai
> Window snapping
Can do this with yabai
The way I use it: I have 9 desktops, and can switch between them via the keyboard (ctrl+<desktop_number>). Can move apps from one desktop to another via keyboard commands. Apps are automatically resized to fit. Can move apps around on screen via keyboard commands.
I’ve not used yabai as I now have the option of using Linux for work, but I’d tried several tiling WMs for macOS a few years back and none that I tried handled adding/removing displays well.
When you plug in an external display, do windows move over to it? And if you change the resolution on one display when doing so, do the windows resize as they should?
It seemed at the time like their reliance on macOS’s accessibility settings to manage windows made them fairly limited.
> reliance on macOS’s accessibility settings to manage windows made them fairly limited
I think that yabai goes a bit deeper than other MacOs WMs; it gets you to disable (or partially disable) MacOs's system integrity protection, so it can use the OS window manager directly.
USB Overdrive is a crazy good piece of software allowing that and more like full tracking speed and acceleration control, for any USB or Bluetooth input device (keyboards, mice, gamepads) either globally, per device, and/or per app.
Although what you can't do (I think) is having (input) focus on a non-raised window, because that would break the focused-app-is-active-app-hence-menubar (because keyboard shortcuts) model imposed by the window manager.
Yes, this is a big one. I run full system containers on my Linux boxen with systemd-nspawn, and on macOS, with their system level protections, I suspect even chroots would be too much to ask. (Maybe it's possible, I just haven't had that many disposable hours to check just how much pain it would be for quite a while.)
While technically, yes, you are correct. It kinda misses the point - developers are more and more working with containers. Doing this on a Mac is an awful experience compared to doing it on Linux (or, Windows - I hear docker + WSL2 is pretty decent - but I've not tried it!)
I understand the point and totally agree, but in my opinion it doesn't fit to this kind of list in the article which is about features of the OS that don't work on macOS but on Linux. "Linux can't ran Adobe Creative Cloud Apps natively which a lot of designers use" would also not fit this kind of list.
While it's a good reason to choose macOS or Windwos over Linux it's not a valid criticism of Linux because they can't do anything about it. It would be valid criticism of Adobe. Like I said the list of the posted article is about OS features and explicitly not about third party software
That is true, but containers are the most pervasive in macOS of all desktop OSes.
That is something I do actually like there. And Apple isn't even forcing developers to do it (unless they want to publish in the app store which most apps I use don't do), just more and more app developers sandbox themselves.
Try running a docker container whose executable is called “foo” in macOS. Then go to activity monitor and try to find “foo”, or try to attach to it from the host with lldb, or try to profile it with the Xcode profiling tools. You can’t.
This is because it’s running in a VM, not natively on the host. On Linux you can do any of those things from the host directly, without needing to shell into the container.
I actually found this so incredibly frustrating when I started working at a job that uses docker that I argued in vain against using docker at all, and then when that failed, I switched to doing all my coding and other technical work on a Linux VM and only using macOS for email.
And then does magic when you want to expose a volume from your macos host to your docker container. And that magic can slow down things. They improved things recently though [1]
OSX is a distant third for a developer who is deploying docker containers. Microsoft and WSL2 are trying, but nothing beats a linux distribution for that.
As a new mac user (~4 weeks with new employer) my biggest N are:
1) inability to ask the window manager "which workspace/desktop am I on" - it also seems like this ability has been progressively removed with newer versions (judging from stackoverflow/askdifferent questions) - after some hacking I've found a workaround for this
2) clicking on a browser notification just brings me to _any_ window of the browser, not the one that sent the notification! - if anyone knows how to fix this please help me out
3) there's a delay on toggling caps lock that you can't disable without installing some small third party utility! it just feels super rude that they're essentially telling me that I didn't mean to press caps lock
Am I the only one who actually finds more desktop a drawback then a benefit? I clearly haven't mastered multiple desktops -- do you split between projects and just leave it there always? I haven't figured out how to best optimize that which I feel I am leaving real value on the table.
I have a browser profile per workspace and git/aws/maybe some other env vars that are set up on a per workspace basis. To switching from project 1 to project 2 or personal I just click on the appropriate desktops in the status bar.
Which reminds me, another missing thing is the ability to have desktops displayed in the status bar and click on the one you want to jump to.
I tend to only use multiple desktops when I'm on a single screen or working on the laptop directly. In that case it's sorta a task thing, one desktop is chat clients (Slack and/or Discord), one is my editor, another is the browser, and a third is for terminals (for git etc). I use Rectangle to handle moving windows around.
I use i3 (tiling window manager) basically as a maximize-by-default: I have everything either maximized or split vertically once. When I use more windows than that, I typically spread them between workspaces.
1) inability to ask the window manager "which workspace/desktop am I on" - it also seems like this ability has been progressively removed with newer versions (judging from stackoverflow/askdifferent questions) - after some hacking I've found a workaround for this
I just swipe up with three fingers on the Trackpad to see what desktop I'm on, are you looking for something different?
> Read files from MTP devices
>
> If I stick a USB cable between my phone and Linux laptop, I can see the Android files on my laptop. I can open them, move them around, etc. On a Mac I need to install some shonky 3rd party software which rarely works.
Helpful tip for anyone with Android phone and macOS. I found that app will choke or crash if it is accessing folder with over 500+ photos. Create a new folder outside of that photo folder. Then use the Android file manager to transfer or copy the photos you want to the new folder. Connect it to macOS and you will be able to grab the photos from the phone to macOS without crashing.
Thanks for the tip. While the plugin from Google never failed for me during file transfer, it's incredibly limited! I was very surprised that that is absolutely NO macOS-Android compatibility out-of-the-box when I got a Mac recently.
I remember I used to be able to force-quit an app by two-finger tapping on the red "close" button. Then suddenly after some update, the feature is gone. I hate when they change shit for no reason and dont think for a second about breaking peoples workflow.
The line of thinking that they decide what should be part of my workflow is exactly what bothers me so much about macOS.
For me it's also ingrained Command-Q into my brain to close an app. Especially because even before this change apps often didn't close when you closed the last window. It's always been like that. Only some apps like System Preferences do it.
Well my thinking is that homelessness shouldn't be a thong in a first world country, and but this'solution' is like making homelessness illegal and declaring that you solved the problem.
Clearly the appropriate solution would be to somehow make sure that I never need to force close the application, but the damn thing won't even let me restart if some app has hung (I am looking at you MS teams!)
You can change the menu bar size under "Accessibility -> Display" to "large".
You should be able to mount a NFS share on login by mounting it, go to the login items settings of your user and add the mount there.
For your mouse: Ask your vendor to provide a driver for macOS. This is a usual problem with a lot of hardware. A lot of vendors don't provide a driver for macOS.
At least changing mouse button order (and much more complex keyboard modifications such as remapping keys, assigning different commands to F keys, making a hyper key, turning on super-duper mode etc.) is possible with Karabiner Elements.
Most of the criticisms here are about the fact that the UI is more customizable on Ubuntu - fair enough, but I can't help but feel that the implication is being made that this is better. I think it's pretty clear that macOS is trying to give you less options (there are, after all, lots of hidden options), but in a considered enough way that almost all users will be happy to have their lives simplified.
I move back and forth between macOS and Ubuntu, and think the combination is wonderful. It keeps me honest in terms of which tools and workflows are actually portable, and makes me appreciate the things each system does better.
A customizable UI is the first point of contact for usability and productivity. There isnt a reason to not provide these, stability is not an excuse especially when a lot of the answers in this thread are to install a 3rd party utility to accomplish them.
Window tiling and mouse button customization are easy and safe.
I would argue that the massive company doing usability studies is the first point of contact for… usability. Most people legitimately do not give a single shit about changing this stuff themselves - hell, once they enter Chrome many seem seem to forget the rest of the OS even exists these days.
> I have multiple screens and multiple windows. I want to be able to hover over a new one and start interacting with it without clicking.
Having attempted to implement this once, doing this is nontrivial. If you try to focus anything under your mouse then you can end up changing the selection state of tables and controls, which is generally undesirable.
This is about _window_ focus, not focus on individual controls within a window. The former is useful (I tried GNOME for a while but went back to i3 for, among other things, this reason), but the latter is (as you found out) probably not a good idea.
They are one and the same, because when you are interacting with a window you are actually interacting with controls inside the window. It is easy to forward cursor events to the target window (hover and scroll already do this, FWIW) but when you want to say type something you'll need to focus the text element under the cursor before you can just blast key events to that application.
Doing this in a way that feels intuitive is non-trivial. If you go the simple route and focus every control (so you can do things like tab between them) you run into the issue of the mouse activating some of them as you go over the element and giving it focus–for example, if you do it on a window sidebar, you'll switch between the tabs. I didn't get a chance to really thing about it, but I was thinking of just giving text elements focus and considering it to be good enough; but there are still challenges there: should you be able to focus on a search field (which might blow away the current context and replace it with a "searching" screen)? How should I handle keyboard shortcuts?
There's a much deeper reason that MacOS doesn't make focus-follows-mouse easy.
In most window managers (including Windows), the first-class entity is the window. Windows are related to applications (or processes), but they exist as their own thing, operate independently from most other windows without special handling, and usually have their own menu bar.
Apple took a severely different tack on this fundamental abstraction: the first-class entity is the application. At all times, there is at most one application with foreground context and all others are background, and it's actually a pretty expensive operation to switch between them. They did this for a couple reasons (some accident of history and some practical... for example, Apple's decision to put the application's menu at the top of the screen to coincide with the original usability studies on how the edges and corners of the screen were the easiest to mouse to implied there'd be at most one application at a time owning a global menubar context).
This had huge consequences for the constraints put on applications. For a long time, it was hard to write a tiling window manager for Mac OS X because there was no language by which you could describe all windows; you'd have to query every app for the geometry of its windows, then compute a new global layout, then foreground each app so it could update its window positions. This is no longer the case, but it made any TWM implementation a toy for years.
The upshot of this design for focus-follows-mouse is it has a lot of unintended consequences and can make the system actually quite hard to use in a focus-follows-mouse configuration. For one, it induces latency in all your mouse operations if you're constantly toggling the foreground app as you mouse around. For another, it actually makes it quite difficult to mouse to the menu bar if the menu bar is going to change when your mouse drifts over another window.
(It is interesting to observe how, while at some level "they're all just window managers," the detailed decisions made by the different OS developers led to some things being subtlety much harder in one or the other).
That's still something you have to install, or is pipewire/pulse included by default? If you have to install then it's the same as installing something like Audio Hijack on Mac.
No, Pulseaudio has been the standard audio system on Linux for most of the last decade. Pipewire is the standard one on some more cutting edge distros (i.e. Fedora). If your Linux install comes with a GUI, it will have one or the other.
Out of the box macOS doesn't have a button to maximize the way Windows does. The green button in modern macOS is for full-screen and option-clicking that button will bring back the old "zoom" behavior which expands the window to fit the content being displayed. It's a lot less frustrating of an experience when you realize that the button doesn't do what you assume it does.
I suspect that'd play absolute hell with either their UX concept or the underlying UI abstractions / implementations.
This would create a situation where an application has one window foreground above the foreground application while it is not the foreground application.
On the UI / implementation side: I don't think it's possible to have any windows of an app foregrounded past the foreground app's frontmost window if that app isn't itself foreground. They'd have to create a new category of window (and probably move a bunch of internal data structures around) to make that possible. I know, "it's just code," but it's code based on some very deep and old assumptions about the way the window manager works that probably have hard-to-predict consequences if violated.
On the UX side: having a window floating foreground when the top-of-desktop menubar says another app's name in the corner is going to trigger a "WAT" for a lot of users, and I think Apple is deferring to them.
I understand, and even appreciate, that they don't let too much customization on their default programs. But why can't you run a different program? It makes no sense.
Depends on what you mean by "run a different program". You can't really replace WindowServer on macOS, as it is pretty much macOS itself. macOS is not really as modular as Linux or even Windows. There are things that hook into it to give extra behavior (Helium, Afloat, Magnet, Amethyst, chunkwm, several others in the AppStore), but replacing it is not really practical, I believe.
> You can't really replace WindowServer on macOS, as it is pretty much macOS itself.
I find this very foreign. As if a unix system didn't let you change the shell!
This is sad to hear, because I'm a happy user of a headless macOS (not set up by me), to which I ssh almost daily for testing purposes, and it is a fairly decent unix system. It has a few idiosyncrasies, sure, but those help to make your pipelines more portable. I always supposed that the GUI would be just a regular program running on top of that unix.
The window manager is definitely a "default program" that is probably tightly integrated in various points of the OS. AFAIK, you can't even use the OS without having Finder running (not the actual window "Finder" but the process) as it's also involved in lots of things, like the desktop and such.
I believe Finder is not technically necessary, as seen on Apple's installers and restore mode (which are a smaller version of macOS). You can kill it with Force Quit, for example. It is indeed also the provider of the Desktop, but everything else works: Dock, Menubar, Command+Tab.
It is launched via /System/Library/LaunchAgents/com.apple.Finder.plist
No...macOS doesn't work that way. There are a few hacks (Afloat, Helium) but all require disabling SIP, which is not desirable. And even if they didn't require disabling SIP, they only work part of the time in my experience.
Windows does not use a window manager like X does; the frames are drawn and managed by a library used by all applications, it’s not a separate program.
I’m not 100% sure but I’d say it’s pretty likely Mac OS works the same way, just like on Mac OS the left part of the menu bar (including the system menu) is drawn and managed by the current application (using a system library so the application developer doesn’t have to worry about how it works).
> on Mac OS the left part of the menu bar (including the system menu) is drawn and managed by the current application
IIRC it is not drawn by the application, it's a system app that gets the focused (or rather, activated) app menu hierarchy as the app instructs through some IPC, but it's not the app process itself drawing there. The only part where an app actually can draw is on the right part, when one implements menu bar extras (which previously required hacks to inject into because the menubar extra API was severely limited, but IIUC now has a dedicated, managed API to replace the hacks)
Some others I've noticed after using MacOS briefly:
Disable font anti-aliasing and enable full hinting (essential to get sharp fonts without needing a slower and more expensive 4K monitor)
Disable vsync (necessary for reducing latency to the absolute minimum when you don't care about tearing; requires Xorg)
Disable window decorations (for a pseudo-fullscreen mode that leaves the panel visible)
Disable mouse acceleration
Disable mouse wheel acceleration
Change mouse polling rate
Set keyboard auto-repeat to arbitrary values (I use 72Hz auto-repeat with 200ms delay)
Remap colors for compatibility with display hardware with non-standard black/white levels (I have a DVI to VGA converter that expects TV black level but computer white level)
Send arbitrary DDC commands to the monitor (e.g. to change brightness)
Disable and enable the mouse in software (to prevent accidentally waking from power saving with mouse movements)
Switch virtual desktops by moving the mouse to the corner of the screen and then moving the mouse wheel (corners have infinite size for the purposes of Fitt's law, and mouse wheel inputs should only change presentation of data not the data itself, which means there's no danger from missing the corner, so this is the best way of quickly switching desktops by mouse).
> "I find the menu bar at the top too small. The only way to do this on MacOS is to lower the resolution of the entire screen!"
System Preferences -> Accessibility -> Display -> Menu bar size
(This doesn't let you change the menu bar to a different font, but it does make the whole menu bar including the font bigger, without changing the screen resolution, which seems to be what the author wants?)
Have you tried it recently? The difference it makes is - at least on my Mac - only a couple of pixels. The "large" size is hardly bigger than the regular one.
In my experience, Android MTP worked semi-reliably on Windows (I'd often encounter "ghost files" which couldn't be renamed or accessed, since MTP and Android's media cache desynced from the underlying Linux filesystem), and often failed entirely on Linux (trying to open the phone hung or caused the Linux MTP daemon to crash immediately or after some time). I much prefer adb push/pull, which has always been rock-solid as long as adb can see your phone.
MTP is a clusterfuck of epic proportions for anything involving more than a hundred files, much less 1000+, no matter the platform of either the host or the device.
Seriously I have utterly no idea why no one has bothered to create a new protocol that is designed with the capabilities and capacities of modern devices in mind, not with "fits for managing a 256MB-sized MP3 player or a point and click consumer camera with a 2 GB SD card".
This is really the only issue from that post that I would really like on macOS. SSH mounting as well, potentially. The rest are annoyances that while I believe are very important to the author, they feel rather irrelevant to me.
Right now, Android File Transfer of macOS is so bad I basically just use adb for everything.
As I've started to move my collection of music from Spotify to downloading FLAC from Bandcamp, I found that libimobiledevice + ifuse (https://wiki.archlinux.org/title/IOS) seems to do the job good enough. Only thing that took some time to figure out is that I need to move the music files into a directory specific for the application I use (VOX) rather than the general "Music" directory, as it seems files are not shared between applications and the music app doesn't have any directory exposed for me to put them in.
I'd love to be able to just plug the damn phone into USB and transferring files like a normal person though, but Apple doesn't seem to want to play that game, sadly...
Things I can do on MacOS:
- Edit any document or video within minutues of installation
- Use sed/awk/find/grep on any documents or text like with Ubuntu
Linux desktop tries too much to be like macos making it even worse. Every time I have to remove avahi, cups and like 10 other things which breaks the whole damn thing and I have to figure out how to unbreak it then get rid of shitty networkmanager so I can write a systemd unit to get thr network to do what I want and avoid my dns resolvers being replaced and edit grub2 config at least 3 times to get it to actually take so the interface names are not e9xnfhsjfkszhfj02 but just eth0 and then spend half a day to get secure boot working. And then I have to find the apps I want to use and block a weekend aside to set them up.
I use mac to just get things done, I use linux for control and to get them done the way I want.
I think using "Linux" here isn't accurate. ElementaryOS? Definitely. But default KDE Plasma for example does not attempt to look like MacOS at all, same as Cinnamon, which by default resembles Windows to an extent.
> Every time I have to remove avahi, cups and like 10 other things which breaks the whole damn thing
I don't get it. You're removing services manually and complain it breaks your system. Why remove them then? (For extra irony, avahi is there to support Apple's Bonjour and cups belongs to Apple - I don't expect you're turning those off on your MacOs, right?)
Yes, that is exactly what I am doing, because I don't want random things I don't need running, because I desire control when I run Linux. If I want random junk that breaks everything and has no use to me running, macos and windows do that just fine.
One thing I cannot live without is the ease at which you can setup network interfaces on Linux. For example, with docker compose I can add this snippet:
And, then each service can use something like this:
networks:
vpcbr:
ipv4_address: 10.20.0.6
docker-compose up creates the network, and I can seamlessly access my services by a private IP address VPC. It's so powerful for testing real-world services where you need to have cookies created on the right IP address that is a different one from the auth server, etc.
With OSX I have to use things like 127.0.0.1 and 127.0.0.2, but my docker compose file isn't aware of it, and it is very hacky.
Linux networking supporting is phenomenal and so flexible.
Thanks for the list and your thoughts. Now I know I’m not giving up much from using a Mac with MacOS instead of a linux desktop distro. Because, I don’t have the needs that you have.
I need a computer that works without too much fiddling required for 80% of the way. When I shut the laptop lid, it should sustainably go to sleep, and when I open it up, it should let me work from where I left off instantly. It may be possible to do this with some linux distributions, but then I would either have to know some black magic or give up something else like have a decent battery life.
I love and use Linux for all things serious _on_ _servers_!
Desktop Linux has been a democratic tragedy of the commons. Too many chefs in the kitchen comes up with a meal that has too many flavours in a single dish.
To each to their own. It's quite evident that the author simply dislikes MacOS. Many of these problems if these can be labelled as such, aren't really serious issues for the majority of users. And in some cases it seems that the author is used to other operating systems and hasn't spent enough time on MacOS or isn't inclined to learn the differences.
> I know you're going to be tempted to reply with "you're using it wrong" - but I'm not. This is how I like to use my computer.
This part of the closing statement simply baffles me. I use both Linux and a Mac and I like both. In fact MacOS has spoilt me in many ways and I get frustrated when things don't work as nicely on Linux. But I still like both.
I'll start with things that I'm happy to have in mac that didn't have in Linux :)
- Cannot run a bunch of programs that stay on the topbar, like LINE (https://line.me/en/), Kap (https://getkap.co/), etc. I am a fairly heavy user of Kap and I love the interface, so this is probably the biggest differentiator for me. I can use Gimp, Inkscape, etc. on Mac so this is not really reversible.
- The visual quality of the programs in Mac is generally a lot higher, and humans do like aesthetic visuals. For example the "CPU indicator" (iStat) I have in mac is an order of magnitude better, same as VPN tool, etc.
- Upgrading the OS to a major version without worrying if I'll be able to boot next time.
- (unfair?) 10+ hours of real-world battery usage, in Linux I could often get half of the advertised 5-6h battery life from the PCs if lucky
- A lot more hardware stuff with the M1 Macbook Air, like the amazing touchpad, keyboard (in new models), etc. Some will say it's fair to compare them some won't, so I'll leave that up to you but summarize them all in this point. I want to try Asahi Linux when it comes out stable though!
- Drivers all work very well, it's like they built them on purpose for their hardware (!). No more fighting with pulseaudio.
However overall I've found them to be a lot more similar than dissimilar to my surprise, swapping from one to another as a normal everyday JS dev is fairly trivial. To add on the author's list, the biggest issue I have is with external USBs, I like having them encrypted for backups and there doesn't seem to be an easy way to do that with mac. I had no trouble with AndroidUSB, just install it and it behaves just like another filesystem program.
> Drivers all work very well, it's like they built them on purpose for their hardware (!). No more fighting with pulseaudio.
Pulseaudio is not related to drivers, but since you mentioned it, pipewire replaced pulse recently and it's way better than anything macos provides. You just can't operate on audio channels this way on a Mac.
On the other hand, there's lots of drivers which are missing on a Mac or require obnoxious upstream apps. For example Logitech has a 300MB macos app for configuring my mouse, 200MB app for the camera, and printer/scanner comes with ads. They work... sind of. Same settings/devices are exposed in Linux by default, without extra work.
> Upgrading the OS to a major version without worrying if I'll be able to boot next time.
You've been lucky. I've lost the system twice due to updates.
> Upgrading the OS to a major version without worrying if I'll be able to boot next time.
Yeah, well my friend's Intel Mac mini got bricked when he updated from Big Sur to Monterey in the first week after release. Needed to send it to Apple service. IMO Mac updates are almost as broken nowadays as Linux updates were 7+ years ago when I daily driven it.
I also upgraded my Thinkpad X220 from Windows 7 to Windows 10 when the update showed in my system, and everything worked without any reinstall since then.
"A program doent work on another OS" isn't really a fair complaint. If you need a screen recorder widget that can be done.
The visual quality of a well-themed KDE or similar DE is imo above and beyond anything macOS can do.
In 2022, booting a new OS update is not a problem that exists anymore on Linux. If you use a rolling release, you don't even need to worry about major updates, they're not a thing. Meanwhile, update hell on macOS has been a big issue for me in the past.
As far as drivers, ime on dozens of laptops there is no real issue beyond GPUs on laptop (Optimus) and WiFi, also pulseaudio isn't a thing anymore. But it's a "cry once" kind of situation.
I'm not complaining, I'm listing things that I'm happy to have in mac that I don't have in Linux, so def fair to list a specific program that is mac-only.
> the biggest issue I have is with external USBs, I like having them encrypted for backups and there doesn't seem to be an easy way to do that with mac
This is not what I'm saying. Most people install Linux on their Windows-certified laptop and complain that suspend/WiFi/sound doesn't work. If you bought preinstalled, everything would be flawless (it is for me).
And people continue to misunderstand that it is the driver manufacturers not supporting Linux that is usually the issue, not that 'Linux doesn't work with xx hardware' because of some inherent Linux failure.
After a quick scan, that list is full of stuff that either has never been an issue with me (who has been a Linux desktop user since 2002) or is actually an advantage of the ecosystem (and won't be a problem for people not continuously distro-hopping, e.g. "desktop users"). Some even seem like wilful lies (e.g. the one about Windows and Mac allowing you to 'configure everything via the GUI').
In short, it's FUD, and the author is not honest in his assessment. As such, the article is without merit. So, what can you not do on Linux that you can do on Mac?
> Some even seem like wilful lies (e.g. the one about Windows and Mac allowing you to 'configure everything via the GUI').
That's true excluding registry hacks 99.9% of people couldn't care less about.
In Linux on the other hand a TON of things do require using console.
> In short, it's FUD, and the author is not honest in his assessment.
I've heard this assessment from rabid Linux fanatics before.
However "FUD" is more likely your assessment of the article because it's as factual as it can be considering I've been using Linux as my primary OS for 25 years now.
> As such, the article is without merit.
Well, you've spent 10 seconds reading it, so your comment is without merit.
> So, what can you not do on Linux that you can do on Mac?
No clue, I've never used MacOS to a large extent (excluding wasting 3 days trying to install Windows next to it which I succeeded but I hated every second of that experience considering I had to even use BIOS loader hacks to make Windows work), the article is not about an Apple OS either.
There's no way I'll ever do that again. Apple hardware is meant for Apple software, period. Using anything else is a never ending source of pain.
> In Linux on the other hand a TON of things do require using console.
When was the last time you used Linux?
For a 'normal' desktop user, they will see the terminal as much as they would using Windows, basically not at all. Especially across most of the main user-focused distros like Ubuntu, Mint, Pop, MX, Zorin, etc.
> There's no way I'll ever do that again. Apple hardware is meant for Apple software, period. Using anything else is a never ending source of pain.
You accuse DocTomoe of essentially being a Linux fanatic and the use the same rethoric immediately afterwards...
> For a 'normal' desktop user, they will see the terminal as much as they would using Windows, basically not at all. Especially across most of the main user-focused distros like Ubuntu, Mint, Pop, MX, Zorin, etc.
> If I stick a USB cable between my phone and Linux laptop, I can see the Android files on my laptop. I can open them, move them around, etc. On a Mac I need to install some shonky 3rd party software which rarely works.
You didn’t used to have to do that in macOS? I remember plugging in my android phone and it mounting my memory card. Is OP referring to accessing something else?
> Mount an SSH or NFS drive
> In Ubuntu, I get a nice little GUI for picking network shares. Impossible on Mac.
I’m a little curious what the difference is between macOS and Linux here.
There’s definitely a lot of legitimate points here and a few questions on others.
This refers to MTP (Media Transfer Protocol). Very old Android devices (with Android 2.x) used to pass-thru the SD card to the host as a USB Storage Device, but that solution was clunky as it requires detaching the SD card from the phone itself.
MTP is file-level protocol and you can continue accessing all files on the phone at the same time as accessing them from your computer. MTP is part of the "Windows Media" framework and so works out-of-the-box in Windows. Linux supports it for 8+ years through GVFS and KIO, while Apple doesn't to this day.
Older versions of Android used to allow mounting as a mass storage device, but there are several problems with this:
- You can't allow apps on the phone access to the filesystem at the same time as it is mounted as a mass storage device (because you may corrupt the FS).
- It doesn't work with full-disk encryption used by newer Android versions, because your computer doesn't have the key (and the key is probably stored somewhere in the TPM of your phone, encrypted by your password).
- It requires the computer to support the FS used by the phone, which means necessarily using something that Windows/macOS supports (which mostly limits it to FAT/exFAT/NTFS)
So starting from Android... 5 or so? you can't mount as mass storage anymore. This probably consists of 99.5%+ of currently functioning Android phones.
Mass Storage devices are attached as block devices. MTP devices are attached as file devices. As long as the OS understands the filesystem on a block device, it can mount it. For file devices, it needs to speak the protocol (in this case MTP). MTP is similar to how Apple handles attaching of its devices, just a different protocol.
Mass devices can be easily corrupted and have to be unmounted from the current device. MTP can stay mounted and accessible by the mounting OS and source device simultaneously and are much more difficult to corrupt.
It also allows the host device more security and control over what the guest can do.
The one that bugs me the most is the fact you can't disable the transition delay of 300ms when switching workspaces. Such a basic thing, but the number one reason I won't buy a Mac today.
I've been using Linux for more than 20 years. For many years it was my primary computer platform, until I moved to the Mac.
I recently put the latest Ubuntu LTS Linux on a spare laptop, as I needed a laptop. Sure, it was fun configuring everything for a day or so. But then it started to grind me down, as Linux always seem to do (for a personal computer - it's fantastic on servers).
Then I had a new, big project come in and bought a new MacBook Pro 13" with the M1 chip.
Wow.
I have never had a computer anywhere near as nice as this. Very fast. Light. Days of battery. Screen is fantastic. Best keyboard I've ever used. Best trackpad I've ever used by far. Never gets hot, barely warm, fan rarely comes on. I can do things like extend my screen to my iPad Pro 12.9" OR use Universal Control to control both from either keyboard/mouse/trackpad.
It has the Touchpad, which I'm undecided about but mostly like.
I work on Linux servers all the time, and the free/open source iTerm2 is a really really good terminal app.
It's BSD Unix under the hood, so most Linux commands also work here, and there's Homebrew to install whatever you like.
And the productivity apps are fantastic, many of which only exist on the Apple platforms, like Omnifocus.
So yes, I like Linux, but I'm so much more productive using a Mac these days.
So I don't really get where the OP is coming from.
Like window tracking - yes, I've used that on Linux but I actually find it equally annoying. If it's on, I don't like it. If it's off, I sometimes miss it ;-)
I want to ask a question in good faith to macOS users recommending people to download (and a lot of times pay for!) 3rd party tools to improve userspace functionality on macOS: Why is this the norm?
Downloading a 3rd party tool is one thing (I wouldn't have a huge problem if it was open source), but a lot of times these tools are closed source and require you to pay out of pocket! This would never ever fly in the Linux community. How come this is commonly accepted and never challenged?
(A controversial viewpoint I thought about is maybe that macOS users on average make more money than Linux users and hence never think about this, but I don't want to put it forward as the definitive answer)
EDIT: Perfect example I thought of is my friend asking me for help on how to reconfigure deep click (or Force Touch as it's called) to open new tabs in his browser, and I had a look around and the recommended way is to pay for BetterTouchTool [1]. No free way to do this that I could find.
Man, I’ll counter your counterpoint: people deserve to charge for their work/time/support.
Why on earth would I have an issue with a dev charging a few bucks for an app that does what I want? This is very normal behavior and Linux is the oddball.
Way back when (2006), chromatic posted a "switching back" article at O'Reilly Radar. Sixteen years (!!!) later, it still holds a great deal of truth. You'll have to dig it up on the Internet Archive though.
Focus-follows-mouse, UI customisability, package management, second-hand citizen status of Linux apps, and a few others. It's also interesting to see what has appeared as supported / possible, on both operating systems.
The nice thing about this post is that it seemed to stay away from the standard “Macs suck because they don’t do this…” start a flame war vibe that a lot of these types of commentary’s delve into. The author specifically said:
> This is how I like to use my computer. And it is clear that the MacBook isn't my computer - it is Apple's.
For me its the old adage - I can hammer a nail into a piece of wood with a screwdriver, but a hammer might do the job a lot better. If your company is providing you a screwdriver to use as a hammer, thats a problem.
I kind of wish tech would operate more like the trades—where the tradespeople provide/manage their own toolbox and tools. BYOD has its benefits. Its unfortunately that a lot of companies tend to disallow it.
The author mentioned a common retort which is “you’re doing it wrong”… well in my case I most definitely am doing it wrong. I don’t know how, exactly, but no doubt. But point is with macOS I can do nothing and it still just works. Who knows what I would have to do to get my Ubuntu machine to work. And it might be the machine, not the OS. Another reason bundling the machine and the OS together such that they just work is a good idea.
I’ll take working audio over any of the author’s examples any day.
And if your audio works on Ubuntu, great! That just doesn’t help me though. So Mac it is, as far as audio is concerned.
Pipewire has mostly fixed Linux audio, once it's fully adopted I expect these concerns to go away.
I'll agree though, even as a Linux user: audio sucks. For the past 20 years there's been like 3 different audio standards, each with their own advantages/flaws and nobody settled on one that we'd just all use. That's why pipewire exists: you can now mix-and-match between all of these systems and get a CoreAudio-like experience out-of-the-box. It's very nice, and I can genuinely not think of a single use-case that couldn't be served by it. You wanna screenrecord while recording from YouTube into your DAW while playing a game and livestreaming it all at the same time? PipeWire has you covered.
The real shame is window servers. Both xorg and Wayland are some of the worst software I've ever used, and neither of them even come close to Quartz on MacOS. It's the main thing that keeps Linux feeling like a server OS running desktop software; neither of these solutions are complete or stable. There's no replacement for them either, Wayland took more than 10 years to build and it's still awful and works on a small handful of software.
Desktop Linux will always be a niche experience. As someone who fits into that niche, I absolutely love it, but I'm not mad or confused when people say they simply don't like it; I get it, I really do.
KDE Connect almost works on Windows, but spawns background D-Bus processes (nitpick) and crashes on sleep-wake (near-dealbreaker). I hope to someday diagnose and fix the problem, but even building KDE Connect is a nonstandard process involving using Craft to install libraries and build the program (rather than building from an IDE directly).
It takes a bit of setup, but it's an extremely flexible and solid tool so far for me. It exposes a lot on a lower level which makes it feel more stable in general.
Several of the missing capabilities mentioned here can be done with 3rd party tools.
* BetterSnapTool for window snapping and maximization (although I prefer Moom for better control).
* Afloat to force a particular window to always be on top.
* TinkerTool to mess with various other settings.
Sure, these may not be “built-in” as first party capabilities, but Apple has a history of slowly bringing such capabilities into the OS over time. Flux (for altering screen tint at night time) became standard. So did TextExpander (for auto-expanding abbreviations).
I thought focusfollowsmouse was now available inside accessibility settings menu ?
That is, without any third party additions, I was under the impression you could achieve FFM by enabling a very particular setting inside the accessibility menu in system settings.
I can't test this because I don't have a modern enough OSX running in my office but I swear I saw this as of High Sierra or something.
Oh, wow. I thought I was going crazy but this comment makes me think maybe not.
When I was skimming this thread last night I was positive this was an option at one point but when I went into System Preferences to look I could no longer find it. Was making me lose my mind.
Or maybe we’re at a Berenstein/Berenstain situation here.
Well, again, I cannot look as I do not have any OSX running later than El Capitan ... but if anyone wants to poke around accessibility settings and look ...
Window management in macOS is from the stone ages. Maximizing has unpredictable behavior. Windows sometime fill the screen, sometimes not. Window snapping is absent. It works so frictionless in both Windows and Gnome: just drag the window to the left or right, and it automatically snaps with a satisfying animation.
I don't get it, this is basic stuff. Not advanced stuff.
- cannot invert scrolling just for mouse (I use normal mouse with wheel, not apple mouse) -> I have an app for that
- cannot connect Mac to a low dpi screen (like 1080p) without macOS looking like crap
On the other hand, macOS can run MS Office, or professional video and photo editing apps, which Linux cannot do. Alternatives exist, but are IMO worse.
Since I don't have (nor plan to have) Magic mouse, that's kinda expensive solution :)
I use this instead: https://github.com/pilotmoon/Scroll-Reverser and it works well. Generally my preferred settings is like this: natural scrolling (ie. the mac default) for trackpad, but inversed (ie. linux/windows default) scrolling for mouse.
For me I love GNU/Linux, but it seems I miss the things my Mac has when I'm on it, and when I'm on my Mac I miss some of the things my GNU/Linux box can do.
Once mobile comes into play, it's literally not even a contest anymore, I gave up on trying to have a mobile experience as good as Mac.
I recently bought a laptop which came with Windows 10 preinstalled and I was shocked to find that not only does Ubuntu feel much faster but it has better support for Intel Xe graphics hardware.
Windows frequently with 4K HDMI plugged in, the "System" process gets stuck at 10% and machine becomes unusable.
I recently went from fedora to Mac and as much as I am happy with hardware, and Im ok with macOS, I really do miss the Linux environment and the workflows. Maybe I need to give macOS more time, but to me, it doesn't feel as easy to navigate and configure.
I miss wobbly windows. It's not something I have on all the time but they're fun.
They were all the rage back in the mid 2000's, especially on Knoppix but I don't see any tutorials for doing it in modern Linuxes. Can anyone point me to one?
I miss back when you could do this in Linux. Ever since GNOME 3, compiz has become a piece of software that integrates poorly with the rest of the desktop and causes screen taring or straight-up driver crashes if you enable wobbly windows.
This is why I have a Mac and Linux/Windows dual boot systems at home. I realized each one of these systems have differences that will never be resolved. I can have my cake and eat it too, each machine fit for purpose.
Yep. WSL and WSL2 are great. I used Windows with WSL, upgrade to WSL2 then noticed I don't need the "Windows" part of the system anymore and WSL2 cross-boundary file access is slow, so I deleted Windows and finally installed Linux again on my work laptop. (Used Linux up to 2007, bought a Mac, another Mac, switched to Windows after Apple locked down the system because "Windows has WSL, so I can do my work stuff" and switched back to Linux due to a slow Filesystem under Windows - for my use case).
The only thing that pisses me off, is that the MS-Teams client for Linux is roughly 5 decades behind the Windows client, feature and stability-wise.
(And still have Windows on my private laptop for Fusion360 and games)
If I wanted a duct-taped inconsistent UI, with advertising, "telemetry", forced updates when I am in the middle of something important, 30 min software installations and being the target of most existing malware on planet Earth and spending 10 min to copy a file, by all means I would use Windows.
With Windows, put simply, you don't own your computer.
I haven't used Windows in over a decade and cannot be happier about it.
Windows at this point is a games console for keyboard and mouse games. Nobody uses Windows for anything serious, except old ATMs running Windows 95 and airports that want to embarrass themselves with blue screens of death. Most of the stuff on Azure including Azure itself is Linux based.
I totally get why you would want these features. But why not just use Ubuntu if you want them?
No OS should try to emulate everything that other Operating Systems do well. You can‘t make a highly opinionated OS like macOS highly customizable without compromising the initial vision. The same is true the other way around.
MacOS allows for a surprising customizability through third-party apps and I personally think this is a great solution. It hides the complexity in a way that makes it invisible to users that would be confused by additional option and allows them to get customization as an app that is supported by a third-party dev.
I personally think Windows is what you get if you want to be macOS and Linux. I‘m financing my studies by supporting MS365 instances and I don‘t think it works all too well. While I like the new scripting capabilities, the UI definitely got more confusing since the Windows 7 days.
TLDR: I personally believe diversity is good for the OS market, not every OS has to accommodate every type of user.
> I totally get why you would want these features. But why not just use Ubuntu if you want them?
Because, as I say in the post, I have to use one for work.
I agree that diversity is good but there are some things - like basic accessibility - which should be non-negotiable. And they certainly shouldn't be paid-for addons.
> there are some things - like basic accessibility - which should be non-negotiable.
There are a lot of legitimate reasons to criticise Apple, but I disagree that lack of accessibility options is one of them. They natively support tons of accessibility features, and as far as I’m aware people with disabilities often choose Apple products precisely because they excel at it.
This was interesting. I was recently setting up a mac with Catalina preinstalled and no working monitor so I got the opportunity to use voiceover. It isn't very helpful to someone who hasn't been using it forever. Some issues:
1. Doesn't describe the screen well. Either "you are on a button" or will read everything with no positional context.
2. Doesn't tell you when the screen changes. You press "continue" and it says "you are on a button"
3. When you try to move through the list of wifi SSNs it jumps to the password entry every time you move without telling you which one was selected.
4. The default speed, 50%, is stupid fast. I had to look up how to change the speed.
5. The tutorial was hard to understand and I had to look up the online documentation to get an idea of how it works. The accessibility of that site seems pretty low but luckily I actually am visual.
The article and this discussion are reasonable and interesting, but the whole thing feels as absurd as: Things I can’t do with my luxury sedan that I can do with my old pickup truck.
very true, macos is shit for cusomization & the window manager is always fighting me. I am actively paying for the development of Asahi so I can run a more customizable/less bloaty OS on my M1. ngl, I'd use windows on it if I had too. Luckily macos is available ;)
That being said, I've tied using a pure linux system for my work. I gave up when I couldn't get a somewhat current ruby version installed withing 30 minutes. The grass is a vague yellow on all sides if you ask me.
Good luck doing iOS development on a Linux machine. The Mac is a polished system that also offers very good proprietary software that is hard to find on Linux.
I also sometimes feel tempted to switch but the integration with my iPhone, iPad, appletv and all the software I bought established a very nice vendor lock.
Also if I was to run Linux I seriously wouldn’t know what PC to buy that comes close to a MacBookPro or any other m1 machine (I’m open to proposals).
It's interesting to me that these concerns are ancient it seems and yet apple has no interest in addressing them. They seems to have their own philosophy about what people use their OS for and it's sad because it drags down a good platform.
Having switched to macOS for work like most people it feels like having the Ferrari of laptops but the Fischer Price of operating systems.
I’m embarrassed to say that I’ve been using Mac for years and still don’t know how to make an application fullscreen like Windows does. The green button hides the menu bar, and alt clicking the green buttom makes the app bigger but doesn’t fill the whole screen.
Either I am stupid or Mac is bad at discoverability.
Option + double click on the corner of the window (where your mouse changes to the diagonal resize arrow).
I switched from Win10 to macOS recently and had to search the web to find this, so discoverability is certainly an issue. I suppose Apple would rather you just fullscreen a window than maximise a la Windows.
To make it maximise the area in your current mac Space (i.e. not go "full screen" in a new Space) you can go: Mac Menu -> Window -> Zoom. I just usually double click the App's window bar and it stretches the same way.
Sure I'll bite.. You're talking about Ubuntu, but can you do everything with Ubuntu running KDE or any other WM/DE? You probably mean GNOME or Unity. Didn't they abandon Unity? I dunno what's current, and frankly I don't care!
> Resize the system font. I find the menu bar at the top too small. The only way to do this on MacOS is to lower the resolution of the entire screen!
- Accessibility -> Display -> Menu bar size
> Change the system font. I know you like Helvetica San Francisco - but I find it a bit too thin to read.
- Seems like you have to change the resolution of your monitor if everything is too small. It won't impact the rest, as applications can still use the native resolution if needed.
> Focus Follow Mouse. I have multiple screens and multiple windows. I want to be able to hover over a new one and start interacting with it without clicking.
- Fair, although scrolling does work. It's just it won't transfer focus.
> Change my mouse button order. On Linux, this is a complex command-line incantation. On MacOS it is impossible. I use a vertical mouse and use my thumb to click. RSI FTW!
- Mouse -> Primary mouse button: left/right. Or use tools
> Read files from MTP devices. If I stick a USB cable between my phone and Linux laptop, I can see the Android files on my laptop. I can open them, move them around, etc. On a Mac I need to install some shonky 3rd party software which rarely works.
- On Android you can set the type of connection when you plug it in (debug/dev/files). I guess that all depends on which Android you have?
> Always on top windows. Sometimes I want to keep the calculator on screen while I type an email. Is that too much to ask?
- There are tools for that or you can script it. Applications that really need it usually have it built in.
> No way to remove UI elements. I don't want a notification icon in the top right of my screen. I prefer having the clock on the left. Trivial in Linux, static in MacOS.
- Correct
> Window snapping. On Ubuntu, I drag a window to the side or to a corner, and it snaps into position. Vital when using multiple windows at once. On Mac there's a half-hearted splitscreen view which only supports horizontal splitting. Useless on a vertical monitor.
- There are tools for this. But yeah the splitscreen really sucks.
> See tooltips. I can't see them on Mac when I have a larger cursor. Weird!
- You found a minor UI issue
> Mount an SSH or NFS drive. In Ubuntu, I get a nice little GUI for picking network shares. Impossible on Mac.
- Sure. There are tools for it, but there's also a connect window. Not as nice though.
> Wobbly Windows! Seriously MacOS. Where's the fun?
> Sure I'll bite.. You're talking about Ubuntu, but can you do everything with Ubuntu running KDE or any other WM/DE?
Yes.
Apart from the Menu bar size it seems like your answer to everything is third party tools, which the author mentions at the beginning of the post.
> - Mouse -> Primary mouse button: left/right. Or use tools
Which tools specifically?
> - On Android you can set the type of connection when you plug it in (debug/dev/files). I guess that all depends on which Android you have?
I don't think this will help for most Android devices since it will try to connect through MTP (which isn't supported by macOS without external tools?).
Sure, but it doesn't mean you can't do it. There are plenty of things I can't do - out of the box - with Ubuntu. Doesn't mean you can't do it. Heck. If I install Ubuntu minimal I can't do anything. Ubuntu is one big 3rd party tool collection.
> Which tools specifically?
bettertouchtool
On my xiaomi or galaxy, can't remember, as they are useless since the software isn't updated anymore. It prompts me on how I want to connect when I plug in a USB cable.
> I know you're going to be tempted to reply with "you're using it wrong" - but I'm not. This is how I like to use my computer. And it is clear that the MacBook isn't my computer - it is Apple's. (OK, OK! It belongs to my employer!)
This comment makes no sense. It's your computer. You can install all these tools if you want.
> It's your computer. You can install all these tools if you want.
I'm not sure what you're arguing here - it's literally not their computer, but their employer's. The employer can set policies on what you can or cannot install, whether technically enforced or not. By installing random third-party software, they may be breaching these policies.
And yes, one could possibly get approval from the employer to install them (or maybe not - can you trust that this tool will not steal all your data?), but that is a lot of hassle for fixing such trivial things.
Sure they can set policies. But their policy is to use Apple. So no list of things will help here, as the policy is to not use Ubuntu. Which means he can do exactly nothing with Ubuntu or Windows for that matter.
They could also mandate to not use an external mouse and keyboard. They can be bugged or wireless traffic can be captured
There's always going to be software that supports some platforms but not others.
For example, in the EDA world it's very common to have Linux/Windows support but not macOS support (eg.: Intel Quartus, Xilinx Vivado, Cadence Virtuoso and others, Mentor Graphics Calibre and others, ...).
Using macOS is for a certain kind of experience. it's like fast food, they want basically every use to have the same experience indeterminate of skill level. also, cyberduck is pretty amazing for ftp/sshfs and so on.
Trivial to you, and many people, perhaps. But this user is citing problems such as being able to read the menu, and to accommodate for RSI. So in this user's case, these things are sort of blockers.
I don't think the user is aware that you can change the entire display scale for readability if you need to. There are also numerous mouse button remapping utilities out there.
This post feels more a rant of Linux user that doesn’t know how to do things on Mac… Most of his remarks are completely possible with Mac. All he needs is a third party app (sometimes not even… nfs mount works out of the box)
As a decade+ loyal Linux and Android user I gotta go with "you're using it wrong" on the MTP point. You really should buy (get from your employer) an iPhone.
They actually work together pretty well and when they're not at least you will be yelling at whatever Finder/iTunes interface, not a wonky 3rd party software made by some innocent dev who doesn't deserve the bad karma.
My Android phones have had dual SIM for years, so I only have to carry around one device to access both work and private phone functionality. That's why I declined the provided iPhone, which only would have had one SIM slot. Apparently now Apple has arrived in the year 2012 with their new models - but by now, why would I switch?
Some things in that list are pretty silly (can you really blame Apple for not letting you swap the mouse button order or have the insane focus-follows-mouse option?)
Here are some others anyway:
* Record system audio.
* Control HDMI audio volume (have to use Proxy Audio Driver which is somewhat buggy).
* Set mouse acceleration (you used to be able to but they removed the option and now you can only set sensitivity).
* Disable scroll wheel acceleration (needs a paid third party app).
> * Set mouse acceleration (you used to be able to but they removed the option and now you can only set sensitivity).
Using MacOS is such a miserable experience for this exact reason. I'm sure it's fine when using the trackpad but trying to use a mouse on macos is borderline torture.
I fundamentally do not understand why anybody would ever want mouse acceleration. It just makes it harder to use the mouse.
In the past I've used mice and trackpads on Mac that had their own control software that allowed remapping the buttons, mapping macros to buttons, etc.
RSI issues are also a reason why I won't ever use a macbook - the only laptop input method that doesn't hurt me after a few hours of use is a trackpoint.
Apparently so ... I usually like insane, but I think click-to-focus is the actual insane thing. In the Mac case this is tightly coupled with mandatory raise-on-focus.
That's my biggest pain when I try to work on a Mac. I bet no-raise-on-focus also sounds insane to the same people, but I only want a window to come to front when I as for it. The article even touches on a simple case of this in "Sometimes I want to keep the calculator on screen while I type an email. Is that too much to ask?"
Maybe. I mean, I've never wanted to do most of the things he lists as impossible (on either my macOS machines or my Linux machines). But if that's a list of stuff that annoys him when using macOS, I guess they're not "silly" to him.
Since my main daily driver for probably 2/3rds or more of the last three decades has been a Mac, I'm more familiar with it, so things like focus-follows-mouse takes a bit of getting used to when I open up my Pinebook or my RasPi400 - but I gt over myself and get used to it pretty quickly.
People who complain that macOS isn't exactly the same as Ubuntu (or Windows or $randomLinuxDistroDeJour) seem, to me, to just be wanting to complain about stuff.
> can you really blame Apple for not letting you swap the mouse button order
Why not?
> Or have the insane focus-follows-mouse option
On Linux where your application menus are (usually) part of the window it works great.
I did try Soundflower but it didn't work. Hadn't heard of AudioHijack, thanks! Sucks that you have to pay to work around a restriction that Apple have added though.
Yea, it's annoying. It's worth it if you need it though, there is a trial time limited to test if it'll fit in your workflow. Soundflower has been a bit buggy since it's inception tbf.
Should this functionality be included in the OS itself? Sure. Is it a big problem? Not really.
Every OS has its quirks, doesn’t take more than hour to smooth the rough edges off a new machine if you’re comfortable with the ecosystem. You have to do the same on Ubuntu or Win10 or Pop.
Performance-wise, the M1 is very impressive, probably feels about 80% as fast as my 6 year old desktop (that sounds like snark, but it isn't). Meanwhile, the battery life is insane (I've never brought the charger anywhere but my desk, and will often use it for a week out and about).
I opted for the Magic Keyboard and Magic Touchpad, because I had a lot of trouble with everything else.
I could not get a mouse setup that worked (I'm strictly no acceleration, and macOS's acceleration was literally making my arm ache).
I switched because I stopped being a fulltime developer, my main machine was getting old (6 years), and macOS has good MS Office support.
Overall I'd say I'm about 70% efficient vs on Linux, a bit less so when in active development. The mobility makes up for it, and efficiency just isn't as important to my day-to-day for now.
Many of my gripes are listed elsewhere, but things like middle-click paste is something that is easy to write off but was actually a gigantic part of my process. Also, the fact that everything I want to tweak requires buying an app?
I had to pay for an app in order to properly emulate middle clicks on the touchpad! That's bonkers!
I'll leave this final tidbit though:
On Linux:
* Open Spotify
* Press play button on keyboard
* Spotify plays
On Mac:
* Open Spotify
* Press play button on keyboard
* Apple Music opens ??????