Update Center - Software Update UI Requirements, Design and Implementation
This document lists the requirements, design and implementation details of the Software Update UI.
See issue 612
for some background.
Provide a simple and convenient interface to allow customers to easily keep existing software up to date.
The primary motivation for the Software Update UI is to provide a streamlined and simplified means to recognize and install application updates. Unlike the Update Tool/App Center which provides an increasing set of application installation,
update and removal features and a fairly fine grained level, the Software Update UI will primarily focus on identifying and
installing updates for existing application images as well as cross promotion of featured add-ons and applications.
In order to provide a simplified experience the Software Update UI will provide a coarse grained view of available updates. Users wishing for a finer grain view and/or control will be directed to the App Center.
Problem Statement
When a users is notified of new updates via the Update Center desktop notifier they are prompted to click on the notification to install the updates. This launches the general purpose Update Tool GUI. A fairly heavyweight tool which may represent multiple installed application images regardless of whether they have pending updates. The discrete application image view makes it difficult to cleanly indicate and track the progress of updates across multiple images simultaneously.
The existing Update Tool GUI does not provide a mechanism to apply updates across multiple applications simultaneously. An application image must be selected and then updates for that application can be applied. The Software Update UI will provide the ability to apply updates simultaneously to multiple application images.
A lighter weight tool, focused primarily towards update installation at the application level, will provide the user with a streamlined update installation experience. The Software Update UI must provide sufficient functionality to allow most users to apply updates across multiple applications without the need to interact with the App Center. For some user there may never be a need to interact with the App Center.
Software Update UI Requirements
This is initial brainstorming ideas for update manager functionality.
| # | Description | Priority | Response |
| 1.0 | General Goals and Characteristics | | |
| 1.1 | Streamlined installation of product updates across multiple application images. | P1 | 2.2 |
| 1.2 | Support one or two click installation. | P1 | 2.2 |
| 1.3 | Simplified view of impacted applications (e.g. list application name instead of list of packages.) | P1 | 2.2 |
| 1.4 | Limit functionality to managing large grain application level updates and add-ons installation. Finer lever of update and add-ons management is provided by the App Center. | P1 | 2.2 |
| 2.0 | Core Features | | |
| 2.1 | The pool of applications to monitor will be those applications known (e.g. open) to the App Center and Notifier. | P1 | 2.2 |
| 2.2 | Only display applications which have pending updates. Initially all applications in view are selected for update. | P1 | 2.2 |
| 2.3 | Ability to display application specific art/icons | P2 | Deferred |
| 2.4 | Ability to control which applications to update. | P1 | 2.2 |
| 2.5 | Ability to view application description. | P2 | 2.2 |
| 2.6 | Ability to list changes associated with the application update. This could be a high level overview or a list a components with changes (or vector to App Center?) | P1 | 2.2 |
| 2.7 | Ability to view but not change which application sub-components will be updated. (use update tool for fine grain control of updates.) | P3 | 2.2 |
| 2.8 | Ability to cancel an in-process installation. | P1 | 2.2 |
| 2.9 | Provide some form of in-process installation feedback. How detailed? At a minimum the user should know which application is being updated (similar to Google's update tool). Consider reusing App Center's progress implementation. | P1 | 2.2 |
| 2.10 | Provide in-process installation feedback which provides fine-grained progress (component level). | P2 | 2.2 |
| 2.11 | Provide a mechanism to minimize progress feedback (e.g. Windows Update). | P3 | Deferred |
| 2.12 | Provide application name, (version?) and update size in main view along with ability to select/deselect the application. | P1 | 2.2 |
| 2.13 | Provide "Install" and "refresh" buttons. | P1 | 2.2 |
| 2.14 | Provide a means to access and modify the preferences. | P2 | Dropped |
| 2.15 | Ability to launch Updatetool from Update Manager. (Update Manager should stay open when Updatetool is launched) "Manage details..." | P1 | 2.2 |
| 2.16 | Update license acknowledgment. Can we do something similar to Apple's SW update? | P1 | 2.2 |
| 2.17 | Indicate which applications have updates which impact security. | P2 | 2.2 |
| 2.18 | Ability to control "Update Manager" branding via build time and package overlay branding. | P2 | Deferred |
| 2.19 | Sort application image name in alphabetical order. | P2 | Deferred |
| 3.0 | Add-on Promotion | | |
| 3.1 | Ability to list uninstalled featured add-ons associated with the application (incl size/version) | P2 | 2.2 |
| 3.2 | Provide indication if add-on installation requires entitlement. | P2 | Deferred |
| 3.3 | Ability to view description of individual add-ons. | P2 | 2.2 |
| 3.4 | Provide means to vector user to App Center to install add-on. | P2 | 2.2 |
| 3.5 | Provide ability to install new pkg(5) based add-ons via the Update Manager. (even when additional entitlement is required) | P3 | Deferred |
| 4.0 | Application Promotion | | |
| 4.1 | Ability to promote the availability of featured applications | P2 | Deferred |
| 4.2 | Ability to vector user to website to obtain application information/download image | P2 | Deferred |
| 4.3 | Ability to vector user to App Center to allow creation of featured application image | P2 | Deferred |
| 4.4 | Ability to install new pkg(5) based applications. | P3 | Deferred |
| 4.5 | Ability to install new non-pkg(5) based applications. | P3 | Deferred |
| 4.6 | Sort application image name in alphabetical order. | P2 | Deferred |
| 5.0 | Desktop Notifier Impact | | |
| 5.1 | Notifier balloon: Continue to provide application level details. | P1 | 2.2 |
| 5.2 | Notifier balloon: clicking on it will start Update Manager instead of Update Tool | P1 | 2.2 |
| 5.3 | Notifier menu: "Show and Apply Updates", "Start Update Tool", "About Update Tool Notifier", "Preferences", "Exit" | P1 | 2.2 |
| 5.4 | Detect when new add-ons are available for an application | P3 | Deferred |
| 6.0 | Ancillary Features | | |
| 6.1 | Update Manager logging | P2 | 2.2 |
| 6.2 | Provide a public CLI to launch Update Manager. | P2 | 2.2 |
| 6.3 | Allow only one instance of Update Manager to run concurrently (per user). | P1 | 2.2 |
| 6.4 | Allow keyboard navigation (508) | P1 | 2.2 |
| 6.5 | Allow the Update Manager to be launched from an application admin console (embedded). | P2 | Deferred |
| 6.6 | Provide the means to limit the applications which are applied to the Update Manager. | P3 | Deferred |
| 6.7 | Display ads in the Update Manager | P2 | 2.2 |
Software Update UI Design
>> GUI Look and Feel
- When the user applies updates via the SW Update UI it will ping the notifier. This will cause the notifier to recheck for updates and update its own state. The SW Update UI will not ping the GUI nor will the GUI ping the SW Update UI after updates are applied. The SW Update UI will correctly handle the case where it trys to apply updates to an image where those updates have already been applied by the GUI.
Software Update UI Implementation
Advertisement Support
>> Status
Known gaps and bugs
This page (revision-13) was last changed on
24-Jun-09 13:56 PM, -0700
by Chris Kasso.
This page was created on
05-Feb-09 11:50 AM, -0800 by Chris Kasso.
Back to SoftwareUpdate
| Version |
Date |
Author |
Size |
Changes ... |
|
13
|
24-Jun-09 13:56 PM, -0700
|
Chris Kasso |
7854 |
to previous
|
|
12
|
24-Jun-09 13:55 PM, -0700
|
Chris Kasso |
7827 |
to previous
|
to last
|
|
11
|
01-May-09 10:49 AM, -0700
|
Chris Kasso |
7642 |
to previous
|
to last
|
|
10
|
10-Apr-09 10:13 AM, -0700
|
Chris Kasso |
7608 |
to previous
|
to last
|
|
9
|
07-Apr-09 13:38 PM, -0700
|
Chris Kasso |
7190 |
to previous
|
to last
|
|
8
|
07-Apr-09 13:35 PM, -0700
|
Chris Kasso |
7200 |
to previous
|
to last
|
|
7
|
04-Apr-09 20:58 PM, -0700
|
Chris Kasso |
7204 |
to previous
|
to last
|
|
6
|
05-Mar-09 15:31 PM, -0800
|
Chris Kasso |
7160 |
to previous
|
to last
|
|
5
|
03-Mar-09 14:29 PM, -0800
|
Chris Kasso |
7121 |
to previous
|
to last
|
|
4
|
25-Feb-09 11:43 AM, -0800
|
Chris Kasso |
7080 |
to previous
|
to last
|
|
3
|
23-Feb-09 16:46 PM, -0800
|
Chris Kasso |
6971 |
to previous
|
to last
|
|
2
|
11-Feb-09 09:26 AM, -0800
|
Chris Kasso |
6891 |
to previous
|
to last
|
|
1
|
05-Feb-09 11:50 AM, -0800
|
Chris Kasso |
6768 |
to last
|