This is bass-ackwards. Apple supplies an "uninstaller" that works perfectly well for apps that obey the rules. The "uninstaller" is to click on the app and drag it to the Trash. The only reason to use a separate uninstaller utility is for apps that do not follow the rules. There is no way that Apple can anticipate which rules a developer will choose to violate or how he will choose to violate them. The uninstaller utility for a rules-violating app is specific to the app and can be written only by the app's developer or by an third-party familiar with the app.
Everything you wrote is actually a condemnation of Apple's approach to uninstallation.
Particularly hilarious is the statement: "Apple supplies an "uninstaller" that works perfectly well for apps that obey the rules"... talk about not understanding software design. Here's a software design concept 101:
FAULT TOLERANCE. Every software designer understands that users (in this case "users" are third party developers) will make mistakes - this is human nature and inevitable. WHICH IS WHY YOUR DESIGN TAKES THAT INTO ACCOUNT. It is designed to be tolerant of the faults of users - in this case, that app developers will not "obey the rules".
This is true in engineering and design in general. You don't design an airplane cockpit in such a way that it's easy for a pilot to make catastrophic mistakes. You don't design security in software so that it works only if users "obey the rules" - you design it so that even malicious hackers can't mess up the system. How stupid would it be for Microsoft to say "our software is very secure if hackers obey the rules". Same here. The fact is that Apple has provided NO uninstaller - if they had, or there was no need for one WE WOULD'NT BE HAVING THIS DISCUSSION. Clearly, uninstallation is a problem under OS X - too many apps are having serious problems. And YES, it is a MESS what Apple did. I like what this poster wrote:
danny_w wrote:
"Uninstalling applications under Mac OS X is in many cases not as simple as many people would have you believe. What is most annoying and even scary to me (and especially when I first switched) is that, while MOST applications can simply be dragged to the trash, SOME apps absolutely require their own uninstaller to be run, and it is often not clear which apps these are. Sometimes when you install an app it will also install an uninstaller; sometimes there is an uninstaller in the disk image for the app; and sometimes the original installer must be run again to do an uninstall. In other words, there is no standard way of doing things. What am I supposed to do, keep a note of every app that I install and write down whether there was an uninstaller listed? Should I try to rerun the installer to see if there is an uninstall option? Why can't there be some kind of standard?"
Hear, hear! Fact is: Apple has provided no consistent standards or reliable way for user uninstallation. If Apple was really serious, they'd have designed app installation under OS X in such a way, that developers
wouldn't be able to write installers which mess up the uninstallation system.
Meanwhile, this is just nuts:
"There is no way that Apple can anticipate which rules a developer will choose to violate or how he will choose to violate them. The uninstaller utility for a rules-violating app is specific to the app and can be written only by the app's developer or by an third-party familiar with the app."
Huh? What you need is a journalling feature - as CleanApp or Yank have - which makes a record of each and every file an app installs - that way, you can remove them all. Unfortunately, CleanApp and Yank are both poorly coded (massive memory leaks), and have other limitations - these could be corrected with more manpower and skills (which Apple has). But what's really wrong about this whole thing is that Apple should design their software in such a way that installation and deinstallation is so standardised that developers CANNOT make mistakes - or their app won't install. That's common sense.
Fact is: uninstallation of apps (and installation for that matter) under OS X is BROKEN. Apple should fix it... and I have no doubt one day they will. Meanwhile, let's not spread disinformation about how "easy" it is to uninstall apps under OS X - the truth is there is a million ways in which it can be done, there are no consistent standards, and it's a mess. Let's not accept sub-par performance, even from companies whose products we otherwise love.