Вы находитесь на странице: 1из 24

SoftwareUpdates

This is a living specification for how Ubuntu should present, download, and install software updates on PC and phone. It is part of Ubuntus overall
software handling.
Our presentation of software updates should carefully balance promptness against interruption, and automation against informed consent, to
maximize the prompt installation of updates across the millions of devices on which Ubuntu is installed.
How you can help
This specification includes many small changes and enhancements to the current update behavior, but they can be implemented in any order. Grab
the code (PC or phone) and submit your own branch.
Contents
1. How you can help
2. PC
1. Update settings
2. Checking for updates automatically
3. Downloading and installing updates automatically
4. Launching
1. Launching manually
2. Checking manually
3. Launching automatically
4. Optional updates
5. Handling uninstallable updates
1. Initial implementation
2. Advanced implementation
6. Reminding you to restart
7. Presenting installable updates
1. Expanded presentation of updates
1. Sorting the list of updates
8. Installing
9. After installing
10. Installing updates automatically when you cant login
11. Upgrading to a new Ubuntu version
12. Menus
13. User stories
14. Design considerations
15. Overall approaches considered
16. Ideas
1. More prominent option to install updates in the background
17. Unresolved issues
3. Phone
1. Auto download settings
2. Prompting
3. Manually checking
4. Presenting available updates
1. Listing available updates
2. Presenting an individual update
5. Downloading in general
6. Downloading automatically
7. Downloading and/or installing manually
8. Installing all updates at once
9. Pausing
10. Installing updates that include system updates
11. Installing app updates alone
12. Download or installation failure
13. Alternative prompting
PC
Packages involved: update-manager (code, bug reports), software-properties (code, bug reports), update-notifier (code, bug
reports), ubuntu-release-upgrader (code, bug reports)
Update settings
The When checking for updates, check for: menu
should contain options for All updates (the
default, -security + -updates + -
backports), Security and recommended
updates (-security + -updates), and
Security updates only (-security) (bug
Bug:887079). If your current update config does
not match one of those three options (for example,
if you have opted in to -proposed), there should
be a fourth, checked, option: Custom (bug
Bug:254584), and this option should persist until
you close System Settings. (UI for configuring -
proposed should be provided by the Ubuntu
Contributor Console.)
The Automatically check for updates: menu
should contain options for Daily (the default),
Every two days, Weekly, Every two weeks,
a separator, and Never.
The Download updates automatically: menu
should contain options for None, Security
updates, and All updates (bug Bug:1173208).
The When there are security updates: menu
should contain options Display immediately (the
default) and Install automatically.
The When there are other updates: menu should
contain options Display immediately, Display
weekly (the default), and Display every two
weeks.
The Notify me of a new Ubuntu version: menu
should contain options For any new version (the default for a non-LTS, replacing Normal releases), For long-term support versions (the
default for an LTS, replacing Long term support releases only), and Never, in that order.
Idea: Make this more predictable by letting you specify which day of the week it opens. [mvo]
Checking for updates automatically
If Automatically check for updates is checked, Ubuntu should become due to check for updates at the specified interval after updates were last
checked. Once it is due to check for updates, it should try to check one minute after the first time any administrator connects to the Internet (bug
Bug:323108, bug Bug:414202). By default, it should not display any interface while checking.
What if broken proxy rules etc prevent successful checks indefinitely?
Downloading and installing updates automatically
If Download updates automatically is set to anything except None, and relevant updates are available, they should download in the background.
Launching
The Launcher icon for Software Updater should not use a badge, because (unlike with opt-in updates) the number of system updates available is not
interesting.
Launching manually
Launching Software Updater manually should immediately begin an interactive check for updates, without showing any other interface beforehand.
Checking manually
When checking interactively, Software Updater should display only a progress window. As with any other progress window, the window should
have a minimize button but no maximize or close button, and should be 33 em wide.
Erratum: The Cancel button should read Stop, since its possible a partial or previous check may have some available updates.
If you stop the check, the progress window should morph into an info alert with the title Software Updater and primary text You stopped the
check for updates.. If the partial check, and any previous check, found no installable updates, this should be followed simply by Settings,
Check Again, and OK buttons. But if the partial check, and any previous check, did find installable updates, the alert should be a variation of
the updates-available alert, with the different primary text, and secondary text Updated software is available from a previous check..
If the check fails because of an error, the progress window should morph into an error alert, with the title Software Updater and primary text
depending on the exact situation (bug Bug:1153569, part of bug Bug:1026060).
If no updates are available and no previous updates require a restart, the progress window should morph into a note alert.
If updates are available, the progress window should instead morph into the alert showing them.
Launching automatically
Software Updater should launch automatically, in the background but not minimized, when the computer has been connected to the Internet for at
least one minute (bug Bug:385433), you are logged in as an administrator, and any of these are true:
a. security updates are available, it has been at least 24 hours since security updates were last displayed, and either of these are true:
1. When there are security updates is set to Display immediately; or
2. When there are security updates is set to Download automatically, and the security updates have finished downloading; or
b. security updates require a restart to finish installing, and it has been at least 24 hours since you were told about this (part of bug Bug:1033226); or
c. non-security updates are available, and all of these are true:
1. the When there are other updates interval has passed since Software Updater was last open (either automatically or manually);
2. the When there are other updates interval has passed since updates were last installed by any manual method (e.g. apt-get or Synaptic, but
not unattended-upgrades);
3. no other package management utility (e.g. Synaptic or Ubuntu Software Center) is running; or
d. non-security updates require a restart to finish installing, and the When there are other updates interval has passed since Software Updater was
last open (either automatically or manually) (part of bug Bug:1033226).
Test case: (su-001)
1. Install Ubuntu.
2. Log in to the new Ubuntu installation for the first time.
3. In Software Sources > Updates, choose Check for updates: Daily and Install security updates without confirmation.
4. At a terminal, run sudo /etc/cron.daily to trigger the background installation of security updates.
5. Once cron.daily has exited, run killall update-notifier && NO_FAKE_STAT=1 faketime -f +1d update-notifier to test the
update-notifier behavior. Software Updater should open, displaying only non-security updates.
Need several more test cases here.
Optional updates
Once presentation of any optional (NotAutomatic) updates has been implemented in Ubuntu Software Center, those particular updates should no
longer cause the alert listing updates to appear. They should still be shown in the alert when it appears for any other reason, but they should not be
checked (and should therefore not be installed) by default.
Handling uninstallable updates
If installing available updates would remove ubuntu-desktop, Software Updater should treat the updates as uninstallable.
Initial implementation
If an automatic check for updates finds that they are uninstallable, Software Updater should not launch at all (unless it needs to remind you to restart
to install previous updates).
If a manual check for updates finds that they are uninstallable, the progress window should morph to an error alert with Settings and OK
buttons. Its primary text should be Ubuntu cant be updated at the moment. Please try again later.. Its secondary text should be Updates currently
available would remove critical Ubuntu components. If this problem persists, contact the software vendor. And above the Settings button
should be a Details expander that expands to reveal a pane containing the apt error message.
Advanced implementation
If an automatic check shows that updates to Ubuntu packages are the cause of the problem, Software Updater should not launch at all (unless
it needs to remind you to restart to install previous updates).
If a manual check shows that updates to Ubuntu packages are the cause of the problem, then:
If you are running a pre-release Ubuntu version, then the progress window should morph to an error alert as described above, except
that its secondary text should be Updates currently available would remove critical Ubuntu components. This sometimes happens with
pre-release Ubuntu versions.
If you are running an Ubuntu release, then the progress window should morph into an error alert as described above, except that its
secondary text should be Updates currently available would remove critical Ubuntu components. If this problem persists for several
days, seek technical support.
If either an automatic or manual check shows that updates to third-party software are the cause of the problem, then an error alert should open
(or the progress window should morph into an error alert) with Settings and OK buttons. Its primary text should be Software updates
are available, but some installed software is preventing updates. Its secondary text should be Updates to {package name} would remove
critical Ubuntu components. If this problem persists for several days, contact the software vendor.
Reminding you to restart
(part of bug Bug:1033226)
If no updates are installable, but a restart is required to finish installing previous updates, a Software Updater alert should appear, with text This
computer needs to restart to finish installing updates, and Settings, Restart Later and Restart Now buttons. Restart Now should
open the usual confirmation alert.
Presenting installable updates
Status of software updates should never be presented in the menu bar or a notification bubble (bugs Bug:24076, Bug:43089, Bug:190302,
Bug:195945, Bug:199669, Bug:249367, Bug:280387, Bug:249957, Bug:322238, Bug:369611, Bug:436749, Bug:654553, Bug:891421,
Bug:906826, Bug:934517, Bug:987202, Bug:1022443, Bug:1060497, Bug:1061469, Bug:1075833, Bug:1177418, and Bug:1296958).
If a check shows that updates are available, a Software Updater alert should appear. (Like any progress window before it, it should be 33 em
wide.) If the check was automatic, the alert should open non-minimized but unfocused.

