Filed under: Analysis / Opinion, OS, Switchers, Developer
The confusing art of installing apps
After this, Andy Kim posted the methods The Hit List follows for installation -- when it's run from a non-standard location, the app asks if it should move itself to the Applications folder. Andy has placed his code for moving the app into the public domain so that other developers can take advantage of it.
With so many ideas around application install strategies, we wanted to take the time to examine the current app installation structure and propose an idea for how it could be better. You could ask, "Why does it matter where my app is installed?" OR "What if I don't want my applications in Applications?" If you're asking the first question, we suggest that you read on. If you're asking the second question, you're probably pretty obsessive about app organization and this post will be covering old ground for you.
What installation methods exist at the moment? The majority of Mac app installations would fall into these categories:
- Disk image installers
- Disk image drag-and-drop
- Archive drag-and-drop
Let's dive into disk image installers first. Most of these applications prompt you to mount a disk image and then open up an Installer application that will walk you through all of the necessary steps for installation. Think of VISE X, Apple applications, Microsoft Office (optional, Office 2008 also works as a drag-and-drop install), or even HP's printer setup. They're all great, easy-to-use installers that seem to work very well for the user. But when you have an application like Firefox or Skype, you don't need a complicated Installer... that's where the next two options appear.
Disk image drag-and-drop is a method where the developer will package an application and put it on a disk image in ready-to-run format. Double clicking that file will mount a virtual disk on your Mac, and you can see the application icon (often alongside an alias to the Applications folder, with directions for copying). At that point, you're supposed to drag that application to Applications with the option to create a dock shortcut from there.
Archive drag-and-drop is quite similar to Disk image drag-and-drop, but the file downloads to "app.zip" or another type of archive format. From there, you double click the archive file and it will place that application in the same folder as the original archive (Downloads, Desktop or wherever you have your downloaded files). Some browsers will even decompress the file so you don't have to mess with the archive, just the application itself. You then move or copy the application from the archive destination folder to your Applications folder, and you're done.
These last two options require the user to know what to do with that application after it's been extracted from the archive or once the disk image has been mounted. The problem is that many users have no idea what to do or how to do it -- leading to a variety of problems. Many developers have added backgrounds to their disk images to help illustrate the proper drag-and-drop procedures, but even that isn't a fail-safe solution. Disk image installers help alleviate problems, but not every app needs a dedicated installer to make it work correctly.
Here's a real world example. I see my customers bring in computers that have Firefox or Skype in the dock... but when you click them, a disk image mounts and the shortcut opens the applications from the DMG instead of from Applications. I also see people who just launch applications directly from the Desktop or Downloads folder. "Big deal, they don't know how to organize apps... so what?" Maybe launching an application from your Desktop is only an organizational nightmare... but launching them from the disk image can really destroy the user experience by causing ridiculous load times and other, more complicated issues.
Andy explains another problem in his post: users tried to drag the application to Applications after they already launched the app from their downloads destination. He explains that this caused the application to have the "ground...cut from under its feet" by breaking essential links between application files and eventually causing the app to crash.
Ultimately, this isn't something that individual developers should have to combat in every application. This is a perfect example of how Apple tries to make the user experience easy but, in a few cases, ends up making it more complicated. If something needs be done to help remedy this problem, what should it be?
Alexander Limi's current solution: just create an installer for the Firefox application (leaving the option to drag-and-drop intact for more advanced users). Andy Kim's current solution: build the code into the application so it recognizes improper locations and offers to move itself to Applications. Given the ability to choose one or the other, I'd have to get on board with Andy's idea. It's a simple, quick test that runs only the first time the application launches... if the user wants to leave it where it is, they can. The big clincher here is that it *should* help the average user realize that having an app in Applications is going to create the best app experience.
The ultimate solution would be for Apple to incorporate a feature into the operating system or the development tools that would automatically install or offer to install applications into the Applications folder. In pre-OS X days,
We'd love to hear you weigh in on this topic, so feel free to leave your comments below.

