a companion discussion area for blog.codinghorror.com

What's Wrong With Setup.exe?


#101

@Stephan:
“You’re right, though most modern Mac software (not ports but genuine) has an auto update mechanism (all I can think of).”

I agree. The situation has become better on the Mac now, I think, partly due to the Sparkle framework (http://sparkle.andymatuschak.org), which is so easy to integrate into existing Cocoa apps. Adium, AppZapper, Colloquy, Cyberduck and many other popular apps use Sparkle for self-updates.

I’m actually planning to write about a couple of such frameworks in Part 3 of that series of posts. :slight_smile:


#102

Wow… the inmates are definitely running the asylum… Jeff, I cant understand why there should be an installation process visible to the user. Really… Why?
Why do we take it for granted that before using something we must ‘install’ it (as users)? I am a user. I dont care about what has to be done in order to be able to run my new app. If i download ‘FooBar’ then I want to run ‘FooBar’ immediately after downloading it, as if it has always been in my computer.
Why are we even talking about installation?
Why has installation got into our world?
Installation is for plumpers, not for computer users.
What was wrong with the ‘insert floppy - c:\a: - a:\rick.exe’ method?
or ‘cd \games\rick - rick.exe’ method?
or just click and run…?
I loved it.
If the creator for some reason wants to ‘install’ then by all means be my guest. Install. BUT I DONT WANT TO KNOW ANYTHING ABOUT IT.

And to go even further, as a user, I dont want to know what compression means. I dont care. I just want to know if I can fit that app into that media. If it fits after compressing it then by all means, kind developer, compress it and put it in the media. And if I trasnfer it to somewhere and i click on it or try to run it, then decompress it and do whatever you want, as long as i can use my app. BUT I DONT WANT TO KNOW HOW YOU DID IT.

I dont want to have to know about any kind of tool that doesnt have to do with my final purpose.

When i install an application, when i zip my documents, when I am searching for a file in the filesystem, I am NOT using.

Anyone likes the LOST tv show? Thats how i feel when I am trying to USE my computer. And regardless whether I am a strong survivor or a dependant pregnant woman I JUST WANT TO GO HOME. I want to solve the mysteries only because I believe (in vain) that by solving them I will get back home.

I hate winzip, winrar, explorer.exe, tar, rpm, make, setup.exe, ISO images, variable bit rate, cookies, certificates, cmd.exe, tags, UTF-8 (it should be WTF-8), systray vs taskbar vs start menu…
I hate, i hate, i hate… where the heck does this distro has the net interfaces init scripts, #F00000 is a color really, the files i ve been waiting are not completed in mTorrent (i can say from the red colored letters… maybe i am wrong but usualy they are green when everything is OK…)and it says something about ports and chunks… Could it be because my baby niece stepped on the cables behind the desk and now instead of my ‘standard page’ i get a strange message saying couldnt find the webpage?

Dont get me wrong. I am a developer. I love all this stuff. I shouldnt but i do. BUT my grandma doesnt. And she has heart problems. I am afraid that if she knew what I know she would be dead by now. Because she would be tempted to deal with it… Now she just calls me and i fix her computer. If I continue doing this job I think she will outlive me. Stress and the computer geek virus have additive and addictive effects. I am so going to the beach. So is my deadline for that project. !@#$ it!!!


#103

Jeff,

I think you have got to try Mac at least for a few weeks. Next time you get bombarded by Mac users, you can just say, “hey, I’m Mac user too! I’m just complaining about something I bought!” :slight_smile:

Seriously, I think this is more about having the discipline to follow installation guidelines in respective OS (on the developer side). The guidelines themselves are not (too) bad. They are pretty good within their respective OS design. The problem is, OS makers have very little power in enforcing the guidelines. So developers get sloppy (or overly creative) when it comes to installation. That’s what happen when you give people flexible working hours, they wake up around noon.

A humble multi-OS user.


#104

I got bored with the repetition so made a summary of what I think covers the main points. Some of the points I’ve added myself (a Windows only user with a respect for Macs) and with help from a friend (a mainly Mac user with experience with Windows).

Drag’N’Drop:

Pros:
One point of reference to run, install and uninstall the application.
- Means you can test it, hate it and dump it with just a few clicks in the OS.

The concept of “uninstall” is closer to “deleting” the application, which is more similar to files.

Complete control over where the application is placed.

The practice of self-contained applications (not placing files all over the place) seems to be better utilised. This is related to the install style in the sense that without an uninstaller it is too hard to manually delete files, so they are not created in the first place.

Cons:
Too easy to become too disorganised and place applications in rogue places.
- Forces the user to manage their applications themselves.
- Can be countered with the idea that “dragging it into the applications folder” quickly becomes the “install process” and thus organisation is actually very simple.
- The Finder makes it fairly easy to find all applications due to their being packaged under a common extension.

Requires the user to know about the filesystem to manage applications effectively.
- Can be countered with the fact they don’t actually need to, coupled with the fact that the “Applications” folder has a high visibility.

Installers:

Pros:
Can give power and flexibility in how the application is installed and configured, whilst still allowing non-technical users to easily install using defaults.

Automatically manages install locations.

Allows better utilisation of common components.

Cons:
Not transparent enough. The user often can’t tell exactly what is installed.
- Some installers do tell you where everything is installed.

Often the common components doesn’t work as well as it should and redundancy, incompatability and other issues occur.

Because an uninstaller is used it is easier to make applications that scatter themselves.
- Often the uninstaller misses scattered files.

Lack of standardization in installers means the exact customisation process is often too complex for novice users.
- Can be hard to explain how to customize “over the phone”.
- Leads to endless “next” clicking, even past liscence agreements and “would you like to install spyware”.

Installation, running and uninstalltion of applications are all seperate concepts with seperate programs.
- Uninstallation is a distinctly seperate concept from “deleting” files.

It seems to me both work well if done right. It’s just made so much easier to get the drag’n’drop right and people have been getting it right for so much longer. Developers are beginning to get installers right, but it’s taking a while. I do think the drag’n’drop idea works better than the installer though.


#105

When I got my PowerBook, I was confounded by the DMGs and whatnot.
“Drag me to your applications folder to install me.”
"OK, but I’m running you from inside of this DMG just fine. What am I missing?"
Applications work like magic - I don’t have to worry about stranded registry keys, files left over in sub-sub-sub-directories of the root installation or strewn about Documents and Settings when I try to remove them or going through the 19 step installer process. I open the DMG and drag the icon into my applications folder.
Better yet, I just open the DMG and try out the application to decide whether or not I want to go through the trouble of dragging it to my applications folder (and QuickSilver even manages to find it inside of that mounted DMG).
I wish I had that luxury on Windows. There’s a lot of crappy software that I wouldn’t have to uninstall 5 minutes later if I could do that.
Yes, applications tell you to put 'em in the Applications folder (and I had no idea how to work that when I first got my Mac which made me feel pretty dumb) but they’ll happily run from the desktop. Once my desktop started getting ferociously cluttered, I started to dig a little deeper and noticed the “Applications” on the left-hand side of Finder and what do you know, I can just drag these icons there and it works just fine.
All that said, I’m with you in scratching my head over why apps don’t automatically put themselves in Applications for you and hide the manual work involved with throwing them there. I don’t know if it’s a security thing, if it’s a “if they didn’t know it got put there, they won’t know how to take it out” thing or if it’s a “try it out before you semi-permanently attach it” thing.


#106

My pet peeve is the “That folder doesn’t exist, would you like to create it?” That has got to be the dumbest question I’ve ever been asked. Imagine if that same logic were used everywhere:

You turn your car right and it says, “You have turned your steering wheel to the right, would you like to go right?”

You stick a shovel in the ground and it says, “You have inserted your shovel into the ground, would you like to dig a hole?”

You stick food into your mouth and some disembodied voice says, “You have inserted food into your mouth, would you like to chew?”

You place a pen on paper and it says, “You have put your pen on paper and started moving it, would you like to start writing?”

You begin writing a piece of software and are payed by the lines of code; would you like to pop-up pointless, idiotic dialogs?

Sometimes smart people can be really, really, really, really, really dumb.


#107

Jeff, the answer to “what the hell is installed on this thing anyway?” is, for most Mac users, answerable by looking at the Applications folder.

Also, I’m waiting with bated breath for a post explaining what’s so horribly wrong with drag and drop.


#108

Jeff, you should try ScreenHunter, I find it way better.
And I cannot disagree more with your position on this matter. Users have to learn how to use a computer, have to know what a hard drive is, the amount of memory. Those things are not hard. It’s so f***ing frustrating when fixing someone’s computer who doesn’t even know where C: is.
If you don’t want to learn how to use a computer, don’t use it, please.
And f*** the big install button, every one should know how to:
tar -xvzf foo.tgz
cd foo
make
make install

Now this is fast :slight_smile:


#109

Jeff, this is a troll post. You can do much better than this. I’m ashamed of you.


#110

I have to agree with Rob S on this. I usually enjoy posts here, but this seems like a deliberate troll post meant to rile Mac users.


#111

No, I take the Mac to task because its normal install is equivalent to the Windows power user install. Do users need to know or even care that the “Applications” folder exists, and all that entails? Filesystems aren’t a feature, folks.

Hm. Mac OS makes the file system transparent. Understanding how to use a folder is not the sign of a power user here. Maybe it is on Windows.

Mac novices learn what a folder is and how to use it early on. They already understand what the Applications folder is, which they see in every Finder window’s sidebar. Without thinking about it, they already know that it is the one interface for installing, running, and removing apps.

Maybe a file system-free operating system would be a boon, but in the early 21st century, Windows novices are hobbled relative to new Mac users because their arcane OS chooses to hide the Program Files folder and the Windows Registry using the Start Menu program. (And if file systems aren’t a feature, then what the hell is the Windows Registry?)

I guess Mac OS is like super powers, allowing normal folks to conduct awesome “power-user” feats like copying a file and opening it, even if it happens to be an application.


#112

this seems like a deliberate troll post meant to rile Mac users

I think this is more a reflection of the reader’s sensibilities than anything I wrote in the post.

Notice how many times Ned wrote “I like the Mac, I’m not criticizing it” disclaimers in his original post. You’d be hard pressed to find a more sensible, reasonable person than Ned. It’s quite sad to me that any discussion on this topic has to have dozens of disclaimers for us to have a rational discussion free of personal attacks and sniping.

And even then you get it anyway.


#113

“Because of the Mac’s drag-and-drop install philosophy, there is no control panel or other UI which answers the question, “What the hell is installed on this thing anyway?” This leads to 3rd party solutions like AppZapper — what a mess!”

  1. Look at /Applications. There’s your list. You can see when you’ve run it, how big the app is, etc, and even “uninstall” right from the Finder window! What other functionality of Add/Remove Programs is missed with this approach?

  2. AppZapper is NOT needed any more than similar utilities (My Uninstaller, Cleanse, etc) are needed on Windows. If the developer plays by the rules, the only thing left after you delete the /Applications/UselessApp.app bundle is the app’s preferences file (which is good to keep in case you change your mind in the future about UselessApp, and too small to worry about in any case) and any documents you created with it (obviously shouldn’t be removed).

In contrast, C:\Program Files\UA315\UselessApp.exe is not so easily taken care of. Is it in the Add/Remove Programs list? As “Useless App”, or as “Kool Kompany UA 3.1.5”? If you can’t find it there (a common occurrence in my experience), can you just delete it from the folder? Or, will you get a crash next time you restart? Similarly, if it IS there, will your system crash or another app fail next time you restart because the uninstaller improperly removed or downgraded a shared DLL (not as common as it once was, but I’ve had it happen recently, so it’s not exactly solved either). And that is only if you’re looking in C:\Program Files in the first place; if you’re looking in the Start Menu there’s even LESS of a connection between what you see and what’s on the ARP list!

And, of course, since there’s no Add Remove Programs database, there isn’t the common Windows problem of “zombie” installs on that list: applications which you’ve uninstalled (even through the ARP!) which don’t exist anymore but didn’t remove themselves from the ARP database. This leads to unofficial and unsupported solutions like TweakUI. What a mess!

You don’t get a “what the hell is installed here” question on OS X because “what’s installed” is completely transparent to the user. IMHO, providing DIRECT access is always a better user paradigm than indirect access. Were there enough clear benefits to the separate ARP database then they might make up for the inherent complexity of it, but I definitely don’t see them here.


#114

@Jeff:

“Yet it’s NOT standard-- what happens if I run the app from the current location (running it from the DMG) without dragging it to the applications folder? Or what if they drag it to the desktop and run the app from there?”

What happens? The application just works. Wherever you place it. And when you drag the application from the DMG to the dock and the DMG is closed, then a click on the link/ dock will automatically mount the DMG and start the programm. Just try it next time.

For a Mac DragDrop standard install see OmniGraffle or a dozen other programs.

The main confusion for Windows users arises because the Mac .app is not a .exe. It contains most config files, fonts, images and is more of an application directory than a pure .exe. This often confuses Windows users. As a side effect, for most software it’s enough to remove the .app from the applications directory to uninstall it. It doesn’t litter config files on your hard drive.

@Kunal:
“The thing that bothers me is not the initial installation process, but the inconsistent way in which software updates are handled by third-party apps on both Windows and OS X. There’s still a large fraction of applications that don’t include any kind of built-in updating mechanism.”

You’re right, though most modern Mac software (not ports but genuine) has an auto update mechanism (all I can think of).

Peace
-stephan

Stephan Schmidt :: stephan@reposita.org
Reposita Open Source - Monitor your software development
http://www.reposita.org
Blog at http://stephan.reposita.org - No signal. No noise.


#115

@Jeff:
“I do get a little frustrated with the way Apple gets a “free pass” on these usability issues”

…when your biggest selling point is that you have FLAWLESS USABILITY… of course it’s going to get a free pass from its fanbase.


#116

@StoreBrandCrack on July 21, 2007 09:20 PM

“What happens if the C drive gets full and you want to move some of your large apps to the D drive? Answer: you get to reinstall them all again.”

Why would you do that? If an application is already installed, why uninstall it only to re-install it? That makes no sense. If a hard drive is starting to get full, you don’t uninstall all of your applications only to re-install them on a larger drive. You simply add the larger drive as extra space. Then when you install a new application, you change the install path from the full drive to the new drive. Why go through all of the trouble to move everything when it seemed to be working just fine where it was?


#117

Now, you take the Mac to task because it doesn’t “use Setup.exe”.

No, I take the Mac to task because its normal install is equivalent to the Windows power user install. Do users need to know or even care that the “Applications” folder exists, and all that entails? Filesystems aren’t a feature, folks.

http://www.codinghorror.com/blog/archives/000461.html

I think both platforms need to do better here, so if you read this as an anti-Mac diatribe, it isn’t. I do get a little frustrated with the way Apple gets a “free pass” on these usability issues. All I’m saying is, put aside biases and think about what’s best for the user. I can assure you that windows which are only sizable in the bottom right corner is not one of those things that’s best for the user. :slight_smile:

I don’t think we should accept Apple or Microsoft dogma.

On my little laptop here, it takes a good 1-2 minutes [for Windows XP Add/Remove programs to] even open up

I agree, the delay sucks, but it’s fixed in Vista. There’s an interesting story behind that…
http://blogs.msdn.com/oldnewthing/archive/2004/07/09/178342.aspx

Some of the users where I work don’t know that you’re supposed to drag the .app file from the DMG into the Applications folder.

Imagine that. If only there was a way to make this work more seamlessly… hmm…


#118

“No, I take the Mac to task because its normal install is equivalent to the Windows power user install. Do users need to know or even care that the “Applications” folder exists, and all that entails? Filesystems aren’t a feature, folks.”

Huh?

First, dragging an app into the Applications icon on the sidebar is NOT equivalent to the Windows “Power Install”. It’s a simple, intuitively obvious operation.

Filesystems aren’t a feature? Huh? Why not? Everyone working in the OS needs to know the most basic file manipulation techniques. Why should they ALSO know another set of techniques involving setup and installation, and ANOTHER set of techniques for application removal? And yet ANOTHER (much more complicated) set of techniques for MOVING the damned things when they want more free space on one hard drive? One paradigm may not be ideal, but it’s a hell of a lot better than four!

" Some of the users where I work don’t know that you’re supposed to drag the .app file from the DMG into the Applications folder.

Imagine that. If only there was a way to make this work more seamlessly… hmm…"

“Seamlessly”? Is it a problem if someone puts their applications somewhere besides the Applications folder? Other than for the corporate IT guy (hint: if you want to know what apps a user has on their desktop, use Spotlight to search for applications)?

Already seems pretty damned seamless to me. You open a disk image with the application, you maybe test drive it, then if you want to keep it you drag it into your Applications folder. Other than the drag and drop required here which you inexplicably loathe, I don’t see any seams that need removing.

“Notice how many times Ned wrote “I like the Mac, I’m not criticizing it” disclaimers in his original post. You’d be hard pressed to find a more sensible, reasonable person than Ned.”

Well, Ned - dear, sensible, reasonable Ned who likes Macs and presumably has used them more than a single day - deliberately chose an oddball, non-representative installer upon which to base a rant against the OS in general … and, I’m afraid Ned either is not a Mac user in any realistic sense of the word and his “I have a lot of Mac friends” excuses don’t hold water, or “sensible” and “reasonable” do not mean what you think they mean.

All his, “I’m not criticizing the Mac” followed by three tenuously-supported criticisms comes off more as a rhetorical ploy than any factual assertion. I’m amazed you saw those claims as real, as absurd as they were.

Ned does claim “I’ve had similarly confusing experiences with a number of installs”. Yet, he apparently won’t divulge the names and locations of these applications. This flies in the face of the experiences of the vast majority of Mac users, whoc “install” applications quite easily and successfully without 80% of the steps Ned apparently believes are normal.


#119

Mark was quickly pointed to the System Profiler (accessible from the Apple Menu - About This Mac - More Info), which has the list of applications on your system.

I don’t really like the DMG part of the process, not to mention that many software publishers muddle it up by putting it in a ZIP file or some other layer of complexity (Apple should make sure that DMG files have solid compression, so that developers would see quickly that they save next to nothing by compressing it further). The idea is to parallel installation media for downloaded software, of course. It’s the software equivalent of the installation CD-ROM, and it does a pretty good job of behaving very similarly (I think you can even burn a DMG more or less directly to a CD-R).

But the actual dragging of the application I think is just fine. “Normal” users don’t necessarily get the “installed” or “not installed”, how to put things in the Start menu, and so on. On Ubuntu, I really like installing packages (I was already familiar with APT), but if I don’t like the way things are in the menu, it’s not completely obvious how to fix it. The entry in the menu isn’t really the application, but a shortcut.

On the Apple, there isn’t two entities like that for most applications. The “thing” you double click on is all there is. It was on the installation media. You can move it wherever you want, just like any other “thing” (be it document or other, using drag and drop or whatever method the user is comfortable with, since they behave like everything else). Apple suggests putting everything in the Applications folder, because it’s easy, but if you want to pile everything on the desktop or in your home directory, you do as you want. The shortcut is never confused, by the virtue of not existing. And when you want to get rid of it, you delete it like any other “thing” on your system, using the way you’re comfortable with (I like Command-Delete, myself, since I navigate the Finder with the keyboard).

It makes the application something no more mystical than a document that the user could have created himself. You have a freeware that you want to give to one of your friends? Easy, you just make a CD with the application on it, then give that CD to your friend (the same process that you would have used for a user document).

It’s definitely a different compromise, and it has its downsides.

In a more corporate setting for example, I would vastly prefer APT, over both the Windows way and the Mac way. But for a “normal user”, this has its downsides as well. For example, installing software that is not available in Ubuntu’s package manager is a world of pain. At best, you could add a third-party repository to the package manager (which would also keep it up-to-date), but that’s not exactly simple, and it’s not the kind of thing you’d do for a random application from the Internet you just want to try out (then you’d have to remove the repository, etc). It also doesn’t work all that well for commercial applications installed from a CD, for example (it does work, but it’s definitely off the beaten path again).

Ubuntu has control over what goes in their standard package repositories (even the “universe” stuff, even though they don’t package it themselves), but people trust them enough for that at the moment. Apple would have a harder time doing that, and I wonder how well would Adobe’s Lightroom fare compared to Apple’s Aperture in a “virtual showroom” la iTunes Store, for example. And can you imagine the call to arms there would be if Microsoft had such control?


#120

As a former Mac OS X user and current Vista user, I detest the software installers that seem to dominate the Windows landscape. On my Mac, I kept all my third party software in a folder named “Applications” in my home folder, which nicely kept everything separated and made backups so much easier.

On Vista, most software uses an installer and every one of them blindly tries to run with Admin permissions, which I find to be totally idiotic. Sometimes, the installer portion of a windows application is as large as the application itself!

Luckily, there is a growing number of Windows applications that you can just unzip and run from your home directory (or where ever you want).