If updates have not been installed since Ubuntu was installed (bug Bug:1100405), and this is a release version (not a daily/alpha/beta) (bug
Bug:1025669), the primary text should be Updated software has been issued since Ubuntu {version} was released. Do you want to install it now?
Otherwise it should be: Updated software is available for this computer. Do you want to install it now?
If appropriate, the alert should have secondary text (part of bug Bug:1033226): The computer also needs to restart to finish installing previous
updates.
Next should be an expander with the label Details of updates, that is collapsed by default but remembers its state between sessions. Expanding it
should expand the alert to show the list of updates. Collapsing it should return the alert to its previous size.
Below the Details of updates expander should be one or more list items, depending on the exact situation, each introduced by a mini icon:
The first item should be the amount that needs downloading, of the form {amount} will be downloaded., e.g. 17.4 MB will be
downloaded., with a download icon. If all the updates have already been downloaded, it should be of the form The update has already been
downloaded. or The updates have already been downloaded., with a greyed-out download icon. The amount should update automatically
whenever you unselect or reselect updates in the list, or once per second when updates are downloading in the background.
Whenever any of the checked updates will require restarting the computer (the packages debian/control contains the XB-Restart-
Required key), and the computer does not already need restarting to finish installing previous updates, there should be an item with a restart
icon and the text: The computer will need to restart. (bug Bug:bug 255443). The item should automatically disappear or appear (with the
alert resizing appropriately) if you deselect all, or reselect any, of the updates that require a restart.
Whenever the current Internet connection is mobile broadband, there should be an item with a mobile broadband icon and the text: You
may want to wait until youre not using a mobile broadband connection. (fixing bug 776374). The item should automatically appear or
disappear (with the alert resizing appropriately) if the computer starts or stops using mobile broadband while the alert is open.
Whenever there is no Internet connection and at least one of the updates has not yet been downloaded, there should be an item with exactly
the same icon as the networking menu is currently using for its title, and the text You need an Internet connection to download updates.
(bug Bug:246316 and part of bug Bug:1026060).
Whenever the computer is running on battery, there should be an item (fixing bug 484249 and bug 494772) with exactly the same battery
icon as the battery menu is currently using for the battery, and the text: Its safer to connect the computer to AC power before updating.
(fixing bug 426708). The item should automatically appear or disappear (with the alert resizing appropriately) if the computer starts or stops
using battery while the alert is open (fixing bug 426710).
The alert should have three buttons.
The main action, and default, should be Install; activating it should install the updates. Whenever the computer is not connected to the
Internet, the button should be insensitive and have the tooltip Not available because there is no Internet connection..
In the Cancel position should be Cancel if automatic checking is off, or Remind Me Later if it is on. (The button text should change
automatically if automatic checking is turned on or off while the alert is open.) In the latter case, activating it should reset the timer for
automatic checking for updates.
In the secondary action position should be Settings. Activating it should leave the alert open, and non-modally open the Software Sources
window to its Updates tab.
What happens if you open it manually while updates are downloading?
What happens if you get disconnected from the Internet while the alert is open?
Expanded presentation of updates
Activating Details of updates should expand the window to accommodate the list of updates.
The Updates Available window should be manually resizable only when it is in this expanded state. It should remember its previous expanded size,
but by default should be the same width as when not expanded, and tall enough to show six items in the list, with a minimum height of three items.
Only if any of the updates are security updates, the updates should be listed in two sections, Security updates and Other updates, each with a
checkbox with bold label. The state of the checkbox should reflect and change the state of the update checkboxes in that section: checked if they
all are, unchecked if none of them are, and indeterminate otherwise.
In the list, updateable packages should be in expandable groups (Brainstorm 14205), all collapsed by default, and all collapsible/expandable with
Left/Right arrow keys (bug Bug:1160491):
1. An application is any package that has a .desktop file. Any application that has an update should have its own item. If that application is
the only updateable installed package that (recursively) depends on, or (recursively) recommends, another updateable package, the application
should be shown as an expandable group containing that other package as well as the application package itself.
2. Any other package that is not part of Ubuntu base should be presented by itself, not in any group.
3. The base package is (a) ubuntu-desktop if it is installed, otherwise (b) the alphabetically first of any of the metapackages listed in
/usr/share/ubuntu-release-upgrader/DistUpgrade.cfg that are installed (for example, kubuntu-desktop or ubuntustudio-
desktop), otherwise (c) ubuntu-desktop even though it isnt installed. Any updateable package not already shown in the list of updates,
that is a (recursive) dependency and/or recommendation of the base package, and/or of ubuntu-standard and/or ubuntu-minimal,
should be shown in an Ubuntu base or equivalently named group. This group should have distributor-logo (e.g. the Ubuntu logo) as
its icon.
The list of updates should have three columns by default: an unlabelled restart-required column, an Install column, and a Download column.
Clicking any of the column headers should sort the list. For each update or group of updates:
If it will require restarting the computer, the first column should contain a restart icon. This icon should line up exactly with the restart icon
used for the secondary text below the list.
The Install column should contain:
an expander (always collapsed initially) for each top-level update where any of that packages dependencies also have updates, or a
blank space otherwise;
a checkbox, checked by default, for whether the update or group of updates will be installed (using indeterminate state if the checkbox
is for a group where only some of the updates are checked);
the icon for the package, except that currently-installed packages should not have the usual installed emblem (because its noisy and
uninteresting that nearly all updates are to already-installed packages);
the title of the update.
The Download column should contain a check mark (with accessible label downloaded) if the update has already downloaded, and
the size to one decimal place (e.g. 7.1 MB, 883.0 KB) if it has not.
Future work: The ability to turn on Codename, Installed Version, and/or Available Version columns?
The list should allow multiple selections using the standard methods (e.g. Shift+Up, Ctrl+click, or Edit > Select All).
Below the list of updates should be another expander, Technical description, which is always collapsed initially. The contents of the Technical
description pane should depend on how many updates are selected in the list above:
If none, centered 50%-opaque text No updates selected.
If one, the description of the package followed by a spinner, with the spinner replaced by the changelog for the update once it loads, or by
The list of changes is not available. if it fails to load.
If more than one, the name and version (but not the description) of each selected package, each followed by a spinner which is replaced by the
changelog for the update once it loads (or The list of changes is not available. if it fails to load), and each separated by a horizontal rule (bug
Bug:1077205).
Sorting the list of updates
(bug Bug:280298)
Sorting by:
Restart Required should list updates requiring a restart before those that dont.
Install/Name (the default) should list updates in alphabetical order.
Download/Download Size should list already-downloaded updates first, then the remainder smallest first.
Choosing the same sort a consecutive time should reverse the sort order. (For example, choosing Download Size twice should display the largest
un-downloaded updates first.)
If the list of updates has Security updates and Other updates groups, sorting should retain these groups, but sort the contents of each group. If
any Ubuntu base groups or subgroups are present, they should always be sorted last, but their contents should be sorted too.
Installing
If you activate Install Now, the alert should morph into a progress window.
The title of the window should be Software Updater, the primary text should be Installing updates, and the secondary text should be the status
text for the operation. The button should read Cancel until the first update actually starts installing, and Stop thereafter; it should be insensitive
whenever the update process does not allow stopping safely.
The selected updates should then install with the standard interface.
If you choose to restart or shut down the computer while updates are installing, regardless of whether they are installing in the progress window or
in the background, then:
all updates after the current one should be postponed;
for as long as the current update takes to finish installing, the Plymouth shutdown screen should contain the centered text Ubuntu needs to
finish installing an update. One moment, please
After installing
If there are any errors while installing the updates, then the error tracker should generate its own alert (bug Bug:1152578). Therefore, Software
Updater should not duplicate the error presentation itself (bug Bug:1118210).
Regardless, after installation Software Updater should behave as if it has just finished a manual check for updates, except that the progress window
should morph into whatever UI it would normally show in this case whether it be showing updates that remain uninstallable, showing that a
restart is required (part of bug Bug:1033226), showing both at once, or showing that everything is up to date.
The only exception is if updates were installed in the background, all were installed successfully, and none of them require a restart to finish
installing. In that case, Software Updater should remain invisible.
If one or more of the updates require logging out, the logout-required alert should appear for every user currently logged in graphically (except the
user who installed the updates, if any of them also require restart).
Installing updates automatically when you cant login
Ubuntu should try to download and install updates automatically if there is a problem that allows Ubuntu startup but prevents logging in whether
it causes a kernel panic, an X crash, or simply a logout and Install updates automatically if a problem prevents login is checked in the settings.
Upgrading to a new Ubuntu version

