ClickOnce is a deployment technology for .NET 2.0 rich client applications with admirable goals
- a fairly seamless web-like deployment experience
- start-menu integration
- least-privilege install out of the box
- automatic updates
- add/remove programs integration
- roll back to previous versions of the application
While the technology is not without its issues (for example I never want to be on the end of a support call where I have to tell end-users to open up a command-prompt and run “mage –cc” to get the latest version of the application) it mostly achieves its aims. There is one area where I think ClickOnce drops the ball though, and that is the ClickOnce application update dialog (shown below for WPF RSS Reader RikReader written by the very talented Doug Stockwell)
What’s the problem here? Well, I’m convinced most users don’t actually SEE this dialog, what they see with their “end user” eyes looks more like this:
Users want software that works, but they also seem loath to allow systems to automatically update themselves (perhaps better the devil they know). As a result of this I worry that a lot of users will become conditioned to skipping updates, and once an update is skipped once the user isn’t presented with the option to install it again. Not asking again is considerate behaviour, and probably the right thing to do, but it means that as an application developer if you’re only dropping new releases every couple of months and users are regularly choosing “skip” they might be several versions behind. I’ll be measuring just how many users choose to click “skip” as more updates to thoughtex are rolled out, and I’d be interested in seeing any more concrete data on this.
A powerful way to encourage users not to skip those updates is to ensure downloading the update doesn’t cost them any time. Currently if you elect to update you have to wait to start using the application you just launched while the update downloads. Another option that seems totally absent is to “background update”. Surely a nice shiny dialog using Vista’s new “command links” with 3 options:
- Immediate Update
- Background Update
- Skip Update
would remove the “get out of my way and just let me do my work” barrier that the ClickOnce updates currently represent. The dialog could be a lot smarter and tell the user how large the download is, and how long it might take.