How software updates should work (Part 1)...
Firefox 2.0.0.5 was released earlier this week, which I promptly installed on my computers, and it got me thinking about how software updates are pushed out by various software vendors in the market.
Even though most software updates are delivered via the internet in some shape or form, there's still a large fraction of applications that don't include any kind of built-in updating mechanism (which is why tools like FileHippo are so handy). No wonder I come across so many people who continue to run old versions of software on their computers for months, or even years; they simply don't know that there are updates out there, and who can blame them for it?
Moreover, out of the applications that do include the ability to update themselves automatically, very few manage to do so in an elegant way. Some applications install separate helper utilities that run when the system boots up, and they remain in memory, checking for updates at regular intervals. These tools often slow down the boot up process, consume system resources, and pop up update dialog boxes when you least expect them. Other applications relentlessly notify you of available updates, then force you to manually save and close all your work when you finally run out of patience and give in. I won't point fingers at any particular apps, but I'm sure most of you can figure out which ones I'm referring to. ;)
For these reasons, I find the Firefox update process so refreshing. It works exactly like one would expect it to, and even goes above and beyond to avoid inconveniencing the user.
- There are no separate memory-resident helper utilities; Firefox automatically checks for updates only while it's running.
- When an update is found, a dialog box appears, giving the user the choice to download and install the update, or defer the process for later.
- If the user accepts the update, Firefox saves its state (all open tabs), closes, installs the update, and re-opens in the same state as it was before. Brilliant.
- The update mechanism plays well with the User Account Control (UAC) feature in Windows Vista, something that even many commercial applications have yet to achieve.
If only more software vendors would follow Mozilla's example, the desktop would be a much better place.
In the next post, we'll take a look at another great software updating mechanism that uses a different approach, but works very well too. Until then, can you think of other applications that do a particularly good job at keeping themselves up-to-date without getting in the user's way?