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.
I would add an appreciation for companies producing non-bloated, native software.
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.
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.
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.
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.
It's impossible to overstate how little I want random crap on my machine.
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.