Then someone realised you could put new versions of software up on a bulletin board and people could just download them when they wanted. Which was pretty damn cool if you were a geek, even if it did mean waiting an hour while your 9.6k modem spluttered its way through a whole floppy disk's worth of stuff. When the Web came along and got all popular, that became the de facto way to distribute updates.
Of course, the problem with that was that developers had to figure out a way to tell people to go and get the updates. So they came up with the wonderful idea that the software itself would go online and check whether there was a new patch, and if so, it would just sort itself out automatically, so you'd always have the latest, greatest, wonderfullest version.
Except that it's become a total pain in the ass.
There are three forms of automatic updates, all of which are bad.
- When I start my computer. For various reasons, I've had to reboot my computer a lot recently, and it pisses me off that I can't do what I want to do because I have to wait for a bunch of applications to go online and check for updates. When I start my computer, I want to get to the apps I want to use. I couldn't give a damn about having the latest version of some app I use once in a blue moon.
What pisses me off most is when these apps demand to get to the front of the task queue. The developers seem to assume that not only is the latest version of their software something I can't live without, it's THE most important thing I could possibly want. That's really, really stupid when, for example, I'm in the middle of installing a new network adapter and there's no goddamn Internet set up yet. I'm trying to get online, but I can't, because I'm dealing with a flood of error messages that tell me an app I've used once in the last six months can't reach its Web server. Well, duh.
It's even more annoying when I just rebooted five minutes ago. I've just checked for an update, so why do I need to check again?
Just back off and let me get on with it, willya?
- When I start the app. When I use an app, I want to use it right away. It was good enough last time I used it, so the chances are it'll be good enough for my purposes this time. I usually want to just fire it up, do what I need to do, and move on. I don't want to wait while it grabs a new version, installs it, makes me restart the app (or, worse, reboot my computer - see above), and then I have to figure out what's changed.
The absolute worst example of this is when an update means that previous work is incompatible or introduces a new bug. I don't care if a fix comes out a few days later. I want to do what I want to do now, and the developer just screwed that up.
- In the background. Why's my computer going slow? Why did I just run out of space on drive C? Why's this app different to last time I used it? It's my computer, and I don't want anyone making changes to it without me knowing.
Obviously there are times when you need people to be using the latest version, such as when it's an online service which requires the client to maintain compatibility with the servers or with other users, or if the old version has a horrendous problem that could actually cause my computer to crash, but most of the time there's absolutely no reason why I can't stick with what I've already got.
I have absolutely no problems when an app goes online on startup, tells me there's a new version, and gives me the option to upgrade. That's fine. I really like having the option to download the update and then install it at my leisure. That's genuinely useful, especially if the upgrade gives me a clear benefit.
But please, please, software developers. Stop forcing me to upgrade when I don't want to and don't need to.