I was writing up a summary of our current
plans for the p2 UI for some UI designers and Jeff suggested I post it
here. I'm hoping that these screen shots and pointers to bug reports
might get those of you interested in UI issues to join some of our bugzilla
discussions, since some of you may not have had the time to look at p2
yet. Much of this info is available on the wiki (http://wiki.eclipse.org/Equinox_p2_User_Interface),
but I include it here as an attention grabber.
The M2 UI
Here is our basic dialog. We launch
it from "Help>Software Updates" but there's no reason you
couldn't put it somewhere else, like a wizard or pref page.
- the terminology (feature/plug-in/add-on
etc.) is pluggable. We are using "feature" and "site"
since update manager introduced this already.
- the "manage sites..." button
will probably disappear or else evolve into an "Advanced..."
- An "Alert me for updates"
check box is probably coming in M3.
Here's the available features page:
We are also looking at ways to better
present this content:
- grouping the available features by
categories similar to the current update manager UI
- providing a filter so that the user
could easily find something by name by typing a few characters. This
would look a lot like the filtering mechanism in the existing Eclipse preferences
I have not included screen snaps of
what happens when you push install or uninstall because they are uninteresting
Likewise, the list of available updates
that you see when you push "check for updates" is fairly raw
What's next M3
- grouping/filtering of the content
in the available list
- automatic updating - alerting the
user, updating silently, etc.
- improving the workflow when the user
chooses update/install/uninstall. This includes things like showing
download size, flagging any problems that an update might cause, etc.
M4 will likely cover:
- presentation and acceptance of licenses
- UI for rollback
Right now I'm focused on the "from
inside the product" update UI. I realize there are other avenues,
such as web-click install, drag and drop into an Eclipse product, that
are also worth exploring.
Related bugzilla discussions What would a Rollback UI look like?
Does it relate to Undo?
How do we present a license to the user?
If we remember licenses, is there a UI for seeing what we've already
Filtering the "available software"
Do users care where the "available
software" comes from?
Categorizing the "available software"
Can a user rename/group what they install?
This discussion is probably the hardest
to follow if you haven't been using the p2 API. The term "entry
points" is an implementation term for taking one or more "groups"
(another implementation term you can think of as an available feature),
and letting the user name it to something else when they install it. For
example, I select the "Task List" and "Blog" plug-ins,
press the install button, and name them "productivity stuff."
So when I open the "Installed Features" page, I see "Productivity
Stuff." In implementation terms, I have taken two groups and
assigned them to an entry point. We are going to remove the ability
to do this for now in the UI because it presents a bunch of issues. Hopefully
the discussion in the bug will make sense given these definitions.