If no updates are available but a new version of Ubuntu is, the alert should have Upgrade and OK buttons (replacing the separate Ubuntu
{version} Upgrade Available dialog), and text depending on the situation (bug Bug:1199060):
If the system is up to date, the primary text should be The software on this computer is up to date. and the secondary text However, Ubuntu
{version} is now available (you have {version}).
If the system is obsolete, the primary text should be Software updates are no longer provided for Ubuntu {version}., and the secondary text
To stay secure, you should upgrade to Ubuntu {version}.
Test case: From a released version of Ubuntu, at a terminal enter check-new-release-gtk -d or update-manager -cd.
If you choose Upgrade, Ubuntu should begin the release upgrade process.
Menus
When Software Updater is visible in any state, even just an alert box, it should have these menus.
_File
=====
Check For Updates Ctrl R
----------------------------
Updates History Ctrl H
Check For Updates should always be sensitive, except when a check is currently in progress. It should check again for updates without closing
and reopening Software Updater.
_Edit
=====
Undo Ctrl Z
Redo Shift Ctrl Z
--------------------------------------
Copy Ctrl C
Select All Ctrl A
Select Chosen Updates
Select None Shift Ctrl A
--------------------------------------
Find Ctrl F
--------------------------------------
Software & Updates Settings
Undo and Redo should be sensitive only when there is a selection or deselection that can be undone or redone, respectively.
Copy should be sensitive whenever any update or detail text is selected.
Select All and Select None should be sensitive whenever at least one update is available (fixing bug 878203).
_View
=====
by Restart Required
* by Name
by Download Size
These items should be sensitive whenever any installable updates are being presented. Choosing any of the items should expand the Details of
updates section, if it is not expanded already, before sorting the list, so that the sort has a visible effect. (The alternative would be to make the items
insensitive whenever the details section was collapsed, but that would be needlessly modal.)
_Help
=====
_Help Using Software Updater
--------------------------------
_About Software Updater
User stories
Sam is a college student who has recently migrated from to Windows XP to Ubuntu because he was fed up with adult sites installing spyware
on his computer. The reason he had so much trouble with spyware was that XP kept on popping up balloons in the corner of the screen to tell
him about security updates, but he closed them because that was the easiest thing to do. A few weeks after he installs Ubuntu, there is an
important security update to Firefox.
A computer running Ubuntu unattended is being used as part of a shop-window display. While the machine was still connected to the Internet,
the window dresser cancelled a software update reminder.
Helen is happily using Ubuntu 10.10 when it tells her that Ubuntu 11.04 has been released. Before she upgrades, she has some basic
questions. What will the upgrade do? How long will it take? How much will it cost? Will she lose any of her files? What should she do if
something goes wrong?
Design considerations
The easiest path should be to install updates.
That Ubuntu updates are split into individual packages is an irrelevant detail that must not be exposed by default. For example, Microsoft
ExpertZones Comparing Windows 7 to Linux retail course claims: Linux can require a lot of time to maintain. For example, Ubuntu (a
variety of Linux) may have hundreds of updates per month. [screenshot from Overclock.net]
Checking for updates should not be confused with downloading updates. For example, one netbook purchaser wondered why Update Manager
said it was downloading the same 91 updates every time, because she thought the updates were actually being downloaded. [Dave Morley]
Checking for, and installing, updates should not consume large amounts of bandwidth per month especially when on mobile broadband.
Overall approaches considered
The ideal situation would be that Ubuntu never needs updates at all. However, our development process does not allow for that (and if it did,
probably we would have no users).
The next best situation would be for updates to be completely automatic, as they are in Chrome and as they will be in Chrome OS. Unfortunately,
large organizations using Ubuntu would likely object to this on several grounds, including bandwidth and retraining costs. However, we should
minimize the interactivity of updates, by encouraging people to download updates in the background and/or install them during shutdown.
In Ubuntu 8.10 and earlier, we used a notification area icon to advertise updates, with a notification balloon initially pointing to it. This worked
poorly because an icon that small could never communicate, to a usefully large proportion of people, something as bureaucratic as software
update availability. The notification balloon was necessary to explain the icon, but was annoying because it floated on top of every other window,
and is basically incompatible with our new notification model.
Since before the initial release of Ubuntu Software Center, we have considered integrating updates into that interface instead of having a dedicated
interface. However, this turns out to be less compelling than it might first appear. It is not a serious use case to be reminded of updates and to decide,
upon that reminder, to install or remove other software at the same time. And the extra quantity of interface in Ubuntu Software Center would be
quite distracting when trying to persuade people to install security updates (especially if theyve never needed to install extra applications at all).
However, Ubuntu Software Center is a good place to offer optional, non-urgent application updates, where they can be presented for individual
selection.
The reverse case is also practical. When you are manually installing new software, bundling any pending updates along with it reduces the need to
interrupt you later. We can achieve this by presenting the download and installation process in Ubuntu Software Center, while still doing the basic
prompt in a separate interface for consistency with other update situations.
The current design includes many ideas from a cognitive walkthrough and design session at UDS Jaunty. And Sparkle, a third-party framework
(hosted in Launchpad) for updating Mac applications, provides inspiration on how to present updates in a clear and understandable way.
Ideas
The process of keeping Ubuntu up to date has many steps, involving software, hardware, and human factors. There are potential opportunities at
each step to increase the proportion of people who have secure and up-to-date software.
In order from source to destination:
Issue fewer updates.
Engineer software to be less buggy to begin with.
Stop issuing no-change rebuild updates.
Aggregate same-package updates into a single release more often.
Make checking for updates faster.
Check for security updates every day. But check for non-security updates only (a) at the scheduled interval (e.g. a week) after the last
check, (b) when security updates are available, or (c) on manual launching, whichever is earlier. [vish]
Reduce the amount of data that needs to be downloaded to check for updates.
Reduce the number of HTTP requests required.
Use pdiffs.
Make mirrors smarter so that they can report just those packages that have been updated since the last check. [~mark-k]
Turn off source packages by default (bug Bug:74747).
Reduce the urgency of updates.
Reduce the proportion of security problems that require critical updates (defense in depth).
Wait for longer by default before interrupting about updates.
Dont interrupt at all just for NotAutomatic updates.
Persuade people to agree to installing updates more often.
Reduce the proportion of updates that require a restart.
Aggregate different-package updates requiring a restart more often.
Improve the updates-available alert.
Introduce credible human-readable descriptions for updates.
Install updates more often at the same time as other interruptions.
UbuntuSpec:Install initial updates while installing Ubuntu.
Invite installation of updates when installing a new application.
Install updates at shutdown, at startup, or a combination of the two.
Install updates more often in the background.
Install more updates in the background by default.
Make it easier to set updates to install in the background.
Reduce the download size.
Use bsdiff, Courgette, or a similar binary diff system.
Stop requiring an update to -data and other dependent packages when an application gets a minor update.
Increase the download speed.
Increase the number and speed of mirrors.
Automate mirror testing.
Download updates from nearby computers using apt-p2p (bug Bug:533416), debtorrent, or similar.
Ease downloading an update once for multiple computers you administer.
Download multiple updates simultaneously when appropriate (bug Bug:275994, bug Bug:313685).
Increase the installation speed.
Install the first update while the second is downloading (bug Bug:313680).
Then download smaller updates first so that the installation process can start sooner (bug Bug:209681).
Increase the speed of restarts (bug Bug:802065).
To know whether any of these techniques are effective, we also need to collect statistics on how many people install updates how quickly. [Oli
Warner]
Ayatana/UpdateIssues
More prominent option to install updates in the background
If fixing the existing settings did not result in as many people installing security updates in the background as we think should do so, we could add
an extra checkbox to the alert itself whenever it appears for security updates.
The checkbox would be checked whenever When there are security updates: is set to Download and install automatically (so it would be
unchecked by default), and would track that setting even if it was changed while the alert was open.
The icon-only help button would open a short help page describing the benefits and drawbacks of installing security updates in the background. The
same help button would be present on the trailing side of the When there are security updates: menu in the settings (unless another help button is
present in the window when those settings are shown).
Unresolved issues
What should happen with various HTTP errors?
https://wiki.ubuntu.com/NotifyOSD#software-sources
How should automatic installation interact with interactive installation and the various session commands?
In terms of distinguishing, security updates are to be distinguished from the rest in preferences, so they should be distinguished in the
UI. The difference between distribution updates and recommended updates isn't importantI've been using Ubuntu since Jaunty and
don't know the difference, but I've gotten along just fine. Other updates might be important, but I don't really think sowhy should I
care where caffeine came from, or whether an Ubuntu repo or a PPA has the latest version of GIMP or Firefox? zpletan
Phone
Packages involved: ubuntu-system-settings (code, bug reports)
Because the phone uses image-based upgrades, every system update requires restarting the phone. Therefore the default is for system updates to
download in the background; and only once the download is completed you are prompted to install and restart. App updates require restarting the
app, but this can happen automatically in the background. To minimize UI complexity, and for consistency with the PC, both types of update should
be presented in the same interface.
The typical user story is that while not in the middle of a task, you notice through one of the prompts that an update has downloaded and is
ready for installation. You respond to the prompt. For a system update, you confirm that you want to install and restart now rather than later. The
installation and restart takes place as a single action. For an app update, you choose to install the update, then either watch its progress or switch to
another task.
not possible defined undefined
Use case Access point
see whether your phone is up to date System Settings Updates screen
be prompted that updates are available System Settings app emblem, System Settings main screen
Erratum: On wi-fi and When on wi-fi should both be When on Wi-Fi.
install an individual update
System Settings Updates screen
see whether an update has completed System Settings Updates screen (except that)
see updates installed in the past (completed updates are not shown)
see why an update failed System Settings Updates screen
stop an in-progress download System Settings Updates screen
install all available updates System Settings Updates screen
set whether/when updates are downloaded in the background System Settings Auto download screen
Auto download settings
Fixed to the bottom of the Updates screen in
System Settings should be an Auto download
page stack item. The summary value should be
Never, When on Wi-Fi, or Always.
The Auto download screen should contain the
option to Download future updates
automatically: Never, When on Wi-Fi (the
default), or On any data connection.
Prompting
Whenever an update is downloaded and
ready to install, or a background update
download has failed repeatedly, or
Download future updates automatically is
set to Never and an update is available for
download:
Wherever the System Settings icon appears,
it should have a badge with the number of
updates available (bug Bug:1362547).
On the System Settings main screen,
Updates should have the same badge (bug
Bug:1362547).
Inside System Settings, the quick access
area should have an Updates available or
Update problem item, with the number of
updates available as the summary value.
Manually checking
If push notification of updates has not been
implemented, and you visit the Updates screen
when at least 30 minutes has passed since the last
check for updates, a new check should be
triggered. At the top of the screen (replacing the
Install All button, if it was present) should be a
Checking for updates spinner and a Stop
button (bug Bug:1272313). If any updates are
already known to be available, they should remain
listed below as usual.
Presenting available updates
Listing available updates
Whenever no update is in progress, and the last completed check did not find any updates, the
screen should contain centered either an error message or placeholder text as appropriate:
Connect to the Internet to check for updates., automatically retrying a manual check if an
Internet connection begins before leaving the screen (bug Bug:1215901);
The update server is not responding. Try again later. (bug Bug:1215901);
Software is up to date (placeholder text, therefore without a period).
(There is no need for a Retry button, in the first case because the check will happen
automatically when the problem is fixed, and in the others because the check will happen
automatically when you return to the Updates screen and its probably a bad idea to try sooner.)

