Overview

Packages are pushed individually, with extended meta information containing human readable description of the update, very brief package description and importance status (critical, recommended, optional).

Importance Status

  • Critical (selected by default) - security updates
  • Recommended - fixes major issue in application
  • Optional Updates

Notification

  • Notification icon only appears when critical security updates are available. The icon pulsates smoothly. The notification popup doesn’t steal focus, timer appears on the top right corner in the same style as in SUSE 9.3 grub.
  • Clicking on either the update.. button or the notification icon bring up the updater dialog.
  • Notification icon disappears as soon as all security updates have been installed.

Solving the Tasks

Tanja is Notified to Update

  • Before proceeding with a security update, Tanja wants to read a short summary what the update will do and why does she really need it. In cases when she is certain she is not affected or the download is too big for her modem to handle, she wants to postpone the installation.
  • The updater suggest installing a few security updates. Tanja has a modem connection and isn’t willing to install a 20MB Java update right now, but she does want the 5MB Firefox fix.

Tanja is notified that there is a critical system update. She launches the updater by clicking the blinking icon. She notices the Security fixes are 25MB in size.

#

Tanja sees a list of updates with a description what each package is and how big the it is. Tanja selects the Java list item which brings up a description pane listing what the update solves. 25MB is too much for Tanja’s modem, so she deselects it and selects the Firefox list item to see what’s that about. The description of the item seems important enough for her to go with the update right now. She presses the install button.

#

Progress shown in the case for Robert below.

FIXME: Provide Help

The notification remains active, because the Java update is a critical security fix and Tanja chose not to install it.

Robert Updates Manually in the Background

  • Robert just ate his sandwich and is about to read a bunch of useless information on slashdot. To justify the waste of time he wants to manually check for any updates available and make his system up-to-date while he is reading. He’d like to know approximately how long the action will take.

Robert goes to manually check for updates in System>Administration>Software Update. That launches the updater which checks the server for updates upon launch.

If there are updates available, Robert is presented with a screen similar to the one Tanja had in the case above. If there are no updates, The update tool doesn’t show this window, but a dialog:

 Your System is up to date.
 
 Currently there are no updates for your 
 system available. If you wish to add 
 another update server, click on the 
 "service setup" button below.
 
[ Help ]                [Update History] [[ Close ]]

The Help button would take Robert to a summary of what are update servers/services, why can there be multiple servers, why is it good, etc. Updates History is described later on in Tanjas case on reverting an update.

But since there are updates available, Robert looks around for info on how long the update will take. He can only see the size of the complete update, so he clicks the Install button expecting to see some statistic on the download speed and estimated time to download. And indeed, Robert is presented with th following modal dialog:

# # #

A much more clean and user-oriented approach would be to only present a progress bar with time remaining. That is the core information that is important - “how long does it going to take until my system is updated, secure and usable”. I am not sure if it is technically possible to give a usable estimate especially the check and installation segments. It will be a much worse solution if the estimated time is going to be off too much.

Once the update finishes successfully, Robert gets the following summary.

 Your System has been updated
 
 The updates you have selected have been 
 applied. 
 
                              [[ Close ]]

Auto Update

  • Robert wants to have his system updated in the background automatically. He has a decent connection, keeps the computer running most of the time.

Reverting Updates

  • Tanja tries to connect to their netbanking system, but the application complains that the java runtime needs to be version 1.4, and her new 1.5.2 will not work. She wants to revert that update.

Tanja launches the update tool with System>Administration>Software Update. Tanja goes to the update log facity in Updates>History.... She is presented with the following dialog.

#

The dialog lists update transactions Tanja has performed in the past. As she clicks on the dates, the pane below updates a list of packages that the update consisted of. She clicks the topmost item that includes the Java update and selectes revert. If the update happened earlier, she would have to revert all the updates that followed.

The updater shows a similar progress dialog of the revert and a summary of the process:

 Upgrade Reverted
 
 Your system has been restored to the state it was 
 before the update on May 13th.
 
                                          [[ Close ]]

Possible Errors

  • Dependency issues, Conflicts - such things tend to happen, especially wrt using external packages. Provide explanation, perhaps integration with some bugbuddy-like report tool.

Work Log/ Problems

  • Based off Sigi’s initial grouping design.
  • Later got rid of the concept of grouping updates and reverts. Doesn’t really help much in making the UI easier to scan through and adds complexity.
  • Dismissed a version that makes the checkbox a multi-stage toggle to install, not install, ignore, or remove a particular package. Since that seems to be unnecersary complex for Tanja, will try to move the extra functionality elsewhere and go with install/not install checkbox. (mockup)
 
installer/individualupdate.txt · Last modified: 2006/09/19 15:10