Saturday 23 June 2007 — This is over 17 years old. Be careful.
Right off the bat, let me say that this is not about Mac-bashing, or a Mac-vs-Windows flame.
I use Windows, but Susan uses a Mac, so I occasionally am called on to perform simple maintenance on her laptop. This morning, that involved upgrading an application. I like the Mac, and generally find it to be well thought out, and easy to use. But I’ve never understood the application installation process. Here’s what I did to install the application Foo:
- Downloaded FooDownload.dmg.zip to the desktop.
- StuffIt Expander launched automatically, and gave me a FooDownload.dmg Folder on the desktop.
- At this point, nothing is happening, so I opened the folder, inside was a FooDownload.dmg icon.
- I opened that, a license agreement appears.
- I agreed to that, and a window appears with an application icon, and instructions to “Drag this icon to your Applications folder”.
- I have to find the Applications folder, and drop the icon into it.
At this point, the application is installed. To clean up, I had to:
- Close the Applications folder.
- Close the window with the dragging instructions.
- Close the FooDownload.dmg Folder window.
- Get rid of the three (!) things on the desktop: The dmg, the FooDownload.dmg Folder, and the FooDownload.dmg.zip file.
To me, that seems like a lot of manual steps. In the Windows world, you’ll sometimes find shareware where the author gives two options: an installer, or a zip file where you can do everything yourself. The Mac installation process is like the Windows do-it-all-yourself case.
Again, I’m not trying to slam the Mac. I genuinely do not understand why on a platform that makes things really simple, where the mantra is that stuff “just works”, ordinary users are expected to do all these manual steps. Why isn’t the installation process more automated? This isn’t a rhetorical question.
I know someone will answer, “Because you may not want to put the application in the Applications folder,” but really, how many users organize them differently? And the Windows installation wizards often let you choose another installation directory anyway, so that control is not incompatible with automating the experience.
I’m not flaming the Mac.
Comments
I think a lot of this is down to the application being installed. The best apps are downloaded as .dmg's which (if you're using Safari) will auto-expand and then when mounted will contain the application and a shortcut to your Applications folder so you don't need to find it. Then it's a simple drag and drop process. In my view any apps which don't take this approach are not following the "Apple way".
My guess at why it is not more automated is the manual step of dragging the application is a nice security feature to prevent the sort of thing which happens in Windows where applications get installed without your knowledge.
Matt
For one thing, Stuffit Expander shouldn't have anything to do with zip archives -- zip support is built into the Finder. Unfortunately, Expander tends to grab the Launch Services bindings for every type of archive it can handle, including the ones the Finder can manage. Expander was a really nice product once upon a time, but now it's more akin to the human appendix than anything else. And it's launching could be considered on par with appendicitis.
Secondly, the .dmg format supports compression natively so there is no need to put a disk image inside a zip archive.
The click-wrap agreements on dmgs have always struck me as exceedingly pointless. If developers simply must make the user blindly click the 'agree' button without reading the text, then they can easily pop up a dialog on the initial launch of the Application.
Assuming you the .dmg doesn't have a click-wrapper it can be set so that when you open it, rather than mounting, it mounts, copies the app to the desktop, unmounts and moves itself to the Trash. A simple zip file gives pretty much the same experience, but without automatically putting itself in the Trash.
Thus:
- click download link
- double-click .dmg
- [system extricates app from the dmg and throws the .dmg away]
- (optionally) move the app to /Applications or ~/Applications or wherever
- double-click app
- (optionally) right-click on app's Dock Icon and choose "Keep In Dock"
Alternately:
- click download link
- move .dmg to /Applications
- double click .dmg
- [mounting...]
- double click app inside .dmg
- right-click on app's Dock Icon and choose "Keep In Dock"
In this case, if the .dmg is a self-extracting, you will simply end up with the app in /Applications. Otherwise, the system will (if necessary) automatically mount the .dmg when you click the app's Dock Icon and launch the app from inside the .dmg. I've known a number of people who have multiple .dmgs in their /Applications folder and never thought twice about it because it just worked.
Adding items to /Applications requires Admin privileges, so users with normal accounts tend to keep their apps in ~/Applications or right on the Desktop. (Again, occasionally still in the .dmg...) This is especially common in Lab environments.
As far as the Windows side of things (in my experience, ymmv):
- download link
- double click installer.exe
- click OK
- click next
- click next
- click next
- click next....
- [installing...]
- click OK
- delete installer.exe from desktop
- (optionally) delete shortcuts to the app, the readme file, etc. from the desktop
Granted, that requires less thought, but I'm not sure it's a real improvement. And I'd suggest that directly manipulating the application's icon is more intuitive than 'choosing an install location' in a wizard step for alternative locations. (Of course that could very well be an example of optimizing for the uncommon case.)
Most Mac apps are entirely contained inside one icon, there are no shared libraries or support files to tucked away in various nooks and crannies, so the infrastructure of an installer is overkill. Personally, I like the fact that I'm five clicks away from running an app (download, double-click, double-click) when I'm just trying software. The installer rigamarole tends to be a significant enough barrier to entry that I often just hit Cancel and delete the app untried. And beyond the hassle, there is a security consideration, once an Installer is launched, I can't be sure about what files it is placing on my disk and where it's placing them.
Of course, what it really comes down to is familiarity. I've been doing installs on Macs way for decades, so obviously Windows is going to seem strange and unusual to me. :)
The first time that I installed software on my Mom's mac, I had the same dissonance. I am not flaming the mac either, but if you Mac psychos want to start something, bring it on!
I do think your criticism is a bit unfair in so far as you seem to blame Mac OS somewhat. Steps 1-3 in your list are the result of a confused developer - there's no reason to zip a dmg, since dmgs can be compressed themselves. In general, the install process is simply, "open dmg and drag .app to Applications folder, which is on the sidebar of your current window anyway." As another commenter mentioned, it's even simpler if you're using Safari - it mounts the dmg for you, so all you have to do is drag the .app to the "Applications" alias in the sidebar.
It's not like some mystery installer thing popped up a box that says "Okay" or "Cancel" because you clicked a link.
You dragged the icon into Applications. You meant to install it. There's no way you can say "I don't know how that got there."
I really like to open the .DMG and drag the thing to Applications because of the That's All There Is principle. No "registry", no "/usr/local, /var, /opt" stuff. One big, obvious drag and drop. That's all there is.
And yes, my family doesn't actually get it. My father's machine is full of DMG's which have never been moved to Applications. My mother had three firefox DMG's. I deleted them and she called me the next day saying she couldn't read her email. Oops -- I should maybe have checked to see if anything was in Applications.
I agree with Gary that the process is typically simpler than you've outlined, but the problem of having to get rid of the .dmg file still remains. I don't know how that could be avoided though (and I usually forget, leaving all sorts of dmg turds hanging around).
The apt-get example ignores the fact that those commands are required because linux packages have all sorts of dependencies that would be a nightmare to manage manually.
I still think that application bundles are the way to go for a more maintainable system and better overall experience, even if the install process feels a little more "manual" (and could be improved, somehow).
"I like to know what is going where": As a power user, I can appreciate that sentiment. But most users don't feel this way. This aligns with my point that the Mac install is like the Windows DIY installs. Typical users aren't concerned with all of those issues, though, and just want the software to work.
Running apps from the DMGs: this is not the first I've heard of this, it must be quite prevalent. Isn't this a problem that needs to be solved?
As to whether dragging icons to Applications or typing "apt-get install" is easier: I guess it takes all kinds...
Running apps from the DMGs: this is not the first I've heard of this, it must be quite prevalent. Isn't this a problem that needs to be solved?
--
Problem or feature? Depends. A mounted DMG looks to the file system like a normal UNIX mounted volume, at least if "ls -l /Volumes" is to be believed. There are times when having a DMG look like a normal part of the file system is a good thing. YMMV.
And there are plenty of DMGs hanging around in my Downloads folder as well, though that's not because I run the app from there, it's because I forget to clean up after myself. The same is true of ZIP files lying around my Windows boxes. The one thing DMGs do better than the Windows equivalents is that the DMG is both a compressed file and a way to directly access the program, so you don't have to uncompress the DMG and then run setup.exe as a separate operation. Which makes it pretty funny that the developer of the app you were installing stuffed the DMG inside a ZIP, thus cleverly giving you the worst of both worlds.
Nobody's mentioned my favorite pet peeve about Mac installers, though (speaking as a Mac Zealot). Most DMGs have great welcome screens with instructions about dragging the app to the Applications icon, including a handy picture of the icon itself with great big arrows pointing to the picture, but then they don't make that picture a drop target - so users drop the new app to the picture of the icon (following the arrows) and nothing happens. The correct way to do it is to let users drag your app icon to the picture/alias of the Applications icon in your little DMG welcome screen and have that install the app into the Applications folder. There are some Mac apps that do this, but it's too rare.
The best apps on mac have an applications shortcut in the dmg, with a big friendly arrow pointing from the .app to the shortcut. Just click and drag an inch to the right.
And in response to people using the apps from the dmgs, the only thing I dread seeing more than this is .exe files littering the desktop...
(1) Looked for a button on the CD-ROM drive's tray to eject the CD. No dice, there is no such button.
(2) Tried dragging the CD icon on the desktop to the trash. That metaphor worked for floppy drives throughout Mac history, so shouldn't it be the same for other removable media? Nope, no dice there either.
(3) Tried right-clicking (or option-clicking) on the desktop CD icon, in the hopes that a pop-up context menu would offer an Eject option. No luck there either.
(4) Looked through the menubar at the top of the screen, with the CD icon highlighted, for an Eject command. Nothing.
(5) By now this was becoming very frustrating, and I was ready to find a pushpin to poke in the drive's little emergency eject hole to pop out the tray. Guess what? No such hole. How would one retrieve a disc if the drive were not connected to a power source? Maybe if it were one of those trayless drives with a CD-eating slot would the lack of a hole be logical, but I had thought that was a standard feature on all trayed drives. Older Macs, I recall, had just such a hole for their floppy drives...
(6) Completely stymied, I began to search online. Google was pretty fruitless, because apparently ejecting a CD on a Mac is so basic a task that rare is the case anyone would even mention it.
I don't remember exactly how, but somehow (might have even had to phone a friend or poll the audience), I discovered the answer. (Which I won't even mention here, because everybody knows it already, right??!) But of all the non-intuitive things...
This experience (and others) makes me absolutely abhor the mantra that there should be a "one true way" of accomplishing any given task, as if this is something to strive for.
And I'm not saying that (at least in this particular instance) the Mac solution is inferior or superior to the "PC" solution(s), just that I found it particularly un-intuitive.
But if I were a Mac user trying to eject the CD on a "PC"? Might I get frustrated: "Where is that special key on the keyboard to eject the CD!?"
Here's something to ponder: What if my Mac were to have more than one optical disc drive installed? I'm sure there's a solution, I just have no way of guessing what it might be.
The technical reasons are similarly weak. Applications are stand-alone and don't need to be installed at all. Fine, but users will generally want to place them in either their own or the system's Applications folder, even/especially if they don't know they want to. Why not reinforce that? Why on this point does the Mac insist on giving us the power user's interface, where anything, even the inadvisable, is just as easy as the right and common thing?
As to the apps: well, actually, the apps which you drag to the applications folder are not really applications. Actually, these are packages-folders which behave like executables. You can right click such an application and select "show package contents". This was the big innovation in OS9 and it was ported to OS X.
As said before, most users do not want installers, apt-getters etc. They want to have an application to double click and work with. Apple's solution is clever and convenient. It is also nicer to developers, because it is easy to modify application resources (like translations to other languages).
Because Mac's (at least originally) did not need "installer" software to install applications. Applications were just files just like any other. The user "installs" it by merely transferring them from (originally diskettes) their containing media (now .dmg) to their preferred location. The "Applications" folder is just a convention. You can just put them in the Desktop if you want to.
So in summary. It is due to the "an app is just a file" approach (which I love btw). Users just need to learn a simple concept that a disk has folders which has files. Period.
Now, some apps for Mac do come with installers since over the years things got a little more complex where the apps "spread" things around. I personally don't like this approach, but have learned to live with it.
Yes, it is easy to ask "why" xyz for Mac OSX.... because it is otherwise so well designed.... Kudos to NeXT / Apple.
The Apple OS software update, however, is excellent.
I think others have highlighted the author of the software was a twit, and you're right its an anguished process you had to go through. However, most apps are much easier than that, and the install is just as easy, drag it to the trash.
It was one of the "leaps of faith" I had to make when I switched, and I'm not sure when I finally "got it", perhaps after a few months, but when I did, I fell in love with the system.
> install" is easier: I guess it takes all kinds...
Once you factor in the time it takes to browse to a website, find and download the dmg before dragging the app to /Applications then I have to say the package manager route can be faster (be it apt, yum, whatever... excluding src pkg managers obviously).
It all depends on if you know what you're looking for or not. Package managers favour the seasoned user, other methods favour newbies. Seasoned users may still find the other methods easy, like dragging to /Applications. On the other hand there are Windows installers which are great for noobs, and terrible for seasoned users.
Allow me to read too much into this. I think that this is indicative of the platform's intent on other levels:
*nix traditionally favours the knowledgeable user and makes life hard for noobs. This is changing but is still evident in many *nixes. Package managers are not noob-unfriendly, but they are slightly more difficult to learn than an installer or drag-n-drop. Ever re-install a *nix box? Copy your /var/lib/portage/world (or equivalent) to the new box... emerge --update world or apt-get upgrade, whatever. With 2 commands you have your old software, and your settings never left /etc or /home/you.
Windows favours the noob, disregards the pro. Ever re-install a Windows box? Did you re-install all your software? YOU POOR BASTARD! Next, next, next, next, NEXT NEXT! NEXT!! FINISH!!! ... */me goes on a murderous rampage*
Apple tries to make things easy for noobs & veterans alike, almost always valuing simplicity and ease over maximum functionality. Ever re-install a Mac? Too much downloading, dragging and dropping, AGH! But it's still better than Windows.
Sorry this got a bit out of hand, but such has been my experience with these systems.
Windows applications can and do put anything anywhere they want, so they *need* an installer.
Linux applications experience what is called "dependency hell" and *need* a good package management system.
Mac OS X applications are very strongly encouraged to bundle everything they will ever need into a single executable bundle. Installers allow the developer to easily put files anywhere, so their use is strongly discouraged in favour of the drag-and-drop install.
Of the three approaches, I've come to love "the Apple way". Drag-and-delete uninstallation is sexy. Having said that, developers should really make installation from their DMGs more intuitive in the way that Rob has suggested above. I had a new convert who was running Messenger from the DMG for months...
Add a comment: