Rethinking GIMP Tool Options

From GIMP GUI Redesign
Revision as of 08:37, 16 July 2012 by Foser (talk) (add user scenarios)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Introduction

Tool Options have grown out of the need for having a greater control over the active tools behaviour. However, there has not been a clear guideline of how this interaction is supposed to take place. Examples of what this project addresses are: interaction with the live canvas object; widget lay-out and design; working with setups.

Vision

The vision during the design process is based on GIMP's product vision combined with the specific needs during interaction with the tool options. The vision follows below:

  • Tools in GIMP enable hands-on manipulation of the compostion, direct on the canvas.
  • The tool options enable the fine and precise configurations that make the tool fit the job.
  • Configuring tool parameters can happen anywhere from almost continuously during a work session - to once in a user's lifetime.
  • Changing tool set-ups will never break user’s workflows.

Functionality

A first step is to assess the current state of the GIMP tool options. Given the wide range of functionality provided by the tool options it was chosen to break down the tool options to their smallest building blocks and work from there.

On a toolkit level the smallest building blocks are the visual widgets that, put together, form a graphical user interface, however in the decomposition of GIMP tool options there were also larger functional blocks of widgets and adapted widgets with specific functionality. The full break down can be found in Tool Options widgets.

User Scenarios

Scenario 1 - tool selection & adaptation

  • pick a toolbox tool
  • set options parameters for the task at hand
  • start working with the tool on the canvas

Scenario 2 - tool setups

  • work on the canvas
  • use tool required for the task
  • change the parameters of the tool options, creating a new setup
  • work with the new setup
  • change back to the previous set-up at will
  • continue work on the canvas
  • switch between setups randomly and create new ones as needed

Scenario 3 - tweaking tools

  • work on the canvas
  • refine the tool options for the task to meet requirements
    • swift
    • exact
  • continue work on canvas
  • repeat as often as needed

Scenario 4 - tool options interaction with canvas

  • select a tool to work on the canvas on a live canvas object
  • adjust tool options as needed
    • change immediately reflected on canvas
  • alter canvas object
    • change immediatly reflected in the options
  • randomly repeat as needed

Scenario 5 - setup interactions between documents

  • work on document1 and document2 with specific tool setups
  • open document3
  • create new tool setups as needed for document3
  • switch back to document1 or document2
  • return to specified tool setups of document1 and document2