Export dialog workgroup

From GIMP GUI Redesign
Revision as of 12:39, 13 October 2015 by Jehan (talk) (Proposal of New Feature: modify image before export)
Jump to: navigation, search


Feature request: https://bugzilla.gnome.org/show_bug.cgi?id=754452

Summary

Save and export used to be considered the same action. This has been changed as of GIMP 2.8 to be considered as 2 distinct concepts, based on the Save + Export specification.

Nevertheless apart from label changes and programmatic restrictions of file types, the save and export dialog were still basically the same things. Actually they even used the actual same code under the hood! This explains probably partially why many users were puzzled: there don't seem to be a conceptual difference from the GUI point of view. The current workgroup proposes to continue the work started from the save + export spec.

Use Cases

  • Export a work in progress in higher quality possible in a given filetype.
  • Export a work in progress in as small a file as possible without too much quality loss for sharing over the networks (emails).
  • Export for the web.
  • Change the exported image's color profile without touching the work color profile (for instance sRGB export while original is in AdobeRGB).
  • Export and make some changes (filters, crop, etc.) only on the exported file without touching the original.

Current UI Analysis

The current UI creates a common Gtk+ File chooser dialog with a preview (of selected file, not of the file to export) and a file type additional list. When clicking "Export", optional option dialog(s) can popup with various features. See for instance the steps for exporting a PNG:

Screenshot-current-export-dialog.jpg

When exporting the environment variable GIMP_INTERACTIVE_EXPORT, one may even get more intermediary dialogs which have been deprecated (but it resulted into feature loss too). The Save + Export spec was saying rightfully:

Nobody likes clicking their way through export options dialogs. So we will put the brakes on them:
* there shall be one export options dialog:
   * export conversion information that needs no user choices shall be omitted;
   * the generic export choices and the file-type specific export choices shall be integrated into one dialog; 
[...]

Proposal of Change: integrate export options

Couldn't we integrate the export options into the main export dialog, rather than popping up various dialogs? When the file name extension is changed (or if a file type is selected in the list), we could automatically update the export options to the right file type.

Note: it will involve a change of the API for file type handling.

Proposal of New Feature: modify image before export

Sometimes one wants to change an image only for some export cases without touching the original file.

For instance if you want to resize your export (for web upload, etc.) without touching the high resolution of your work in progress, a current common procedure is to resize your work, export, then cancel the resize. Often you want to apply a sharpen filter after your resizing, which involves even more steps to not forget to cancel (case which may result in data loss).

Often called "Save for Web" on other software, I believe these capabilities could belong to the normal Export dialog.

The following features have been discussed as good candidates:

resizing
it has also been wondered if "sharpening" should be part of it and in which form (detailed UI? Just a checkbox?).
change color profile
cropping
a good example was given by pippin: "cropping an area is also for uses like making assets for ui toolkit themes".
various filters/GEGL ops
what allowing allowing any ops as an additional GEGL tree above the main image's tree?
save layers individually?
precision
"As exporting to a lower precision is likely to invoke the dither dialog, it would be nice to be able to set global dither preferences" (Elle)
metadata
many file formats have support for metadata, which could be handled generically.

It would be also very interesting to propose preset saving. This could allow to export only for a given preset (low res for web, high res for print, etc.) but also to export all presets at once (in the UI design example by pippin for instance).

Below a proposed wireframe by pippin: Export-wireframe-pippin.png

Another proposition by gez was to have a concept of export views in GIMP allowing to change the export features directly in GIMP. While the idea is interested, I (Jehan) personally think this would make GIMP UI much more complicated, and the feature less discoverable.

Note also a previous discussion on dev mailing list.

Proposal of Change: less place for export path

Pippin's image also raise another interesting point: should the export path be given that much place (basically using GTK+ file chooser)? A directory chooser could be raised by clicking on the path, instead of always been shown as if it was the most important part of export. The importance could be shift to the export options.

Proposal of New Feature: export preview

Currently export preview can happen as a hack from some file type plugins (like jpg which creates a temporary "preview" layer). This is not a core feature. This should be a core feature. The preview should show exactly what you would get if you opened the exported file (allowing to check for image quality but also feature changes as cropped images, etc.).

This could either be a preview in the export dialog as Pippin's wireframe or a preview directly on-canvas, like we have with GEGL ops (I am in favor to on-canvas previews).