platform-update-home/doc/working/ui-redesign/ui-redesign.html
Parent Directory
|
Revision Log
Revision 1.1 - (view) (download) (as text)
| 1 : | dejan | 1.1 | <h1>Changes in the Eclipse Install/Update 3.0 User Interface</h1> |
| 2 : | <p>This working document is designed to assist early adopters in understanding | ||
| 3 : | the rational behind Eclipse Update interface changes and learning how to perform | ||
| 4 : | standard tasks. The document will evolve with the UI and will eventually be | ||
| 5 : | rolled into the official user documentation. We welcome community feedback while | ||
| 6 : | we are going through this process.</p> | ||
| 7 : | <h2>1. Problems that prompted the redesign</h2> | ||
| 8 : | <p>The implementation of Update Manager that can be found in Eclipse 2.1 release | ||
| 9 : | is fairly polished but very confusing from the usability point of view. Too many | ||
| 10 : | capabilities are readily presented to the user when this perspective is opened, | ||
| 11 : | making it very hard for a novice to figure out what to do. Some of the complains | ||
| 12 : | are:</p> | ||
| 13 : | <h3>Problem: Update Manager is too advanced and has too much function, yet some | ||
| 14 : | of the basic tasks cannot be done without it</h3> | ||
| 15 : | <p>Interestingly, for the longest time the development team didn't understand | ||
| 16 : | the complaints. Knowing what the underlying mechanisms are, we liked the UI | ||
| 17 : | because it did exactly what we wanted it to do and could see everything we | ||
| 18 : | wanted when we wanted. When a new developer joined our team and started getting | ||
| 19 : | into the details of the component, he revealed this blindness to us. We realized | ||
| 20 : | that the current UI is a thin veil over the Update Core API. There is almost 1-1 | ||
| 21 : | mapping between APIs in Update Core and the way things are presented in the | ||
| 22 : | Update UI. Since we were comfortable with Update Core (knowing its every nook | ||
| 23 : | and cranny), we could not see how this direct mapping can be confusing to | ||
| 24 : | anybody.</p> | ||
| 25 : | <p>Since we realized that it should be easy to simply update the installed | ||
| 26 : | product to the latest fix pack, the current UI does have a 'one-click' update | ||
| 27 : | alternative (Help>Software Updates>New Updates). However, anything else requires | ||
| 28 : | switching to the Update Manager - a major learning curve.</p> | ||
| 29 : | <h3>Problem: There is no progressive disclosure.</h3> | ||
| 30 : | <p>As a corollary of the one-dimensional UI layer on top of the Update Core, | ||
| 31 : | everything is immediately accessible - simple and complex tasks alike. Case in | ||
| 32 : | point - previous and saved configurations. They are visible all the time in the | ||
| 33 : | Configuration view even though as a concept they are only needed for the | ||
| 34 : | 'revert' operation.</p> | ||
| 35 : | <h3>Problem: Users have no idea what the difference is between Configuration and | ||
| 36 : | Updates views</h3> | ||
| 37 : | <p>These two views were part of the Update perspective and seemed too similar - | ||
| 38 : | both contained features (with the same icons), both were driving the same | ||
| 39 : | Preview when clicking on objects etc.</p> | ||
| 40 : | <h3>Problem: Understanding of 'Available Updates' is not crisp. </h3> | ||
| 41 : | <p>Users tend to think that new features that they can install also qualify as | ||
| 42 : | updates (as opposed to strictly limited to new versions of the existing | ||
| 43 : | features). This concept (that Update developers find so strange) revolves that | ||
| 44 : | anything useful that can be added to the product is an 'update' (although we | ||
| 45 : | could argue that a more precise term would be 'add-on' for things that didn't | ||
| 46 : | exist before, compared to the real 'updates').</p> | ||
| 47 : | <h2>2. Redesigned UI</h2> | ||
| 48 : | <p>Since Eclipse 3.0 Milestone 1 build, we have provided a new set of actions | ||
| 49 : | that launch a redesigned Eclipse Update user interface that begins to address | ||
| 50 : | the above listed problems. These two actions are available off the Help>Software | ||
| 51 : | Updates menu and both have 'experimental' in the label.</p> | ||
| 52 : | <p>First thing that is immediately obvious even from the labels of these actions | ||
| 53 : | is that we have separated the concept of 'updates' and 'configuration'. When you | ||
| 54 : | need to browse or change your current configuration (things you have installed | ||
| 55 : | in your product), you use Configuration Manager. To install new features into | ||
| 56 : | your product (either strict 'updates' or the ones not previously installed), you | ||
| 57 : | use 'New Updates' wizard.</p> | ||
| 58 : | <p>Since all Update tasks are now handled by these two UI parts, Update Manager | ||
| 59 : | |||
| 60 : | and all of its views are gone.</p> | ||
| 61 : | <h3>2.1 New Updates wizard</h3> | ||
| 62 : | <p>When a new Eclipse-based product is installed, the first (and most frequent) | ||
| 63 : | task you are likely to perform is to search for updates. In 2.1, you could do | ||
| 64 : | this in two ways: using 'New Updates' action that immediately started the | ||
| 65 : | search, or using a more powerful searches in Update Manager. In 3.0, search is | ||
| 66 : | unified and simplified in that all the ways to get it to start result in | ||
| 67 : | bringing up the same wizard.</p> | ||
| 68 : | <p>The usual way to start the update search is from the Window>Software Updates | ||
| 69 : | menu. Selecting the action 'New Updates (experimental)' brings up a consolidated | ||
| 70 : | search wizard:</p> | ||
| 71 : | <p align="center"> | ||
| 72 : | <img border="0" src="images/new-updates.jpg" width="600" height="500"></p> | ||
| 73 : | <p>The first page offers a choice between a plain update search or a search for | ||
| 74 : | new things (not already installed). The default choice is compatible with the | ||
| 75 : | old behavior of 'New Updates' action i.e. plain search. Since no more | ||
| 76 : | information is required to commence the search, pressing 'Next' will cause the | ||
| 77 : | search progress and the review page to appear. Unlike before, you can now see | ||
| 78 : | results as they arrive in the list. When the search is over, you will end up | ||
| 79 : | with 0 or more 'hits':</p> | ||
| 80 : | <p align="center"> | ||
| 81 : | <img border="0" src="images/review-page.jpg" width="600" height="500"></p> | ||
| 82 : | <p>This page now replaces all other ways of viewing features on servers before | ||
| 83 : | installing into the product. Short feature description is shown below the result | ||
| 84 : | list. Feature properties (license, os/ws/arch/nl coverage, general information, | ||
| 85 : | copyright etc.) can be viewed by double-clicking or by selecting 'Properties' | ||
| 86 : | button. If a feature has more information in HTML form, 'More Info' button will | ||
| 87 : | show it in a resident browser. More than one feature can be selected in this | ||
| 88 : | page (although invalid feature combination will be flagged as errors).</p> | ||
| 89 : | <p>Update search algorithm has been modified to pick up patches (e-fixes) in | ||
| 90 : | addition to valid updates (updates are pre-selected, while e-fixes are not).</p> | ||
| 91 : | <p>When one or more features are selected, pressing 'Next' takes you to the | ||
| 92 : | standard set of pages known from 2.1 release (license, optional features, target | ||
| 93 : | install location).</p> | ||
| 94 : | <p>What is particularly new in Eclipse Update 3.0 is that searching for new | ||
| 95 : | features is not very different and involves the same wizard. It starts by | ||
| 96 : | selecting the second radio button in the first wizard page. When 'Next' is | ||
| 97 : | pressed, a different page will show up. It allows you to define the scope of the | ||
| 98 : | search - which update sites to include and (optionally) which categories to | ||
| 99 : | exclude from the search:</p> | ||
| 100 : | <p align="center"> | ||
| 101 : | <img border="0" src="images/site-page.jpg" width="600" height="500"></p> | ||
| 102 : | <p>Initially, the list of sites is pre-loaded with those found in the currently | ||
| 103 : | configured root features as 'discovery' sites. New sites can be added later | ||
| 104 : | using 'Add Update Site...' button and providing the site URL. Local sites (file | ||
| 105 : | system, CD-ROM) can be added using 'Add Local Site...'. This button will allow | ||
| 106 : | you to find a directory that contains 'site.xml' using the standard system file | ||
| 107 : | selection dialog.</p> | ||
| 108 : | <p>The list of sites is persisted. Sites that are checked will be searched. | ||
| 109 : | Optionally, users can expand the site (this results in network activity as | ||
| 110 : | site.xml is downloaded and parsed to detect available categories). By default, | ||
| 111 : | all categories are checked. Users can uncheck some if they want to exclude them | ||
| 112 : | from the search.</p> | ||
| 113 : | <p>When sites and categories to search are selected, pressing 'Next' shows the | ||
| 114 : | same Review page as in the case of the search for updates. The search progress | ||
| 115 : | will be indicated using the wizard's progress monitor, and results can be seen | ||
| 116 : | as they arrive. The rest is the same as before.</p> | ||
| 117 : | <p>For the sake of simplicity and consistency, there will be more launch points | ||
| 118 : | in Eclipse Update 3.0 that will result in opening this wizard. Typically, they | ||
| 119 : | will configure the search in such a way that no further user input is required. | ||
| 120 : | Consequently, the wizard will open directly into the Review page, with the | ||
| 121 : | search already in progress. The goal is to have a single way of installing new | ||
| 122 : | features (either updates or really new ones).</p> | ||
| 123 : | <h3>2.2 Configuration Manager</h3> | ||
| 124 : | <p>Addressing one of the problems mentioned at the beginning, browsing and | ||
| 125 : | managing your configuration is now done in a completely different visual part - | ||
| 126 : | Configuration Manager. We discarded the Update Manager perspective because there | ||
| 127 : | was always a nagging feeling that what we are doing there is very different from | ||
| 128 : | other perspectives. We wanted to make it clear that configuration management is | ||
| 129 : | something that requires clear break in the normal work while important decisions | ||
| 130 : | regarding the configuration are made.</p> | ||
| 131 : | <p>Since Configuration Manager is a separate window (rather than a perspective), | ||
| 132 : | there is no confusion that you need to do something other than development in | ||
| 133 : | it. It has no detachable views, you cannot show any of its views in another | ||
| 134 : | perspective, and no views can be repositioned or closed (it really has only one | ||
| 135 : | view housed in a modal window).</p> | ||
| 136 : | <p>Configuration Manager window is modal to underline that you should not be | ||
| 137 : | doing any thing else while it is open. On the surface, it uses similar metaphor | ||
| 138 : | to the old 'Install Configuration/Preview' pair, but with some important | ||
| 139 : | differences:</p> | ||
| 140 : | <p align="center"> | ||
| 141 : | <img border="0" src="images/config-manager.jpg" width="705" height="551"></p> | ||
| 142 : | <p>The left half of the manager contains the familiar configuration tree from | ||
| 143 : | the old UI. It shows the current configuration, with install locations (product, | ||
| 144 : | extensions, private locations) as children, and features as their children. | ||
| 145 : | Feature hierarchy can be browsed. New for 3.0 is that this hierarchy can be | ||
| 146 : | simplified (both install locations and included features can be individually | ||
| 147 : | filtered out from the tool bar).</p> | ||
| 148 : | <p>The right half of the window is occupied by a simplified preview. It shows | ||
| 149 : | the name, the description and the available tasks of the selected object on the | ||
| 150 : | left. Available tasks are accessible as hyperlinks with descriptions. We believe | ||
| 151 : | that the old preview had a very low signal-to-visual-noise ratio and that a more | ||
| 152 : | compact one in 3.0 is better. The rest of the information that used to be | ||
| 153 : | presented in the old preview is now accessible as object Properties (or | ||
| 154 : | double-click).</p> | ||
| 155 : | <p>Almost all of the tasks available in 2.1 are still available here. Features | ||
| 156 : | can be enabled or disabled (in 3.0, they can also be uninstalled). Install | ||
| 157 : | locations can be enabled or disabled as a whole (very handy for turning product | ||
| 158 : | extensions on or off).</p> | ||
| 159 : | <p>As before, it is possible to revert to one of the previous install | ||
| 160 : | configurations. However, in the spirit of progressive disclosure, we decided to | ||
| 161 : | hide the configuration history until really needed. When 'Revert to Previous' | ||
| 162 : | task is selected, a dialog appears:</p> | ||
| 163 : | <p align="center"> | ||
| 164 : | <img border="0" src="images/revert.jpg" width="500" height="500"></p> | ||
| 165 : | <p align="left">It shows the past configurations (excluding the current one) | ||
| 166 : | going backwards in time as far as the configuration stack permits (by default, | ||
| 167 : | 50 configurations). Activities for the selected configuration are shown in the | ||
| 168 : | second table.</p> | ||
| 169 : | <p align="left">Due to the generous capacity of the default configuration stack, | ||
| 170 : | we were of the opinion that the ability to save a configuration is almost never | ||
| 171 : | used and hence it was not worth migrating to the new UI. It may also be safer | ||
| 172 : | not to since saved configurations may grow stale after a while (i.e. point at | ||
| 173 : | features that are no longer present).</p> | ||
| 174 : | <h2 align="left">3. UI enhancements to arrive in Milestone 2</h2> | ||
| 175 : | <p align="left">The (still experimental) Update UI described above has been made | ||
| 176 : | available for early feedback in the stable Milestone 1 Eclipse 3.0 build. Since | ||
| 177 : | the progress marches on, we already went a bit further. Here is a preview of the | ||
| 178 : | UI enhancements to come in the integration builds after M1:</p> | ||
| 179 : | <h3 align="left">3.1 Complete Installation History</h3> | ||
| 180 : | <p align="left">As users perform Update operations, we preserve past | ||
| 181 : | configurations within the capacity of the configuration stack (configurable in | ||
| 182 : | the Preferences). When the capacity is reached, old configurations are recycled. | ||
| 183 : | However, Update maintains an ever-growing log file containing configurations and | ||
| 184 : | their activities. This file is compact but not very easy to read (or find). We | ||
| 185 : | will add an action in the Configuration Manager that shows this history in a | ||
| 186 : | resident browser. In case of problems, users can save the | ||
| 187 : | <a href="Install-Log.htm">HTML history page</a> and send it to service/support | ||
| 188 : | for analysis.</p> | ||
| 189 : | <h3 align="left">3.2 Web-triggered Updates</h3> | ||
| 190 : | <p align="left">Web-triggered updates is a loose term that describes Eclipse | ||
| 191 : | Update's ability to react to queries from a web browser that result in install | ||
| 192 : | wizard being opened and primed with a specific feature for installation. This | ||
| 193 : | capability is available in 2.1 but in 3.0 UI we had a problem with browser | ||
| 194 : | launch points. Since we don't have Feature Updates view any more, we have no | ||
| 195 : | bookmarks to use as a launch point for encoding servlet host and port | ||
| 196 : | information and passing it to the resident browser.</p> | ||
| 197 : | <p align="left">We will use the Software Updates menu for this purpose instead | ||
| 198 : | to show Update web site bookmarks in a more traditional fashion. Update sites | ||
| 199 : | that have the 'web' type computed from the installed features (as 'discovery' | ||
| 200 : | sites) will be shown there by default. Users will be able to add new bookmarks | ||
| 201 : | and organize them later. Since these bookmarks are used solely for passing the | ||
| 202 : | callback servlet information to the Web pages that can use it, we will | ||
| 203 : | automatically start the Eclipse application server and get rid of the | ||
| 204 : | Web-triggered updates preference page:</p> | ||
| 205 : | <p align="center"> | ||
| 206 : | <img border="0" src="images/update-web-sites.jpg" width="502" height="199"></p> | ||
| 207 : | <p align="center"> | ||
| 208 : | <img border="0" src="images/organize-bookmarks.jpg" width="300" height="300"></p> | ||
| 209 : | <h3 align="left">3.3 More launch points for update search</h3> | ||
| 210 : | <p align="left">We will allow update search to be initiated from within the | ||
| 211 : | Configuration Manager. For example, it will be possible to select an installed | ||
| 212 : | feature the start a search for updates only for that feature.</p> |
| help@eclipse.org | ViewVC Help |
| Powered by ViewVC 1.0.3 |