Whenever only one update is available, it should be listed by itself. Whenever more than one is available, they should be preceded by the Install
{number} Updates button. Updates should be listed alphabetically, except that any system update should always be first in the list.
If checking for app updates requires Ubuntu One and you are currently not signed in, at the end of the list (after a separator, if there are any system
updates), the text Sign in to Ubuntu One to receive updates for apps. should be followed by a Sign In button, which opens the Ubuntu One
sign-in dialog (bug Bug:1251254). Signing in successfully should retry the check for updates.
Presenting an individual update
How each update should be presented depends on its current state, and whether it is a system or app update. In general, it includes an icon, title,
action button, Version and version number, size to 1 decimal place in the most appropriate unit (e.g. 13.8 MB).
If it is a system update, its icon should be the Ubuntu logo, and its title should be Ubuntu Touch. If it is an app update, its title should be the name
of the app, ellipsized in the middle if necessary.
State System update App update
Downloading automatically
Downloading manually
Download failed
Downloaded
Installing
Installation failed
Installed
None of the above
For any update, tapping the version number should toggle visibility of the updates description immediately below.
Downloading in general


When an update is downloading, either automatically or manually, the action button should be Pause, and the size should include the amount
downloaded in the form X of Y, for example 1.3 MB of 21.4 MB, updated once per second.
Downloading automatically
An automatic download should not inhibit suspend; you may not be aware that it is happening, and it can always be resumed or retried later (bug
Bug:1259326).
If you change the Download automatically setting to Off, or change it to When on Wi-Fi when you are using a non-Wi-Fi connection, any
automatic download should immediately pause, though manual downloads should continue.
Downloading and/or installing manually
A manual download or installation should inhibit suspend (bug Bug:1259326).


