Documentation for a historical release of Infusion: 1.3
Please view the Infusion Documentation site for the latest documentation.
If you're looking for Fluid Project coordination, design, communication, etc, try the Fluid Project Wiki.

List Reorderer Design Overview

1. Problem

Problem Statement: The user needs a way to change the order or manipulate the position of list elements on the screen.  They need to re-order items in a list of similar items, and they do not need to visually preview the new layout before making the change. 

Design Goals:

  • Allow user to drag and drop to reorder element in a list
  • Allow numbering to change order of elements in a list - particularly in longer lists
  • Clear indication of drop target
  • Clear feedback about what element is being reordered

2. Users

Catalina, Christyand Ashley are the primary personas for Fluid Components.  They represent the primary target for the design of Fluid components.  Additionally, we have defined secondary personas whose needs are mostly met by fullfilling primary's except for one or two needs specific additional needs.
Fluid Personas are a collection of various types of important users whose needs we need to consider throughout the design process.

3. Users' needs

Contexts of Use In what contexts might users need a List Reorderer?

Functional Requirements: What use cases does the List Reorderer support?

  • Drag and drop lists elements to reorder the list.
  • Use the keyboard to move list elements.
  • Give user visual and audio cues to discover reordering capability
  • Degrade gracefully for those unable to use dynamic drag and drop
  • Allow time based material to be reordered
  • Use a "drop target to show user where the element will be 'dropped'.
  • An avatar should show the user the element while they are dragging.

Scenarios: In context, what are our personas needs for a list reorder?

Primary & Secondary Scenarios: What are the primary and secondary scenarios we are designing for?

4. Solution

Storyboards: The stories and wireframes of how our personas might use the List Reorder
List Reorderer Storyboard - Make Important Announcements Viewable

Wireframes: Visual representation of the component in all its states.

Design Pattern:

5. Evaluating our design with users

User Testing Protocol: Describes how the user testing of the List Reorderer will be carried out

User Testing Results: Describes how the users interacted with the List Reorderer prototype and what improvements can be made

6. Preparing for Implementation

Storycards: Decomposes List Reorderer into small implementable chunks

List Reorderer Storycards

List Reorderer Storycards in Announcements Context 

Functional Specification: The details not expressed in storyboards and wireframes -- or as detailed as we get in agile development

What is the List Reorderer?

The List Reorderer is part of the Reorderer family of components. It is a JavaScript-based user interface component that lets users reorder elements in a list of similar things.
The List Reorderer provides fully keyboard-accessible and mouse-based direction manipulation of list elements on-screen. It is intended to work well with screen magnifiers, low screen resolutions, and linear layouts. The List Reorderer is based on the Reorderer, reusable JavaScript library that enables developers to create accessible drag-and-drop solutions in a variety of contexts.