Wednesday, May 28, 2008

Automatic Application Updates

By now all of you 9.0 users should have received your first automatic update of ARC - Advantage Data Architect v9.0.0.1. I thought I would take a few posts and discuss how we implemented our automatic updates.




Automatic updates are very common, and I would guess the majority of you have already implemented them in one way or another. They make a lot of sense for vertical market applications, but I have always questioned their validity with regards to a database server. Not many developers want their end user's getting updates to an application/database combination that has already been run through a QA process.

That being said, ARC is a tool that is not directly tied to your application and it makes sense to keep your installation up to date with the latest bug fixes. Hence our decision to finally add automatic updates to ARC.

We started with the following requirements:
  • Don't interrupt the user's workflow
  • Automatically download the correct file
  • Allow users to manually check for updates
  • Allow users to postpone or skip an update
  • Provide a list of bug fixes

Don't interrupt the user's workflow

I can't stand applications that ask me if I want to update the minute I open the application (ala Firefox). Did I open the application just to update it? Not likely. ARC prompts when you are closing the application. Presumably you have already accomplished what you set out to do, and we did not sidetrack you or worse yet make you completely forget what you were about to do.


Automatically download the correct file

Another pet peeve of mine are applications that tell you an update is available, but then just send you to a website rather than downloading the file automatically. The icing on the cake are applications that send you to a web site and then make you think. Many send you to a complicated download site that requires you know what version you currently have, provide account login credentials, etc. ARC will automatically download the correct installation and start it for you.


Allow users to manually check for updates

This one is pretty much a standard. The "Check for Updates" menu option in the help menu.


Allow users to postpone or skip an update

Postponing is fairly standard. We wanted to also provide the option to skip a version altogether. Perhaps what you have is working great and you never want to hear about 9.0.0.1 being available ever again. We will still nag you when 9.0.0.2 is released, but not until then.


Provide a list of bug fixes

It's nice to know what you are getting yourself in to. Does this version just fix 2 bugs, neither of which you have never run into? If so, you can skip this version.


In my next post we will start taking a look at the code behind ARC's automatic update functionality. July 01 2008 Update:I have not yet revisited the code and written a post about it, but I do still plan on it at some point if there is enough interest. If you are interested post a comment which might kick my lazy butt in gear.


No comments:

Post a Comment