Equinox p2 UI 3.5 workflows
Based on input in bug reports, mailing lists, design walkthroughs (Equinox p2 UIWG Walkthrough), and user definitions (Equinox p2 UI Use Cases), these are the problem areas we see in the basic workflows of the 3.4 UI:
- Many users who want to update the system are not authorized to add new content or do not care about adding content to the install. This suggests providing a simplified way to check for updates without exposure to update sites, available add-ons, etc.
- Provide a fast path "check for updates" without having to launch a view of what's installed
- Separate "installed" and "available".
- Provide a button so that the "installed" view may be launched from the available view
- Better affordances in the "available" list to depict what is already installed, what is an update, etc. would also help to answer questions that today require switching between the "available" and "installed" view.
- Users who want to add software typically know the name of what they want to install.
- A "site view" of the world is not important unless there is a problem with performance or availability of a server.
- The default view of available software should be by name
- From an implementation point of view, it suggests that most repositories are loaded by the time the user is selecting items for install which would move most of the "load repo time bombs" to the front of the workflow rather than during resolution of an install.
- When working with a configuration problem, users want one easy way to provide info to help debug the problem.
- Unify the information in the Help>About dialog and the information in the "Installed Software" list.
- It should be possible to update the system or parts of the system from this view.
- A log of the install actions taken previously (the revert history) might be useful in this view.
Mockups of proposed changes
Separate install and update tasks
Include separate tasks for checking for updates and installing new software.
We could also consider moving the entries to the top level of the help menu.
Check for Updates
Choosing the Check for Updates... menu item launches the same wizard that the user sees today when notified of available updates, or when selecting items in the installed view and pressing the update button. Before this wizard appears, the user will see a progress dialog. The dialog can be sent to the background so that the user does not have to wait for all the repositories to be contacted.
Install New Software...
Choosing the Install New Software... menu item launches a wizard that combines the repository browsing information previously shown in the Available Software tab of the 3.4 updates dialog with the install wizard.
All repositories would be loaded before the wizard appears. In the interim, a progress monitor that could be sent to the background will be shown. When the repositories are loaded, the wizard will be launched and the first page will show available software. Note we default to showing the software by name, but the user can still view by site or category, and can still use the filtering techniques made available previously.
Things to note:
- Action buttons are included on the first page to work with detailed information
- The buttons for adding, managing, and refreshing sites appear as they did in the 3.4 available software page
- An additional button is provided to view the install details
- The properties button may appear here, too although it is not shown in the mockup (depends on alternate methods for presenting detail about a selected item)
- The layout of these buttons may change
- Other improvements are planned for this page, but they are covered in separate bugs. These bugs include:
- better presentation of the filters (currently shown as checkboxes)
- improved affordances to indicate whether something that's available is already installed, is an update, or is something new
- show the detailed information about the selected item in a details area as is done on the next page
The picture below is intended to show the overall workflow change, not other detailed improvements.
Once the user selects the desired software and clicks Next, they will see a progress monitor dialog that will show the progress in resolving the install. Since repositories are loaded, this should be considerably faster than in the current UI, where repositories may be loaded for the first time. The user will have the opportunity to cancel this dialog which will leave them in the first page of the wizard, but they cannot send it to the background since they are in the middle of the wizard.
When resolution is complete, the user will see a review page that looks much like the first page of the 3.4 install wizard. This is where resolution errors are shown if the selected items are not compatible with each other or with the current installation. Note the check boxes are gone from this view since the user can go back and change the selections from the first page.
The remaining pages are the same pages from the 3.4 install wizard.
The About dialog in 3.4 allows the user to view details about the installation by feature or by plug-in. In addition, it allows the user to open a detailed description of the configuration that can be used. The proposal is to open up this implementation so that plug-ins can contribute views.
The feature and plug-in view buttons would be replaced with an Installation Details button
An integrated "Installation Details" view would be launched from this button.
- Plug-ins can contribute their own content providers to provide different views of an installation.
- Plug-ins can register commands that should be invoked against the selection in these views.
- These commands could appear as context menu items or as buttons along the bottom (details TBD)
- Consider a common "details area" for the selected item that can be filled in by the content provider. It wouldn't appear if the contributor didn't provide details
A "Plug-in Details" view is provided by default. This would be the only view in a simple RCP app that didn't otherwise contribute to this view.
The IDE contributes the "Feature Details" view shown in the IDE about dialog today
Information from the p2 "Installed Software" view is contributed in an "Installed Software" view
- Commands are registered for update and uninstall
- The details area shows additional information
- Consider a properties action - depends on what is shown in the details area
Information about the install history is shown in the "Installation History" view
- The user can browse the snapshots that are shown today in the revert wizard
- Additional detail about each snapshot is shown in a description (new function)
- The details area shows the snapshot contents that are today shown in the revert wizard
- A command for performing the revert is registered
Access to the site list was provided in the "Available Software" page in 3.4. With this page moving to the install wizard, how should the user access the list of sites and what emphasis should be placed on a "view by site" from the install wizard?
Forcing the user to visit the "Install New Software..." page simply to add or remove a site is problematic. This is particularly a problem when the user wants to remove a slow or broken server, since access to "Install New Software..." causes a load of all repositories. The user must wait for the bad server to fail before accessing the UI for removing it. The detailed problems with this approach are discussed in Bug 250316.
The proposal is to move the list of sites to the preferences page, and to decrease the emphasis on sites in the install wizard itself.
Available Software Sites preference page
There is already a precedent for site management in a pref page (Network Connections and Help Content preference pages also display lists of servers and allow the user to manage the list.) In fact, it would be nice to make all these pages similar in look in behavior, but that is another discussion, logged in Bug 258380).
Note the use of the Enabled/Disabled column instead of the checkboxes currently used in manage sites. This change is proposed to be more consistent with the Help Content preference page, and because checkboxes are used with sites in the Network Connections page to mean something different (I think!?..it's not clear on that page what the checkboxes do). I opted for the descriptive text to avoid the confusion of the checkboxes. This also makes it easier to sort by the enabled/disabled column.
Other usability changes planned as part of this work
- To manage large lists, the user should be able to filter the list and sort by any column
- Any add/remove operations made will not be committed until the user presses OK in the dialog. Pressing cancel will ignore all work done in this dialog.
- The user will be prompted before removing sites
- Properties info will be collapsed into the page, since the site description is the only additional information. It will be shown at the bottom of the page. In the above picture, this description is used to show the fact that the repo is offline, but in general this description is provided by the producer when the repository is online. If the repository is not loaded by p2, we would show the description info as "unavailable" rather than force a load.
- Connections can be refreshed independently rather than the current "global repo refresh" in p2.
- Links to the pref page will be provided in places such as the install software wizard, the "nothing to update" message, etc.
Other ideas we could consider:
- An additional column to show an error indicator if a repo is offline
Note that there will be a way for products to configure repo management out completely. That is, if the product user is not allowed to manage the repos, this preference page and the links to it would not appear in the product.
Moving Repo Management out of the Install Wizard
The available software page in the install wizard currently has many buttons that involve site management (Manage Sites..., Add Site..., Refresh.) This clutters the wizard and forces the site concept on users who may never care to add a new site.
If the product is configured so that users cannot manage sites, it would leave only Properties and Installation Information... buttons on the right, wasting a lot of screen real estate. Both of those buttons involve information that is referenced elsewhere in the wizard, so we would be wise to consider an alternate layout.
The proposal is to reduce the emphasis on site management and provide lightweight links to site management tasks. This will reduce button clutter in the wizard, streamline the look of the wizard page, and allow more descriptive and task-oriented links to appear.
Other problems are addressed by revisiting this layout:
- Links for Properties and Installation Information appear closer to where they make sense
- The "view by" menu has been considered too subtle. Since the site view will no longer appear in the wizard, the ability to view flat or by category can be made more prominent.
- The resulting layout gives more space for the item names, which especially helps in cases where something important was at the end of an IU name (like "Incubation").
We expect links to the Available Software Sites pref page to also appear in other task dialogs, for example it could appear in the update wizard, or the "nothing to update" message.
Where to give feedback
You can use the Discussion page to capture overall comments
Several bug reports are tracking the work in this area. Please add your feedback to the appropriate bug report.
- Bug 236740 discusses the overall changes in the p2 workflows reflected in these mockups. This is the place to continue dialog about the direction shown here
- Bug 246875 tracks the extensible about dialog, contribution mechanism, proposed layout of the pages, etc.
- Bug 224472 discusses how we can provide more detail about what's installed in the p2 "Installed Software" view (regardless of where that view lives)
- Bug 216031 discusses moving the revert wizard history into an "Installation History" view
- Bug 250316 discusses moving the manage sites list to the preferences