Vizmap and Filter Redesign : ...

Editor(s): ...

TableOfContents([2])

About this document

This is an official Request for Comment (RFC) for redesigning the Vizmap and Filter user interfaces.

For details on RFCs in general, check out the [http://www.answers.com/main/ntquery?method=4&dsid=2222&dekey=Request+for+Comments&gwp=8&curtab=2222_1&linktext=Request%20for%20Comments Wikipedia Entry: Request for Comments (RFCs)]

Status

1/9/06 - Not yet completely written

How to Comment

To view/add comments, click on any of 'Comment' links below. By adding your ideas to the Wiki directly, we can more easily organize everyone's ideas, and keep clear records. Be sure to include today's date and your name for each comment. Here is an example to get things started: ["/Comment"].

Try to keep your comments as concrete and constructive as possible. For example, if you find a part of the RFC makes no sense, please say so, but don't stop there. Take the extra step and propose alternatives.

Proposal

Visualization of networks is Cytoscape's reason for existence and Cytoscape fittingly provides powerful features for changing and managing the visualization of networks. However, many of these features are hard to use individually and in concert with other features. As a result of this general difficulty users have expressed frustration with the system. This was made apparent during the usability working group at the 2005 Cytoscape retreat and in a survey presented to new users of the system.

Therefore, we propose to redesign the Vizmapper and Filtering interfaces with the goals:

  1. Conceptual clarity. Clearly define the goal of each dialog/step/action in terms of intended use cases.
  2. Simplicity. Provide clear options, make next steps apparent, reduce available options when possible.
  3. Consistency. Whenever possible maintain a similar layout/behavior for similar functions/tasks.
  4. Maintain the current feature set.
  5. Flexibility. Create an extensible design that will allow for new features to be added in a way that doesn't violate goals 1-3.
  6. A design that is easy enough for beginners to figure out, but rich enough for experienced users to accomplish their goals.
  7. Accessibility. Make functionality visible/accessible to user, provide affordances so that user can recognize the accessible functionality, rather than have to memorize particular actions.
  8. Responsiveness. Changes should be immediately effected where possible (minimize need for an ‘apply to network’ button).
  9. Reversibility. It should be easy to undo and redo changes in a highly interactive way.

Biological Questions / Use Cases

High Level Use Cases

Lower Level Use Cases Implied by High Level Use Cases

General Notes

Definitions

Network visualization amounts to the graphical representation of raw data. The raw input data consists of node network data, edge network data, node attribute data, and edge attribute data. Node and edge network data only define the topology of the network. Node and edge attribute data associate supplemental information with the node and edge network data that define the topology. To create a visualization, this input data is mapped to graphical elements (circles, squares, lines, etc.) and displayed on a computer screen. Creating this mapping is what this RFC is about.

General Concepts

Fundamentally, there are three distinct conceptual acts involved in altering the visual appearance of a network.

  1. Selecting the input data that should be used to define the alteration.
  2. Selecting the graphical element that should altered.
  3. Defining the mapping between the two.

1. Input data consists of two primary types: network and attribute.

The selection of network data is a binary selection. You've either selected an node/edge or not. This binary representation makes the mapping to graphical element (step 3) relatively straightforward. You simply define how a graphical element is to be altered if the associated data is part of the selection. How you go about selecting the data however is where things get interesting. Currently there are three ways of selecting data.

  1. Select all data.
  2. Hand select a subset of data using the mouse (i.e. Drag-select or click on particular nodes or edges).
  3. Use a filter to select a subset of data based on attribute or network data.

Once the selection of data is accomplished we know which nodes and edges the graphical changes will be applied to, but we still don't know how the changes will be applied.

2. Selection of graphical elements is relatively straightforward and is only limited by what Cytoscape can render. What is useful to consider is not the myriad types of graphical elements, but what each is able to communicate. In general, there are two types of data, discrete and continuous. Some graphical elements lend themselves well to one, but not the other. For instance color gradients and size are good at representing continuous variables because there is a simple function mapping the domain of the variable to the range of the graphical element. Other elements, such as shape, are less well suited to continuous variables because there is no natural mapping between the discrete number of shapes and a continuous variable. However, discrete variables, like species, are well suited to limited graphical elements like shape, line type, etc.

3. Mapping the data selection of step 1 to the graphic selection of step 2 results in the final visual representation. Mappings can be one of three types:

  1. Discrete - The data values being categorized are grouped with like values and each group is assigned a specific highlight. For instance any node with a value of 1 is square shaped and and any node with a value of 0 is circle shaped. Discrete data can be textual or numeric. Even continous data can be treated as discrete with each datum represented by a specific mapping.
  2. Continous - Continous data can be treated directly with graphical elements like node size or color gradient. It can also be transformed into a discrete variable by assigning intervals to the range of variables. Continous data can only be numeric.
  3. Pass Through or No mapping. Pass Through mapping means that the variable isn't mapped onto a graphical element, but that the variable is used directly by the graphical element. The primary use of a pass through mapper is for attribute data to be used to label nodes and edges.

How Vizmapper and Filters Fit into Cytoscape

Cytoscape has three primary modules, the network data (CyNetwork), the attribute data (CyAttribute), and the visual representations. Filters only affect the selection of nodes or edges from the network data model, however they can use attribute data to provide filtering criteria. The Vizmapper, however, only operates on the underlying attribute data model, although data selected with filters (or by hand) can be used to create or alter attribute data.

The visual representation is affected by both the network and attribute data. Network data is used to determine the layout of the graph while attribute data is used to style the graph.

Requirements

Deferred Items

Open Issues

  1. Move vizmap and filter interfaces into CytoPanels.

  2. Computed attributes, i.e. combining mappings in expressions.
  3. Data preprocessing, e.g. to assign mapping types and ranges based upon statistical shape of the data.

Backward Compatibility

Expected growth and plan for growth

References

Web Resources

  1. Nielsen’s 10 usability heuristics, http://www.useit.com/papers/heuristic/heuristic_list.html

  2. Ben Shneiderman’s “Eight Golden Rules of Interface Design”, http://www.cs.utexas.edu/users/almstrum/cs370/elvisino/rules.html

  3. Apple user interface guidelines, http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGIntro/chapter_1_section_1.html

  4. Jeff Johnson’s GUI bloopers, http://www.gui-bloopers.com

  5. Card, MacKinlay, and Shneiderman’s “Readings in Information Visualization”, http://www.cs.umd.edu/hcil/pubs/books/readings-info-vis.shtml

  6. There is also a nice little annotated bibliography at http://www.cs.utexas.edu/users/almstrum/cs370/elvisino/ann_bio.html#9

Books

  1. "Designing the User Interface" by Ben Shneiderman, http://www.amazon.com/gp/product/0201694972/104-8618736-1880752?v=glance&n=283155

  2. "The Human Factor" by Kim Vicente, http://www.amazon.com/gp/product/0415970644/104-3362403-2293568?v=glance&n=283155

  3. "The Design of Everyday Things" by Don Norman, http://www.amazon.com/gp/product/0465067107/ref=pd_bxgy_text_b/104-3362403-2293568?%5Fencoding=UTF8

  4. [http://www.amazon.com/gp/product/0060005696/103-9869596-5663827?v=glance&n=283155 The Paradox of Choice]

Implementation Plan

Funding for Cytoscape is provided by a federal grant from the U.S. National Institute of General Medical Sciences (NIGMS) of the Na tional Institutes of Health (NIH) under award number GM070743-01. Corporate funding is provided through a contract from Unilever PLC.

MoinMoin Appliance - Powered by TurnKey Linux