For the vast majority of properly-designed Macintosh applications, deploying to the /Applications folder is not necessary.
However, it is considered a best practice. When someone is working on your Mac (EG, one of the employees at the Apple Genius Bar), having your applications located in a single, sane, system-recognized place makes life considerably easier for them. It's also plausible that a poorly-designed app may misbehave when not installed to /Applications, although I've not typically found that to be the case. Some newer apps are detecting when they're launched from somewhere other than /Applications (typically the .DMG from their download) and automatically installing themselves correctly.
If you want to quickly access an application which is deployed in the /Applications folder (or you simply don't want to dig through a zillion entries to find the app you want), I recommend using Aliases (Command-L in Finder), and placing the Alias wherever you like. For example, I use Dock folders ("Stacks") full of Aliases for all my app-launching needs, with folders for Development, Productivity, Multimedia, Games, Internet, etc.
Whenever someone asks a question such as this (or, alternatively in the Windows world, "do I need to use the 'My Documents' folder for my files"), I always ask back: Do you have a genuine, critical need not to do so? One which isn't addressed by the in-box aliasing ("shortcut" in Windows) mechanism?
You can generally hide any application from the Dock and the application switch list by enabling the LSUIElement
property.
If this key is set to “1”, Launch Services runs the application as an agent application. Agent applications do not appear in the Dock or in the Force Quit window. Although they typically run as background applications, they can come to the foreground to present a user interface if desired.
So, open the application's property list:
/Applications/Application.app/Contents/Info.plist
… and add the LSUIElement
key to the root of the tree, with a value of 1
.
You can get there by right-clicking the application*, selecting Show Package Contents, then opening the Info.plist
file. Ideally you'd do this with Property List Editor.app (that comes with Xcode 3) or Xcode 4 itself. You can also use a simple text editor, since the file is just XML.
After changing the value and saving the file, you should restart your dock:
killall Dock
… or, if you just changed the Finder's properties, relaunch it by right-clicking its icon while holding ⌥, then selecting Relaunch Finder.
A similar approach was also mentioned on LifeHacker recently: Remove Finder from the Application Switcher in OS X **
* Finder is actually in /System/Library/CoreServices/Finder.app
, not in /Applications
.
** It mentions NSUIElement
, for which I find no reference in Apple's Developer documentations. If someone could enlighten me on the difference between those two, go ahead.
Best Answer
I ended up hacking together this shell script, but stopped maintaining it since many of the download links at iusethis.org are no longer valid and more applications are now distributed through the App Store. I'm leaving it here for the record anyway.