Archive for May, 2005

The Installer

Tuesday, May 31st, 2005

One of the things that I was determined to get right with TurboHex was the installer. The installer is the first experience the user has with the product, so it is important to make a good first impression.

Writing a good installer is a good challenge. There are just so many error cases to handle gracefully. At the time, there were a number of 3rd party installers available, but none of them met my needs.

Two of the minor goals were that it needed to be rebrandable (i.e. no Installshield or Nullsoft banner everywhere), and it needed to be small. TurboHex is distributed via the Internet, and so size is of some concern. I felt like the branded installers reduce the professionalism of the experience.

You ever try to install a program and it gives you one of those progress meters? And then when the meter gets to 100%, it starts over from zero. Maybe, it’ll do that a few times. Nope, TurboHex doesn’t have that problem. Because we care :)
I wasn’t comfortable with installers that take over the desktop for no good reason, so the TurboHex installer is a simple wizard. Simple is important. Much care was taken to minimize the number of steps to install the application. In a future version, I have ideas on how to simplify it even further.

It would be nice to eliminate all install steps, but the installer needs to do things, like set up file associations in the registry, so context menus work.

One thing that I didn’t add was the ability to install only for the current user, instead of for all users. Because everything installs to Program Files and there isn’t a separate user store for uninstall information, funny scenarios happen when multiple users try to install the app, and then some choose to install it later. Only Administrators should be installing apps anyway (you aren’t running as Admin, are you?), so installing for the current user doesn’t make a lot of sense.

I bypassed the whole mess and chose not to support the feature. This is a case where removing a feature was a better choice than keeping it.

One of the best features of all is the uninstall process. No reboot required. This is a challenge, since it required deleting the uninstall application while it was running. TurboHex does this by secretly spawning a batch file which does the final cleanup. The uninstaller also cleans up everything, unlike many other programs. I think this also makes the experience that much better.

I’ll be making some adjustments to the installer for future versions, but things turned out so well with it that many changes won’t be necessary. It was a rare case of solving the problem so well, that future work isn’t really required. I’m pretty happy with it. :)

What went wrong

Tuesday, May 17th, 2005

TurboHex Design

Monday, May 16th, 2005

Psychonauts

Sunday, May 15th, 2005

Beat the Bridge

Sunday, May 15th, 2005

Security in games

Saturday, May 14th, 2005