Except for the other cases described here, the action button should be Download for a system update that has not completely downloaded,
Update for an app update that has not completely downloaded, Install for a system update that has completely downloaded, and Install for
an app update that has completely downloaded.

Whenever any update is downloading and/or installing manually, its list item should include a progress bar. (It should not include a progress bar in
any other situation, because that would be distracting given that you did not trigger the download yourself (bug Bug:1319037).) The size should stay
put, but the version number should move below the progress bar. The space vacated by the version number should house status text: Downloading
or Installing. (Time remaining should not be shown, because it is too unpredictable on mobile connections (bug Bug:1215901).)
The progress bar should fill depending on the task in question:
For a system update, the task is downloading only, so it should be full when the update is completely downloaded. (Installation progress is
shown in a completely separate screen.)
For an app update, during manual download the progress bar should fill up to 50% the proportion of the download that had already
completed before the update was requested, and the remainder should be allocated to installation. For example, if none of the update was
already downloaded, 50% of the bar should be allocated to downloading, and 50% to installation. If half of the update was already
downloaded, 25% of the bar should be allocated to downloading, and 75% to installation.
Installing all updates at once
(bug Bug:1333668)
Whenever more than one update is available, and they are not all already installing, the list should
be preceded by a button labelled Install {number} Updates if it includes system updates
(ellipsized because it will lead to a prompt), or Install {number} Updates if it doesnt include
system updates.
For example, once you tap it, all updates should begin installing, so the button should fade away
and the list of updates should slide up to fill the empty space. Conversely, if any update is paused
or stops due to an error, the button should reappear.
Pausing
The action button should be Pause for any update that is downloading or installing. It should be insensitive whenever the download/installation is
no longer pauseable.
If you choose Pause during a download or an app installation, the update should pause and return to its idle presentation (bug Bug:1316933). If the
update fails to pause, System Settings should report a RecoverableError (bug Bug:1215901). Any later download whether automatic or manual
should download the latest version, regardless of whether it is newer than the one already partially downloaded, but resuming the existing
download if it is the same version (bug Bug:1250607).
If an automatic download is paused, the pause should last until the phone next restarts or wakes up, whichever is sooner.
Installing updates that include system updates
Because system updates require restart, you should be prompted before this happens, it should not interrupt any app updates, and the prompt should
not happen repeatedly.
Therefore, a prompt should appear when:
you choose Install for an already-downloaded system update; or
you choose Install {n} Updates where at least one of them is an already-downloaded system update; or
you were on the Updates screen at the moment a system update finished downloading (suggesting that you had been waiting for it to finish).
Whenever the phone is not connected to power
and the battery charge is below a safe level, the
prompt should have the text Connect to power
before installing the system update. and only a
Not Now button (bug Bug:1306752).
Otherwise, it should have the text The phone
needs to restart to install the system update.,
and Install & Restart and Not Now buttons.
Test case: With a low battery charge, connect
the phone to power and choose Install for the
system update; the install prompt should
appear. Now unplug the phone; the prompt
should change to the connect-to-power variant.
If you choose Install & Restart, a variation of
the shutdown screen should appear, with the
Ubuntu logo rotating, an aggregated progress bar
filling once, and the text Installing {number}
updates if there are any app updates to install
first, otherwise Installing update.
If installation succeeds, the phone should restart.
Installing app updates alone
As well as appearing in the Updates screen, app update download and installation progress
should have the same visual treatment, wherever the apps icon appears, as it does during initial
installation.
Download or installation failure

