Slicer3:Interface Design and Usability

From Slicer Wiki
Jump to: navigation, search
Home < Slicer3:Interface Design and Usability

<< Back to Slicer3 main page

Go to Slicer3 Developer Info >>

Project goals

  • Design and engineer Slicer3 UI.
  • Develop human interface and style guidelines for developers.
  • Develop a user-centered design practice for developers.
  • Design a new brand for Slicer3.
  • Develop visual communication guidelines for the Slicer3 brand.

Project scope

The scope of this effort is sorted into four categories: Engineering, UI design, Usability and Slicer3 branding. The subtasks of each category are itemized below and specific information about each category is located on the linked pages.

3DSlicer Brand (Core Values, Logo, and Visual Communication Guidelines)

(Slicer3 Core Vales, Logo versions and Visual Communication Guidelines describing the logo's rules of use can be found on the Slicer3 Brand page ).


Status: complete.

General Design Guidelines that Reinforce the Brand

Information: High-level guidelines for reflecting Slicer's brand in:

  • the GUI appearance,
  • interface organization & layout, and
  • the application's interactive behavior

are described at this link.

UI Design Overview

Tasks: (more detailed UI Design information can be found on the UI Design page ).

  • design overall look to Slicer3 application in keeping with core values;
  • design look & feel applied to developer modules;
  • implement Slicer3 Application GUI
  • design conventions for specifying global and module-specific keyboard accelerators;
  • specify and document global keyboard accelerators;
  • iterate on prototype(s) and present them for comments and suggestions;
  • develop and publish Human Interface & Slicer Style Guidelines for Developers (currently under development).

Status: main application GUI complete. Time should be allocated for user-centered refinement of core module GUIs which were hurriedly assembled. Style guidelines are currently being drafted.

Usability Overview

Tasks: (more detailed Usability information can be found on the Slicer3 Usability page ).

  • develop and publish a light-weight user-centered design practice that support usability and software consistency.
  • use this process to design and implement main application interface, and some core functionality.
  • promote awareness of this process and encourage its adoption among developers

Status: practice is developed and published on the wiki. We have used this practice where appropriate on some base modules. The practice has not yet been actively promoted.

UI Architecture & Engineering Overview

Tasks: (more detailed UI Architecture & Engineering information can be found on the UI Architecture & Engineering page).

  • design thin GUI layer, separate from the control logic and data model;
  • design a model for representing the UI and managing local events;
  • extend the model for handling remote events;
  • design means of mapping KWWidgets onto that model;
  • set priorities with Kitware involving extensions & modifications to KWWidgets;
  • determine the api to application logic, used by GUI and by scripts;
  • design set of base classes for slicer modules and custom widgets that give module developers an easy pattern to follow;
  • develop guidelines for slicer base developers and module developers;
  • design mechanism for centrally specifying look & feel (and permitting overrides);

Ongoing Projects: (Please link any GUI related engineering projects below)

  • Application GUI
  • Loading and Saving of Data
  • Remote I/O
  • Support for common workflows
  • Module management
  • Informatics infrastructure and interface

Public suggestion section: What guidelines do developers need?

Please add suggestions here for what additional guidelines need to be available in Slicer's Human Interface and Style Guidelines, currently under development.

User Feedback: Feature, Resource, Application Convention Requests

We are collecting feature, conventions and resource requests from users and developers. Appropriate entries from Slicers bug tracker will be periodically added to this repository also.

Return to Slicer3 Interface Design and Usability

Return to Slicer3 main page