GIMP 2.8: understanding UI changes

GIMP 2.8: understanding UI changes

There's quite a lot to tell about GIMP 2.8: better interface, new features, improved tools and so on. Would you like to use it to its full potential?

Instead of working on a full review of GIMP 2.8 forever, how about explaining essential changes in digestible chunks? Let's start with changes in user interface.

Save And Export

You'd probably expect the review of UI changes to start with the single-window mode, but let's break the pattern for once and start with the most controversial change.

Since v2.8 the application exposes the internal difference between saving and exporting and doesn't let you just Ctrl+S your JPEG or PNG file anymore. Why, oh why did the team do it, one might ask...

What Was Before

First of all, GIMP doesn't really have any special modes for different file types. Internally it only deals with capabilities of its own project file format, XCF. When it opens a file that isn't in the native file format, such as JPEG or PNG, it actually creates a new project and imports this file to it.

It might even preprocess the imported data, in case of e.g. FITS. But once it's imported, GIMP handles non-native data as its own, allowing you to add more layers and group them, draw Bezier curves etc.

Still with me?

Now, this is important: many of those original file formats cannot store all the extra data that you created. So when you tried to save it back with v2.6, here is what actually used to happen:

  1. You tell GIMP what destination file format you need.
  2. GIMP activates the required plug-in for storing data in that file format.
  3. The plug-in tells GIMP which information can be stored, which can't and which needs processing (e.g. rolling multiple layers into one) before it can be stored.
  4. GIMP might ask you to specify details relevant to the file format you chose.
  5. Then it saves data.

Sounds boring, eh? Well, the user-visible effect was that every time you saved to a non-XCF file, you had to confirm that you really did mean to lose all the extra data, thank you very much.

In other words, GIMP used to assume that you don't mind accidental loss of unrecoverable project data and bothered you with confirmation dialogs. It was a convoluted logic, but people got used to it.

What The Team Did

In 2006 the team sat down with Peter Sikking of man + machine interface works and came up with a project vision (previously lacking) that basically says:

  • We want GIMP to be a tool used by professionals who work on complex projects.
  • This is our target audience, and it has certain workflows.
  • We want to change GIMP to honor those workflows.

The separation between saving and exporting is the direct result of that decision. In a nutshell, the new logic is:

  1. GIMP is targeted at hi-end use and work with multiple layers, extra channels etc.
  2. Only GIMP's own file format can store all of that reliably (PSD is alien).
  3. Therefore GIMP can only open and save its own files without losing anything essential.
  4. Hence everything else is imported and exported.

The major benefit of this change is that it fully supports the primary use case when you work on a complex multi-layered project and save a flattened representation for sharing and/or review. The additional benefit is that GIMP won't bother you with confirmations for flattening layers while exporting to JPEG or PNG.

Let's observe how it actually works.

The New Primary Workflow

For example, you can work on complex images stored in a private Dropbox folder as XCF and then export to PNG to a public folder a client can read and periodically overwrite the file with just a shortcut and no annoying dialogs.

Here is what it looks like. You created an arbitrary multilayer image, saved as XCF, but haven't exported yet:

When you export for the first time, GIMP asks you for settings just once and never again.

Now that you exported, all subsequent exports will be available via Ctrl+E by default in an non-interruptable manner, and the filename will be appended to the menu command.

You can keep pressing Ctrl+S to save the project file and Ctrl+E whenever you need to export.

The New Secondary Workflow

What about a different workflow, when you open a single-layered file such as JPEG or PNG, quickly edit it and want to just resave it to the original file?

GIMP 2.8 supports this workflow too. While it still imports rather than opens non-project files, it understands the kind of image you opened, so instead of “Export to %filename%” you get “Overwrite %filename%", without a shortcut:

Choosing that command will save your changes back to the original file, and, once again, it will not warn you about multiple layers, if any are present.

If you choose to save to XCF, GIMP will understand that as saving the state of the image to a new project file and will stop caring about that source image you “imported”. The connection to the original file will be gone:

And if you export to e.g. TIFF, it will be “Export to %filename%” again.

Hate The Change? Relieve The Pain

What if you absolutely hate this new behavior and will never or rarely need saving XCF? You can configure GIMP to do that.

Use Edit / Keyboard Shortcuts menu command to open the shortcuts configuration dialog, then type in “over" in the search filter:

Click on the cell that says “Disabled" for overwriting. You will be asked to confirm that you want to remove Ctrl+S shortcut mapping from the Save command.