If a system update download fails, or an app update download or installation fails, the action button should become Retry, and the text Download
failed or Installation failed should replace the items status text (bug Bug:1282499). (An alert should not be used, because the error might occur
while Updates is not the current screen or System Settings isnt even the focused app.) Below this should be text describing the particular error,
for example:
The update server is not responding. Try again later.
The downloaded file was incomplete or damaged. Try again later. (checksum error)
If a system update installation fails, the full-screen installation progress should be replaced by a
full-screen error (bugs Bug:1282499, Bug:1215901).
If the update server is reachable, the error message should be of the form Sorry, the system
update failed. You need to install a full update, {size}..
If the update server is not reachable, the error message should not include the size of the fallback
update required, and Start Full Update should be insensitive.
Whenever there is a Wi-Fi connection, the Get On Wi-Fi button should instead be static text,
Connected to Wi-Fi. Get On Wi-Fi should open the System Settings Wi-Fi screen as a
sheet with Cancel and OK buttons, so that when you dismiss it you return to the error screen.
Alternative prompting
If the in-Dash prompting is not feasible, an alternative method would be to display an Update
Available alert whenever the phone is unlocked, if the update has been available for more than a
week.
SoftwareUpdates (last edited 2014-08-28 10:54:31 by mpt @ faun.canonical.com[91.189.93.182]:mpt)

Вам также может понравиться