Updating older (but still supported) Windows versions can be a tedious tasks. Not only for humans but also for computers. Searching for updates for half an hour every time with the CPU going at full tilt must be a not insignificant contribution to global warming.
As everyone knows by know, Microsoft recently released what amounts to Service Pack 2 for Windows 7. From personal experience I can say that it works very well, whatever it is called. The point of the patch is that it resets the baseline for Windows Update. Instead of searching for 5 years’ worth of updates since Windows 7 SP1, there are just a few. Microsoft also changed the release cycle to monthly updates, which further reduces the number of variables.
Of course the patch isn’t automatically delivered through Windows Update and the download process is designed to remind everyone why ActiveX was such a dumb idea. But it does do its job once applied and brings down the time to check for updates to something quite reasonable.
The fundamental problem with Windows Update is that it’s highly complex and needs to resolve dependencies between myriad components on every update check. Whatever the algorithm used, it exhibits some form of exponential complexity. It’s fine with 50 updates, OK with 100, but with 200 it just starts taking forever.
To illustrate the problem better, a little story. Recently I reinstalled an old HP Pavilion laptop from its recovery partition, i.e. Windows Vista. The laptop has 3GB RAM and a 2 GHz Core 2 processor, quite decent for its vintage (circa 2007).
The recovery partition installs plain Windows Vista. Installing SP1 and SP2 on top is relatively quick and painless. Checking for updates after that is… not. After the laptop was busy spinning for about 6 hours, I unwisely interrupted the update process, naively thinking that something had to be wrong on my end.
After making a few tweaks and restarting, the laptop was checking for updates with one core fully occupied for more than 24 hours(!!!) before presenting me with the list of about two hundred updates. All the updates applied without a hitch within a few hours, with obvious progress. The only reason why I left it running for so long was because I know how slow the update checks can be. But I didn’t know it could be that bad.
The Windows Update experience is a wonderful example of how not to design user interfaces. Software which takes hours to complete but provides no estimate of how long it might take and no indication that it’s doing something useful is very poorly designed indeed.
Naturally Microsoft does not care because they’re happy for every incentive users of old Windows versions might have to upgrade. It might be interesting to know just what was needed to convince Microsoft to release the “convenience rollup” for Windows 7. But hey, better late than never!