![TUAW [Cafepress]](http://www.blogsmithmedia.com/www.tuaw.com/media/tuaw-cafepress-promo.png)


Reader Comments (Page 1 of 4)
Victor said 2:09PM on 9-21-2009
It's really not that hard to figure out disk image installs...
Reply
gazillipede said 2:17PM on 9-21-2009
Perhaps something similar to the way that Dashboard install widgets?
Noah said 2:32PM on 9-21-2009
Someone coming over from the Windows platform could be mighty confused. I speak from experience.
bioadam said 3:18PM on 9-21-2009
When I bought my first Mac last December, I had to ask my wife how to finish program installs. I felt like I was playing "King's Quest". And it's not just Windows that is easier to understand, programs in Ubuntu are one click to download and install (or for terminal enthusiasts "wget ____").
macsosguy said 1:03AM on 9-22-2009
With all due respect Victor, my clients don't even understand the concept of a Disk Image. Try explaining to a novice home user of a certain age the basic idea of a what a Disk Image is. I assure you you'll see glassy eyed, deer in the headlights stares. All they know is that some one told them to "download Firefox." They think that downloading IS installing! I see the Firefox, Skype, and Google Earth DMG's on clients desktops daily!!I I'm shocked if they are even able to realize that they have a mounted Disk image on their desktop, open it and then drag it (although incorrectly) to the Dock. I'm a member of the Apple Consultants Network. Correct installation of apps is by far one of the most misunderstood actions my clients exhibit. I'm really glad to see an article such as this. I agree with Josh. Apple needs to step up to the plate and create a holistic approach to app installation! If I had a dollar for every time I had to move Firefox to the Apps folder. Oh...wait I do! :-)
—Steve
Mr Lizard said 4:39PM on 9-22-2009
gazillipede,
right on the nail.
I wonder why it's easier to install dashboard widgets than applications?
Installing apps was the hardest part of learning how to use the mac for me, and I still struggle to explain it to others without it sounding complicated.
yeahimnicky said 9:17PM on 9-22-2009
i think it would be great if apple figured out an easier way to install programs! i understand how now. but at first using a mac, i didn't have a clue there was a right way to do it.
victor, you are an a**hole. give me your number and anyone that doesn't understand disk images, ill have them call you. thanks!
dgraham said 2:20PM on 9-21-2009
It's not the installing part that I find hard, it's trying to remove things properly that is a bear. Just because you delete the Application from the Applications folder doesn't mean you've removed all the crap that is saved in the Library folder.
Yes this is a nice convenience for when you want to reinstall an application and all your settings stick around, but this is a giant pain when you're trying to fix something and your settings are corrupt but they stick around anyways. It'd be nice if the app gave you some kind of control over this, a pop up box asking if you want to use the existing settings or recreate them perhaps.
Reply
TR said 4:48PM on 9-21-2009
AppTrap (http://onnati.net/apptrap/) is a perfect, simple solution. When you delete an app, it asks you if you want to keep its data or delete it also.
dgraham said 4:53PM on 9-21-2009
Yes I'm aware of all those apps, but it's nonsense that I need another completely separate app to remove my apps.
Everything should just use an installer, just make it super lightweight like they do on windows and when you remove an app by dragging it to the trash it launches the uninstaller.
iGO said 8:27PM on 9-21-2009
But even in Windows, there is tons of stuff left behind, after using that applications' uninstaller or even the 'remove programs' utility in the control panel.
Third party utilities will always be needed to truly find all that a program installs, an make sure you delete not only the application, but all the added residue they leave behind.
I swear by AppDelete in Mac OSX and RevoUninstaller, in the Windows world.
Jesse said 2:23PM on 9-21-2009
I'm surprised Apple hasn't already implemented Andy's idea already. It seems like a very sensible solution that would be easy to build into future Cocoa revisions and would solve the vast majority of problems, plus it doesn't change how things work already.
Reply
Bob Patin said 2:34PM on 9-21-2009
As someone who has been selling Mac apps for years, I've yet to have someone call me to ask how to install one of the apps that I sell. Granted, my market is tiny compared to some, but it's not a big deal to guide users in a simple install.
By using a window background image, you can put simple instructions in the window, so that when the disk image window opens, the user is told to drag the app's icon into an Applications folder alias.
With most modern Mac apps, it doesn't matter if you move the application, even while it's running. If the app was written properly, it will always be able to find any necessary config files or plist files; the config files will know what to interact with because the app's creator code remains constant even when the app is moved from one location to another.
Furthermore, Mac apps aren't like Windows apps, that require various DLL files and other external files in order to run properly. From the start, Apple had the right idea by having a data fork and resource fork in a single file, thereby allowing developers to put localizing code inside the application, rather than relying on the current computer to provide support files.
This article sounded like something that I would see on an Windoze forum; one of the many benefits of using a Mac is the simplicity of installs and uninstalls.
Reply
Josh Carr said 2:54PM on 9-21-2009
I find it interesting that you really don't think that there could be a user out there that wouldn't know to drag-and-drop your application to the Applications folder. I work in tech support and see this every day -- especially with "switchers." Maybe your app is in a niche that "new" Mac users wouldn't use, either way... the system could be much more uniform.
This is merely an opinion piece that suggests a system to help less techie people (you have a good grasp on it obviously) understand the app install process on a Mac.
By no means should there be a unified installer -- this article doesn't suggest that -- just something that could be implemented system wide that would help the unexperienced have the best possible app experience.
Some other commenters make a good point about uninstall as well. Dragging an application to the trash doesn't get rid of everything. Most people don't know what a plist is or how to modify them. Should there be a unified system for this? I'd hope not. Most users never need to mess with plists... or they could get help from the Genius Bar if something goes awry. Realistically, any user who wants to do this stuff themselves would be good enough with an online search to find instructions to remove the necessary files to fix their issue. Maybe.
Ultimate point, it's not safe to assume that people will find everything as obvious as the way you see it.
kaslings said 3:16PM on 9-21-2009
while the window background is nice, what happens when the user opens the disk image in columns or list view? whoops, no background image. just an alias to Applications and your app. is a newb going to know what that means?
imrubber said 6:34PM on 9-26-2009
Bob,
Thanks for taking the time to express so succinctly why this article is simply misinformed or perhaps FUD.
Application installation on the Mac almost can't go wrong.
indemnitypop said 2:28PM on 9-21-2009
An iTunes like app store that installs everything for you and that Apple rules with an iron fist! ;)
Reply
colouroflight said 2:56PM on 9-21-2009
I know that's where it's heading, but dear god I hope something prevents it from happening.
LAGal said 9:13PM on 9-21-2009
i know you are being rather snarky but I disagree with those that say there should NOT be a universal installer. I say that is exactly what there should be. forget several forms. have instead one installer interface that will copy whatever needs to be copied to where it needs to be.
the only thing that Apple would need to do is to have the information about the installer available to all and also create an 'uninstall' utility that would remove all the bits and pieces of an app. perhaps they could actually make it an action on the contextual menu even.
Walter said 2:35PM on 9-21-2009
It's not at all true that "in pre-OS X days, every app had an installer". Drag-and-drop install has been around since 1984 and OS 1.0 (MacPaint and MacWrite). In fact I would have said quite the opposite--installers have always seemed quite un-Mac-like.
The argument for drag-and-drop is that copying an application to the Applications folder is a simple task exactly like what the user does in organizing his/her own files. An installer, on the other hand, is a black box that does who knows what. It is obvious how to uninstall an app that you copied yourself to the Applications folder. If an installer did it, in general you have no clue how to uninstall.
Now, it may be the case that today's users don't even know how to use the Finder, maybe because they just live in the web browser. So how about Apple just adds a flag to disk images (in addition to the license agreement flag that's already there) that asks if you want to install the enclosed app (by copying it to Applications)?
Reply