Improving the print dialogs with ideas from the Common Printing Dialog

Registered by Till Kamppeter

In the last years a Common Printing Dialog was proposed as an OpenPrinting project and developemnt ha started, but the dream of having one unique printing dialog provided by the desktop environment (KDE or GNOME) never got turned reality due to lack of funding.

The project did not only propose the one idea of a common dialog, but many small ideas of making print dialogs better and making available all the features of CUPS. As we are not able to finish the global project of a Common Print Dialog we could at least adopt some of the ideas which came up during the project. They can be implemented as independent patches to the dialogs/toolkits and submitted to the upstream projects. For some there are even PPD extensions defined and used by some driver developers, but the extensions do not get made use of in current dialogs.

As this blueprint describes a lot of small ideas it does not require complete implementation in Raring, we could start with the most important ideas, or with the low-hanging fruits, or with which is already supported in existing drivers, ...

To see the ideas and get some code to play around with here is the (now dead) project page of the Common Print Dialog on OpenPrinting:

http://www.linuxfoundation.org/collaborate/workgroups/openprinting/commonprintingdialog

Some of the interesting ideas:

- Translated option/choice names for printer-specific options in the print dialog via "global" (multi-language) PPD files. such PPD files already come with HPLIP and Gutenprint
- Tagging options, so one could for example show all paper-handling or all color-tweaking options
- Widget hints: By adding hints to the PPD (AFAIK Gutenprint already has them) the driver developer could make the dialog represent options with his choice of widget (radio buttons vs. dropdown, input field with spinner vs. slider, input field with "phone book" button for fax numbers, ...)
- Icons delivered by the PPD: Printer manufacturer/model logos, icons for options and choices. Widget hints could then even make certain options shown as icons only.
- Color management: Choose server-side ICC profiles, rendering intents, ...
- Preview embedded in print dialog (LibreOffice has this already)
- All dialogs should provide the CUPS filter (non-printer-specific) options: N-up, reverse order, ...
- ...

Let us discuss what is urgently missing, what are papercuts, what are great improvements, ... and let printing dialogs get better.

Blueprint information

Status:
Not started
Approver:
Sebastien Bacher
Priority:
Low
Drafter:
Till Kamppeter
Direction:
Needs approval
Assignee:
Till Kamppeter
Definition:
Approved
Series goal:
Accepted for raring
Implementation:
Unknown
Milestone target:
milestone icon ubuntu-13.04

Related branches

Sprints

Whiteboard

tkamppeter, 2012-11-09:
Met Marek kasik (GNOME print dialog and printer setup tool maintainer, Red Hat) on the Color Management Hackfest in Brno and talked about the GTK print dialog:

- Globalized PPDs: Implemented

- Translation of common options: At least some implemented.

- Widget hinting: Good idea.

- Icons embedded in PPD: Would clutter the dialog too much, designers would not accept it.

On the same event I also met John Layt (upstream maintainer of Qt print dialog) and we talked about making the Qt dialog even more Qt (cute):

He accepted all feature with the following proposed timeline:

Qt 5.0: Globalized PPDs and dialog-provided translations for common option and choice names.

Qt 5.1: Custom options, widget hints, icons for options and choices both from the PPD and from the dialog for common options, CUPS options (N-up, reverse order, ...), tagging, paper re-inserting Instruction pictures for manual duplex.

Qt 5.2: Preview, color management.

UDS-r:
http://summit.ubuntu.com/uds-r/meeting/21354/desktop-r-improve-print-dialogs/
* printing dialogs are inconsistent and don't provide all functionality
* Common Printing Dialog project never really took off
* as part of the CPD project, some PPD extensions were specified
* does the gtk print dialog respect internationalized PPD options?
  * yes, it does
  * LibreOffice-native dialogs doesn't
* common options and choices could be added to the translations of the print dialog itself (e.g. paper name, input slot)
* LibreOffice uses its own print dialog
  * not translated, doesn't support custom options
  * it can be turned off from Tools>Settings>General (uncheck "Use LibreOffice dialogs" and check "Use experimental features") --> set this as default?

* the gtk2 dialog doesn't support custom options
  * Firefox and Thunderbird are ported to gtk3, so they'll get the new printing dialogs
* gtk print dialogs don't handle environments with 1000s of printers well (no way to filter or search for printers in the list) (I have kinda idea how to have this UI wise, even with enough discoverability)
  * the type ahead feature of GtkListView makes the print dialog crash

* tentative new GNOME print dialog design: https://live.gnome.org/GnomeOS/Design/Whiteboards/Printing (actually that dialog could work if we can have Search in the combobox widget) (on and KDE and QT has no Switches, right?)
* PPD extension: widget hints for custom options (e.g. sliders, special widgets for fax numbers)
* no good implementation of manual duplex in linux print dialogs
  * no standard way to do this with current PPDs / CUPS
  * could be solved with a PPD extension

* print preview: not this cycle because it requires big changes to toolkits and applications
  * better wait for upstreams

(?)

Work Items

Work items:
[till-kamppeter] find out which custom options are supported: POSTPONED
[till-kamppeter] test LibreOffice with the gtk dialog (Switched my laptop and Nexus 7 to use GTK dialog, did first test printouts and works): INPROGRESS
[bjoern-michaelsen] patch LibreOffice to use the gtk dialog by default without enabling experimental features: POSTPONED
[bjoern-michaelsen] check the status of the LibreOffice/gtk dialog integration -- not ready yet, integration is missing some features: DONE
[larsu] find out status of implementation of the new print dialog in GNOME: POSTPONED