Deprecated: Assigning the return value of new by reference is deprecated in /home/bgoodger/bengoodger.com/wp-settings.php on line 512

Deprecated: Assigning the return value of new by reference is deprecated in /home/bgoodger/bengoodger.com/wp-settings.php on line 527

Deprecated: Assigning the return value of new by reference is deprecated in /home/bgoodger/bengoodger.com/wp-settings.php on line 534

Deprecated: Assigning the return value of new by reference is deprecated in /home/bgoodger/bengoodger.com/wp-settings.php on line 570

Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/bgoodger/bengoodger.com/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/bgoodger/bengoodger.com/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_Page::start_el() should be compatible with Walker::start_el(&$output) in /home/bgoodger/bengoodger.com/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_Page::end_el() should be compatible with Walker::end_el(&$output) in /home/bgoodger/bengoodger.com/wp-includes/classes.php on line 1199

Strict Standards: Declaration of Walker_PageDropdown::start_el() should be compatible with Walker::start_el(&$output) in /home/bgoodger/bengoodger.com/wp-includes/classes.php on line 1244

Strict Standards: Declaration of Walker_Category::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/bgoodger/bengoodger.com/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_Category::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/bgoodger/bengoodger.com/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_Category::start_el() should be compatible with Walker::start_el(&$output) in /home/bgoodger/bengoodger.com/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_Category::end_el() should be compatible with Walker::end_el(&$output) in /home/bgoodger/bengoodger.com/wp-includes/classes.php on line 1391

Strict Standards: Declaration of Walker_CategoryDropdown::start_el() should be compatible with Walker::start_el(&$output) in /home/bgoodger/bengoodger.com/wp-includes/classes.php on line 1442

Strict Standards: Redefining already defined constructor for class wpdb in /home/bgoodger/bengoodger.com/wp-includes/wp-db.php on line 306

Deprecated: Assigning the return value of new by reference is deprecated in /home/bgoodger/bengoodger.com/wp-includes/cache.php on line 103

Strict Standards: Redefining already defined constructor for class WP_Object_Cache in /home/bgoodger/bengoodger.com/wp-includes/cache.php on line 431

Deprecated: Assigning the return value of new by reference is deprecated in /home/bgoodger/bengoodger.com/wp-includes/query.php on line 61

Deprecated: Assigning the return value of new by reference is deprecated in /home/bgoodger/bengoodger.com/wp-includes/theme.php on line 1109

Strict Standards: Declaration of Walker_Comment::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/bgoodger/bengoodger.com/wp-includes/comment-template.php on line 1266

Strict Standards: Declaration of Walker_Comment::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/bgoodger/bengoodger.com/wp-includes/comment-template.php on line 1266

Strict Standards: Declaration of Walker_Comment::start_el() should be compatible with Walker::start_el(&$output) in /home/bgoodger/bengoodger.com/wp-includes/comment-template.php on line 1266

Strict Standards: Declaration of Walker_Comment::end_el() should be compatible with Walker::end_el(&$output) in /home/bgoodger/bengoodger.com/wp-includes/comment-template.php on line 1266

Strict Standards: Redefining already defined constructor for class WP_Dependencies in /home/bgoodger/bengoodger.com/wp-includes/class.wp-dependencies.php on line 31

Strict Standards: Redefining already defined constructor for class WP_Http in /home/bgoodger/bengoodger.com/wp-includes/http.php on line 61
millennium | Updaters
A Weblog by Ben Goodger

March 21, 2008

Back when we were building the Application Update Service for Firefox 1.5, I decided it would be a good idea to show users an informational dialog box letting them know that an update was available, and that they would be updated the next time they restarted. This turns out to have been one of those miserable user interface decisions that as a developer you really wish you hadn’t made.

A familiar sight for Firefox usersThis dialog box is so annoying, and it’s compounded by the fact that when the user clicks “Later” - basically “Sod off you stupid dialog box” the situation is made worse by another dialog box telling the user that they will be updated anyway the next time they restart. At this point the natural reaction is “I DON’T CARE GO AWAY”.

Software Update is something that users expect to be pretty transparent, and the fact that it isn’t in a lot of software is a cause of annoyance (and occasional hilarity).

One of the worst offenders I think is Adobe. Today I’m going to bitch about their updater. It pops up every time Crap-o-bat is started, offering some cryptically worded and I’m convinced irrelevant update to one of the myriad pieces of shared code junk Adobe software installs onto my computer. In general, the Crap-o-bat user experience is among the worst of desktop software, but I’ll stay focused on the updater. I swat this annoying dialog box away over and over, until eventually other circumstances cause me to have to restart the computer.

At startup, Windows does its usual charming thing of showing the desktop approximately 3-4 minutes before anything’s actually interactive, and so I sit here dumbly waiting for all the startup items and tray icons to load. After a short while, the Adobe updater appears. I figure what the heck, I’ve rebooted, let’s let it do its thing.

The Adobe UpdaterOne of the first rules of progress meters is to make sure that progress is shown immediately and that it’s constantly updated, even if the steps are very small. This provides the user with a sense of satisfaction that something is happening and that they are slowly getting towards their goal state. The Adobe Updater appears and sits for about 2-3 minutes with an empty progress bar. Is it hung? No, the window is still interactive. I wonder if this is not some retarded Windows MSI database checking phase. Eventually the updater begins chugging through each update. The best (and by best I mean worst) part is that Adobe seems to have invented a new kind of progress meter, which shows indeterminate progress within a particular step of a multi-step install progress within a single master progress meter. The updater achieves this by having the progress meter step up, and then once it reaches some arbitrary limit fall back to where it was at the start of the step, and repeats this process over and over until that step is complete. This is very disconcerting to the user since it looks like something is failing causing progress to be reset. Since little in the UI changes, I began to think the updater had jammed and was about to close it until after another 3 minutes or so it continued on to the next step and I figured out what it was doing.

In all, the process took about 20 minutes to complete, which is staggeringly long considering the software being updated. In the process, the updater dropped an unwanted Crap-o-bat icon on my desktop. Why they felt the need to do this I’ll never know - especially since Crap-o-bat is one of those pieces of software that actually needs no icons anywhere on your computer, since the way you typically launch it is either through its browser plugin or by double clicking on a PDF file in Explorer. Why their updater felt like their software deserved a spot on my precious desktop is beyond me, except perhaps to think that their marketing department holds users in utter contempt and that simply branding people’s computing experiences with unnecessary junk bearing their company name is worthwhile.

Comments

11 Responses to “Updaters”

Comments are Closed