Application Installation 101
Just having switched back from OS X to Windows, or rather unswitched, as I installed a couple dozen applications it struck me how much more streamlined the process is on OS X. More often than not, you just drag a .app file to a folder on the hard disc, and you're done. All dependencies are in the package itself. The best installation procedure is one that doesn't exist at all. Would you like it if you download a PDF file and you're about to view it, but, no, wait a minute, you can't -- you have to go through an involved "installation" process before you can open it. Same is the case -- you want to run an application, and the OS should get out of the way and let you do it right away without further ado. Anything else is Bad Design.
On Windows many installers ask you whether to put an entry in the start menu, and where. And I have to go back and move the start menu folders outside the Programs folder. In OS X, there's no need for a start menu to manage -- your applications folder is so clutter-free that you can use it as a menu of applications. This is because apps appear as individual files (bundles) that launch when clicked. After all, what's the most common thing to do to an app other than to launch it? [1] Since the applications folder is so clean, you don't need a separate hierarchy of shortcuts to applications. Which also means there's no start menu to manage or questions to answer about where you want shortcuts created. And if you want to organize applications, because they're self-contained, generally you can just drag the .app file to a different folder without breaking the app.
As Paul Graham put it:
What would Apple's next product look like if you replaced Steve Jobs with a committee of 100 random people? Windows.
The Linux people blow it, as well -- I don't want to deal with a package manager. There's already a way to organize files, and it's called the filesystem. I want to "install" an application the same way I "install" a PDF file -- copy it to the filesystem. Don't make me go through a different process. And what if the app you want to install doesn't exist in your distro's repository? That has happened to me more than once. Or it exists but is called something else because of some idealogical or political storm in a teacup that you care nothing about? Besides, package managers sometime get into an inconsistent state where they demand you repair them before you do anything else. And sometimes the repair doesn't work. Not to mention that in the grand Linux tradition of fragmentation, different distros have different package managers, which means knowledge you pick up on one distro doesn't serve you on another. This is a problem with the whole idea of multiple distributions, but if application installation did not use package managers, you wouldn't have to deal with differences between them.
The open-source Unix argument here seems to be to eliminate duplication of files, but I'd much rather solve the problem with more memory and marginally more disk space. In fact, that may be part of the reason the Linux approach is bad -- they optimize for the wrong thing -- system resources instead of user experience. [2] But then, since when is Linux known for a solid user experience?
On OS X things work so smoothly that you don't realize how much better it is till you start using Windows or Linux.
[1] There's also a Show Contents option when you need it.
[2] Maybe that's an artificial tradeoff to some extent -- with ZFS, since files are checksummed, duplicate copies of libraries in different applications can be merged on disk, and the OS can use the checksum to load only one copy into memory. But even otherwise, I'd much rather install more memory than "install" applications.