Counterpoint: as a Mac user it is surreal to click Next Next Next to install a program on Windows.<p>Same for uninstalling. Move to Trash and poof, unistalled.<p>There is no standard way to install stuff, so neither MacOS nor Windows deviates from something. For all the bickering about it here in the comments, no one proposed an “ideal” solution to install a program on Mac.
<i>>as a Mac user it is surreal to click Next Next Next to install a program on Windows.</i><p>macOS has similar multi-step prompts for some programs such as Microsoft Office, Python, FUSE-T, VeraCrypt, etc:<p>click [Continue] [Continue] [Agree] [Continue] [Install] enter password [Install Software] [Close]<p>Then deal with the various popups in the upper right portion of the screen relating to Login Items & Extensions Background tasks. Dismiss them by clicking [x] several times or drill into them to adjust App Background Activity sliders etc.<p>I also never understood why some apps put the x.pkg inside of a x.dmg which makes people perform another click. Seems redundant to do that. I can only guess is they just want the customized background image of the .dmg instead of the plain skeuomorphic cardbord box icon of the .pkg.
Ideal solution: download .app inside .zip. Double-clicking expands it into /Applications, deletes the zip, and opens the app, which is not far from what regular zips do. Or xip if they want signing.<p>The Windows way is inherently clearer than what Mac does now. You always open what it gives you, and you don't need to be told to do anything else. Also, move to trash doesn't exactly uninstall a Mac app right now.
Hmm but a lot of macos uses the familiar cancel/next wizard flow, doesn't it?
That stupid nezt next elevate confirm page workflow on macos has always annoyed me for some reason.<p>Its so idk redundant
Mac stuff can leave stuff ghosting around. Launch agents, helper tools installed into the Unix filesystem, configuration and cache files.<p>A myriad of „uninstallers“ exist but these are all third party and rely on crowd wisdom.
At least with Windows it's always clear what to do. Mac can dump you in a finder window with two icons. Very unclear. You may have forgotten how unclear this can be for the first time.
FYI - You don't have to drag the app to the applications folder in the install window.<p>You can drag the app to a different location. I have an entry level mini 8GB/255 GB SSD with 1TB external SSD. Everything goes on the external.
There are only a handful of apps that insist on being installed in the system Application folder. Even had xCode running on the external.<p>Uninstalling is supposed to be as simple as moving the app to trash but often that leaves a load of stuff behind that no one tells you about.
When I first got a Macbook, I tried installing an app and had no idea what to do once I saw the app icon, arrow and Applications folder with no additional instructions. I didn't figure it out and had to look it up. For an ecosystem praised for its "user friendliness", this was certainly not the best first impression.
I think that if every app has to explain to the user how to use their own operating system, that operating system is not intuitive. I’ve been using Macs for a long time but I had to look up how to install an app the first time I did it.
I'll be honest given the article title I was hoping for a detailed rant on the complex installation process that most Windows apps hide, but this was also a nice read. And as a user of Raycast they do indeed have a very nice installation background.
I'm just glad I'm not the only one who says damage in their head for .dmg files
I might be in the minority, but for me the best way is installing with a cli (like homebrew or winget on windows).<p>A UI way to install is only a fallback.
The dmg thing makes no sense. I do like that the app is self-contained, unlike Windows where it's always an installer, but don't like how deleting the app doesn't clear whatever files it put all over the place.
Windows uninstall scripts often do the same. Some have an option of removing data files, some just leave them behind. I don’t have any statistics but I see no reason to believe the situation is any «better» on windows. Also, I am sure people will disagree on whether it is better to remove data files or leave them.
One advantage to leaving the configs around is that the next time you install the app, yiu get it set up just the way you had it before.<p>Also, AFAIK, this mirrors how command line utils would work.
Macs are fun.
This is one of my favorite things with the Mac. I feel it is very intuitive me moving the app to Applications, then just move it to trash if it sucks and it is completely gone.<p>setup.exe .pkg installers make me feel dirty because I hav enough control over how it will fuck up my system or not.
I think most of the complexity is around the concept of disk images. If the app was just distributed in a zip file (like many in fact are) then you just unzip it, and the application is right there. You can move it to /Applications if you want (and many apps offer this) but it's not necessary.<p>Disk images seem to be much rarer on other platforms, and are usually only used for images of optical disks. Even the concept of "ejection" can be confusing, especially since when mounted disk images appear almost identical to actual physical removable media. I'd like to hear the reasoning behind why mounting disk images isn't relegated to a vestigal "power user" feature by now, since it seems like zip files (especially in appledouble format) can serve the same needs for most normal user flows.
It makes more sense if one thinks of the disk image files as digital analogues to thumb drives, optical discs, etc.<p>In the Classic Mac OS days a decent chunk of software (especially shareware/indieware) didn't have an installer and was just a folder you copied from a floppy disk or CD, which this process kinda mimics. You're just opening a file instead of putting in a disc.
The problem is that an application isn't <i>intuitively</i> analogous to removable media at all. The last time I physically inserted a disc to run an app was in the CD Rom era.<p>The click-and-drag to the Applications folder step is also odd. Presumably the user wants to install the app if they've double-clicked it, so instead of kludgily hacking the file manager (oof!), why not simply prompt "Do you want to install [application name]?" [OK]/[Cancel]? How would that not be clearer? (Can you even install an app via the keyboard alone with that interface? I assume you must be able to, but it's certainly not intuitive that you could tab and enter your way to installation happiness.)<p>I appreciate that TFA is all about the creativity that can be added to this step, but it seems to me to be poor UI/UX design to allow so many possible ways of doing something so fundamental as installing an application. Sure, it's cool and fun if you're young and creative; but likely confusing as all hell if you're older and less-computer-literate.
Even Apple is unwilling to admit it makes sense, it's not like the App Store makes you drag the icon into a shopping cart or something. It's just poor design nowadays.
[dead]
A long while ago I found myself helping out with some products MSI installer. I don't think anyone can really point a finger at the Mac and accuse it of having issues by comparison with what seemed to me to be the nightmare from hell of trying to make an installer that would work on various versions of windows.<p>It's not the fault of MSI per se, although its concept seems utterly frightful to me, but the way DLLs work and are registered and where you have to install them etc. When your app requires an older or newer MSVCRT etc. Also...the registry...something else that makes good old UNIX text file editing seem good to me.<p>I always thought that libsomelibrary.so.MAJORVERSION.MINORVERSION with symbolic links from libsomelibrary.so.MAJORVERSION and libsomelibrary.so allowed one to create dependencies that made sense - more or less specific as you chose. It also allows different versions of the same library to exist in the same directory such that one is less likely to break existing software when installing something newer (or older).<p>To be fair it might just be the way Windows tries to keep compatibility for the ages that makes it super difficult. I do think that you tend to get similar outcomes from similar assumptions/requirements and compatibility was indeed very very important till the internet became good enough to offer everyone easy upgrades.<p>I'm not a big snap or flatpack fan but DMG seems rather in their class - making things simpler. It might be easy to run an MSI after someone has burned many hours testing it to get it to work everywhere but to me it's a non-simple architecture that is made to work by extreme effort. I'd rather a simpler architecture that open source packagers could manage more easily.<p>As an example, I tried creating an Ubuntu package recently - a plugin for GNU Make that adds some useful functions.....that was SO hard - worse than any MSI experience I ever had - and I gave up. There were millions of confusing instructions and none worked properly. I couldn't work out which way was up or down - I don't know how people do it.<p>On Artix (an OS which is a little harder to install than Ubuntu) it is an absolute dream to create packages - exceedingly so. It might be that they aren't the greatest packages in the world but something that can be developed easily and got working can also be improved easily.
Why not .pkg (next, next, installer)? For the past week, I've been tweaking my startup's CLI to install as a .pkg, satisfy Apple signing, and everything that goes along with that. I've often wondered why so many companies opt for the icon method.
As a user I don’t like installer packages as much because without special utilities, they’re opaque and it’s hard to tell what they’ll do.<p>Of course copied binaries can cause plenty of trouble too, but I have much less of a reason to give an installed program admin privileges than I do an installer.
Same here. Especially because most installer packages rely on these specifically to install "obscure" things, so I'm immediately distrustful of them.
That makes a lot of sense. With the icon method: The user is in full control.<p>In our case, the CLI is part of a data sync system, so it does need a "special" once-per-hour check for new data (keeping local and mobile in sync).<p>I've actually been surprised how strict Apple is before it will happily let signed code run. But the average user (including me previously) doesn't know that. I think trust comes down to being clear up front.<p>Note to self: Add extra details/options to installer (WYSIWYG)
I <i>really</i> dislike PKGs and I have bought an app called Pacifist app to specifically know what they're doing.
Link, for anyone interested: <a href="https://www.charlessoft.com/" rel="nofollow">https://www.charlessoft.com/</a><p>I prefer this one: <a href="https://mothersruin.com/software/SuspiciousPackage/" rel="nofollow">https://mothersruin.com/software/SuspiciousPackage/</a><p>But I’ve used both at different times with equally great results.
Inertia? It's the standardized method on macOS. Macs have been this way at least since early 90s. InstallShield likewise had been normal on Windows since early 90s, so the modern MSI installers feel more normal and straightforward to Windows users.
It's annoying to click through.
[dead]
I'll never forget the first time that dreadful window appeared. I was frustrated for 10min, eventually turning to my phone to search for what to do.
Happened to me last year. My wife always taunted me because I have been anti-Apple since they hermetically sealed their iMacs so you couldn't stick in RAM with talking to a "genius". "It just works!" she says. I dunno, I guess I didn't think an "Install" button needed reworking but here we are, not an ugly instruction or tooltip in sight.<p>Also Apple: I bought my son an old refurbished iPad for watching Netflix on long drives. But you can't install Netflix! The OS is too old. What's the workaround? Simple, if you've previously installed a Netflix on another device you can "restore" it, and then Apple will let you install the old version. On the old OS.<p>Of course I didn't have an old Netflix installation so I went to install Netflix on my work laptop, but there is no Netflix app for laptops anymore! Finally, I got it working through Family Share after an hour of tedious effort. This may be more Netflix's fault than Apple, but why would an OS give that power to a 3rd party in the first place? What sense does this make?<p>It reminds me of NextJS where there is some minor niceties at the cost of magical thinking that you may need to move heaven and earth to circumvent in order to accomplish the most basic shit.
Who says this doesn’t add to the discussion, come on! Voting you back up one…<p>Also senior citizens might have no idea what they’re supposed to do with it, as I’ve seen, so could be more accessible. (Maybe that’s a feature if it’s a junk app.)
It's fine for installing, but <i>uninstalling</i> is madness: Windows uninstallers try to clean up all the registry and user profile stuff they install. Mac apps seem to just leave stuff behind in Local Settings or Caches forever? Containers are not such a bad idea.
Same here. I’m least familiar with macOS compared to Windows and Linux, but the uninstall story on Mac was always baffling to me.<p>On Windows, it’s not perfect because it’s ultimately cooperative, but at least the developer of the application can also configure how it should be uninstalled. If you mostly stick to “reputable” applications, you know they would have gotten so many complaints about random things they leave behind that they slowly fix their uninstaller. Also you usually get the option to completely uninstall or keep data files, etc. Though it’s not universal. Uninstaller apps like CCleaner used to be more popular, but I hardly hear about these things anymore and usually advise against them.<p>On Linux, the story is slightly better as you rely on your distro package maintainer to configure the right uninstall logic. Removing random config files in /etc/ or data files in /var/ or systemd units, etc. Usually maintainers get it right as long as you stick to those feeds, and when something is missed it’ll get fixed eventually.<p>On Mac it seems to be either google it to get a list of locations to clean (which is what I do), or just delete the folder and ignore the random files or use CleanMyMac ($19.99) or CCleaner ($12.99) or MacAppBeGone (that’ll be $8.99) etc. luckily you can try to stick to homebrew and the App Store, but it’s limiting.
I agree entirely, my Mac is full of half leftover data from old apps.<p>But that is quite independent from the creativity people show in these install workflows. You could have both a cool .dmg and a proper uninstallation process (but we don’t, for the most part).
Been using the great and free AppCleaner[1] since I have memory. It's so good I just forget it's there.<p>It autodetects when you delete an app from the Applications folder runs a quick scan and suggests which other files you might want to delete (So you might save savedata or settings if needed)<p>[1]<a href="https://freemacsoft.net/appcleaner/" rel="nofollow">https://freemacsoft.net/appcleaner/</a>
Counterpoint: you reinstall something later and all your setting and preferences are still there.<p>It’s a classic cloud vs disk debate about where and who should persist and own the data. Lately I think it’s kinda refreshing that it’s entirely on your disk and up to you.
Maybe the correct UX could be to list the locations of settings data, their size and ask the user whether they want to leave them, put them aside in a dedicated folder ("the attic", "the basement" or whatever), or remove them
I switched to Windows in the year 2000, or 2002, around then. It used to be cool because "the app is just a file that you can place anywhere, or trash when done" was true. They arrived usually as Stuffit or Binhex archives, rarely as disk images. There was no fussy "applications folder" with special permissions. You decompressed the file to anywhere and ran it. If you felt like updating something, this was accomplished by going and getting a new one.
I would expect local settings and caches to remain. They are your files. Caches I would expect to be cleaned up by some operating system service. This, of course, relies on the app putting stuff in expected places and not just in random places.
I bought AppZapper years ago, and it still works. There's a free tool out there somewhere as well.<p>Don't knock on this feature, it can be a lifesaver if you've lost the license info. When you reinstall, sometimes the app can retrieve the license from old files.
I’ve always appreciated the effort and creativity developers put into making this a good experience, and a learning experience for new users. After all, you never know which app will be someone’s first install. A well made dmg was how I learned to install apps on OS X when I first moved to it 23 years ago.<p>Some developers have gotten lazy with this and expect users to just know. As a result I’ve seen many people running an app out of the dmg file itself for a long time, then they wonder why they have a bunch of stuff mounted.
You get the program image from the web and you move it into your folder holding application?!<p>Having some custom wizard that's never the same fuck up your entire windows registry, write to wherever the fuck it wants on disk, now THAT is surreal
Yeah I remember the first time I had to figure this out. Absolutely incomprehensible, depending on the app you get. A lot of open source apps don't bother with a custom background and just have the two icons. Even if there's an arrow it's hardly clear if you're used to saner installation methods.<p>For a company that is supposed to be all about ease of use, this one is absurd.<p>And if you're wondering what Apple <i>should</i> do, if a .dmg file contains only an app and a link to Applications (or maybe some new flag set), when you double click it it should say something like "Do you want to install this app [Install] [Inspect disk image contents]". Very very simple.
Is the quote in the title a reference to something?
This is a nice little archive of all these different installers.<p>I’d almost forgotten about all this madness since I’ve been using homebrew to install stuff for over a decade
No one will ever convince me that the Mac approach for installing programs is intuitive or good UX. The whole argument of: "But if you think about it in ... way, it makes sense" is a terrible argument.
It's not a good method, as well as approving tens of following security popups, entering System Settings, finding some entries, allowing something that the user doesn't even understand, entering passwords after each mouse click.<p>MacOS experience is t-e-r-r-i-b-l-e and it's getting worse on each release.<p>People who <i>like</i> macOS experience for me either suffer from Stockholm syndrome, or nostalgia about lost macOS 9 base. Or simply have no idea there's something better!<p>macOS today is not macOS at all; it's a rebranded NeXT computer.
macOS is quirky and sometimes limited, but to be honest gets out of your way for the most part. Windows is actively hostile to me in numerous ways. Linux is incredible in its depth of customization, but still to this day needs extra tinkering in plenty of cases.
macOS is in the way at all times. It's not even possible to disable SIP completely. Trying to run more than 2 macOS VMs at once? Nope, security risk! Password, password, password. Please enter your password in order to be able to write your password. Thanks. Oh yeah, please enter your password to close this dialog box. And find some obscure setting somewhere in system settings, and click allow. Don't ask why, we're not in UX business apparently. And sometimes writing the password <i>is not enough</i>. Now write the 2FA code after writing your password! And 2FA code pops up <i>on the same machine</i> in a different window (although that is actually useful, although I'm sure it's an oversight of apple lawyers). And when writing the 2FA code we'll censor the digits, because apparently it's too insecure to allow <i>anyone</i>, including YOU, to see a one-time number that won't ever be used again.<p>It's generally insane. They have mocked Windows in the Vista era for bringing UAC, but now they're much, much worse.<p>Their file security API breaks auto-updates of popular applications. AV vendors have to use an API that forces to block access to new files and release it "at unspecified time in the future".<p>Installing an average application on macOS generates so much notifications that user doesn't even see them anymore. It's like ads on a commercial TV channel, nobody wants this info, but it's being served over and over again.<p>Developer experience is dreadful. It's "our way, or the highway". Setting up a CI worker box on macOS is something I wouldn't wish for my enemy.<p>A good eye opening excersise of how much macOS gets in the way is to install sshfs.
There isn't anything better.<p>Don't tell me desktop linux. It's not fit for purpose and doesn't run the software I need it to run. I do not want to run Linux. I, frankly, do not like what Linux evolved into. The desktop linux of 15 years ago was sort of acceptable. Modern systems infected with pulseaudio, systemd, and whatever the fuck gnome and kde have turned into are not. I'd rather run Windows, and I <i>hate</i> Windows.
Linux doesn't have a way, there are about 30.<p>Ultimately though, package managers (whether it's apt, dnf, Steam, some app store, etc) are the best for most people, myself included.
Well I run Linux since 25 years, so if you're telling me that it's not "fit for purpose" then I question your ability to see purpose.<p>Also I think you're cargo culting. You have problems with existence of systemd while praising an OS that doesn't even allow you to disable transition animation delays when changing virtual screens. It's not logical.<p>Btw, pulseaudio is old news, now it's pipewire.
No one will ever convince me that literally anything about Windows isn't utterly insane.
There's a surprisingly sane place in Windows to uninstall apps that has no equivalent on Mac.
How about running a program to set up another program, isn't that right, hahaha totally insane
Oh, that's an article on macs. It's actually surreal to require a manual action to install a program.
It's truly a terrible UX decision that Apple's left in place because of apathy. (And presumably thinking someone wants to install software through the Mac App Store!?)<p>They should offer a first-class way of "installing downloaded apps" and push developers to use it. I would say use an Installer package but I can't remember if there's issues with it not being a single file. So a zipped installer package. And then make that not have an unnecessary 12 step wizard.