platform-update-home/doc/working/ui-redesign/ui-redesign.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (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&gt;Software Updates&gt;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&gt;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&gt;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>
213 : dejan 1.2 <h2 align="left">4. Testing the new UI</h2>
214 :     <p align="left">If you want to experience the new UI in detail but have no
215 :     suitable update sites to point at, we recommend using our
216 :     <a href="../../Test%20Scenarios/eclipse%20update%203.0.html">new test scenarios</a>.
217 :     The steps are designed to be self-sufficient and should expose you to various
218 :     Update capabilities.</p>