Mylyn/UI Design

From Eclipsepedia

Jump to: navigation, search


This page will be used to collect materials related to the design of Mylar's Focused UI. Please consider adding a screenshot of how you use Mylar to help inform the UI decisions discussed on bug reports.

Contents

Idioms

Avoid Hierarchies

While we are always tempted to add hierarchies to the Task List and there is never a lack of requests to do so, this is something that we have to proceed with very carefully because hiearchies are much dramatically more difficult to interact with and use than monocline lists. In general the Mylyn UI design attempts to follow the simpler monocline grouping metaphor over the hierarchical metaphor.

Avoid Preferences

While there is never a shortage of demand for additional preferences, especially from advanced users, each preference that gets added has a significant cost in terms of UI complexity. Preferneces also mask ways in which the tool should change by providing work arounds particular to very specific use cases. We should strive to evolve the UI in a way that meets the use cases proposed by requested preferences in a way that does not overly clutter or add modalities to the UI. Oftentimes this can mean improving on or changing existing functionality instead of adding a preference to accomodate a specific use case. Since figuring out how to do that can require implementation, preferences can be added more liberally to the Sandbox component for the purpose of experimentation.

See "The Question of Preferences" in the following entry for a good discussion: http://ometer.com/free-software-ui.html

References

Using links vs. buttons in UI:

Decisions

Task Context

  • Project open/closed state should not be included as part of the task context bug 170232.

Open Questions

Task List

  • Should there be more consistency between our incoming/outgoing overlays and those of Platform/Team?
  • If we move the active task and working set switcher out, what do we do with the space to the right of Find?
  • What's the best mechanism for providing discoverability of Ctrl+H when using Find?
  • Is the enforcement of a common task icon background a good idea? We currently encourage but to dont enforce.
  • Can our custom drawing of container separators be improved?
  • Should Presentations become a toolbar radio group? If so what's the maximum we should allow? Frequently switching presentations is cumbersome now, but we need to keep extensibility in mind.
  • Which New actions belong on the view toolbar?

Working Sets

  • Should Mylyn's aggregate working sets be supported at the Platform UI level? Single-command selection of working sets is valuable when the are frequently switched.
  • How do we improve aggregate working set switching and awareness of contents? It's not uncommon to switch working sets a dozen times a day, which can makes this action more frequent than perspective switching. The current drop-down selector has friction and cannot be used to show status of what's in another working set.

Views

  • What is the policy for when views should be cloned? One use has expressed interest in Task List cloning. bug 151432
  • Is there a more obvious icon/metaphor for the Focus action?

Content providers and filtering

  • The Task List currently has a content provider that supports guaranteed visibility (e.g. the query containing an overdue task will always show). The task contenxt model captures guaranteed visibilty for landmarks by maintaining a map. Platform's FilteredTree has a different, and somewhat expensive, mechanism of computing guaranteed visibility for matches and the viewer/filter level. Can we improve on this disparity?bug 200411

Forms

  • What's the best mechanism for showing progress in a form-based editor? Mylyn current uses the editor tab's icon and does not use the standard for progress indicator. bug 175592
  • Should all non-content actions on form editors be in the header? If not, should content vs. workflow/lifecycle buttons be differentiated? bug 198166

Documentation

  • Is the UI Legend a good idea? Should it be view specific or more generic?
  • What's the best approach for documenting complex steps in a dialog? (i.e. the Task Repository Properties dialog) bug 195059

Minor

  • Should we include FilteredTree filtering in the Search view? Should Platform include it for all searches? bug 200411