I think it’s the time for all software developers to realize that automatic software update is a must. It doesn’t matter if it’s a instant messaging program (thus always connected to the Internet) or a standalone video player.
You can safely assume that user either is always connected to the Internet, or sometime will be. Use that time and just check if there’s a newer version, and if there is – notify the user. Don’t download anything, don’t try to automatically install the update, just notify. That’s enough.
It’s 2008, let’s fully use the potential Internet gives us. You can patch bugs this way or push new features – one way or another, you’ll make majority of your users a bit happier. And they won’t have to do a thing for it to happen. I think the days where you read in a newspaper that there is a new version of some software, and then tried finding it, should be gone.
However, such an auto-update must be trusted by the users. Otherwise they’ll be just “clicking off” your reminders and getting more and more angry at your software.
How to make it user-friendly? Follow the 3 rules:
1/ It can’t be annoying. If your app wants to check for an update, it doesn’t have to tell the user every time it does.
It also doesn’t need an “advanced” button just for checking if you have pushed an update. Come on, let people do their job.
2/ Don’t try to smart-ass the user. Don’t try to make him do something else, “just by the way”. Update notification should mean “hey, there’s something new!” for him, not “they’re trying to make me do something I don’t want, again”. Don’t follow the inglorious way of Apple Software Update.
3/ Make sure it’s easy to disable the auto-update functionality in options.