Even More on Installing Applications

I wrote about this over a year ago and again twice in july.

Now, Alexander Limi from the Mozilla Foundation has written an essay about Firefox's installation process. He identifies some of the same common issues I have identified. As a solution, he proposes to use a dedicated installer:

We can fix all of these by using some capabilities of the standard Mac package installer and disk image creation tools supplied by Apple. In particular, they have features where you can run an installer when a disk image is mounted, like Apple does with some of their own disk images. This, combined with the auto-mounting of disk images downloaded via Safari, gives us an installation flow that is likely to not lose people along the way.

Uniquely, this process doesn't require users to show additional agency after initiating the download of the application, yet it still ends with the user having an application in the /Applications folder. In most cases, the Finder will mount the image and launch the installer; users won't have to search for the mounted image's window and launch the installer themselves.

John Gruber also weighs in. He correctly notes:

The whole concept of a virtual volume is just too abstract.

Gruber prefers the plain old ZIP distribution method:

What I like best is the resurgent trend of delivering Mac apps as simple .zip archives (a technique that harkens back a decade to when Mac apps were typically delivered as StuffIt archives). Download the .zip file, double-click, and there’s the app. Just like with disk images, what users should do then is move the app to their Applications folder. But — and this is the advantage of using a zip archive over a disk image — they don’t have to. Users can just launch the app right from their Downloads folder, and it’ll work just fine. They can drag it to their Dock, and it’ll work just fine.

He also proposes that the Finder could optionally move applications from the ~/Downloads folder to the /Applications folder1 upon first launch:

Perhaps Apple should do something like that for .app bundles, where if you launch an app from ~/Downloads/, it would prompt you to install the app, and if you agree, it would move it to the Applications folder and launch it from there.

So, which is better? Personally, I tend to prefer Gruber's solution. I like not having an installer, and if Mac OS X provided the "Move this to /Applications?" prompt, most Mac applications would go this route, which would help with consistency.

To find out which one truly works better for novice users, usability tests would have to be done.


Mark tells me that Andy Kim from the Potion Factory has also written a blog post about this. Andy Kim points out an interesting issue with the "ZIP installation mechanism" I was unaware of: When people launch an application from the ~/Downloads folder and then move it to /Applications while it is running, the application crashes. He actually found a solution:

At first I looked for ways of making Cocoa become aware of the application being moved. After looking at the bug so much it seemed like the best way to fix it. Unable to find a clean work-around, I went for the next best thing and made the application ask if it should move itself on its own terms lessening the chances of the ground getting cut from under its feet. I'm happy to report that although this is not a direct solution, it works well.

Delicious Library uses a similar solution. Andy Kim has kindly released the code to handle this into the public domain.

Chris Clark also has an interesting take on the topic. He writes:

Disk images (DMGs) have become, over the years, the de facto standard for Mac software packaging and distribution. This is bad. It’s bad because, while often pretty, they offer a horrible user experience.

Primarily it’s because they mount a virtual disk to do their work. Like a magical floppy disk of shareware, they need ejection and disposal when they’re no longer wanted. The concept is so bizarre and abstract that users—newbie through intermediate—routinely trip over them. I’ve met people with aliases to virtual disks in their Applications folder and a line of “application not found” question marks in their dock.


The new Firefox installation experience. Sounds like a good solution.

  1. Dominic Evans points out that such a feature should also support installing apps into ~/Applications. Not all users may have write access to /Applications, and some people simply prefer storing their apps in ~/Applications. ↩︎

If you require a short url to link to this article, please use http://ignco.de/177

designed for use cover

But wait, there's more!

Want to read more like this? Buy my book's second edition! Designed for Use: Create Usable Interfaces for Applications and the Web is now available DRM-free directly from The Pragmatic Programmers. Or you can get it on Amazon, where it's also available in Chinese and Japanese.