Difference between revisions of "Single-window mode specification"

From GIMP GUI Redesign
Jump to: navigation, search
(expression)
(expression)
Line 62: Line 62:
 
!
 
!
 
! concentrating on a single view
 
! concentrating on a single view
 +
! parallel views (same image)
 
! working side-by-side
 
! working side-by-side
 
|-  
 
|-  
 
! flat + clean interface
 
! flat + clean interface
 
|  
 
|  
 +
|
 
|
 
|
 
|-
 
|-
 
! free-form working
 
! free-form working
|  
+
| illogical combination
 +
|
 
|
 
|
 
|}
 
|}

Revision as of 12:37, 9 May 2011

introduction

This is the specification for the single-window mode, in addition to the multi-window one.

analysis + design goals

Designing the single-window mode (swm) interaction solution boils down to the following tasks:

  1. understanding the user needs behind the huge request for single-window and base the overall design on it;
  2. design the switching that controls which is the current active file under swm;
  3. design the opening and closing of GIMP and image files under swm;
  4. design working side-by-side with several files under swm;
  5. redesign docking and tearing off of dockable dialogs, and whole columns of them.

understanding single-window

The interest from (potential and ex-) GIMP users in single-window is huge, literally 100 time higher than any other GIMP topic. Absorbing and classifying all the input, we define the following user needs that drive this interest:

single application instance
This is the user need to see the (usually single) GIMP application instance that is running represented as a single entity. e.g. one item in the ‘taskbar,’ only one menubar (not one for every open file).
stop fighting window managers
Users are fed up with GIMP dialogs getting lost under document windows; with the ‘taskbar’ being stuffed with non-entities; with having to raise several windows and dialogs separately when GIMP becomes the foreground application; with how window minimisation works. This has a lot to do with recalcitrant window managers and window manager hint translation on several platforms. All this cannot be ‘repaired’ by patching all these window managers and gtk glue code to non-linux platforms. Users see the magic bullet in stop fighting and going single-window.
single working plane
This is the user need for a continuous work surface where everything is GIMP, and only GIMP, in order to concentrate on their work. It also is the need for an end to every GIMP window, toolbox and dialog floating around in the desktop window stack individually.

Reminder: the world is still a 50-50 place: 50% of users want to keep the current multi-window way, and the other 50% is looking forward to a single-window interface.

Putting all this together, a single-window interface aims to fulfil the user need of 50% of GIMP users. We also feel that for each of these users, the user needs are slightly different: they consist of a linear combination of the three user needs outlined above.

expression

While further investigating the essence of single-window, we hit upon two orthogonal dimensions of expression of above user needs.

The first dimension is a scale with at one end the need for a flat + clean interface and on the other end the need for free-form working. These are defined as:

flat + clean interface
This is a purist form of the single working plane. All the elements that form the plane—toolbox, dockables, menubar, status bar and a ‘working space’ for working on the file(s)—are non-overlapping and with no gaps between them. As a result of this everything is laid out in rows and columns that pad themselves out automatically, and the working space is simply defined as the consecutive area that is left over on the working plane. Another result is that no matter how users configure their flat + clean interface, it is nigh impossible to create a mess. Everything stays neat.
free-form working
Here users need certain single window traits, but not all:
  • they need the single working plane to block out all other applications on the desktop, like an opaque garden fence blocks the view to the neighbours;
  • they need the single application instance;
  • they also need that the toolbox and dockables are solidly located on the edges of the working plane, are always on top of other applications when GIMP is the active application, and cannot overlap with the GIMP files that are open;
  • however, they find flat + clean too rigid, they need to be able to place any number of open files anywhere, any size they like, overlapping within the working space. Setting this up ‘just right’ needs to be a low amount of work.
Free-form means that—compared to flat + clean—extra measures need to be build in to manage a messy working space that can be so easily created. This includes a secondary representation of each open file, which lets users switch to any of them; measures to temporarily hide open files; measures to concentrate on one (or more) files for a while.

After presenting a flat + clean interface as the one and only form of single-window interface, the feedback told us that there seems to be an opposite free-form working need.

The second dimension of expression of user needs is at one end the need for concentrating on a single view and on the other end the need for working side-by-side. These are defined as:

concentrating on a single view
Although multiple files can be open, the whole working plane is occupied by a single view of the current active file. There is only a minimal, non-interfering representation of the other open files, which lets users switch to any of them (of course this is fast and direct to operate, because GIMP product vision demands it).
working side-by-side
There are different forms of of side-by-side working:
  • sourcing material—inspiration, reference, graphics, layers, in the future: operations/treatments—from other files while working on one or more images;
  • synchronised working on a set of files, can be many, 15+, keeping them artistically together as a set;
  • parallel views on the same file: different layer composition, zoom and/or position;
  • seeing the same: synchronised zooming and panning of two or more files.
Working side-by-side asks for dividing up the working space into several ‘containers,’ to show each of the files (or parallel views on a file). There can be any number of these containers (within practical limits). The relative sizes and layout they need to appear in is highly variable, setting this up ‘just right’ needs to be a low amount of work. At any given time only one container can be the active image.

Discussing single-window always implied concentrating on a single view. But then in every discussion the concrete need for working side-by-side comes up.

The two dimensions can be multiplied out in the following matrix:

concentrating on a single view parallel views (same image) working side-by-side
flat + clean interface
free-form working illogical combination

switching the current image

opening and closing of files

working side-by-side

docking and tearing off