Tuesday, February 22, 2011

Approaches to supplying software updates to your end-users

Let's say (hypothetical ... of course) that you have released a piece of software and users have downloaded it. Suddenly you find a bug that you immediately smash in the next revision. Unfortunately, this particular bug is pretty annoying for you (the developer) and you don't want your users getting rid of your software. How do you go about ensuring that they get an update? Here are some approaches I thought of:
  1. Hope the users navigate to your website every so often to check for updates
  2. Add an automatic update program to your application
  3. Have a "check for updates" option in your program
Unfortunately, options (2) and (3) require that you have done this before placing your application for download. Option (1) is a bad idea (at least according to my website traffic) because people don't come back to your home page very often (if at all). So what do we do?

The way I see it, we have to settle for a compromise. Implement option (1), but also go ahead and either do (2) or (3) for future releases of your application. That way anyone who downloads it from now on will have update capability. Depending on how much time you want to invest, you might go with a full blown automatic updater or just settle for a "check for updates" option.

How do you go about checking for updates? If your application tracks its version, you can compare its version number to an official version number on your website (stored in a text file perhaps) by requesting it from your application. Then if the versions dont match, you can inform the user and direct them to the update website.

Now the next step is to find time to actually implement those ideas...

No comments:

Post a Comment