The new assignment will be remembered:

Now you can try opening an image file:

Just as you've grown to do, if you don't mind the menu item to be called differently. There will be just two behavior changes to get used to.

First of all, when you close that image, you will be warned that you didn't save the whole state (you imported that image, remember?)

But if your images are small (e.g. screenshots), you don't have to bother closing them all the time: the new single window mode is a major relief when you have many windows open. You can just close all at once periodically.

(Personally, I rarely quit GIMP and often find myself closing images I edited a week or two ago. I only ever quit it to rebuild a new revision and test something, and I only have 2GB of RAM while running GNOME 3.)

Finally, when you create a new image from scratch and just want to save to JPEG or PNG, you will still have to export (Ctrl+E) first.

Why Couldn't They Just Add A Checkbox?

Isn't it possible to just add a checkbox in the configuration dialog somewhere? It is.

Would it be a good idea? No, it would be horrible. Let's have some reasoning again.

  1. In general, options complicate code and make it less manageable. Every option virtually increases amount of cases where application can fail. A snowball can soon become an avalanche.
  2. Certain planned changes such as better native CMYK support presume that color separation is done a special mode for exporting. Maintaining a related behavior switch, when you have such a feature, would be hell.
  3. Behavior options make documentation convoluted and lacking consistence.

It's quite possible that none of that bothers you as a user. It's a developer's issue, no? Well, consider this: after you've read the product vision, do you feel like you are part of it, or maybe you only used GIMP, because something like Pinta wasn't around?

It's one hell of a question. People still take offence at this change, and there is probably no cure for that other than repeating again and again: the team doesn't hate you, they just refocused on a group of users for whom this makes a lot of sense.

Single-Window Mode

There isn't really much to say about it:

  • The toggle is here: Windows / Single-Window Mode.
  • The forced combined elements are image windows and the toolbox. You can still float dockable dialogs and move them to a second display.
  • Image windows are grouped in tabs which have thumbnails instead of file names (sadly, not configurable).
  • You can pick a layer in one image, drag it and drop onto a thumbnail of another image's window to append that layer.

Tabs in single-window mode

Here is a dirty trick you probably would never figure other than accidentally. GIMP merges docks to the single-window mode based on their position in relation to the main window. So if you want the toolbar to the right, do the castling (as in chess):

Castling of windows

Re-enabling the single-window mode dock the toolbar to the right:

Toolbox docked to the right

If you want to temporarily hide all dockable dialogs in the toolbox, the Tab shortcut is still available

The much anticipated optional single-window mode is actually side A of the whole LP. The B side hasn't yet been delivered in a form of a specification, and the dedicated developer is mostly absent these days anyway.

So things like being able to view multiple images at once in the single-window mode or even sync navigation in them will hopefully happen later. Even so, the change was greeted with mostly cheers and few muted boos.

Multi-Column Dock Windows

Since v2.8 you can join dockable dialogs horizontally. You can probably think of many uses, but the one I have in mind is when you have a really complex project with tons of layers, and you need to see many of them at once.

Image courtesy by Alexia Death

All you need to do is just pick a dockable dialog and drag it to another dockable dialog till you see a highlighted vertical line that marks the connection.

The Slider widget

In the past GIMP abused a combination of a label and a slider, and sometimes even a spinbox widget. And since no label was equal to another in the tools' options dialog, widgets were misaligned. What's even worse, that bloated min width of the dialog. As if it wasn't bad enough, the default slider widget wasn't easy to use with a Wacom stylus.

So Michael Natterer implemented a new experimental widget based on a brainstorming idea by Peter Sikking. The new widget that combines all those three widgets. The label was placed inside the slider area, and the slider area was made more prominent.

The size of a change step depends on the position of the mouse / stylus pointer:

Position of pointers

The widget has several deficiencies such as lack of a logarithmic scale. The team is in agreement that the tools' options have to be redone to become more compact anyway, so the next 10 weeks an intern will be working with Peter Sikking on a concept of a new widget set.

Simple Math Expressions In Size Entries

Sometimes you need to adjust an image just a little bit to make it fit an area. Or you know you need to resize it to a certain percentage of the original size. Whatever the reason, you are lazy to calculate the resulted image size and you'd rather have GIMP work it out for you.

The new version of GIMP allows you using arbitrary units is size entry boxes. Let's say you are working in pixels and you need to reduce the width by 20%. Easy! Just type this in. Pressing Enter or Tab will complete the computation:

