Single-window mode specification

From GIMP GUI Redesign
Revision as of 13:05, 5 May 2011 by Skate (talk) (expression)
Jump to: navigation, search

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. And with the ‘taskbar’ being stuffed with non-entities. This has a lot to do with recalcitrant window managers and application–window manager communication 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 one 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, canvas 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 ‘work canvas’ 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

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.

What is free form working?

First let us consider the working plane. When working freeform, the single widow is the working plane.

The tools, dialogues, menus etc. that one uses to work, are available, in the configuration that has been selected, (or as shipped). They do not overlap. The space left over is available to work in. Let’s call this the working space.

It is in this space that we can work in a flat and clean way or freeform way. It can’t be both, or a scale between the two for reasons we will see.

Single window working, does not mean only working on a single document, image or composition. We may have several open at the same time, stacked on the working plane.

We are emulating working with lots of different windows- allowing a more organic way of working: but these aren’t instances of the application. These are just documents within the application.

So, we can only work freeform when more than one document is open.

As soon as more than one doc is open and we are in freeform:

open documents are not tabbed

open documents are kept open but stacked.

they can be repositioned within the working space (not the entire working plane)

the one that is currently being worked on is always on the top of the pile.

the other documents are stacked beneath in order of:

when opened (latest last)

when active (clicked on) (latest last)

So it surely stands to reason that each individual document can be minimised, closed or maximised.

when minimised: they need to go to a repository, where we can get to them - organically again- and re-instate them in our working space.

when one is maximised we are actually back in a quasi flat and clean situation. and the other open docs, where are they?

Hmm so here we have a contradiction.

So what if free-from working was a mode for working side by side only....

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

concentrating on a single image
Although multiple files can be open, the whole working plane is occupied by 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
concentrating on a single image working side-by-side
flat + clean interface
free-form working

switching the current image

opening and closing of files

working side-by-side

docking and tearing off