Clarifying Mac App Installation

Installing applications on a Mac can be confusing. Anecdotally, I’ve observed friends and family struggle with it, and it makes sense that they would. Luckily, it doesn’t have to be that way: app developers can make it easier, though few have.

Background

Traditionally, software applications are installed via an installer: a script that copies files to your computer and performs any configuration necessary to get the app up and running. Typically (and especially on Windows), files are dumped all over your hard drive. The program itself, yes, but also various supporting files: help files, images, libraries, etc. Deleting one of these files may cripple the application. To remove the app, you need to know exactly what was installed or you need an uninstaller.

With Mac OS X, Apple introduced application bundles to improve this situation. (Actually they were introduced with NeXTSTEP several years earlier and OS X inherited them.) An application bundle is a specially structured folder that looks to the user like single file. If you’re a Mac user, you can see what I mean: open your Applications folder and Ctrl-click (right-click) on an app there such as iCal or Mail. Select Show Package Contents and you’ll see what the app is made of.

Why is this important? Because now a double-clickable app can contain all its supporting files. Installing an is as simple as dragging it to your hard drive. To uninstall, drag it to the Trash. And applications are less fragile: because they’re self-contained they’ll run from anywhere (not just Applications), and the chances of destabilizing an app by deleting a depenency are low.

Current Practice

Since apps don’t require an installer, the simplest way to distribute one is simply in a zip archive. Unzip it and you’re done. If you drag to /Applications, great; if not, it’ll still work. Many apps are indeed distributed this way.

However, the de facto standard is to put the app on a disk image, compress the disk image, and distribute that. It’s also  standard to include either an image or an alias of /Applications to indicate the need to drag the app there.

Disk image window with drag-and-drop cue

Disk image window with drag-and-drop cue

There are several advantages to this approach:

  • You can distribute auxiliary files (plug-ins, extras, manuals) without dumping them all on the desktop or obscuring the app in a folder.
  • When the disk image is mounted its window can open automatically, providing helpful feedback to the user.
  • It enforces the idea of dragging the app to /Applications.
  • It allows you to present a license agreement to the user when the DMG is mounted.
  • You can include branding in the DMG’s window.

The Problem

The trouble is, this approach works too well. Because apps can run from anywhere, a user can launch the app from the mounted DMG, resulting in the following scenario:

  1. A user downloads your app.
  2. He double-clicks until the app appears in a window (that of the mounted disk image).
  3. Accustomed to installers or just to double-clicking on things to make them go, he double-clicks. Or, he drags the app to the Dock and clicks on it there.
  4. The app launches. Everything is great.
  5. Later, the user restarts his computer. The Dock icon turns into a question mark and the app’s window disappears. The user is confused and sad.

In other words, if a user misses or misunderstands the drag-and-drop cue, everything works so well that he fails to install the app, causing confusion later on. And it’s not a far-fetched scenario: many apps do still use installers and double-clicking on things tends to work. People’s visual focus can be very narrow, so some users will certainly miss the drag-and-drop cue. Aliases are arguably somewhat of an advanced concept, so the idea of dragging the app from one place in the window to another may not make much sense; and users who interact with apps exclusively via the Dock may not know the location or role of /Applications.

Luckily, this problem isn’t hard to solve.

The Apple Solution

The ideal solution would probably come from Apple. With Leopard (Mac OS 10.5), apps launched from DMGs already produce a warning:

OS warning when launching from a DMG

OS warning when launching from a DMG

Apple could simply replace “Open” with “Install” and copy  to /Applications before launching:

A revised launch-from-DMG dialog

A revised launch-from-DMG dialog

A context menu item or modifier-click would allow advanced users to run directly from the DMG. References in the Dock would be updated as well.

The Developer Solution

Of course we can’t rely on Apple to implement this. Nor do we have to. In the absence of an OS-level answer, individual vendors can provide the same functionality themselves.

How aggressive should vendors be? Delicious Library – which is not distributed by DMG – prompts users when the app is anywhere outside /Applications:

Delicious Library's launch dialog

Delicious Library's launch dialog

The disadvantage of this broader approach is that it must be presented as a warning or choice rather than a natural part of the install process. By only prompting for DMG-launched apps, we can make it a simple (and expected) “Proceed with installation?” confirmation rather than a more complex “Should I put this someplace else?” choice. And while Delicious Library’s prompt keeps a user’s desktop clean, it’s an extra and entirely optional step: downloaded apps scattered all over the desktop may be irritating to some, but it doesn’t prevent the user from launching them.

2 Responses to “Clarifying Mac App Installation”

  1. Dan Harkless says:

    Excellent points. I’ve always found it ironic that the decision to simplify application installation on OS X ends up confusing a lot of unsophisticated users since some Mac apps still require running a Windows-style installer, and users don’t know which behavior to expect from a given app (other than via the drag-and-drop cue, when present and understood).

    Another aspect of this is that I like to make subcategories (via folders) for my third-party software under Applications, which is a problem for apps that self-update, since almost all of those just plop the new version directly into Applications and leave the obsolete version under the subfolder. Windows actually handles this aspect better since the registry records where the user chose to install any given app.

  2. TERRY says:


    PillSpot.org. Canadian Health&Care.No prescription online pharmacy.Best quality drugs.Special Internet Prices. High quality drugs. Order pills online

    Buy:Actos.Nexium.Zovirax.Arimidex.Synthroid.100% Pure Okinawan Coral Calcium.Zyban.Petcam (Metacam) Oral Suspension.Lumigan.Mega Hoodia.Accutane.Human Growth Hormone.Valtrex.Prednisolone.Retin-A.Prevacid….

Leave a Reply