Math expressions

You can mix any units listed in the Edit / Units dialog: pixels, inches, percents. GIMP will take care of conversions for you.

This is probably the only UI change that nobody really hates.

Interestingly enough, the size entry widget was rewritten during Google Summer Of Code 2011 and is likely to become part of v2.10. On a user-visible level (and that's not all there is to it) the widget has unit selection inside the entry field.

Our next stop will be working with layers in GIMP 2.8.

Was it useful? There's more:

217 Responses. Comments closed for this entry.

  1. Unfortunately, people don’t “get” the real point behind libre software, Alexandre. Actually, neither did I until I wrapped my head around where Richard Stallman was coming from. Libre software is *free* (freedom/liberty/do-as-you-wish-within-GPL) for *anyone* - developer or end-user or business-owner or anyone-in-between to make that software do what they want, what they need:

    * The freedom to run the program, for any purpose (freedom 0).
    * The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
    * The freedom to redistribute copies so you can help your neighbour (freedom 2).
    * The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

    The GIMP team - the originators and authors of this software share in these freedoms.

    For those of us who rankle at the newest version not respecting our workflow: bottom line, we need to refer to those four freedoms. We *can* have those “respect my workflow” expectations of proprietary software (which, generally speaking, respects our workflow infinitely less, but we can still expect it, I suppose). But this is libre software, libre for everyone, including the developers themselves.

    Not an easy (or particularly happy) concept to get our heads around, but definitely worth doing for the sake of libre computing for everyone.

  2. @alexandre,

    Please read my comment more carefully before calling me a know it all, I quoted the “GIMP’s developers *are* continuing to develop this for all of us - not just a targeted group of people” from Robyn’s comment before commenting on it myself. 

    Mac’s point is perhaps not the best example, I’m not aware of such tools but my personal example was that I use gimp to touch up photos and do complex rework.  I have never found an editor that does both and having to get used to two different editors seems unneccasry

    I don’t really care what you call gimp, free/opensource/libre, the point is that a decision was made that makes some of us that use the tool annoyed, I really don’t give a damn what the social justification is (taking back ownership of our computers, etc etc), the point is that myself and a number of other people are unhappy about the decision and feel its a bad decision for the direction gimp is taking as it is becoming exclusive.  We are as free to express that opinion, as you to tell us you feel otherwise but would you respect your user base if they all left without telling you why?  Surely its better for us to voice our concerns?  The flipside of open source software is the chance we all have to express our opinions to people whose motivation is to make a good product rather than have primarily financial motivation.  They are of course free to continue as they want.

    Personally, I am using that opportunity to express my frustration.

  3. @Robyn

    I understand those freedoms, but for someone like a professional photographer (for example), is it realistic to expect him/her to lear how to program and how GIMP is made so he/she can have it working as wanted?

    After all, as the saying goes, it’s better to teach someone how to fish than to give them a fish. In the case of open/free/libre (or whatever sounds “cooler”) software, the programmers are offering “fish”, expecting that they also know how to fish.

    In my case, I just don’t have the time to dedicate to make GIMP work as I want, so I am waiting for the programmers to make the change to the strange way the save option now works.

  4. Looking at the “product vision” and the “user scenarios”, I see only reference to a “save” action, some along with a “set color profile& compression options” or a “file format, set color profile& compression options”.

    Doesn’t this new way of saving go against those “user scenarios”?

  5. There is already a fork in the road… someone has created an alternative approach to saving:

    Given that GIMP plugins are largely written in Python, consider this another plugin to improve your productivity… as opposed to a fork, perhaps (takes the sting out of it?)

    I wonder if business people ever see more than just their own objectives. Which is why corporations pollute and tradies (here in Oz) often drive smoking vehicles (ah, she’ll be right… we’re all battlers, whadaya reckon?) and people consider a social conscience a luxury and an afterthought. This is about the sustainability of *your* industry - libre software is! - and not just about grabbing a free tool to get the job done. I’m learning Python because I also want to contribute more than just platitudes: ownership of your system means knowing everything about it. And learning is fun and easy:

    Come on in, the water’s fine. :)

    Let’s all be part of the solution!!

  6. @Robyn

    I think someone had already posted that solution, but thanks anyway.

    “This is about the sustainability of *your* industry - libre software is! - and not just about grabbing a free tool to get the job done.”

    I don’t understand that, could you please rephrase it? Thanks in advance.

    “ownership of your system means knowing everything about it. And learning is fun and easy”

    If only I had the time…

    Unfortunately, I have to spend most of my time working to get money so I can pay the bills.

    On a perfect world I would spend all my time learning, that’s one of the few things we can do all our life, and programming is one of my favourites past times, besides being what I do everyday at work.

    PS: I never learned Python (I don’t even remember looking at it), but it shouldn’t be harder than assembly.

  7. To explain:
    “This is about the sustainability of *your* industry - libre software is! - and not just about grabbing a free tool to get the job done.”

    In today’s economy, we’re all battlers. We struggle to keep head above water. If we battle on our own, our chances of survival in this economy are slim. If we join together - which is what libre software is all about: community - we vastly improve our chances. The key to success is community: it’s not just a social nicety, it’s an essential part of what makes winning possible. Your customers, your contacts, your resources: all come from this community.

    You use software, including software someone spend days and months and years writing and - incredibly - is offering it for the community to use for free. Not only that, but they are giving all of us the right to *change* that software if it doesn’t suit our needs.

    What more can people ask for? Well, for it to suit *their needs, their specific needs. And there we enter into a grey area: the developers’ ideas and ideas of a lot of users don’t exactly mesh. I’ve seen this happen with proprietary software all the time. Interestingly, there’s hardly ever any complaining, (except, recently and very notably, with Microsoft’s massive bungle Win8): people just accept that the developers’ word is final. But in our freely sharing community, we don’t seem to feel the same way.

    We need to take ownership of what is given us: freedom. There are those of us who *do* code. Let’s make a point of supporting them with suggestions, donations, ideas and most importantly: ataboys for running with the ball. I’ve come to terms with the GIMP developers’ decisions… it is their freedom to develop as they see fit. And they have given us the freedom to make whatever changes we see fit.

    I’m happy to support GIMP and its development, and also those who tailor this incredible product to meet our workflows.

    Does that sound reasonable?

  8. @Robyn

    It sounds reasonable, but I still don’t understand what’s the connection with “sustainability of *your* industry”.

    For many (if not most) professionals and companies, investing in the time to make their own changes is worse than investing money to buy a non-libre alternative.

    “Let’s make a point of supporting them with suggestions, donations, ideas and most importantly: ataboys for running with the ball.”

    Well, I guess these suggestions were not very welcome…

    PS: I just had an example of how things are under proprietary code conditions (not that I needed it). In the company where I work we had to update the accounting and human resources software, and the company that made it decided to change the HR software, breaking almost all of the workflows people were used to, and, in some cases, making it impossible for people to do things that they were used to do in the old version. Alternatives to this? None. If it was libre (I hate using this word in English, it sounds fake) software we at least would have the alternative of having someone looking at the code and trying to recover some of the lost usability.

  9. “Alternatives to this? None. If it was libre (I hate using this word in English, it sounds fake) software we at least would have the alternative of having someone looking at the code and trying to recover some of the lost usability.”
    Well, I speak French, so ‘libre’/‘free’ makes sense to me. ‘Free’ is too often associated by the proprietary-proponents as ‘no-cost’, with the implication that open-source/free software users are simply cheapskates that don’t want to pay for products. They can’t even begin to conceive of the notion that because you also *have* the code, you can tailor it to your workflow… not an option with closed-source software. However, this mindset also afflicts those who do use FOSS software: they couldn’t / wouldn’t dream of “making it theirs”, in the Richard Stallman sense.

    I’m writing a asset-management solution in VBA (search/add/edit-device-status via forms, pick-lists and filters) - I’m self-taught: my profession is nursing. As the data storage mechanism is flatfile (spreadsheets) I’m porting this to Gambas/SQLite so I can keep a asset history. My biggest challenge is finding someone interested enough to help maintain the code both in VBA and Gambas: no one wants to code. Or learn how to. It’s not that hard: if I can, seriously *anyone* can.

    I’m 60 but work full-time, so all this is done after-hours, when most people sit and watch TV (focus on being entertained). My work has made my portfolio as asset manager in my department (post-op recovery) infinitely easier. I’ve offered this solution to the operating theatres… they are interested, but not in code maintenance.
    So, no sense of community, no sustainability, just like your closed-source HR product.

    I use the term ‘sustainability’ because software has become an integral part of our professional lives no matter which industry we are in, and understanding and ‘growing’ our own software does affect our work far more than we are willing to admit… sometimes, to a point where we’ve grown irrevocably dependent on it. But, upon reflection, perhaps ‘sustain’ is the wrong word.

    WRT “Let’s make a point of supporting them with suggestions, donations, ideas and most importantly: ataboys for running with the ball” I was also referring to those who modify/add to existing code, such as Akkana. The original developers have their own vision for what they’d like to see their software do: this may or may not mesh with ours. As they grow their vision, it most likely will not mirror ours. However, we do have several options only *because* this is FOSS, some of which may seem unacceptable to us at first, such as making our own modifications to the code and recompiling - the learning curve to being able to accomplish that is more than we want to invest for what was once a simple task. However, this is where Community can step in to provide a solution. And it was with reference to that option I made my remark.

  10. Interesting to read that there actually was some kind of reasoning behind the decision to wreck the “Save as” behaviour. I thought it was just a matter of “Ooops, there’s still something in Gimp that behaves as in normal programs, we must change it immediately”.

  11. This is like telling us that we shouldn’t use a sedan to go somewhere alone because it’s made to carry four people, and not just one.
    Quite simply, I use gimp for a lot of different things because it doesn’t make sense to run three or four different editors, often simultaneously, because one is “just too powerful” for the images I just need to airbrush out a stray hair on or crop, when I need that same editor to do a major edit to another image in the same set.  If I’m doing a two hour edit, I will keep the xcf, but I don’t want a bunch of space-hogging xcfs of the files I did a ten second edit of; I still have the originals and it will take me less time to recreate the crop or two heal strokes than I spend clicking past idiotic monolog boxes now.

  12. @JB

    That description absolutely nails the problem.  I like having spare seats in my car, I don’t like being told I have to buy another car because most of the time I have no passengers.

    History is full of groups & companies that make bad decisions like this and because there is no alternative to their product they refuse to change or compromise.  When an alternative comes along they sink almost immediately.  It would be a huge shame if most people used gimp because there wasn’t a comparably alternative rather than because they loved it.

  13. i noticed when the little woman rearranged the silverware drawer.  i was miserable.  still am. i do it wrong every time.  now if there was a good demonstrable reason for the change then lump it and learn it.  but if there isn’t, try not to let it irritate you forever.  easier said than done.  when teaching gimp the most asked question is “why”.  i don’t have a good answer.  lately i do about 2 or 3 hundred photos a day.  every extra step or deviation from long learned normal’s multiplies its effects hundreds of times.  some photos are simple zoned levels, lens distortion correction or color fixes. but maybe 10 percent are more complex edits.  a few tax all the capabilities of Gimp.  but the point is there isn’t much else out that that can do all that in one program.  photo shop is fine but is a pain to reuse every time you upgrade the computer.  i like the way (most of the ways) gimp thinks.  i can always figure out how to do something new. the late 2.8 versions are wonderful. i find a lot of the plugins really useful. but now after thousands of edits i still cant get used to export or the new silverware drawer.  they are just little irritations.  the difference is ... i can complain about Gimp.

  14. Alexandre Prokoudine is obviously clever and passionate and believes he’s doing the right thing by forcing us to work always through a format absolutely nothing else uses just because it’s optimised (by definition) for GIMP - but he’s inadvertently and significantly damaged the relationship and level of trust between GIMP and its users.  He has, in effect, told all STUPID people who only use GIMP for SIMPLE IMAGES that they annoy him with their stupid questions and comments and they should find some other product to use.  Believe me, they will

  15. Alexandre Prokoudine 14 June 2013 at 12:25 pm

    @Peter Bayley, It’s fairly difficult to damage relationship with people who do not even bother to check their premises before posting offensive remarks. I didn’t implement this feature. Nor did I handcuff you and attempt to force you to always export instead of saving.

    I couldn’t possibly comment on the “stupid people who annoy” remark, but the level of counterarguments is far below the “worth answering” mark, while the level of hysterics is probably too high. I’m afraid that you will have to enjoy your freedom of speech elsewhere. The thread is closed.

  16. Gimp is one of my favorite tools to use when doing website pictures.

  17. I truly agree with Rajagra here, he has a point to make. I still doubt, why would they make such a change, which would simply make one thing difficult. Look at the previous versions, those were somewhat less complex. This one has added a new level here.
    Hope they pull back a few updates.

  18.  < 1 2 3