CommonPrintingDialog

Differences between revisions 19 and 20
Revision 19 as of 2008-05-14 15:16:54
Size: 7954
Editor: p54BEF1F5
Comment:
Revision 20 as of 2008-05-14 18:02:41
Size: 7980
Editor: p54BEF1F5
Comment:
Deletions are marked like this. Additions are marked like this.
Line 83: Line 83:
Discussion places for this project are the [https://lists.linux-foundation.org/mailman/listinfo/printing-architecture printing-architecture mailing list at OpenPrinting] (See especially also its [https://lists.linux-foundation.org/pipermail/printing-architecture/2008/thread.html archives]) and the #openusability IRC channel on Freenode (tkamppeter = Till Kamppeter, guiguru = Peter Sikking, larsu = Lars Uebernickel). Discussion places for this project are the [https://lists.linux-foundation.org/mailman/listinfo/printing-architecture printing-architecture mailing list at OpenPrinting] (See especially also its [https://lists.linux-foundation.org/pipermail/printing-architecture/2008/thread.html archives]) and the #openusability IRC channel on Freenode (tkamppeter = Till Kamppeter, guiguru = Peter Sikking, larsu = Lars Uebernickel, waucka = Alexander Wauck).

Summary

All applications must have the same print dialogs with the same parameters to adjust. All systems (Kde/Gnome...) must manage cups printers in the same way. System printers and parameters and also users parameters must be manageable.

The idea of the Common Printing Dialog designed by OpenUsability was brought in on the [https://www.linux-foundation.org/en/OpenPrinting/MeetingInfo OSDL Printing Summit in April 2006 and work was continued on subsequent Printing Summits].

The Common Printing Dialog is one of the main projects of OpenPrinting at the Linux Foundation, coordinated by Till Kamppeter, manager of OpenPrinting.

Rationale

If a user knows how to print out of application A he will also know how to print from application B. He also will have access to all the features of his printer and of CUPS from all applications.

Use cases

  • LaserStar Electronics in Japan wants to publish Linux/Unix printer drivers for their wide range of printers, beginning from 30-EUR-cheapo inkjets over 256-ink high-end photo-printers, up to 30-pages-per-second color laser office multi-function devices. They want that all users have easy access to the full functionality of their devices from all applications. Their devices support Locked Print (user can only pick up his printout when entering a password which she has send with the job, so that Lea cannot see Lisa's confidential printout), color adjustment (numerical parameters), fax (phone number), ... And they want to place their logo in the printing dialog.

  • Lisa wonders why she can't change the printing settings in Firefox and Thunderbird.
  • Lea from Germany likes the fact that OpenOffice.org's printing dialog offers her so many options, but she wonders why all the options are in English. Furthermore she thinks that it isn't very easy to use.

  • Lara wants to print a photo in gThumb. After that she wants to print some notes in gedit and some labels using gLabels. She dislikes the fact that she has to change the resolution for every task using system-config-printer.
  • Laura has an Epson printer. She wants to know the ink-level and clean the heads, if necessary. She finds out that this can be done using escputil, which is included in Gutenprint. She installs escputil via apt and also finds out about mtink, which has an ugly GTK1-GUI, that doesn't suit to her KDE-Desktop. She would like to have the features of escputil in system-config-printer. She also thinks it would be nice for new users to have a button in every printing dialog for doing these advanced tasks.
  • Lena has installed Adobe Reader from Multiverse. She wonders what a printing command is.
  • Bob and Jane wonder why there are some many names beginning with "L"

Scope

All desktops on all Posix-style operating systems. As a first step we will cover at least KDE and GNOME.

Design

OpenUsability has designed a GUI for the Common Printing dialog during the last two years. It is based on paper prototyping, discussion on Printing Summits, surveys, and the work of usability and user interaction specialists.

It has an all-time visible preview, quick preset buttons (for things like "Draft", "Office document", "Photo", "Booklet", ...), and detailed printing options can be shown or hidden by category ("Paper handling", "Resource saving", "Finishing", ...).

General info about the UI design of the Common Printing Dialog:

The interface between the applications and the dialog will be done via DBUS. It will be written a glue code which replaces/patches the libraries which the applications call to open their original printing dialogs. This glue code calls the Common Printing Dialog via DBUS then. With this glue code we do not need to modify all applications. Making the glue code for KDE/Qt, GNOME/GTK, and OpenOffice.org will switch most applications to the new printing dialog. Note that the newest version of Firefox already uses the GTK printing dialog, so Firefox will also be covered by modifying the libraries for GNOME/GTK applications. Perhaps Thunderbird needs to be modified, too.

Extensions for PPD files are designed to support advanced UI functionality as needed by the drivers (printer manufacturers). First of all, the custom PPD options as described in the documentation of CUPS will be used, to allow numerical parameters, strings, passwords, ... as printing options. There will be also definitions for the quick presets, the categories to which the options belong, and UU-encoded icons and logos. Printer manufacturers and independent driver projects will use this functionality to present the options of their drivers/printers on the dialog.

Implementation

This summer the dialog will be implemented by two Google Summer of Code students, to get finished in time for the feature freeze of Intrepid.

1. [http://code.google.com/soc/2008/linux/appinfo.html?csaid=53E53CD78F134BE9 Lars Uebernickel will implement a DBUS-based interface for the Common Printing Dialog]

2. [http://code.google.com/soc/2008/linux/appinfo.html?csaid=9D65D29842F34550 Alexander Wauck will implement the GUI of the Common Printing Dialog itself]

Jonathan Riddell will be the principal mentor of the two. Co-mentoring will be done by Till Kamppeter and others.

All changes will be applied upstream, as the project is intended for all distributions. One of the first distros featuring it should be Intrepid. The Google Summer of Code ends in the end of August, when Intrepid will have feature freeze.

Currently, we are developing the specs. The first prototype of the dialog and the final specs will be presented to the Japanese printer manufacturers on the OpenPrinting Meeting on the next Linux Foundation Japan Symposium in Tokyo on July 8 by Till Kamppeter and Peter Sikking. Peter Sikking will present the dialog also to the GNOME developers on the GUADEC in Istanbul.

Code

Data preservation and migration

Outstanding issues

BoF agenda and discussion

  • Discussion of requirements and specs
  • Integration in Intrepid: KDE, GNOME, non-KDE/GNOME apps

We need call-in access for Alexander Wauck (USA), Lars Uebernickel (Germany), and Peter Sikking (Germany).

Further discussion

Discussion places for this project are the [https://lists.linux-foundation.org/mailman/listinfo/printing-architecture printing-architecture mailing list at OpenPrinting] (See especially also its [https://lists.linux-foundation.org/pipermail/printing-architecture/2008/thread.html archives]) and the #openusability IRC channel on Freenode (tkamppeter = Till Kamppeter, guiguru = Peter Sikking, larsu = Lars Uebernickel, waucka = Alexander Wauck).

Acknowledgments

We thank HP, Konica Minolta, Epson, and Canon for the financial support of OpenPrinting. We also thank Epson for funding Peter Sikking's travel to Tokyo and Istanbul. We thank Google for funding the student projects.


CategorySpec

CommonPrintingDialog (last edited 2010-05-07 08:24:14 by p5DDB9EB9)