update-manager shouldn't use modal dialogs

Bug #215126 reported by Bogdan Butnaru
58
This bug affects 8 people
Affects Status Importance Assigned to Milestone
update-manager (Ubuntu)
Fix Released
Wishlist
Unassigned

Bug Description

Binary package hint: update-manager

update-manager currently uses modal dialogs for everything except the main list-of-updates window. This is very bad from a usability point of view.

Conceptually, the only defensible use of modal dialogs is to demand the user an answer without which the program cannot continue, and only in response to an “abnormal” situation. The only example in network-manager where this would be acceptable is when an critical error occurs during the update. (Note that not _all_ errors must be displayed like this.) Any other use means the work-flow of the application is badly designed.

Practically, the modal dialogs cause many usability problems beyond the conceptual jarring:
1) No input can be given to the main window, including window-manager commands. For instance, if the main window is maximized when an update is started, it cannot be minimized or moved until the end, except with a global "show desktop" command. (Also, if the window is in full-screen mode, as I often leave it, the panel—where the show desktop button usually is—might be hidden and unaccessible.) Note that this can be doubly annoying in small-screen cases, like a PDA.
2) Some window managers sometimes place modal windows below the main window. This can make the program completely unaccessible.
3) If the dialog somehow happens to arrive somewhere different than above the main window (dual-screen is the likeliest case, but not the only possibility) it can be very non-obvious why the main window is in the “inactive” state.

I propose the update-manager be switched to a “workflow” system, similar to how wizards work:

a) Don't show the modal dialog with the "Starting update manager" progress bar. It doesn't ask the user for anything, so it needn't be a dialog, nor modal. Instead, put a progress bar at the top of the main window (or just replace its content with the progress bar).

b) Asking for the password is necessarily a global-modal for security reasons, that can't be avoided.

c) Don't show the “downloading” progress bar in a dialog. It doesn't expect user info (canceling is exceptional) so it needn't be a dialog. Also, it can display lots of info (if the user wants per-file progress info), so a small window is not very useful. Instead, switch the main window to a “downloading” page, as a wizard would do.

c') If a non-critical download error occurs (e.g., some packages couldn't be downloaded, but the install might continue), don't show a dialog. Instead, ask the user if the install should continue. (Replace the progress bar with the question; leave the download details accessible as before.) Otherwise continue to the next step automatically.

d) Don't show the “installing software” in a dialog. The same arguments apply as above. Use a different page to show install progress, with the details below.

d') Don't stop for noncritical errors.
d'') Don't return to the first page when the install is done, even if successful. (1) there usually is nothing interesting there, since we probably already installed everything and (2) there is often something interesting in the install “terminal”, we should allow the user to look at it at leisure. Provide a big fat warning message if there were errors, but don't put up a dialog. Just put buttons for exiting and returning to the package list.

Michael Vogt (mvo)
Changed in update-manager:
importance: Undecided → Wishlist
Revision history for this message
Ajay (ajay-g-m) wrote :

I wanted to raise the following improvement bug for update manager's download and install windows:

The update-manager's download and install windows should remember the following preferences of the user (and use them the next time):
1. Whether the user wanted to see the list of downloads.
2. Whether the user wanted to see the details of the installation.
3. The size of the download and install windows.

But after I went through "Bug 215126" I am in complete agreement of the usability changes suggested and feel that the changes mentioned in the bug are a much better way of handling the requirements that I have mentioned above.

Do we have a voting system? I would like to give my vote for this bug.

- Ajay.

Revision history for this message
Mackenzie Morgan (maco.m) wrote :

I'm confirming this usability bug. Having modal windows from update-manager appearing on top of whatever I'm doing on another workspace when it doesn't actually demand attention (updates are sort of a background task) doesn't seem right to me.

Changed in update-manager:
status: New → Confirmed
Revision history for this message
P. Oscar Boykin (boykin) wrote :

Just wanted to mention that this bug makes the update-manager a major pain to use with a tiling window manager, such as xmonad. Given the frequency of updates to Ubuntu-based systems, I think it would be great if this bug were addressed.

Revision history for this message
XXXXXXX (yddraiggoch) wrote :

There is a blueprint made by Matthew Tylee Atkinson with some more suggestions and comments here:
https://blueprints.launchpad.net/update-manager/+spec/reduce-popups

Revision history for this message
Roman Polach (rpolach) wrote :

I fully agree with complete remove of modal dialogs from synaptic AND update manager.
In addition to annoyances already described, there are more problems with focus stealing (depending on particular window manager) by modal dialogs.
Also I like proposed idea of "not returning to main package list": I hate the time-consuming reload of packages AFTER I have finished all installing in synaptic... - all I want is to close synaptic, waiting for list refresh is useless in this case (probably most users close the synaptic after installs/removes are finished)

Revision history for this message
GUI_Junkie (hpolak) wrote :

When the update manager reports the possibility to upgrade the whole distribution
(from 9.04 to 9.10 e.g), the process could be improved.

When you try to update the whole distribution, there should only be one
point of interruption. For example, after the user password check; 'Are you sure you
want to update the entire Ubuntu distribution to 9.10?' (or something similar). And
no more interruptions, please!

Also, the progress window should have an option box for the user to indicate
whether (s)he wants the computer to reset or shutdown after the installation is
completed.

Revision history for this message
Matthew Paul Thomas (mpt) wrote :

In <https://wiki.ubuntu.com/SoftwareUpdates#Installing> I have specified how the main dialog should morph into the progress window instead of opening a separate window.

Revision history for this message
Adolfo Jayme Barrientos (fitojb) wrote :

update-manager (1:0.165) quantal-proposed; urgency=low

  * Implementation of "update on start" feature from spec
    https://wiki.ubuntu.com/SoftwareUpdates
  * Use a single main window that changes instead of having modal dialogs
  * Implement several special-purpose dialogs like "No updates" or
    "Dist upgrade needed" accordingn to the above spec
  * Split out release upgrader code and DistUpgrade module into a separate
    source package
  * Drop python-update-manager, as it is unused
  * debian/tests:
    - Add dep8 tests

Changed in update-manager (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.