AHM 2006:ProjectsSlicerUI

From NAMIC Wiki
Jump to: navigation, search
Home < AHM 2006:ProjectsSlicerUI

Project

Design a new interface for Slicer3

File:2006 Programming Half Week Slicer3UI.ppt

Please look here for details about the UI design effort.

Goals

  1. Build a UI for Slicer that is technically excellent, that users love to use, and developers find easy to implement.
  2. Be able to describe a process for incorporating user-centered design and usability engineering into an open-source extreme programming software development effort.

sub-goals for the AHM

  1. Get some hands-on experience with KWWidgets
  2. Agree on what supporting technology to use (GUI toolkit, in particular) as these will impact UI design and engineering
    • Currently favored toolkits are KWWidgets and Qt
  3. Begin discussion about how user-centered design and usability engineering can be integrated with Slicer3 engineering. For instance:
    • How do developers feel about conforming to design guidelines (see GNOME HIG 2.0)?
    • How do developers feel about submitting tools for user-testing, and refining tools to address user feedback?
    • What are developers' priorities about the UI tools they'll be using?
    • Do users at the AHM have usability comments or requirements they want to offer?
    • Should we develop a mechanism to track usability bugs, as distinguished from functionality bugs?
    • Should we develop a mechanism (mailing list) for users to communicate usability comments?
    • Can/should we develop a mechanism for channeling user-testing results back to particular developer(s)?
    • Should we develop "bare-bones" floating design consultancy, providing early user studies, user modeling, UI design and testing?
    • How do we measure or assess the productive benefits of our efforts?
  4. Learn about existing design processes / usability efforts inside other NA-MIC affiliated projects (i.e. LONI)
  5. Begin defining interaction framework for Slicer3's overall UI and qualify ways to support and reflect developing data model and scene description language.
  6. Begin compiling a formal set of Slicer3 technical requirements
  7. Begin compiling a formal set of Slicer3 user requirements

Challenge: OSS, user-centered design and usability engineering

In commercial software development, user-centered design and usability engineering are strongly integrated into the product development cycle, and they strongly shape the form and behavior of the software artifact. Interface, interaction and usability testing processes are well defined. It's accepted that technically excellent and usable software that promotes a good user experience wins a broader devoted user community.

Processes for incorporating user-centered design and usability engineering into OSS efforts, on the other hand, are still young and developing. Recent successful efforts (like GNOME, KDE, Mozilla, etc.) illustrate the good results that come from promoting usability concerns in their projects. For the most part, these projects began by developing usability guidelines and by performing some usability testing and channeling the results back to developers.

We'd like to leverage what these projects have learned in the Slicer3 effort, specifically in the context of a medical image analysis and visualization software package, with highly specialized users and also highly specialized developers.

The initial challenge for the Slicer3 UI effort is to understand Slicer users and developers, and to evolve a user-centered design and usability engineering processes that serve the interests of both the Slicer development effort and end-user artifact.

Since the Slicer3 project is scheduled on a tight timeframe, some of the ongoing challenges will be:

  • finding ways to target user testing and constructively use the resulting feedback;
  • measuring the impact these efforts have on usability and user experience.

We intend to publish our processes and experiences in appropriate journals so that other OSS efforts may leverage what we find to be productive.

Preliminary approach

  1. Get some hands-on experience with KWWidgets; work with broad UI team to make GUI toolkit choice.
  2. We're developing a prototype design process
  3. Begin discussion about how user-centered design and usability engineering can be integrated with Slicer3 engineering. For instance:
  4. Wiki-based forum for collecting developer's responses to design guidelines, submitting tools for user-testing, working with UI designer, and refining tools using user feedback.
  5. Wiki-based forum for users to submit their broad comments on Slicer3 usability.
  6. Work with Slicer web-presence team to discuss mechanisms for usability comments and bugs, for channeling user-testing results back to developers.
  7. Not sure how to measure or assess productive benefits of our usability/design effort.
  8. Learn about existing design processes / usability efforts inside other NA-MIC affiliated projects (i.e. LONI)

Technical Requirements

this space to capture all suggestions

User-requirements

this space to capture all suggestions

Developer requirements

this space to capture all suggestions