Skip to content

Latest commit

 

History

History
104 lines (80 loc) · 4.72 KB

top_ten_lists.adoc

File metadata and controls

104 lines (80 loc) · 4.72 KB

Quick Checklists and Top Ten Do’s and Don’ts

Quick UI Checklist

This is is a shortlist of the most relevant and easy to apply Eclipse User Interface Guidelines. Start by using this list, referring to the linked guideline items for details, then use the Full Checklist for additional guidance. For comments please use the {issues}[UI Best Practices GitHub Issues].

Views & Editors

  1. Put only the most commonly used commands on the view toolbar. Any command on a toolbar must also appear in a menu, either the window menu, context menu or the view menu (Guideline 7.12).

  2. Use the view pulldown menu for commands not tied to selection (Guideline 7.10). Fill the context menu with selection oriented actions (Guideline 7.13).

  3. If a view or editor has support for Cut, Copy, Paste, or any of the global commands, these commands must be executable from the same commands in the window menu bar and toolbar. (Guideline 6.9, Guideline 7.19).

  4. Modifications of workspace resources made in an editor should follow an open-save-close lifecycle model (Guideline 6.2), whereas modifications made within a view should be saved immediately (Guideline 7.2).

  5. Persist the state of each view between sessions (Guideline 7.20).

Wizards & Dialogs

  1. Start a wizard with a prompt, not an error message (Guideline 5.3).

  2. Seed the fields within a wizard using the current workbench state (Guideline 5.4).

  3. When a dialog opens, set the initial focus to the first input control in the container. If there are no input controls, the initial focus should be assigned to the default button (Guideline 4.1).

  4. Use a Browse Button whenever an existing object is referenced in a wizard (Guideline 5.8).

Workbench & Preferences

  1. Use Headline style capitalization for menus, tooltip and all titles, including those used for windows, dialogs, tabs, column headings and push buttons (Guideline 1.5). Use Sentence style capitalization for all control labels in a dialog or window, including those for check boxes, radio buttons, group labels, and simple text fields (Guideline 1.6).

  2. Follow the visual style established for Eclipse UI graphics (Guideline 2.1). Re-use the color palette (Guideline 2.2) and visual concepts to maintain consistent representation and meaning across Eclipse plug-ins (Guideline 2.3).

  3. If you must create a new preference group, use the root page for frequently used preferences, or those preferences which have wide spread effect. Specialize within the sub pages. The root preference page should not be blank (Guideline 2.2).

Top Ten Lists

This is a starter set of top ten Eclipse UI Guidelines and Violations. The purpose of these lists is to be a starting point for Eclipse UI designers and developers, providing the most important practices to follow and to avoid, respectively.

To see all considerations to-date go to the Top Ten Lists Working Page.

Top Ten Eclipse UI Guidelines

  1. Use the Eclipse look and feel if extending or plugging into Eclipse.

  2. Use common SWT controls to get what SWT offers for cross-platform adaptability and accessibility.

  3. Be familiar with APIs for the UIs you are building.

  4. Use icons and graphics consistent with the Eclipse style, decorations, states, and quality.

  5. Understand the conventions of the OSs you are developing for.

  6. Use understandable messages to help people recover from error conditions.

  7. Don’t initiate dialogs or wizards in an error state.

  8. Use quick fix and quick assist mechanisms.

  9. Reserve time for "polish".

Top Ten Eclipse UI Violations

  1. Low quality graphics or not consistent with the Eclipse style

  2. Poorly organized or sized dialogs and wizards

  3. Useless dialogs

  4. Cryptic error messages

  5. Messages with concatenated strings

  6. Property pages that don’t adhere to platform uses where possible (normal and tabbed)

  7. Assuming more importance than other contributions

  8. Using too many custom colors and fonts

  9. Flooding the system with updates

  10. Slow updating in the main Thread

  11. Adding to the preferences rather than making a choice for the user