Dev Thoughts

Thoughts and inspirations from a software developer.

Upgrade Annoyances

without comments

I get really annoyed by obtrusive software update mechanisms. They steal focus, popup dialogs, show message boxes, add random icons to your system try, and then popup balloon items. All in a vain attempt to let you know that some crappy little app that you rarely use has an update available and that you should stop and drop everything that you are doing to install the update right now because it really can’t wait one second longer! Obviously someone involved making the software thought that keeping the little application up to date is a far better use of your time than you doing the things you need/want to do.

The main gripe that I have with software updaters is that they announce the update at completely arbitrary and inopportune times, often covering whatever you were actually trying to do with the program. Or better yet you’re concentrating and getting stuff done and up comes a window asking you to restart the application/computer. And those are just the friendly updaters, some just restart the application right smack bang from under you, destroying whatever you were working on. There are many offenders that I could name, but just off the top of my head I can call out Java, Acrobat Reader, Logitech software, Paint.Net, Apple/iTunes, and Firefox as programs with bad update mechanisms. (Some worse than others of course!)

A particularly special gripe I have for the Windows updating mechanism. The updates do warn you if the computer will need to be restarted after installation, but almost every single update states that it may need to restart my system. So it’s pretty much random as to which updates will force your system to restart and which one’s won’t. The other problem is that the options for how the update system works are all undesirable in my view.

  • You can set it to never update, but that just means you need to remember and perform the update process manually. It then either becomes a chore and people get annoyed with it and stop doing it, or they just don’t bother to do it in the first place, and the system is left vulnerable.
  • Another option is to get it to notify you when updates are available and you can then elect to install them (the download and notify I class as the same option really), but really it’s annoying as you get both bugged about it, and then have to manually perform the update anyway.
  • The last option is to let the system automatically install updated at some point during the day (usually this is at night), however this means that you need to keep your computer on overnight. Whenever I leave my computer on overnight it’s doing something for me (like downloading large files, processing data, etc) so I get annoyed when the system decides to restart itself after an update simply because I wasn’t there to dismiss a dialog in time. (Though there is a fix for this, hurray!)

I know of many instances where people have been either confused or panicked by simple update messages spawned by these application updaters. Other times I see people completely ignoring vital system messages and error conditions, and we know this because we’ve all done it at some point in time.

Therefore in my mind we need to streamline and simplify the updating of our software. Eliminate any superfluous dialogs and message boxes, and hide the internal complexity from the user. To summarise I believe that all software updates should behave according to these simple rules:

  • If the update can be installed without any user intervention then it should be done automatically, with no notification to the user, but allow them to go looking for it specifically.
  • If the update needs to interfere with the work the user is doing then it should do as much as it can automatically, and then complete the process when the user has finished with or restarts the application/computer.

Granted these aren’t easy things to implement, but we should do them nonetheless.

So let’s take the Firefox browser as an example of a great application with a poor update process, one that irks me in two main ways. Firstly when it starts it checks if any add-ons need updating, if any have updates it spawns a sequence of dialogs to click through to do the updating. (Does anyone actually skip updating of add-ons?)

Surely this is something that should be handled automatically at start up without the need for any user intervention. Because whenever I start Firefox I just want to visit a website, right now, and clicking/waiting through the dialogs distracts me from that goal

My second Firefox irk is that whenever an update is released and the browser detects it (I always have at least one browser window open), it pops up this large highly-verbose update dialog over whatever site you were visiting at the time. It’s already downloaded and installed it, which is good, but it pops up this annoying dialog prompting you to stop your work and focus all attention on the browser because it needs to restart. However if you select the option to delay updating until the next restart it adds to the annoyance by popping up another useless dialog that you must close before returning to the website that you were on. Why can’t it just prepare the update automatically, and apply it when the browser is next restarted without having to ask the user a senseless question?

Same thing goes for Windows Update, it should install or prepare all of the updates automatically, and silently (this means no popup balloons coming from system tray icons). Then if a restart is required it should just wait until the user decides to shut down or restart the system.

The simple rules described here should eliminate unnecessary interruptions that the user experiences with regards to updating. Fewer interruptions mean that the user can just concentrate on the task at hand, rather than being constantly reminded about some application that they’ve installed. This is a good thing! Distracting the user from their work with your applications updater is wrong and should be banned.

Software developers (this includes everyone involved in design and construction of software – even the managers) need to realise that in the end it comes down to what the user does, rather than what they do it with. Applications are insignificant no matter what you might believe. But judging from the number of applications with crappy updaters out there, there must a lot of people that just can’t or won’t realise this.

Technology should aim to be invisible and blend into our life, rather than be a visible nuisance which we have to tolerate to get stuff done.

So please write better, less annoying, and less visible updaters.

Written by Dominik Grabiec

November 30th, 2008 at 1:39 am

Posted in Rants