upvote
"Does it have a way to uninstall, and does that uninstallation clean every application artifact?" is such a great litmus test for just how much a software company actually cares about having a proper finished product that respects the user. Nobody forces a company to do it, but when they don't do it, you can probably bet that they're cutting corners and disrespecting the user's machine in other ways, too.

It's like "Do you return your shopping cart to the cart storage or leave it in the carpark?" You're allowed to just shove your cart away and drive off, but people who do that are highly probably assholes in other ways, too.

reply
Well said.

I would add an appreciation for companies producing non-bloated, native software.

reply
In the file menu of the installer, there is generally an option to see all the files it is placing on the system with full system paths. I generally note this down so I can make sure to clean things up completely if/when needed.

For app that just get dragged into the Applications folder, they end up doing all this additional file creation on first-launch instead of via an installer. That actually makes it harder. For those I tend to search the ~/Library folder for the name of the app and the company that made it, hoping I find all the remnants to delete. There are apps, like AppZapper and AppCleaner, which try to automate this process. I still think it’s ridiculous that Apple never solved for this. It’s one of the reasons I always do a manual migration to a new Mac. It feels like the only real way to clean things up.

reply
> I still think it’s ridiculous that Apple never solved for this.

I think that problem, in general, is unsolvable on the Mac. The OS cannot know whether a file that an application creates is a user file that should be kept on uninstall or an application one that, maybe, should be deleted on uninstall.

(Maybe because Apple’s guidelines say (or at least used to say) uninstall ers, if you have one, should keep preferences files around, in case a user reinstalls the app later. Also, applications may ship with files (e.g. fonts, sounds, picture libraries) that users may want to keep around)

> For app that just get dragged into the Applications folder, they end up doing all this additional file creation on first-launch instead of via an installer

For quite a few things that an installer can install, applications cannot do that, as they want to install them into protected directories.

I think most of the leftovers whose locations you cannot gauge from looking at the file list in the installer are for caches, preferences, logs, etc.

reply
Yeah, it's usually plist files for preferences and maybe an Application Support folder with whatever the app needed. Occasionally some other things. More recent apps end up with a container in there.

The upgrades process for some apps almost necessitates that the those files/folders are decoupled from the app and can live on, as the app upgrade ends up deleting the existing app and dropping a new one in it's place.

I get wanting to keep user preferences around in spirit, but in practice keeping them forever can sometimes be problematic. If I tried an app, then installed it again in 8 years. I usually want to start over. For users who don't know about the ~/Library, this is hard. Especially now that Apple hides it in Finder.

When having issues with an app, deleting those files (or simply moving them somewhere else like the desktop as a test) is a great troubleshooting step to see if its an app problem or something corrupt in your settings or support files. When most users reinstall an app as a troubleshooting step, they aren't doing much of anything, with all those files sticking around.

UTM buries their VM disks away in a container inside the ~/Library. I have a 20GB disk in there. It's not always trivial small files. If someone deletes UTM and forgets to check for old VMs first, that's a big hit.

What I'd like to see is a something, maybe in the Settings app, that lists all the applications on the system and 3 options.

1. Remove Application, keep Library data 2. Remove Application and Library data (have it give into on what files are in there) 3. Remove Library data only (this could be used to refresh an app to start over with it)

Maybe in addition to that, as part of the Optimize Storage feature, it could crawl through all those old orphaned application support folders and containers, and list all the ones without an app installed, show the size, and the user can choose to get rid of them.

Looking at how much junk I have out there now, I may just do a re-install of my OS to clean things up soon. I usually wait for a new system, but this M1 Pro is lasting a long time. I recently migrated off 1Password and it seems to have a bunch of junk out there, including 4 year old weekly archives of all my passwords that it took for a few months for some reason. The files are encrypted, but who knows how long that will actually be good for.

reply
I'll have to check that installer trick the next time I use one.

Isn't the "Receipts" folder that so angered OP kind of that same thing? I thought those included the list of files installed.

In general, I think some worries about removing "every trace" are overblown, though. The receipts, for instance, are inert and they're not filling up the disk or consuming RAM.

Of all the things Apple does in the name of "security" it's funny to me that they've never even tried to build uninstallation functionality. Even though a majority of apps with "Installers" use, not arbitrary installer executables like Windows, but .pkg files that open with Apple's "Installer" app. That means it's Apple's code placing most of those files in place, and even if the install includes a "script" portion, it seems like a solvable problem that Installer.app could monitor the files being added or changed by the script process, to at least let you view a log of what happened if not reverse the changes.

reply
> In general, I think some worries about removing "every trace" are overblown, though.

It's impossible to overstate how little I want random crap on my machine.

reply
There are two cases: I am uninstalling because I never want to use the app, or I am uninstalling because I know I currently don't need the app and will reinstall after 6 months when I do.

An example of first is a trial of an app but you don't like it in the end, an example of the latter is a game that you might want to play with the same settings later.

Now, I want the option. In the first case I don't want these inert files taking up disk space and in the second I want to have those files.

reply
I stopped trying new apps as often, because I don't like how I can never really go back to a state before it was installed, unless the developer actually put effort into not spraying files everything and not leaving a trace once gone. I appreciate these developers very much, and am more likely to keep using their apps. The most junk an app install puts on my system, the more likely I am to want it gone.
reply
Almost never, indeed, so you need some 3rd party trash utilities with databases and heuristics. Though that's also on the gardener and his bad OS design where forced compartmentalization is's trivial, the weeds will never want to root themselves out!
reply