LGM adjustment layers

From GIMP GUI Redesign
Revision as of 09:37, 25 April 2007 by Guiguru (talk)
Jump to: navigation, search

go back to LGM issues

out point

no, we can do it as powerful and more direct with GEGL

argumentation chain

  • requests for adjustment layers, because PS has it, powerful, can always readjust later
  • during our evaluation we found that the readjust later aspects are naturally covered by GEGL: example: level, curves, noise , blur; then show redo curves for tonality, and experiment with the order of noise and blur
  • all on a single layer: natural, and powerful
  • architectural side: concept of layers can be explained in one sentence; we see that with the introduction of adjustment layers, that explanation explodes into a full chapter
  • that makes it less powerful, to much thinking involved with reaching a artistic goal.

Fragments of Analysis

GEGL

For interaction architects, the integration of the GEGL is on a conceptional level a big step forward, by enabling a much more natural and direct interaction, that is closer to the way that our envisioned GIMP users are able to think about manipulating images.

Also during the expert evaluation, it happened dozens of times that an interaction problem was found, and a simple ‘ah, GEGL will solve that’ was enough to deal with it.

But all this goodness and greatness mentioned above is delivered through the secondary effects of introducing GEGL, not from just shoehorning GEGL under the bonnet. Central to all this is the display and manipulation of the GEGL operations list for the current layer.

The guiding principle for the operations list is that it must be very straightforward to review, readjust, delete, reorder, and drag + drop operations, and even merge operations of identical type. And this according to a handful of very simple rules one has to learn. This will unlock the potential of GEGL on a user level.

Another guiding principle is that the user representation of GEGL operations is a linear one (a list) although the internal GEGL representation is a tree. The most important reason for doing this is simplicity, keepin the game rules simple. Also it matches the user experience of building up the operations list as a linear process in time, where all the list oprations mentioned above are then ‘cheating history’ or ‘history repeated’, for duplicating operations.

The operations list will be as elematary to using GIMP as the layer stack. By default, both will have to be displayed, as the current layer(s) form the context for the shown operations.

layers

  • the overriding design principle here is that the whole concept of layers can be explained with one sentence: ‘layers are just transparent sheets, stacked to form the image’;
  • adjustment layers are a hijack of the layers concept that was needed in the 1990s to get things done and to be re-adjustable later on; with GEGl there is no need for it anymore, and GIMP can miss like a toothache: the complication, the unnatural way of working and the fact that the guiding principle above goes to hell;
  • layer modes: we understand the power, but there is also something horribly wrong with it; the best a user can do is scroll through the list of modes and see what happens, and that is not being in control of your tool; any workflow that includes a layer mode for rather straightforward goals indicates an interaction problem we have to solve;
  • grouping of consecutive layers: we support it; we see for groups of groups an interface display problem, the indenting for a level should not eat too much horizontal space;