Dealing with Desktop Spam

Windows Update.  Adobe Updater.  Microsoft Office.  Apple Update.  LastFM.  Zinio Reader.  Every anti-virus tool.  MSN Messenger.  Firefox.  Hundreds of shareware and freeware tools.  In fact, almost any modern application.

What do they all have in common?

"An update is available.  Install now?"image

That message, or one to that effect.  They come up in dialogs and pop-up notifications.  They might pop up spontaneously, or they may wait until you launch the application. 

Some just tell you there's an update available.  Sometimes they offer to install the update for you, other times they tell you to manually uninstall the old version and install the new one. 

They're a pain!

Ever boot up a computer you haven't used in a few months and receive a bombardment of update notifications?  There's a new MSN Messenger!  A new iTunes!  Some Windows Updates!  Firefox!  And so on. 

Individually, these are good things.  You want your applications updated, especially when there are real security vulnerabilities that are being patched.  But it's reached a point where it's just annoying users, and they want it to stop.

What we need is a set of guidelines that developers can use to develop update strategies.  Here are a few starting points:

  • Integrated notifications.  Apple Update, for example, tells you about all the Apple products you have installed that require updates, using one UI.  On the Mac, all system and app updates are delivered using this single tool, so while it's still an annoyance, the boot-up-an-old-computer scenario gets you one dialog instead of 10.

    We need integrated notifications across product lines.  The politics of making this happen are, of course, difficult. 

  • Optional Silent Updates.  I want to be able to configure a computer to automatically update itself without ever telling the user. 
  • Install on Shutdown.  All updates should be installed when I'm shutting down the computer, and the shutdown should be prompted if the computer hasn't been shut down for 24 hours.  

    Shutting down is a time when the user's done using the computer.  They can ask the PC to shut down and then walk away, and the next tiimageme they boot it up, it's freshly updated.

  • Integrated Checking for and Downloading Updates.  Checking for updates shouldn't be any more complex than supplying a manifest to some common tool that says where to check (the URL) and what to check for.  If an update is available then an executable or MSI is downloaded and queued for installation.
  • No asking users to uninstall.  Seriously, figure out how to update your app without requiring removal and reinstall.  It's a bit more work for you, but your users will appreciate it.
  • No update daemon.  Given the other items in this list it should seem obvious, but just to call it out:  No more tray apps whose only purpose is to check for updates.  (And please, no more tray apps whose only purpose is to pre-load portions of your application as well as checking for updates.  I'm talking to you, acrotray and qtqask).
  • Daily Update Checks.  Once the rest of these items have been implemented, why not check for updates daily?  The reason users select Weekly or Monthly when asked how often to check isn't because they don't want the updates sooner; it's because they're sick of the notifications.  A better updating system will mean more updated users.

To Microsoft's credit, they're the ones that have done the best job of stopping the insanity, by adding options to background download and automatically install updates, and adding the ability to install updates when you're shutting down your computer.  I think both of these are models that other companies could learn from.

Microsoft are really the only people who could make this happen, and even then only by tying compliance into some sort of branding program like the Windows 95 logo.