Welcome to Sign in | Join | Help

Browse by Archive:




Ten Ways to Achieve Good Installation Karma
 

I see this problem all too frequently. A good piece of software gets horribly let down by a bad installation experience. How many times have you just given up with a piece of software just because you couldn't install it? Or how many times were you put off by a piece of software just by the hoops that you had to jump through to get it installed?

I call this "Installation Karma" and although it's not as bad as it used to be, I still think many people discount the importance of installation as part of the overall experience. For me, the installation is the first impression of a piece of software. It should be elegant, flawless, simple, and should just work - and if it isn't going to work on my machine, the feedback should be immediate. Looking back over some work I've been doing recently, I thought it would be fun to put together a top ten list of things that you may want to consider when creating your own installable software!

  • Pre-Requisites for the Installation Software. Bad installation packages have many pre-requisites (certain versions of controls, components, frameworks etc) - this can be bad - especially if you are forced to quit the installer to install these pre-requisites first!
  • Requiring a Restart. One of my favorites! I admit that sometimes you need a restart of the machine, especially if you are changing part of the kernel that just can't be stopped. I've seen many installers however that require a reboot "just to be safe". Urgh. Don't make your installer require a reboot of the machine just because it's a simple checkbox that you can enable - if you need dependant components to restart after your install then put in the time and work out how to do this without a complete restart of the machine.
  • Annoying Animations and/or Menus. No - just no! Few people will be impressed by how visually exciting the installation menu is. Keep it simple, clean, and elegant.
  • Too Many Options. This is the killer mistake for most installers - option after option after option. Good installers do discovery, make some basic assumptions and keep the questions to a bare minimum (hey, do the majority of your users really care whether where your application lives anyway?) or at least customize the install for the persona doing the install (e.g. basic or advanced user).
  • Un-Installation. We've all seen rogue files, reg settings, ini files, icons, menus, etc. get left behind by a bad installer. Make sure that your installer cleans up correctly if people choose to remove your software.
  • Working out Permissions. If the installer requires admin permission (especially important with the UAC changes in Vista) please let the user know before you start installing stuff. Exiting half way (with something like a 2869 MSI message) is not good install karma.
  • Applications that need Quitting. If an installer relies on an application being terminated before installation can continue, all I ask is to give me notice of this and if applicable, shut it down itself. Don't quit the installer on me just because I have a browser open - and don't tell me to close an application myself if you can do just as good a job.
  • Accurate Account of how Time Remaining. If you do provide a progress box in an installer, please don't reset it or break into multiple unknown chunks. I saw a great example of this last year (with some middleware software, I won't name here). During installation, the progress bar must have reset about 10 times. There-in lies the question, why have a progress bar?
  • Unpacking the Installation. This annoys be so much I could scream - and is for some reason common with device drivers. If you provide a package that has to unzip some temporary files for installation, please a) run the "setup.exe" after you've done the unzip - don't just unzip and let me work out what needs to be run next, b) don't pick a directory on my c:\ root - pick something instead under %temp%, and c) clean up after yourself once the installation is complete.

and finally...

  • Do you really need an installer at all? If you are creating something lightweight - add-in, or extension, why not creating a piece of software that really figures out how to run and how to co-exist on your machine without an additional install routine?

Anything I'm missing? What are your installation karma woes?

Comments

Sean Gerety

Piggyback add-on's that are automatically selected and home page changers. Sean
# November 22, 2006 10:57 AM

Stan

I enjoy the typical Symantec/Microsoft corporate installers. These installers often are a combination installer for multiple applications, be it client side libraries, or the server software itself. Would it truely be hard to 'dumb' down the interface a little bit? Even when I know what I am doing, sometimes the options don't make much sense. Sometimes you need to install each portion of the application individually. Is there really that much demand for Symantec Antivirus Servers without any of the administrative UI?
# November 22, 2006 7:47 PM

simonguest.com

Thanks to all who came to my session this morning on "Putting the User back into Architecture" - I really

# November 6, 2007 10:02 AM
Leave a Comment

(required) 

(required) 

(optional)

(required) 

  
Enter Code Here: Required

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS