Automatic updates suck. While it is important to keep your OS and installed software up to date, everyone wants to do it ‘their way’, which usually ends up being annoying, pointless, and time consuming. I’ll start off with a couple pet peeves of mine, and then list some examples of how they could be better handled.
First on the list – Adobe. Reader updates are annoying enough, but at least they install rather quickly. Creative Suite updates however, are a different beast. Oh look, there’s an Illustrator update. Close out of Outlook and Firefox before installing it. Wait, what? Close Outlook and Firefox for Illustrator?
Fine, so I close out of the 2 most used programs on my system to allow the update to complete. Thankfully, Adobe provides a progress meter. But not just any progress meter, it’s a useless one. It will keep going up to about 60% and then restarting, for about 30 minutes, before it just disappears and says it is done.
Recommendation for Adobe: Make the progress meter actually display progress, and possibly an ETA for completion.
Next up – Java. Sun has made some improvement here. Java updates will now remove the previous version, so you won’t have (as many) Java folders in Program Files.
However, Java loves to stick around in other ways. Take a moment to check Task Manager for jusched.exe. That’s your Java updater running.
When there is a Java update, you get a popup that a ‘New version is available’, with buttons for ‘Download Now’ or ‘Download Later’. If you click Now, it disappears, downloads the update in the background, and then pops up again – ‘New version is ready to be installed’. During the update install process, you have to opt out of the Bing (or whatever other company) toolbar they’re pushing this time around.
That updater does something else too – It rebuilds caches of frequently used Java objects every 30 seconds or so. Watch your disk IO with it running vs. having it closed. Good luck keeping it closed. If you disable the Java Update service, it will be reenabled the next time you install an update.
Recommendation for Sun/Java: Don’t have an updater running in the background as a service (or at all), and don’t turn it back on if I disable it. When I go to a website that uses Java, do an update check, and offer the update on the first load for that day.
How could some of these issues be avoided? Microsoft already provides a way for 3rd parties to provide updates through their Windows Server Update Services product. 3rd party vendors could tie their updates into the WSUS API to push out updates, transparently and controlled via group policy.