Difference between revisions of "Printerpullpages"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Update for printing dialog Mockups and Screenshots)
(Added OOoCon 2010 presentation files Online Discussion, Press Coverage and Comments)
 
(43 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
{| align="right"
 
{| align="right"
 
  | __TOC__
 
  | __TOC__
|}
 
{| style="border-color:darkgray; border-style:solid; border-width:thin; padding:5px; background:whitesmoke"
 
|-
 
| Please note that the wiki page is under heavy development. It may be helpful to check back regularly... ''Thanks for you patience!''
 
 
|}
 
|}
 
  
 
[[Image:2009-06-14 printerpullpages logo.png|center]]
 
[[Image:2009-06-14 printerpullpages logo.png|center]]
Line 12: Line 7:
 
== Introduction ==
 
== Introduction ==
  
=== Summary ===
+
=== Summary ===
  
A new printing UI should give us better performance, more ease of use and overall more customer satisfaction. New features like the instant preview in a print dialog as well as unified N-Up printing for all applications will bring OOo's print experience more up to current standards. Additionally system integration can benefit by making use of native print dialogs (for which the MacOSX implementation will be the prime example). The development is done in the [[ChildWorkSpace|CWS]] '''printerpullpages'''.
+
A new printing UI should give us better performance, more ease of use and overall more customer satisfaction. New features like the instant preview in a print dialog as well as unified N-Up printing for all applications will bring OOo's print experience more up to current standards. Additionally system integration can benefit by making use of native print dialogs (for which the MacOSX implementation will be the prime example). The development is done in the [[ChildWorkSpace|CWS]] '''printerpullpages'''.  
  
Comments, questions or feedback is welcomed on the [mailto:ui@ux.openoffice.org ui@ux.openoffice.org] mailing list.
+
Comments, questions or feedback is welcomed on the [mailto:ui@ux.openoffice.org ui@ux.openoffice.org] mailing list.  
  
 +
<br> The team working on the feature:
  
The team working on the feature:
+
{| cellspacing="0" cellpadding="4" border="2" style="border: 1px solid rgb(204, 204, 204); margin: 1em 1em 1em 0pt; border-collapse: collapse;"
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse"
+
 
|-
 
|-
| bgcolor="#dddddd" | '''Role''' || bgcolor="#dddddd" | '''Name''' || bgcolor="#dddddd" | '''E-Mail Address'''
+
| bgcolor="#dddddd" | '''Role'''  
 +
| bgcolor="#dddddd" | '''Name'''  
 +
| bgcolor="#dddddd" | '''E-Mail Address'''
 
|-
 
|-
| '''I-Team Lead'''
+
| '''I-Team Lead'''  
| Philipp Lohmann (PL)
+
| Philipp Lohmann (PL)  
 
| Philipp.Lohmann@Sun.COM
 
| Philipp.Lohmann@Sun.COM
 
|-
 
|-
| '''Developer'''
+
| '''Developer'''  
|
+
|  
Philipp Lohmann (PL)<br>
+
Philipp Lohmann (PL)<br> Andre Fischer (AF)<br> Thomas Lange (TL)<br> Niklas Nebel (NN)<br>  
Andre Fischer (AF)<br>
+
 
Thomas Lange (TL)<br>
+
|  
Niklas Nebel (NN)<br>
+
Philipp.Lohmann@Sun.COM<br> Andre.W.Fischer@Sun.COM<br> Thomas.Lange@Sun.COM<br> Niklas.Nebel@Sun.COM  
|
+
Philipp.Lohmann@Sun.COM<br>
+
Andre.W.Fischer@Sun.COM<br>
+
Thomas.Lange@Sun.COM<br>
+
Niklas.Nebel@Sun.COM
+
  
 
|-
 
|-
| '''Quality Assurance'''
+
| '''Quality Assurance'''  
| Hasan Ilter (HI)
+
| Jörg Skottke (JSK)<br>Hasan Ilter (HI)
| Hasan.Ilter@Sun.COM
+
| Joerg.Skottke@Sun.COM><br>Hasan.Ilter@Sun.COM
 
|-
 
|-
| '''Documentation'''
+
| '''Documentation'''  
| tbd
+
| Uwe Fischer (UFI)<br>
| tbd
+
| Uwe.Fischer@Sun.COM
 
|-
 
|-
| '''User Experience'''
+
| '''User Experience'''  
|
+
|  
Christoph Noack<br>
+
Christoph Noack<br> Frank Loehmann (FL)
Frank Löhmann
+
 
|
+
|  
christophnoack@openoffice.org<br>
+
christophnoack@openoffice.org<br> Frank.Loehmann@Sun.COM  
Frank.Loehmann@Sun.COM
+
 
 
|}
 
|}
  
Line 102: Line 94:
 
* Improve the overall interaction quality (e.g. workflow improvements, terminology, essential print options)
 
* Improve the overall interaction quality (e.g. workflow improvements, terminology, essential print options)
 
* Create a fresh and usable interface for printing in OpenOffice.org
 
* Create a fresh and usable interface for printing in OpenOffice.org
* For all of the above: keep changes to limit that can be implemented for OOo 3.2. Further changes can wait for later version.
+
* For all of the above: keep changes to limit that can be implemented for OOo 3.3. Further changes can wait for later version.
 
|
 
|
 
* Additional functionality will not be added (besides the planned N-up printing)
 
* Additional functionality will not be added (besides the planned N-up printing)
Line 109: Line 101:
 
=== Analysis of the Current State of Printing (OpenOffice 3.1) ===
 
=== Analysis of the Current State of Printing (OpenOffice 3.1) ===
  
==== Printing Features and Options ====
+
Please refer to the page [[Printerpullpages/Current_State_of_Printing_OOo31|Current State of Printing (OpenOffice.org 3.1)]]. It provides findings about the current state of printing in OpenOffice.org 3.1 by analyzing usage feedback data, workflows and printing dialog screenshots.
 
+
===== Source Data =====
+
 
+
Currently, there are many options in OpenOffice.org with regard to printing. When looking at the technical constraints (e.g. native dialogs vs. system independent dialog, application settings vs. operating system settings), the space restrictions, ... it seems to make sense to have a look at the current options. Is each option really necessary, can it be well understood? Most of the data is currently provided in several Calc documents which get (hopefully) updated regularly.
+
 
+
* [[Image:Current Dialogs ListOfAllPrintDialogElements.ods]]: List of all printing dialog elements and options with regard to their meaning, understandability and necessity. It also includes developer comments, which I have to thank for. Worth reading and commenting ;-) '''Currently, this is the most important document on this page.'''
+
* [[Image:2009-07-04 UserFeedbackData PrintingAnalysis.ods]]: Based on the first [[Renaissance:Phase_1#User_Feedback_Raw_Data_Files|User Feedback Data]] there is a short analysis considering Writer, Impress, Draw and (partly) Math. Please note that the User Feedback system still has the drawback that some of the sources of function requests can not be identified. Elements that are ambiguous (to me) are marked with '???'.
+
* [[Image:Current PrintingOptions SettingsInDocumentFiles.odt]]: This document summarizes all printer dialog related settings which are stored in the native OpenOffice.org files (settings.xml). As far as the settings could be identified, they have been transferred to the file “List of all Print Dialog Elements”. Issue: Even for the same module (e.g. Writer), only a subset of all options is saved in the document.
+
 
+
{| class="prettytable" border="0"
+
|
+
[[Image:Printerpullpages 2009-06-11 UsageOfImpressDialogsVisualized.png|300px]]
+
|
+
This is just an early preview how the printing dialog is used.
+
 
+
Note: The data is based upon a previous version of "2009-07-04 UserFeedbackData PrintingAnalysis.ods", so please read the description how the data has been acquired.
+
|}
+
 
+
===== Printing Dialogs =====
+
 
+
The sum OK and Cancel events are the reference for the number of uses for the dialog. Then, for each of the printer dialog elements the usage frequency is calculated on that data. The usage frequency is given by all events of each element (e.g. more/less/modify for spin fields) which will lead to inconsistencies (unknown until we can analyse the exact sequence of how elements were used). Nevertheless, for all modules (if possible) the average and standard deviation have been calculated. Date of creation 2009-07-05.
+
 
+
{| class="prettytable"
+
| '''Module'''
+
| '''Name'''
+
| '''Average [%]'''
+
| '''Standard Deviation [%]'''
+
| '''Comments / Finding'''
+
 
+
|-
+
| All Modules
+
| OK
+
| <div align="right">93,7</div>
+
| <div align="right">10,0</div>
+
| Only for Impress, the part of Cancel is extreme (21,3%). Why?
+
 
+
|-
+
| All Modules
+
| Number of copies
+
| <div align="right">37,8</div>
+
| <div align="right">10,6</div>
+
| The usage of Number of copies is slightly higher for Writer and Draw. (But, all events count.)
+
 
+
|-
+
| All Modules
+
| Pages
+
| <div align="right">23,3</div>
+
| <div align="right">6,5</div>
+
|
+
 
+
|-
+
| All Modules
+
| None (Pages Text Field)
+
| <div align="right">22,8</div>
+
| <div align="right">6,3</div>
+
|
+
 
+
|-
+
| All Modules
+
| Properties
+
| <div align="right">22,5</div>
+
| <div align="right">6,8</div>
+
| In Impress and Draw, properties are set twice that often.
+
 
+
|-
+
| All Modules
+
| Name
+
| <div align="right">14,4</div>
+
| <div align="right">1,4</div>
+
|
+
 
+
|-
+
| Calc
+
| Selected cells
+
| <div align="right">13,2</div>
+
| <div align="right">(none)</div>
+
|
+
 
+
|-
+
| Impress
+
| Slides per page
+
| <div align="right">11,2</div>
+
| <div align="right">(none)</div>
+
|
+
 
+
|-
+
| All Modules
+
| Cancel
+
| <div align="right">6,3</div>
+
| <div align="right">10,0</div>
+
| refer to OK
+
 
+
|-
+
| All Modules
+
| Options
+
| <div align="right">4,9</div>
+
| <div align="right">3,6</div>
+
| In Impress, the options are far more used (4 times as much in comparison with Writer and Calc).
+
 
+
|-
+
| Impress
+
| Vertical
+
| <div align="right">3,3</div>
+
| <div align="right">(none)</div>
+
|
+
 
+
|-
+
| Impress
+
| Horizontal
+
| <div align="right">2,7</div>
+
| <div align="right">(none)</div>
+
|
+
 
+
|-
+
| Calc
+
| Selected sheets
+
| <div align="right">1,3</div>
+
| <div align="right">(none)</div>
+
|
+
 
+
|-
+
| All Modules
+
| Collate
+
| <div align="right">1,1</div>
+
| <div align="right">0,3</div>
+
|
+
 
+
|-
+
| All Modules
+
| All pages
+
| <div align="right">1,0</div>
+
| <div align="right">0,4</div>
+
|
+
 
+
|-
+
| Writer, Impress, Draw
+
| Selection
+
| <div align="right">0,8</div>
+
| <div align="right">0,4</div>
+
|
+
 
+
|-
+
| All Modules
+
| Print to file
+
| <div align="right">0,6</div>
+
| <div align="right">0,2</div>
+
|
+
 
+
|-
+
| All Modules
+
| Help
+
| <div align="right">0,2</div>
+
| <div align="right">0,1</div>
+
| In Impress, the need for help is maximal (0,3%).
+
 
+
|}
+
 
+
==== Current Workflow ====
+
 
+
The following selection workflows descriptions are used to analyze the strengths and weaknesses of OpenOffice.org printing. These workflows are not selected according their occurence, they are just meant to be examples to better understand printing.
+
 
+
{| class="prettytable"
+
! Name
+
! Steps and Finding
+
 
+
|-
+
| User prints in Draw directly
+
|
+
Steps:
+
* User has document with certain objects (even transparent ones)
+
* User selects one transparent object
+
* User selects toolbar icon "Print File Directly (PRINTER NAME)"
+
* Dialog "Printing Selection" pops up ("Do you want to print the selection or the entire document?" [Selection / All / Cancel])
+
** Case A1: User selects "Selection"
+
** Case A2: User selects "All"
+
* Only for case 2: Dialog "Transparency Warning" pops up ("The document contains transparent objects. Should ... reduced?" [Yes / No / Cancel])
+
** Case B1: User selects "Yes" (reduce transparency)
+
** Case B2: User selects "No" (don't reduce transparency)
+
* Document is printed
+
 
+
 
+
Finding: Why are there so many modal dialogs, even when the users wants to print "quickly". Besides that, why is there a modal dialog? Wouldn't it be better to use a non-modal dialog which gives the user e.g. 15 seconds time to decide. If there is no decision within this time, the printing could start using defaults.
+
 
+
|-
+
| User prints a poster in Draw
+
|
+
Steps:
+
* User designed a poster in Draw and set the margings to "0". Then he wants to print it on his inkjet printer which isn't able to printer borderless.
+
* User selects File -- Print... -- OK
+
* Dialog "Warning Printing Options" pops up ("The page settings do not match the print range. ..." [Fit page to print range / Print on multiple pages / Trim])
+
** Case A1: User selects "Fit page to print range"
+
** Case A2: User selects "Print on multiple pages"
+
** Case A3: User selects "Trim"
+
* Document is printed
+
 
+
 
+
Finding: If the document was designed on the same computer, then the user has already been warned concerning the limited print range when the page margins have been set (Format -- Page...). When printing is started, the user is warned concerning the print range. In case he wants to have the true scale, then there is no way to pre-define "trim" for the output (the same is true for "Print on multiple pages"). The user gets the "Warning Print Options" every time he prints!
+
 
+
 
+
Note: The formulation of "Fit page to print range" in "Warning Print Options" is different in comparison to "Fit to page" in the print options.
+
 
+
 
+
Note: If page options "brochure" is selected, then no "Warning Print Options" (paper size) is given, even if objects cross the printable range.
+
 
+
|-
+
| User prints to file
+
|
+
Steps:
+
* User has a document which should be saved to a file (in a printer language)
+
* User selects File -- Print...
+
* User activates "Print to file"
+
* User clicks on "OK"
+
* A file selector dialog pops up
+
* The user enters / selects the file to be printed in
+
** Case A1: File doesn't exist yet
+
** Case A2: File already exists
+
* Only for case A2: The dialog "Save" pops up ("The file already exists. Overwrite?" [Yes / No]).
+
 
+
 
+
Notes concerning the dialog "Save" (OOo 3.1 from Ubuntu PPA):
+
* Short: The dialog is ... bad!
+
* The title is wrong, since it should state something like "Overwrite existing file?"
+
* The buttons are not self explaining ([Yes / No])
+
* The main dialog text is surrounded by '"' (quotation marks) - why?
+
* The dialog looks "alien", because it is provided by GTK. Here, the button order is different to the OOo dialogs.
+
* On my computer, the dialog is hidden behind (!!!) the printing dialog - and OOo appears to be frozen.
+
 
+
|}
+
 
+
 
+
'''General Findings:'''
+
* The printing system is very flexible, but sometimes complicated and complex!
+
* We have far to many modal dialogs!
+
* Each print (warning) dialog looks different!
+
* We have inconsistent options!
+
 
+
==== Screenshots ====
+
This section is intended to show some of the places where OpenOffice.org provides functionality or options concerning printing. You may see that it is not just related to the printing dialog, so that we have to keep an eye on consistency. And if you look very closely, the current user interface isn't that consistent and (maybe) understandable, so please refer to [[#Printing Features and Options|Printing Features and Options]]
+
 
+
'''Print Dialogs'''
+
{| class="table" border="0"
+
|- valign="top"
+
| [[Image:OOo300_Screenshot-PrintWriter.png|227px|thumb|Writer Print Dialog]]
+
| [[Image:OOo300_Screenshot-PrintCalc.png|227px|thumb|Calc Print Dialog]]
+
| [[Image:OOo300_Screenshot-PrintImpress.png|227px|thumb|Impress Print Dialog]]
+
| [[Image:OOo300_Screenshot-PrintDraw.png|227px|thumb|Draw Print Dialog]]
+
| [[Image:OOo300_Screenshot-PrintMath.png|227px|thumb|Math Print Dialog]]
+
|}
+
 
+
'''Print Options Dialogs'''
+
{| class="table" border="0"
+
|- valign="top"
+
| [[Image:OOo300_Screenshot-PrinterOptionsWriter.png|271px|thumb|Writer Print Options Dialog]]
+
| [[Image:OOo300_Screenshot-PrinterOptionsCalc.png|271px|thumb|Calc Print Options Dialog]]
+
| [[Image:OOo300_Screenshot-PrinterOptionsImpress.png|271px|thumb|Impress Print Options Dialog]]
+
| [[Image:OOo300_Screenshot-PrinterOptionsDraw.png|271px|thumb|Draw Print Options Dialog]]
+
| [[Image:OOo300_Screenshot-PrinterOptionsMath.png|271px|thumb|Math Print Options Dialog]]
+
|}
+
 
+
'''Various Printer Dialogs'''
+
{| class="table" border="0"
+
|- valign="top"
+
| [[Image:OOo300_Screenshot-PrinterSetupWriter.png|223px|thumb|Printer Setup Dialog]]
+
| [[Image:OOo300_Screenshot-PropertiesofPhotosmart_8200_series.png|203px|thumb|Printer Properties Dialog (Paper)]]
+
| [[Image:OOo300_Screenshot-PropertiesofPhotosmart_8200_series-1.png|203px|thumb|Printer Properties Dialog (Device)]]
+
| [[Image:OOo300_Screenshot-Options-OpenOffice.org-Print.png|317px|thumb|Tools - Options... - OpenOffice.org - Print Sub-Page]]
+
| [[Image:OOo310_Screenshot-PrintOptionsPageView.png|276px|thumb|Writer Print Options Page View Dialog]]
+
|}
+
 
+
'''Various Printer Warning Dialogs'''
+
{| class="table" border="0"
+
|- valign="top"
+
| [[Image:OOo310_Screenshot_Warning_PrintingSelection.png|px|thumb|Warning Printing Selection Dialog (Title „Printing Selection“)]]
+
| [[Image:OOo300_Screenshot-WarningPrintOptions.png|168px|thumb|Warning Print Options Dialog (Title "Warning Print Options")]]
+
| [[Image:OOo310_Screenshot_Warning_Transparency.png|px|thumb|Warning Transparency Dialog (Title „Warning“)]]
+
| [[Image:OOo310_Screenshot_Warning_Save_OnUbuntu.png|px|thumb|Warning Save Dialog (Title „Save“)]]
+
|}
+
 
+
 
+
'''PDF Export Dialog'''
+
{| class="table" border="0"
+
|- valign="top"
+
| [[Image:OOo300_Screenshot-PDFOptions.png|156px|thumb|PDF Export Options Dialog (General)]]
+
| [[Image:OOo300_Screenshot-PDFOptions-1.png|156px|thumb|PDF Export Options Dialog (Initial View)]]
+
| [[Image:OOo300_Screenshot-PDFOptions-2.png|156px|thumb|PDF Export Options Dialog (User Interface)]]
+
| [[Image:OOo300_Screenshot-PDFOptions-3.png|156px|thumb|PDF Export Options Dialog (Links)]]
+
| [[Image:OOo300_Screenshot-PDFOptions-4.png|156px|thumb|PDF Export Options Dialog (Security)]]
+
|}
+
  
 
=== Use Cases ===
 
=== Use Cases ===
Line 410: Line 114:
  
 
The file [http://wiki.services.openoffice.org/w/images/c/c3/Printerpullpages_UseCases_CollectionOfFeedback.odt Printerpullpages_UseCases_CollectionOfFeedback] contains the first collected feedback. If anybody wants to help to further collect/sort/analyse the feedback - that would be really great!
 
The file [http://wiki.services.openoffice.org/w/images/c/c3/Printerpullpages_UseCases_CollectionOfFeedback.odt Printerpullpages_UseCases_CollectionOfFeedback] contains the first collected feedback. If anybody wants to help to further collect/sort/analyse the feedback - that would be really great!
 +
 +
'''Preliminary Finding:''' It seems that there is no clear preference for certain print options. These options are used in many different combinations when looking at the whole user base, but each user itself uses only a few "sets" of own printing options. So this might be an indicator to support pre-defined and custom defined printer presets. This proposal has been backed up by the work of Peter (Linux OpenPrinting workgroup) with whom I had a short email discussion concerning this topic.
  
 
=== Competitive Analysis ===
 
=== Competitive Analysis ===
  
Please note that although we do competitive analysis, we won't publish too many information here, e.g. screenshots. If you are interested in a special program, then try to search for images in your favorite internet search. In 99% of all cases, you will get some pictures and a first idea how it looks like ... and most presumably how it will behave.
+
Please note that although we do competitive analysis, we won't publish too many information here, e.g. screenshots due to legal restrictions. If you are interested in a special program, then try to search for images in your favorite internet search. In 99% of all cases, you will get some pictures and a first idea how it looks like ... and most presumably how it will behave.
  
Another good approach is to have a look at the official documentation of our platforms:
+
Another good approach is to have a look at the official documentation of our supported platforms:
* Apple User Interface Guidelines, [http://developer.apple.com/documentation/userexperience/Conceptual/AppleHIGuidelines/XHIGWindows/XHIGWindows.html#//apple_ref/doc/uid/20000961-BACHBHID The Print Dialog]
+
* Apple User Interface Guidelines, [http://developer.apple.com/mac/library/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGWindows/XHIGWindows.html#//apple_ref/doc/uid/20000961-BACHBHID The Print Dialog]
 
* Microsoft Windows User Experience Interaction Guidelines, [http://msdn.microsoft.com/en-us/library/aa511274.aspx Common Dialogs] (scroll down a bit, since the print dialog is not listed in the TOC)
 
* Microsoft Windows User Experience Interaction Guidelines, [http://msdn.microsoft.com/en-us/library/aa511274.aspx Common Dialogs] (scroll down a bit, since the print dialog is not listed in the TOC)
 
* Linux Common Printing Dialog, [http://wiki.openusability.org/printing/index.php/Specification Linux Printing UI Specification], specification created by the Linux Foundation OpenPrinting workgroup available in the OpenUsability.org wiki
 
* Linux Common Printing Dialog, [http://wiki.openusability.org/printing/index.php/Specification Linux Printing UI Specification], specification created by the Linux Foundation OpenPrinting workgroup available in the OpenUsability.org wiki
Line 422: Line 128:
  
  
Information on special applications or general printing dialogs is collected on the separate wiki page [[Printerpullpages/Competitive_Analysis|Competitive Analysis]].
+
Please refer to the page [[Printerpullpages/Competitive_Analysis|Competitive Analysis]]. It collects information on special applications or general printing dialogs.
  
 
=== Requirements List ===
 
=== Requirements List ===
Line 474: Line 180:
 
|}
 
|}
  
== Design Proposals ==
+
== Design Proposals and Idea Collection==
  
=== System Independent Print Dialog ===
+
* Please refer to the page [[Printerpullpages/Design_Proposals|Design Proposals]]. Based on requirements, it collects design proposals and rates them - maybe some of the proposals get integrated into OpenOffice.org.
 +
* Please refer to the page [[Printerpullpages/Idea_Collection|Idea Collection]]. It collects ideas which may later get evaluated and even integrated. You are invited to '''add your ideas'''!
 +
* N-Up printing is new for other modules than Writer and for Writer it might change. So a specification is needed, how N-Up printing should work. See [[Printerpullpages/N-Up Printing|draft specification of N-Up printing]] for suggestions and issues.
  
==== The Dialog Itself ====
+
== Final Design ==
  
Ideas:
+
* Please refer to the page [[Printerpullpages/History_of_Design_Development|History of Design Development]]. It contains the history of the design development of the Printing Dialog. Thus, you can see how the design evolved over time.
{| class="prettytable" border="0"
+
* Please refer to the page [[Printerpullpages/String_Reviews|String Reviews]]. It is meant for the string reviews and discussions concerning the translation.
| [[Image:Cwsprinterpullpages 2009-06-14 Ideas Dialog Resizing.JPG|300px]]
+
| '''Automatic Dialog Resizing'''
+
  
Currently, the size of the dialog is limited by the use of netbooks which only feature a very low vertical screen resolution. It would be desirable to have some kind of resizing of the dialog, so that we could provide a full dialog at the current [http://www.openoffice.org/dev_docs/source/sys_reqs_30.html OpenOffice.org 3.0 system requirements] resolution of 1024x768 and a smaller version providing the same functionality for low resolution displays.
+
=== System Independent Printing Dialog ===
  
Answer by Philipp: Theoretically, this is possible, but it would create effort which I would like to avoid. (E-Mail to Christoph, 2008-06-16, 11:17am)
+
==== Application Independent Design Decisions ====
|}
+
  
==== Selecting the Printer and Providing Printer Information ====
+
This section summarizes the basic design ideas which should be as consistent as possible for all the OpenOffice.org applications.
Requirements (only new ones): If the user selects a printer for output, then the system should present meta information to the printer during the selection. (meta information: e.g. name, status, type, location, comment).
+
  
Ideas:
+
* General structure of the printing dialog:
{| class="prettytable" border="0"
+
** Structure options in tabs: We finally decided to use tabs, since the combination of "no layout manager" and the sheer number of options make it impossible to implement a behavior like on Apple Mac OS X. This would have been desirable, since the elements currently available in tab "General" would have been accessible all the time - without changing tabs.
| [[Image:cwsprinterpullpages_2009-06-14_Ideas_PrinterSelection_DropDown.JPG|300px]]
+
** Print Preview: The design decisions are described on the Design Proposals page.
| '''Enhanced Drop-Down'''
+
** Layout: We tried to respect as much as possible when it comes to the dialog design guidelines for OpenOffice.org.
The current dropdown could be extended by additional information to show the meta information of the printer - before the printer gets selected. This avoids the usual use case: selecting a printer, check if it is the desired one, retry, ...
+
  
Advantage: Space
+
* Tab "General": The goal of this tab was to present the most important elements together. Besides this huge advantage, some people might be slightly confused what is available where - the "General" tab also presents application specific information which might be expected under the application specific tabs.
Disadvantage: Limited printer information, so that it has to be provided additionally
+
** Group "Printer":
 +
*** The design generally respects the "Microsoft Windows User Experience Interaction Guidelines". Reasons: a) the printer selection is improved for people having only few printing sinks (e.g. printer, PDF creator, fax), b) the largest part of our current user base still uses Microsoft Windows so we are consistent - for the other platforms there might be native printing dialogs in later versions.
 +
*** The button "Preferences..." has originally been introduced to open the driver own printer settings on Microsoft Windows. For Linux still our own "automatically" created dialog will be opened; it may later be possible to move the settings to a more accessible place inside our dialog. For the Mac OS X platform there is no printer settings dialog - the button can be easily omitted to let the dialog look more clear.
 +
** Group "Printer details": The printer details are hidden since in many cases, a) the information isn't required (private users) and b) the information isn't provided (due to operating system, printing system and given settings). Then, we reduced the number of details since this was a very old design decision to respect each operating system with its different information. Other reasons are given on the wiki page Design Ideas.
 +
** Group "Range and copies": Slightly improved layout which is based on the original printing dialog, since we have to respect our existing user base. Combined "Range" and "Copies" to let it appear less cluttered.
 +
** Group "Print": Presents the most important print content settings for each application. This has been a requirement by the application owners, since the experience shows that most people aren't aware of the capabilities.
  
 +
* Tab "OpenOffice.org ''Application''": The options of all applications have been classified according to their meaning. For details please refer to the page Analysis of the Current State of Printing (OpenOffice 3.1). The following groups have been defined and are used in the given order - but only if there are any options to show.
 +
** Group "Contents": Contains fine grained settings for enabling/disabling contents. The former options have been improved in their naming and analyzed for their usage frequency. As a result, some of them have been merged or omitted.
 +
** Group "Color": All color related settings can be found here.
 +
** Group "Size": Size related settings of either single objects or the whole print page are available here.
 +
** Group "Pages": Anything which might have impact on adding/removing whole pages is located here. The only exception are the settings for "right/front / left/back" page sides which is rather used for the Page Layout.
  
Note: Technically, there is no control available within OpenOffice.org which provides such capabilities.
+
* Tab "Page Layout": These options do mostly relate to the new N-up printing feature. Since it was pretty hard to find a sufficient interaction concept, you may also be interested in details at the page Analysis of the Current State of Printing (OpenOffice 3.1).
 +
** Group "Layout": This group merges the new N-up printing, brochure printing and the previously "Writer only" feature "Print Options Page View" and the new "add border" feature. In contrast to previous versions, there is a simple interface and custom settings:
 +
*** Simple: Most people "just" want to print, so we introduced pre-defined "pages per sheet" which also automatically sets the page orientation. The values for margins and borders (see below) are both 0, since we assume the following: people will mainly use that feature in Writer, they want unscaled (or maximum sized) output, document page margins are usually defined so that the output won't be trimmed. I'm sure that 99% of all usage scenarios are covered with this simple interface. Additionally, there is an option for brochure printing which is a special case of "N-up" for certain applications.
 +
*** Custom: The selection "custom" provides fine grained settings which have been possible with the "Print Options Page View" - but now for all applications. One exception, we merged some of the settings which control the margins to the page border and the distance between the pages - faster and more usable, we hope. When switching from "simple" to "custom" mode, the current settings of "simple" will be used (distance, margin) to explain what is going on in "simple" mode. To balance the quality of information and the overall tab group layout, we had to split the captions for the margin and distance control - we hope this will work well for all the languages.
 +
** Group "Page sides": Each application introduced new names and other behavior to select what page sides ("right/front / left/back") should be printed. We merged this into a dropdown and tried to improve the naming to better communicate what e.g. "left page" in Writer means.
  
|-
+
* Tab "Options": This tab summarizes all less frequent used options whose setting may be desired to be persistent to some extend. Sorry for the name, we lacked a better alternative :-) The upper two options are available in all applications, the lower two only for selected applications.
| [[Image:cwsprinterpullpages_2009-06-14_Ideas_PrinterSelection_Table.JPG|300px]]
+
** Element "Print to file": Due to the low usage rate, the options has been moved here. Since this setting isn't visible when an other tab page is active, the print button states either "Print to file..." or "Print". Some details have also been discussed on the talk page of the main printerpullpages wiki site.
| '''Simple Table'''
+
  
Advantages:
+
==== Application Specific Design Decisions ====
* Good overview
+
* Both printer selection and printer information combined in one element
+
  
Disadvantage:
+
This section summarizes the application specific print options. These options are mainly based on the ones found in previous versions of OpenOffice.org. If possible, they have been improved.
* Space required
+
  
|-
+
* Writer:
| (no mockup)
+
** Tab "General": We moved the "Notes" to the group "Print" since it may be used for "reviewer" comments/changes in general (later version of OOo).
| '''Printer Information Text'''
+
** Tab "OpenOffice.org Writer": Number of options reduced, but the flexibility is mainly kept.
Use a sentence for printer information which can be placed separately from the printer selection.
+
* Example: "Printer '''kyocera''' (Kyocera FS-1750 laser with duplex) at location '''Meeting Room 217/R15''' has the status '''Offline'''"
+
* Example (location not available): "Printer '''kyocera''' (Kyocera FS-1750 laser with duplex) has the status '''Offline'''"
+
* Example (comment, location not available): "Printer '''kyocera''' has the status '''Offline'''"
+
* Advantages: Compact, “humane” kind of information presentation, unavailable information can be omitted easily
+
* Disadvantages: According Philipp, it is impossible to easily concatenate the string for all languages, so we would end up with about 15 strings which might cause high effort for the translation.
+
  
|}
+
* Impress:
 +
** Tab "General": For the group "Print", the current design finally makes it possible to select the document defined handout design ({{bug|94055}}). For the custom handout selection, we had to remove the preview due to space restrictions. Hopefully, the new Print Preview is sufficient.
 +
** Tab "OpenOffice.org Impress":
 +
*** Most of the options have been improved - naming, merged functionality, ...
 +
*** Group "Size": Here, there are some really good improvements. Since it has been decided to get rid of the modal warning dialog (Warning Print Options Dialog (Title "Warning Print Options")), we were able to a) provide the setting "Original size" to directly chose the (former) trim (which now will make it possible to pre-select this entry in Tools - Options to avoid the warning dialog), b) added the setting "Distribute on multiple pages" here (which also was only available in the modal warning dialog). That design let us also get rid of "Default" - which isn't that self-explaining.
 +
* Draw: In General, Draw is very similar to Impress. Differences are e.g. the terminology "Page" instead of "Slide".
 +
** Tab "OpenOffice.org Draw": Removed the option "Hidden pages" which makes only sense in Impress - it isn't available in Draw. That solves an issue existent in former versions of OpenOffice.org.
 +
* Calc:
 +
** Tab "General":
 +
*** The naming of the print range selection has been improved - there was an issue about that. Now, we slightly "violate" the OpenOffice.org dialog design directives by removing a group line for "Thereof print", because it is closely related to the upper "Range and copies".
 +
*** Group "Print" not required.
 +
** Tab "OpenOffice.org Calc": Number of options reduced by 50%! Now there is one remaining option. :-)
 +
* Math:
 +
** Tab "General": Group "Print" not required.
 +
** Tab "OpenOffice.org Math": Removed one very old compatibility option. Naming improved to better fit to the names already used in the help.
 +
** Tab "Page Layout": Does not exist, since we already print only one page. If this changes, then we might re-add it.
  
Comments:
+
=== Native Printing Dialog ===
* According to Philipp, gathering the meta information might cause problems in large network environments. When using Windows or Linux, each of the available (network) printers has be "installed" to be usable for printing. On Solaris, things are pretty different, since all of the available printers (up to thousands) will be made instantly available. That would mean querying a lot of printers at the same time ... The OpenSolaris Presto GUI spec (see [[#Competitive_Analysis|Competitive Analysis]]) does not mention such a problem, but maybe OpenOffice.org behaves different.
+
  
==== Visualization of Printed Pages in the Print Preview ====
+
'''The following description is a first draft and may change.'''
Requirements:
+
* The system should make efficient use of screen space. (Example: Resizing of the dialog should resize the preview accordingly).
+
* If the print print preview calculation and drawing requires a long time, then the system should provide sufficient feedback. (long time: >= 200 ms; sufficient feedback: e.g. a progress element in the middle of the print preview page)
+
* The system should explain the print preview, if the content could cause confusion by the user. (Example: Calc might cause empty pages for certain print ranges, why not explain why the page is empty?)
+
* The system should provide a high quality graphics output for the visualization. (high quality visualization: e.g. fast and flicker free drawing, smooth changes between portrait and landscape formats, ...)
+
* Explicitly not required: preview which can be manually zoomed by the user
+
  
Ideas:
+
This section describes the native print dialog for Mac OS X.
{| class="prettytable" border="0"
+
| [[Image:cwsprinterpullpages_2009-06-14_Ideas_PrintPreview_Working.JPG|200px]]
+
| '''Working'''
+
Idea for showing that the printer preview is generated, e.g. if it takes longer than 500 ms:
+
* Fade to white
+
* Show progress symbol (refer to picture)
+
* Fade to page
+
|-
+
| [[Image:cwsprinterpullpages_2009-06-14_Ideas_PrintPreview_EmptyPage.JPG|200px]]
+
| '''Empty Page'''
+
Could be shown if there are "special" pages in the document, e.g.:
+
* Writer: Empty pages automatically inserted for certain page breaks
+
* Calc: Empty pages because of certain print ranges
+
  
Note: This time, the smaller rectangle represents the page.
+
==== General structure of the printing dialog ====
 +
* Mac OS X enables the software to present own sub-groups (Apple calls them features) for the application settings. It has been decided to use add only one to ensure proper distinguishability. The name will be "OpenOffice.org" ($PRODUCTNAME)
 +
* The sub-group will contain the print preview and the print options:
 +
** The print preview is located on the left. The design of the print preview should be identical to the one in the system independent print dialog.
 +
** The print options are located on the right. They have to consider additional requirements caused by being located in a native print dialog. The print options are presented in tabs. The tabs and the grouping of the print options will be very similar to the ones in the system independent print dialog to ensure consistency (e.g. to the corresponding help texts).
 +
*** General
 +
*** OpenOffice.org ''Application''
 +
*** Page Layout
 +
* Some of the options are not required anymore, since the native print dialog - and therefore the native print system - will handle that for itself:
 +
** Tab "Page Layout": No use of everything related to "pages per sheet".
 +
** Tab "Options": None of the options required.
  
|-
+
==== Application Specific Design Decisions ====
| [[Image:cwsprinterpullpages_2009-06-14_Ideas_PrintPreview_3D.JPG|200px]]
+
* Writer:
| '''Print Preview 3D'''
+
** Tab "General": Refer to the system independent print dialog description
Shows the print preview as a 3D stack of paper including a smooth animation when another sheet is selected. The kind of visualization is pretty similar to Apple's Cover Flow.
+
** Tab "OpenOffice.org Writer": Refer to the system independent print dialog description
|-
+
** Tab "Page Layout":
| [[Image:cwsprinterpullpages_2009-06-14_Ideas_PrintPreview_3D_Duplex.JPG|200px]]
+
*** Brochure incl. Order
| '''Print Preview 3D with Duplex'''
+
*** Include
Supplements "Print Preview 3D", but here the print preview consists of two 3D stacks of paper for duplex printing. Here, we go more towards the "real" print output.
+
* Impress:
|-
+
** Tab "General": Refer to the system independent print dialog description
| [[Image:cwsprinterpullpages_2009-06-14_Ideas_PrintPreview_3D_Duplex_LongSided.JPG|300px]]
+
** Tab "OpenOffice.org Draw": Refer to the system independent print dialog description
| '''Print Preview 3D with Duplex Long Sided Bind'''
+
** Tab "Page Layout":
Supplements "Print Preview 3D", but here the print preview shows the selected page binding for duplex printing. From experience it is known, that people are confused by "long side binding" and "short side binding", because the final output is dependent on the format of the page.
+
*** Brochure incl. Order
 +
*** Include
 +
* Draw:
 +
** Tab "General": Not available, since no print option is available
 +
** Tab "OpenOffice.org Draw": Refer to the system independent print dialog description
 +
** Tab "Page Layout":
 +
*** Brochure incl. Order
 +
*** Include
 +
* Calc:
 +
** Tab "General": '''tbd''' (Open Questions: How to handle range and copies referring to sheets?)
 +
** Tab "OpenOffice.org Calc": Refer to the system independent print dialog description
 +
** Tab "Page Layout": Not available, since no print option is available
 +
* Math:
 +
** Tab "General": Not available, since no print option is available
 +
** Tab "OpenOffice.org Math": Refer to the system independent print dialog description --> Please note that it might be better to provide a non-tab grouping only. There is only one group, so a tab doesn't make sense.
 +
** Tab "Page Layout": Not available, since no print option is available
  
Example: If the user wants to see the next page, then the lower print page is "virtually" turned and put down at the upper stack.
+
==== Open Points ====
 +
* All: Would it be better to merge all "General" and "OpenOffice.org ''Application''" tabs? Although the General tabs are very clear for Writer and Impress, some applications do not feature this kind of tab. That results in only sometimes showing tab "General" - may appear weird to the user...
 +
* All: Is the tab name "General" sufficient, because in the System Independent Print Dialog there are also settings now provided by the native print dialog. Wouldn't it be better to use the group name ("Print", currently in discussion).
 +
* All: How to group the elements, e.g. in the Page Layout tab page with fewer elements?
 +
* Impress/Draw: Is it possible to deactivate the size settings for brochure printing?
 +
* Calc: Definition of tab "General" is missing.
  
Note: Here, the rest of the dialog should just show the print options - this isn't a final version.
+
=== Workflow Design Decision ===
|}
+
  
==== Navigating Pages in the Print Preview ====
+
As discussed in the section [[Printerpullpages/Current_State_of_Printing_OOo31#Workflow_Analysis|Workflow Analysis (wiki page Current State of Printing in OpenOffice.org 3.1]] the workflows aren't that optimal in certain circumstances. Changes:
Requirements:
+
* The system must make it possible to navigate one print page forward.
+
* The system must make it possible to navigate one page backward.
+
* The system should provide a function to jump to a certain print page.
+
* The system must provide an information about the number of printed pages.
+
* The system must provide an information what print page is visualized.
+
* The system should provide an information which can be understood with low effort. (Example: Visual representation that the currently shown page is at about the half of the full print page stack.)
+
* The system should provide a function to navigate to a certain print page. (Example: Entering the print page number.)
+
* The system should minimize effort for navigating between subsequent print pages. (Example: Both minimizing mouse travel and providing large controls for forward / backward navigation.)
+
  
Control Elements (some comments not to get lost):
+
* '''Changing''' the default for "Warning Transparency Dialog (Title „Warning“)": The default setting for showing the transparency warning will be changed from "true" to "false". The option itself will be kept.
* Horizontal scroll bar: Scroll bars satisfy many of the requirements but have to be used for continuous content. If they are used for other things, we may get publicity soon ... on same “bad UI design web pages” ;-).
+
** Rationale: As discussed in the workflow analysis, the warning dialog is undesired. Initially, there also has been User Feedback data which has discussed at [http://uxopenofficeorg.blogspot.com/2009/06/transparent-decision-making.html Transparent Decision Making] to judge whether it is required or not. Some weeks later, a lot of new data has been analyzed and it has been discovered that the feedback system does not provide all required numbers. Although many effort has gone into getting this data, we lack final results. Nevertheless, we think that the benefit for most users will compensate the potential issues mentioned below. Since the option itself is kept, we can test this behavior thoroughly.
* Slider: There is a slider available in OpenOffice.org which is currently used for the media player. In the current state, this element shouldn't be used – it seems to lack basic things like keyboard navigation or proper “flicker free” visualization. Nor is it themed for different operating systems. In general, it is hard to select individual pages and the area for “grabbing” the control is very small. Otherwise, they provide excellent feedback about the position inside the document.
+
** Potential issues: Longer printing times (e.g. in networks), increased size of data "printed to file",
  
Ideas:
+
* '''Removing''' "Warning Print Options Dialog (Title "Warning Print Options")": The dialog itself and the option to enable/disable the warning will be removed.
{| class="prettytable" border="0"
+
** Rationale: The warning dialog is undesired and - in certain circumstances - cannot be avoided by setting the corresponding size settings in advance. Wit the current development, we feature the Print Preview (user can check for problems) and improved size settings.
|-
+
** Potential issues: If users print directly (without using the dialog), some of them might print the data in the wrong size, since there is no Print Preview to check the output in advance.
| [[Image:cwsprinterpullpages_2009-06-14_Ideas_PrintPreviewNavigation_SimpleButtons.JPG|200px]]
+
| '''Simple Buttons'''
+
How will this work??? :-)
+
  
Advantages:
 
* Simple
 
* Similar to print preview controls
 
* reduced mouse travel when jumping forward/backward
 
  
|-
+
The warning dialogs referred to can be found in the section [[Printerpullpages/Current_State_of_Printing_OOo31#Various_Printer_Warning_Dialogs|Various Printer Warning Dialogs (wiki page Current State of Printing in OpenOffice.org 3.1]].
| [[Image:cwsprinterpullpages_2009-06-14_Ideas_PrintPreviewNavigation_SliderPlusButtons.JPG|200px]]
+
| '''Slider Plus Buttons'''
+
Similar to horizontal scrollbar
+
 
+
Advantages:
+
* Shows position in the paper stack
+
* Clear shape of buttons
+
Disadvantage: Size of paper stack isn't visulized (in comparison to scrollbar)
+
 
+
|-
+
| [[Image:cwsprinterpullpages_2009-06-14_Ideas_PrintPreviewNavigation_VideoRecorderControl.JPG|200px]]
+
| '''Some kind of "Video Recorder Control"'''
+
Advantage: Very flexible
+
Disadvantage: New control in OOo with completely new behavior, maybe users will just confused...
+
 
+
|-
+
| (no mockup)
+
| '''Navigator'''
+
Navigate to important elements in the document, if the print layout makes it hard to check a certain page (e.g. 4-up printing, only left pages). Writer: headings, ...; Calc: spreadsheet names; Impress: page names; ...
+
|}
+
  
==== N-up printing ====
+
=== Other Decisions ===
  
work in progress: writer's page preview is kept, but the N-Up configuration of the "page preview" gets removed completely. The general N-Up printing facility now provides this functionality. Additionally the "print preview" button gets its text replaced by "print document" as you do not print the page preview, but the document the page preview is a viewing.
+
* '''Changing''' the position of the option "Fax" in Writer. It doesn't make sense to select it in the print dialog, so that it will be kept in the Tools - Options dialog only. (Discussion by Philipp and Christoph in an early mail...)
 +
* '''Removing''' the "Orientation warning" in the Tools - Options dialog. It was not possible to "force" the warning to appear. (Discussion of Philip and Christoph, phone call 2009-07-13)
  
 
== Status and Roadmap ==
 
== Status and Roadmap ==
 
It is planned to provide a new basic dialog in [http://wiki.services.openoffice.org/wiki/OOoRelease32 OpenOffice.org 3.2]. So the interaction design should be finished until end of June 2009. Hopefully ;-)
 
 
Now delayed to end of july. However the current implementation is basically "final" that is what will be done before CWS printerpullpages gets integrated.
 
 
Specification document: '''tbd'''
 
  
 
=== Current State ===
 
=== Current State ===
  
* The development happens since quite a few months. Recently, User Experience jumped in and will try to further improve the dialog and the overall workflow concerning printing.
+
* The development happens since quite a few months. Originally planned for OpenOffice.org 3.2 it had to be delayed to 3.3 to provide a sufficient quality. Sorry!
 
* '''Development versions:''' Development versions can be found at [ftp://qa-upload.services.openoffice.org/printerpullpages/ ftp://qa-upload.services.openoffice.org/printerpullpages/]  
 
* '''Development versions:''' Development versions can be found at [ftp://qa-upload.services.openoffice.org/printerpullpages/ ftp://qa-upload.services.openoffice.org/printerpullpages/]  
* '''Issue Tracker''': All issues with an descriptive entry “printerpullpages” can be listed with [http://www.openoffice.org/issues/buglist.cgi?issue_type=DEFECT&issue_type=ENHANCEMENT&issue_type=FEATURE&issue_type=PATCH&issue_status=UNCONFIRMED&issue_status=NEW&issue_status=STARTED&issue_status=REOPENED&issue_status=RESOLVED&issue_status=VERIFIED&issue_status=CLOSED&email1=&emailtype1=exact&emailassigned_to1=1&email2=&emailtype2=exact&emailreporter2=1&issueidtype=include&issue_id=&changedin=&votes=&chfieldfrom=&chfieldto=&chfieldvalue=&short_desc=&short_desc_type=allwords&long_desc=printerpullpages&long_desc_type=allwords&issue_file_loc=&issue_file_loc_type=fulltext&status_whiteboard=&status_whiteboard_type=fulltext&keywords=&keywords_type=anytokens&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&Submit+query=Submit+query Extended Issue Tracker Query]
+
* '''Issue Tracker''': All issues referring to “printerpullpages” in the summary or the comments will be listed with [http://www.openoffice.org/issues/buglist.cgi?issue_type=DEFECT&issue_type=ENHANCEMENT&issue_type=FEATURE&issue_type=PATCH&issue_status=UNCONFIRMED&issue_status=NEW&issue_status=STARTED&issue_status=REOPENED&issue_status=RESOLVED&issue_status=VERIFIED&issue_status=CLOSED&email1=&emailtype1=exact&emailassigned_to1=1&email2=&emailtype2=exact&emailreporter2=1&issueidtype=include&issue_id=&changedin=&votes=&chfieldfrom=&chfieldto=&chfieldvalue=&short_desc=&short_desc_type=allwords&long_desc=&long_desc_type=allwords&issue_file_loc=&issue_file_loc_type=fulltext&status_whiteboard=&status_whiteboard_type=fulltext&keywords=&keywords_type=anytokens&field0-0-0=short_desc&type0-0-0=anywords&value0-0-0=printerpullpages&field0-0-1=longdesc&type0-0-1=anywords&value0-0-1=printerpullpages&cmdtype=doit&order=Reuse+same+sort+as+last+time&Submit+query=Submit+query Extended Issue Tracker Query]
* '''EIS''': The [http://wiki.services.openoffice.org/wiki/EIS EIS] entry for “printerpullpages” is located at [http://tools.services.openoffice.org/EIS2/cws.ShowCWS?logon=true&Id=7202&Path=DEV300%2Fprinterpullpages http://tools.services.openoffice.org/EIS2/cws.ShowCWS?][http://tools.services.openoffice.org/EIS2/cws.ShowCWS?logon=true&Id=7202&Path=DEV300%2Fprinterpullpages logon=true&Id=7202&Path=DEV300%2Fprinterpullpages]
+
* '''Issue Prioritization''': The separate wiki page [[Printerpullpages/Issue_Prioritization|Issue Prioritization]] collects and rates usability issues. In certain cases, the Issue Tracker is sub-optional with regard to importance of issues.
 +
* '''EIS''': The [http://wiki.services.openoffice.org/wiki/EIS EIS] entry for “printerpullpages” is located at [http://tools.services.openoffice.org/EIS2/cws.ShowCWS?Path=DEV300%2Fprinterpullpages http://tools.services.openoffice.org/EIS2/cws.ShowCWS?Path=DEV300%2Fprinterpullpages]
 +
* '''Mercurial Repository''': The web based Mercurial repository can be found here [http://hg.services.openoffice.org/cws/printerpullpages/ http://hg.services.openoffice.org/cws/printerpullpages/]
 +
* More: Have a look at [[#Online_Discussion.2C_Press_Coverage_and_Comments|Online Discussion, Press Coverage and Comments]].
  
=== Future Tasks ===
+
=== OpenOffice.org 3.3 ===
  
If there are interesting ideas how to further improve printing in OpenOffice.org, then the development might continue for future version of OpenOffice.org.
+
* System Independent Printing Dialog: Provide a cleaned up and well described system independent printing dialog with new features for [http://wiki.services.openoffice.org/wiki/OOoRelease33 OpenOffice.org 3.3].
 +
* Native Printing Dialog for Mac OS X: Provide cleaned up printer options for Mac OS X.
 +
* Basic workflow improvements ("Warning Print Options Dialog (Title "Warning Print Options")", "Warning Transparency Dialog (Title „Warning“)")
  
Philipp said that Caolan, a guy working for RedHat, offered some help to bind the native print dialog in Gnome (GTK). Some years ago, he already blogged about the [http://blogs.linux.ie/caolan/2005/07/28/gnomeprintui/ gnomeprintui].
+
=== OpenOffice.org Later ===
  
=== Other Ideas ===
+
If there are interesting ideas how to further improve printing in OpenOffice.org, then the development might continue for future version of OpenOffice.org.
 +
* Native Printing Dialog for GTK: Philipp said that Caolan, a guy working for RedHat, offered some help to bind the native print dialog in Gnome (GTK). He already blogged about that since quite a long time: [http://blogs.linux.ie/caolan/2005/07/28/gnomeprintui/ 2005-07-28 gnomeprintui], [http://blogs.linux.ie/caolan/2009/07/23/new-print-dialog/ 2009-07-23 New Print Dialog].
 +
* Native Printing Dialog for Linux: Work with the people from the Linux Foundation OpenPrinting workgroup. First contact has been established since 2009-07-09 with Till and Peter.
 +
* Old Stuff: Solve the remaining issues described on our page [[Printerpullpages/Current_State_of_Printing_OOo31|Current State of Printing (OpenOffice.org 3.1)]].
 +
* New Stuff: Evaluate new ideas based on our page [[Printerpullpages/Idea_Collection|Idea Collection]].
  
{| class="prettytable"
+
== Help for Contributors ==
| '''Date Raised'''
+
| '''Source'''
+
| '''Summary'''
+
| '''Status'''
+
| '''Details'''
+
  
|-
+
=== Help & Translation ===
| ???
+
| I-Team Specification
+
| Replace Print Preview Printing
+
| Accepted
+
| Currently, Writer provides very flexible N-up capabilities. This should be made available to all applications – via the new print dialog.
+
  
|-
+
The behavior of the printing dialog has been changed - and so did many of the strings and descriptions.
| ???
+
| I-Team
+
| Improve Workflows
+
| New
+
| Besides the printing dialog, the concepts and the handling of printing options is difficult in OpenOffice.org (currently we just provide a list of options which have to be combined in a useful manner – here the user has to know exactly what to do).
+
  
Another example is the work-flow breaking dialog handling when printing. More information can be found in the blog post [http://uxopenofficeorg.blogspot.com/2009/06/transparent-decision-making.html Transparent Decision Making].
+
* An overview what has been changed is given at [[#Final_Design|Final Design]]. Worth reading :-)
 +
* If you want to judge how much space is left for the translated strings, please have a look at the [[Printerpullpages/History_of_Design_Development#Current_Design_Mockup|Current Design Mockup]].
 +
* The string reviews and the corresponding discussions are documented at [[Printerpullpages/String_Reviews|String Reviews]]
 +
* Please do '''NOT''' use the terminology listed at [[Printerpullpages#Definition_of_Terms|Definition of Terms]], since it is for development only.
 +
* Additional information of former options are given in the Calc spreadsheet document at [[Printerpullpages/Current_State_of_Printing_OOo31#Source_Data|Source Data]]. Please note that it is currently a bit dated - the Current Design Proposal and the String Review are currently used.
  
So this is no real “idea”, it is more a reminder to keep an eye on that.
 
  
|-
+
Please note:
| 2009-06-11
+
* The dialog for MacOS X (Native Print Dialog) may contain a different distribution of options in comparison to the System Independent Print Dialog.
| I-Team
+
* The former printing dialog (e.g. OOo 3.1) did not provide a help button and provided help only in the separate print options dialog window. Now, the print dialog and the options are merged and the new help is opened from within the print dialog - this is a different context from the user's point of view.
| Contextual Information Bar
+
| New
+
| As discussed in “Improve Workflows”, there are currently a number of modal dialogs which might interrupt the workflow. So how about a contextual information bar which informs only (e.g. for wrong page sizes, transparency, gradients, ...)?  How about adding a contextual information bar in the dialog itself...
+
  
[[Image:Printerpullpages OtherIdea Contextual Information Bar.png|256px|thumb|center|Rough mockup of a contextual information bar]]
+
Please tell us if you miss any important information!
  
On the other hand, it would be better to get rid of all these additional informations, warnings and decisions. Open Questions:
+
=== QA ===
* If people print via shortcut, then the print dialog is omitted. What to do?
+
* If native dialogs are used, then we miss the flexibility to add this kind of warning.
+
  
|-
+
Many things changed in this CWS, so - to everyone - please consider to do "real world testings" with the new printing system. Thanks!
| ???
+
| I-Team
+
| Harmonize printing and PDF export
+
| New
+
| Currently, the capabilities of printing and PDF export differ a lot (Example: There is no way to export handouts in Impress.) Why not harmonize that?
+
  
|-
+
* An overview what has been changed is given at [[#Final_Design|Final Design]]. Worth reading :-)
| 2009-06-14
+
* Current development builds and links to an issue query can be found at [[Printerpullpages#Current_State|Current State]].
| I-Team
+
* Issue template which can be used for new issues at [http://www.openoffice.org/issues/enter_bug.cgi?issue_type=DEFECT;subcomponent=ui;form_name=enter_issue;cc=jsk;issue_file_loc=http%3A%2F%2F;reporter=christophnoack;op_sys=All;maketemplate=Remember%20values%20as%20bookmarkable%20template;comment=;version=DEV300m61;component=framework;priority=P3;assigned_to=pl;short_desc=%5BCWS%20printerpullpages%5D%20;rep_platform=All|CWS Printerpullpages Issue Template] (Component framework, UI, Assigned to pl, CC to jsk, Summary [CWS Printerpullpages], version DEV300m61)
| Printer Presets
+
| New
+
| Currently, we provide a lot of printer settings which have to be combined by the user. Generally, users use only a small number of combinations, since they are editing similar documents. So they might just use settings for "draft" or "final output". Print settings which could be customized could help here (costomized: edited, saved, loaded, deleted). Some competitors already offer this kind of functionality.
+
  
|-
+
Please tell us if you miss any important information!
| 2009-06-14
+
| [[User:Regina|Regina]]
+
| multiple copies of a one page document on one paper sheet
+
| New
+
| Use case: You need a lot of DIN A5 sheets to distribute flyers or for to give the sheets to your pupils in your classroom. You write a DIN A5 document. But DIN A5 paper is more expensive than DIN A4 paper. So you want to print the same document twice on a DIN A4 paper. That is not possible up to now. Besides the {{bug|67687}}, have a look in the internet forums, you see that people are searching for that feature but get only workarounds or have to buy special software. For example http://www.oooforum.org/forum/viewtopic.phtml?t=65019 or http://www.oooforum.org/forum/viewtopic.phtml?t=30747 or the workaround for Word http://www.gmayor.com/print_multiple_copies.htm
+
  
|-
+
== Test case specifications ==
| 2009-06-16
+
| [[User:Regina|Regina]]
+
| Assistance for envelope printing
+
| New
+
| Printing envelopes still belongs to the tasks which most failures. OOo should use informations about the printer (for example from the PPD-file) to help the users. For example, OOo can show how to insert the envelop, or show, what position the envelope must have compared with the standard paper sheet.
+
  
|-
+
Please find Test case specifications [[PppTestCases|here]]
| 2009-07-04
+
| [[User:ChristophNoack|Christoph]]
+
| Merge change tracking and notes
+
| New
+
| Issue: In Writer, currently there is no common handling for the printing of Notes or handling of Change Tracking. If tracked changes are enabled in the document, they are also printed. There is no way to enable/disable these „reviewer markups“.
+
Proposal: Maybe something to change/merge for further releases?
+
Open Question: Maybe also Calc is affected, since it also supports change tracking.
+
 
+
|}
+
  
 
== Mockups and Screenshots ==
 
== Mockups and Screenshots ==
Line 734: Line 389:
  
 
{| class="prettytable" border="0"
 
{| class="prettytable" border="0"
 +
|-
 
| [[Image:printerpullpages_nup_current.png|512px|thumb|center]]
 
| [[Image:printerpullpages_nup_current.png|512px|thumb|center]]
|
+
| Screenshot showing the current state of the N-Up tab page in the system independent print dialog.
Current state of the N-Up tab page in the system independent print dialog.
+
  
 
|-
 
|-
| [[Image:Printerpullpages 2009-06-07 PrintingDialog EarlyMockup.png|512px|thumb|center]]
+
| [[Image:2009-08-09_PrintingDialog_SomehowRealisticVersion.png|512px|thumb|center]]
| An '''initial draft''' mockup, just to let you know that we are working on something ;-) Many of the implemented proposals are still in discussion...
+
| Mockup showing the current design of the "General" tab page for Calc. Find more mockups on [[/History of Design Development|History of Design Development]]
 +
|}
  
|-
+
== Online Discussion, Press Coverage and Comments  ==
| [[Image:2009-07-13v4 PrintingDialog.png|512px|thumb|center]]
+
| A '''draft''' mockup, still many things are in discussion...
+
  
|-
+
*Philipp Lohmann: [http://blogs.sun.com/GullFOSS/entry/one_step_forward_the_next One step forward, the next step back], blog posting, 2008-11-11
| [[Image:2009-07-14 PrintingDialog.png|512px|thumb|center]]
+
*Philipp Lohmann: [http://blogs.sun.com/GullFOSS/entry/new_print_ui New Print UI], blog posting, 2009-06-04
| An '''early''' mockup. Some comments:
+
*Christoph Noack: [http://uxopenofficeorg.blogspot.com/2009/06/transparent-decision-making.html Transparent Decision Making], blog posting, 2009-06-13
* Many options have been changed / renamed / merged. Although we thought about these changes, they might not be final.
+
*Philipp Lohmann: [http://blogs.sun.com/GullFOSS/entry/cws_printerpullpages_delayed_to_ooo CWS printerpullpages delayed to OO.o 3.3], blog posting, 2009-09-03
* Draw and Math are completely missing in the mockup.
+
*Christoph Noack: "New Printing UI - Better Printing For OpenOffice.org", OOoCon 2010 presentation ([http://www.ooocon.org/index.php/ooocon/2010/paper/view/281 Abstract], [http://wiki.services.openoffice.org/wiki/File:2010-09-02_NewPrintingUI-printerpullpages_Noack.odp '''ODP Presentation File''' (recommended)], [http://wiki.services.openoffice.org/w/images/b/bb/2010-09-02_NewPrintingUI-printerpullpages_Noack.pdf PDF File]), 2010-09-03
* How to fit the dialog on small screens is in discussion. Due to the missing layout manager, currently we propose to separate the content in separate tabs like "General 1", "General 2". That should at least provide a solution for the Netbook users.
+
* Some options will be placed (information architecture) differently for native dialogs, e.g. brochure printing.
+
* A reasonable textual description is missing...
+
 
+
|-
+
| [[Image:2009-07-19 PrintingDialog.png|512px|thumb|center]]
+
| '''Changes in comparison to last mockup''':
+
* Implemented some of the proposals and ideas from Andreas (Anjoschu) commented on the "Wiki Talk Page", e.g.:
+
** Rework of ranges and copies in the Calc dialog
+
** Decision for "Print to file..." button
+
** Some cleanups and corrections
+
** ... some things are still open for discussion
+
* Added print options for Calc (and removed a - to me - unnecessary option)
+
* Added print dialog and print options for Draw
+
* Provided separate examples for: Default Dialog Size, Full Dialog Size, Compact Dialog Size (for e.g. Netbooks)
+
* Added note for the Impress/Draw size options if brochure printing is enabled
+
 
+
 
+
'''Open Points''' (''biiig'' questions):
+
* Impress: How to integrate Handout printing and the problem that document definitions get overridden
+
* Writer: RTL/LTR options, location of "add blank ..."
+
* All: location of some options (e.g. Reversed)
+
* Why should we provide "Colors" (original colors, grayscale, black&white) to Draw/Impress only? Does it make sense to make it available to all document types?
+
* ...
+
 
+
|-
+
| [[Image:2009-07-21 PrintingDialog.png|512px|thumb|center]]
+
|
+
'''Changes in comparison to last mockup:'''
+
* Cleanup of text labels, some of it inspired by feedback by Anjoschu:
+
** Use of capitalization
+
** Use of OpenOffice.org module names for module specific options (similar to the application window titles and application options)
+
** Many other small changes
+
* Simplified (hopefully) inclusion of left/odd/front pages vs. right/odd/front pages.
+
* Moved some options (back) to underline the dependence to specific OpenOffice.org modules. Still, there seems not to be the optimal solution for the given constraints :-(
+
 
+
 
+
'''Comments:'''
+
* Brochure printing is currently added to the multi page printing (N-up). For native dialogs which implement its own N-up it is currently proposed to create a separate group containing: Brochure, Order, Include
+
 
+
 
+
'''Open Points:'''
+
* Impress: The print dialog (tab "General") misses the ability to use the handout layout defined in the document. Adding this will be a challenge concerning /(consistent) space and layout. And, as Anjoschu mentioned ... it relates somehow to N-up printing
+
* All: How to "devide" the settings for limited display resolutions
+
* All: A lot (!!!) of textual description how certain elements behave (e.g. description of whether to keep the page order entry "Left to right, then down" for 2-on-1 printing)
+
* All: The name of the weird menu (last tab): Options, Output Options, Driver Options or Extras (at the moment, I prefer output options since all the elements are options and driver is too technical).
+
* All: Warning messages, pre-defined output settings, better printer details integration
+
* All: Why should we provide "Colors" (original colors, grayscale, black&white) to Draw/Impress only? Does it make sense to make it available to all document types?
+
* All: May we really re-use the existing Order drop-down for both brochure printing and N-up? Maybe people are confused, but it uses space efficiently...
+
* All: Does it make sense to add an option to make settings persistent (to e.g. store defaults like in Tools -- Options)?
+
 
+
 
+
|-
+
| [[Image:2009-08-02 PrintingDialog.png|512px|thumb|center]]
+
|
+
'''Changes in comparison to last mockup:'''
+
* Updated "somehow realistic version" dialog to match the current Calc print dialog proposal
+
* Added examples for the position of the print page preview (portrait, landscape, additonal info). The initial size might be adjusted to better fit landscape layouts, but after the dialog has been shown to the user, the size should stay the same (e.g. for keeping thebutton positions).
+
* Small terminology updates (e.g. Calc "Thereof" to "Thereof print")
+
* Better alignment of controls in tab page "Page Layout"
+
 
+
 
+
'''Comments:'''
+
* There has been an intensive discussion with Philipp how to integrate N-up and brochure printing. The current approach features three radio buttons:
+
** Default = One page per sheet, no brochure printing. Usually this is handled by "Pages per sheet = 1", but here we have to avoid a cluttered layout in the dialog when the controls of N-up would appear above brochure printing. Unfortunately, this requires an additional click when prnting several pages per sheet (click on "Pages per sheet" and then selecting the number of pages).
+
** Brochure = Brochure printing. Added a drop-down to select the script writing direction; this has been the checkbox "Right to left" because an automatic detection is nearly impossible.
+
** Pages per sheet = N-up printing. Removed "1", because this is handled by default. I hope this will be understood, because it is really different to other software...
+
* Include: The new include combines the setting for default, brochure printing and N-up printing. Thus, we now refer to e.g. both "Front sides" and "left pages" in the drop-down.
+
 
+
 
+
'''Open Points:'''
+
* All: Define defaults for all the elements (e.g. set the margins to 0 for "Pages per sheet = Custom"
+
* All: Rename "Default" to "Default (1 page per sheet)" to make its meaning more clear? (tab "Page Layout")
+
* All: Or, re-arrange the whole tab by removing the "Border line" printing.
+
* All: A lot (!!!) of textual description how certain elements behave (e.g. description of whether to keep the page order entry "Left to right, then down" for 2-on-1 printing)
+
* All: The name of the weird menu (last tab): Options, Output Options, Driver Options or Extras (at the moment, I prefer output options since all the elements are options and driver is too technical).
+
* All: Warning messages, pre-defined output settings, better printer details integration
+
* All: Why should we provide "Colors" (original colors, grayscale, black&white) to Draw/Impress only? Does it make sense to make it available to all document types?
+
* All: Does it make sense to add an option to make settings persistent (to e.g. store defaults like in Tools -- Options)?
+
 
+
|-
+
| [[Image:2009-08-06 PrintingDialog.png|512px|thumb|center]]
+
|
+
'''Changes in comparison to last mockup:'''
+
* All: Tab page Page Layout has been refined again.
+
** We decided to now go for radio buttons for choosing "Pages per sheet" and "Brochure" printing. We accept that the radio buttons are separated by several other control - but we gain a lot of clarity for the rest of the dialog.
+
** Moved "Border line around each page" to new position to improve the layout of the controls. But, the existance and the position of the control are still preliminary - maybe it will getÜbearbeitetes Print Layout removed again...
+
* All: Added a proposal how a Print Page Preview may look like, when there is no Print Range defined (e.g. if there is an empty input field for page range).
+
* Impress: The group Print in the tab General has been improved. Now, it should be able to activate the handout printing format which has been defined in the document. Due to the amount of space available it is simply called "Default" (although we would have liked to make it more self-explanatory).
+
 
+
 
+
'''Comments:''' none
+
 
+
 
+
'''Open Points:'''
+
* Math: Completely missing
+
* All: Define defaults for all the elements (e.g. set the margins to 0 for "Pages per sheet = Custom"
+
* All: A lot (!!!) of textual description how certain elements behave (e.g. description of whether to keep the page order entry "Left to right, then down" for 2-on-1 printing)
+
* All: The name of the weird menu (last tab): Options, Output Options, Driver Options or Extras (at the moment, I prefer output options since all the elements are options and driver is too technical).
+
* All: Warning messages, pre-defined output settings, better printer details integration
+
* All: Why should we provide "Colors" (original colors, grayscale, black&white) to Draw/Impress only? Does it make sense to make it available to all document types?
+
* All: Does it make sense to add an option to make settings persistent (to e.g. store defaults like in Tools -- Options)?
+
|}
+
  
== Online Discussion, Press Coverage and Comments ==
+
[[Category:User_Experience]]
* Philipp Lohmann: [http://blogs.sun.com/GullFOSS/entry/one_step_forward_the_next One step forward, the next step back], blog posting, 2008-11-11
+
* Philipp Lohmann: [http://blogs.sun.com/GullFOSS/entry/new_print_ui New Print UI], blog posting, 2009-06-04
+
* Christoph Noack: [http://uxopenofficeorg.blogspot.com/2009/06/transparent-decision-making.html Transparent Decision Making], blog posting, 2009-06-13
+

Latest revision as of 16:47, 4 September 2010

2009-06-14 printerpullpages logo.png

Introduction

Summary

A new printing UI should give us better performance, more ease of use and overall more customer satisfaction. New features like the instant preview in a print dialog as well as unified N-Up printing for all applications will bring OOo's print experience more up to current standards. Additionally system integration can benefit by making use of native print dialogs (for which the MacOSX implementation will be the prime example). The development is done in the CWS printerpullpages.

Comments, questions or feedback is welcomed on the ui@ux.openoffice.org mailing list.


The team working on the feature:

Role Name E-Mail Address
I-Team Lead Philipp Lohmann (PL) Philipp.Lohmann@Sun.COM
Developer

Philipp Lohmann (PL)
Andre Fischer (AF)
Thomas Lange (TL)
Niklas Nebel (NN)

Philipp.Lohmann@Sun.COM
Andre.W.Fischer@Sun.COM
Thomas.Lange@Sun.COM
Niklas.Nebel@Sun.COM

Quality Assurance Jörg Skottke (JSK)
Hasan Ilter (HI)
Joerg.Skottke@Sun.COM>
Hasan.Ilter@Sun.COM
Documentation Uwe Fischer (UFI)
Uwe.Fischer@Sun.COM
User Experience

Christoph Noack
Frank Loehmann (FL)

christophnoack@openoffice.org
Frank.Loehmann@Sun.COM

Details

First let us see why we need a new print subsystem in OOo. Up to now printing for OOo's applications worked like this:

  • the user clicks on File->Print
  • a dialog pops up in which the user can enter the page range to be printed, the printer to be printed on, etc.
  • the application evaluates the data from the dialog, starts a print job and prints each page consecutively. After the last page is printed, the application finishes the print job.

This works but has some major drawbacks on the Mac platform:

  • On Mac the printed range has to be known before the native print dialog (usage of which is a requirement on this platform) gets started. Even when printing without a dialog the number of pages has to be known before the print job starts. However the system dependent print implementation cannot know this page range, because it is only known to the application.
  • The Mac print system then requests individual pages to be printed. These need not be in order or each page be printed only once due to the fact that when using the native print dialog a preview gets shown. To achieve this the Mac print system requests the current page to be previewed be printed. This is completely different to OOo's current print model.
  • The current workaround on the Mac is to “print” all pages of a document, but not output to the actual printer but keep a memory copy of the printed pages. These can then in the real print job be requested by the system in random order and as often as needed. This solution has obvious performance and memory footprint drawbacks

So for at least the Mac platform we need a more flexible print solution. This solution should have the following features:

  • pull instead of push pages: the print subsystem pulls pages a needed from the application, not the application pushes a number of pages to the print subsystem. On systems where printing is push based (Windows, Unix) the push behavior can be easily satisfied by an adaptor that pulls all pages and pushes each to the system consecutively.
  • Provide a print preview in the new dialog: the user should be provided with a preview of what his document will look like when printed out. This preview should take into account all available application specific print options which can up to now be accessed by the “Options...” button in the print dialog.
  • Be able to use native print dialogs and embed our print options into them, this benefits system integration.
  • Reuse existing technology when possible to keep the implementation effort low

Based on these requirements the following new model should be implemented:

  • printing migrates to a “pull” model where the print system pulls pages as required from the application.
  • A new generic (that is universal on all systems) print dialog gets implemented that features the entry possibilities of the old dialog as well as new features namely:
    • a print preview
    • all application specific print options (which are hidden on the “Options...” dialog in the old print dialog)
    • N-Up printing

Requirements

Scope of the Work

In Scope Out of Scope
  • Satisfy the user demands for a the use of native printing dialogs (e.g. on the Mac OS X platform)
  • Provide a high quality printing interface that is system independent
  • Add system independent N-up printing to overcome the drawbacks of certain printer drivers
  • Improve the overall interaction quality (e.g. workflow improvements, terminology, essential print options)
  • Create a fresh and usable interface for printing in OpenOffice.org
  • For all of the above: keep changes to limit that can be implemented for OOo 3.3. Further changes can wait for later version.
  • Additional functionality will not be added (besides the planned N-up printing)

Analysis of the Current State of Printing (OpenOffice 3.1)

Please refer to the page Current State of Printing (OpenOffice.org 3.1). It provides findings about the current state of printing in OpenOffice.org 3.1 by analyzing usage feedback data, workflows and printing dialog screenshots.

Use Cases

Use cases are an important tool for the design of both usable and efficient interaction concepts. Knowing the most common ones, the user interface can be optimized to satisfy the need of a large user base in many situations. Besides the user feedback data, we don't have any knowledge about how our users work with OpenOffice.org. So we asked experts, users and trainers to get some feedback on "the three most common use cases". We know that this data isn't statistically relevant, but we may get some insight which we currently don't have.

Questions to the mailing lists:


The file Printerpullpages_UseCases_CollectionOfFeedback contains the first collected feedback. If anybody wants to help to further collect/sort/analyse the feedback - that would be really great!

Preliminary Finding: It seems that there is no clear preference for certain print options. These options are used in many different combinations when looking at the whole user base, but each user itself uses only a few "sets" of own printing options. So this might be an indicator to support pre-defined and custom defined printer presets. This proposal has been backed up by the work of Peter (Linux OpenPrinting workgroup) with whom I had a short email discussion concerning this topic.

Competitive Analysis

Please note that although we do competitive analysis, we won't publish too many information here, e.g. screenshots due to legal restrictions. If you are interested in a special program, then try to search for images in your favorite internet search. In 99% of all cases, you will get some pictures and a first idea how it looks like ... and most presumably how it will behave.

Another good approach is to have a look at the official documentation of our supported platforms:

  • Apple User Interface Guidelines, The Print Dialog
  • Microsoft Windows User Experience Interaction Guidelines, Common Dialogs (scroll down a bit, since the print dialog is not listed in the TOC)
  • Linux Common Printing Dialog, Linux Printing UI Specification, specification created by the Linux Foundation OpenPrinting workgroup available in the OpenUsability.org wiki
  • OpenSolaris, Project: "Presto: Automatic Printing Configuration", UI Prototypes, contains some information about the Print Dialog


Please refer to the page Competitive Analysis. It collects information on special applications or general printing dialogs.

Requirements List

The following list contains the most important requirements to get started. Okay, these aren't real requirements, it is more like a what-feature-is-generally-desired list.

  • The new print functionality shall provide an native print dialog. As an alternative, a system independent print dialog is used.
  • The new print dialog shall provide all application specific print options which are necessary for most printing tasks.
  • The new print dialog shall provide a print preview. The visualization is updated immediately if print options are changed (immediately: time until final visualization <= 500 ms).

Technical Constraints

The following list contains the most important technical constraints which will have impact on the final interaction and dialog design.

  • Options: Especially the application specific options have to be "compatible" to be used in the native print dialogs. This refers to the overall number (space restrictions in the native print dialogs), the organization (it should be possible to define property groups), controls (limited use of graphical UI controls), layout (layouting is limited to what the operating system provides), ...
  • Size: Since printing is an ordinary task, the dialog should be usable on computers with low screen resolution (e.g. Netbooks with 576px height) and large screens (e.g. PCs)
  • GUI elements:
    • Non-standard controls: Since printing will provide some visual output, it is strongly desirable to use graphical controls (e.g. for the print order). Especially for embedding of application specific print options into native print dialogs this might cause problems, since a) it might be impossible, or b) it might create additional effort for porting.
    • Element "Group Box": Since OpenOffice.org 2.2 group boxes have been replaced by simple horizontal or vertical lines to divide dialogs. As a result, these group boxes aren't themed at the moment (themed: adapted to the visual style of the graphical user interface of certain operating systems).
  • Layout: Currently, there is no GUI layout manager available which resizes all dialog elements according the size of the screen and the size of each of the dialog's objects. Consequence: Static dialog layout which considers the space requirements for other languages.
  • Mac OS X Compatibility: OpenOffice.org is made to run on a variety of Mac OS X versions. Some of those provide a different feature set with regard to printing, so that there is a need for a compromise to satisfy most of the users.
    • 10.4 (Tiger): Application specific options can be integrated in the native print dialog, but there is no print preview available.
    • 10.5 (Leopard): Application specific can be integrated in the native print dialog, and a print preview can be made available.

Definition of Terms

Definitions for the use on this wiki page and the specification. They might be different to the final user interface terminology.

Term Description
System Independent Print Dialog A print dialog that is independent from the underlying operating system, since it is provided by OpenOffice.org. This dialog is used if either the native print dialog is not available or the user explicitly wants to use it instead of the native one. Besides the application specific options, it is required for the print dialog to handle also: printer selection, printer status text, print to file, copy count, collate, N-up printing
Native Print Dialog The native print dialog is the one provided by the operating system, e.g. Mac OS X. The advantage is the visual and behavioral consistency among all applications on the platform, but there are also technical constraints which limit the flexibility of the design.
Application Specific Print Options OpenOffice.org consists of several modules optimized for certain document types, e.g. word processing (Writer) or spreadsheet editing (Calc). For each of the document types the user may require special options which do only make sense with regard to a certain document type (e.g. printing of Notes). Most of these options are today (OpenOffice.org <= 3.1) available in the print options dialog and the tools options settings pages.
N-up printing N-up printing refers to multiple page printing, so that more than one document page (created in the application) is printed on the real paper page. Usually the user selects the number of pages to be printed, e.g. 2 on 1.
Print Preview A preview of what the document will look like when printed out. Therefore this preview should take as much as available print options into account. The print preview is given in the print dialog and therefore complements the page preview available in the file menu in some applications.

Design Proposals and Idea Collection

  • Please refer to the page Design Proposals. Based on requirements, it collects design proposals and rates them - maybe some of the proposals get integrated into OpenOffice.org.
  • Please refer to the page Idea Collection. It collects ideas which may later get evaluated and even integrated. You are invited to add your ideas!
  • N-Up printing is new for other modules than Writer and for Writer it might change. So a specification is needed, how N-Up printing should work. See draft specification of N-Up printing for suggestions and issues.

Final Design

  • Please refer to the page History of Design Development. It contains the history of the design development of the Printing Dialog. Thus, you can see how the design evolved over time.
  • Please refer to the page String Reviews. It is meant for the string reviews and discussions concerning the translation.

System Independent Printing Dialog

Application Independent Design Decisions

This section summarizes the basic design ideas which should be as consistent as possible for all the OpenOffice.org applications.

  • General structure of the printing dialog:
    • Structure options in tabs: We finally decided to use tabs, since the combination of "no layout manager" and the sheer number of options make it impossible to implement a behavior like on Apple Mac OS X. This would have been desirable, since the elements currently available in tab "General" would have been accessible all the time - without changing tabs.
    • Print Preview: The design decisions are described on the Design Proposals page.
    • Layout: We tried to respect as much as possible when it comes to the dialog design guidelines for OpenOffice.org.
  • Tab "General": The goal of this tab was to present the most important elements together. Besides this huge advantage, some people might be slightly confused what is available where - the "General" tab also presents application specific information which might be expected under the application specific tabs.
    • Group "Printer":
      • The design generally respects the "Microsoft Windows User Experience Interaction Guidelines". Reasons: a) the printer selection is improved for people having only few printing sinks (e.g. printer, PDF creator, fax), b) the largest part of our current user base still uses Microsoft Windows so we are consistent - for the other platforms there might be native printing dialogs in later versions.
      • The button "Preferences..." has originally been introduced to open the driver own printer settings on Microsoft Windows. For Linux still our own "automatically" created dialog will be opened; it may later be possible to move the settings to a more accessible place inside our dialog. For the Mac OS X platform there is no printer settings dialog - the button can be easily omitted to let the dialog look more clear.
    • Group "Printer details": The printer details are hidden since in many cases, a) the information isn't required (private users) and b) the information isn't provided (due to operating system, printing system and given settings). Then, we reduced the number of details since this was a very old design decision to respect each operating system with its different information. Other reasons are given on the wiki page Design Ideas.
    • Group "Range and copies": Slightly improved layout which is based on the original printing dialog, since we have to respect our existing user base. Combined "Range" and "Copies" to let it appear less cluttered.
    • Group "Print": Presents the most important print content settings for each application. This has been a requirement by the application owners, since the experience shows that most people aren't aware of the capabilities.
  • Tab "OpenOffice.org Application": The options of all applications have been classified according to their meaning. For details please refer to the page Analysis of the Current State of Printing (OpenOffice 3.1). The following groups have been defined and are used in the given order - but only if there are any options to show.
    • Group "Contents": Contains fine grained settings for enabling/disabling contents. The former options have been improved in their naming and analyzed for their usage frequency. As a result, some of them have been merged or omitted.
    • Group "Color": All color related settings can be found here.
    • Group "Size": Size related settings of either single objects or the whole print page are available here.
    • Group "Pages": Anything which might have impact on adding/removing whole pages is located here. The only exception are the settings for "right/front / left/back" page sides which is rather used for the Page Layout.
  • Tab "Page Layout": These options do mostly relate to the new N-up printing feature. Since it was pretty hard to find a sufficient interaction concept, you may also be interested in details at the page Analysis of the Current State of Printing (OpenOffice 3.1).
    • Group "Layout": This group merges the new N-up printing, brochure printing and the previously "Writer only" feature "Print Options Page View" and the new "add border" feature. In contrast to previous versions, there is a simple interface and custom settings:
      • Simple: Most people "just" want to print, so we introduced pre-defined "pages per sheet" which also automatically sets the page orientation. The values for margins and borders (see below) are both 0, since we assume the following: people will mainly use that feature in Writer, they want unscaled (or maximum sized) output, document page margins are usually defined so that the output won't be trimmed. I'm sure that 99% of all usage scenarios are covered with this simple interface. Additionally, there is an option for brochure printing which is a special case of "N-up" for certain applications.
      • Custom: The selection "custom" provides fine grained settings which have been possible with the "Print Options Page View" - but now for all applications. One exception, we merged some of the settings which control the margins to the page border and the distance between the pages - faster and more usable, we hope. When switching from "simple" to "custom" mode, the current settings of "simple" will be used (distance, margin) to explain what is going on in "simple" mode. To balance the quality of information and the overall tab group layout, we had to split the captions for the margin and distance control - we hope this will work well for all the languages.
    • Group "Page sides": Each application introduced new names and other behavior to select what page sides ("right/front / left/back") should be printed. We merged this into a dropdown and tried to improve the naming to better communicate what e.g. "left page" in Writer means.
  • Tab "Options": This tab summarizes all less frequent used options whose setting may be desired to be persistent to some extend. Sorry for the name, we lacked a better alternative :-) The upper two options are available in all applications, the lower two only for selected applications.
    • Element "Print to file": Due to the low usage rate, the options has been moved here. Since this setting isn't visible when an other tab page is active, the print button states either "Print to file..." or "Print". Some details have also been discussed on the talk page of the main printerpullpages wiki site.

Application Specific Design Decisions

This section summarizes the application specific print options. These options are mainly based on the ones found in previous versions of OpenOffice.org. If possible, they have been improved.

  • Writer:
    • Tab "General": We moved the "Notes" to the group "Print" since it may be used for "reviewer" comments/changes in general (later version of OOo).
    • Tab "OpenOffice.org Writer": Number of options reduced, but the flexibility is mainly kept.
  • Impress:
    • Tab "General": For the group "Print", the current design finally makes it possible to select the document defined handout design (Issue 94055 ). For the custom handout selection, we had to remove the preview due to space restrictions. Hopefully, the new Print Preview is sufficient.
    • Tab "OpenOffice.org Impress":
      • Most of the options have been improved - naming, merged functionality, ...
      • Group "Size": Here, there are some really good improvements. Since it has been decided to get rid of the modal warning dialog (Warning Print Options Dialog (Title "Warning Print Options")), we were able to a) provide the setting "Original size" to directly chose the (former) trim (which now will make it possible to pre-select this entry in Tools - Options to avoid the warning dialog), b) added the setting "Distribute on multiple pages" here (which also was only available in the modal warning dialog). That design let us also get rid of "Default" - which isn't that self-explaining.
  • Draw: In General, Draw is very similar to Impress. Differences are e.g. the terminology "Page" instead of "Slide".
    • Tab "OpenOffice.org Draw": Removed the option "Hidden pages" which makes only sense in Impress - it isn't available in Draw. That solves an issue existent in former versions of OpenOffice.org.
  • Calc:
    • Tab "General":
      • The naming of the print range selection has been improved - there was an issue about that. Now, we slightly "violate" the OpenOffice.org dialog design directives by removing a group line for "Thereof print", because it is closely related to the upper "Range and copies".
      • Group "Print" not required.
    • Tab "OpenOffice.org Calc": Number of options reduced by 50%! Now there is one remaining option. :-)
  • Math:
    • Tab "General": Group "Print" not required.
    • Tab "OpenOffice.org Math": Removed one very old compatibility option. Naming improved to better fit to the names already used in the help.
    • Tab "Page Layout": Does not exist, since we already print only one page. If this changes, then we might re-add it.

Native Printing Dialog

The following description is a first draft and may change.

This section describes the native print dialog for Mac OS X.

General structure of the printing dialog

  • Mac OS X enables the software to present own sub-groups (Apple calls them features) for the application settings. It has been decided to use add only one to ensure proper distinguishability. The name will be "OpenOffice.org" ($PRODUCTNAME)
  • The sub-group will contain the print preview and the print options:
    • The print preview is located on the left. The design of the print preview should be identical to the one in the system independent print dialog.
    • The print options are located on the right. They have to consider additional requirements caused by being located in a native print dialog. The print options are presented in tabs. The tabs and the grouping of the print options will be very similar to the ones in the system independent print dialog to ensure consistency (e.g. to the corresponding help texts).
      • General
      • OpenOffice.org Application
      • Page Layout
  • Some of the options are not required anymore, since the native print dialog - and therefore the native print system - will handle that for itself:
    • Tab "Page Layout": No use of everything related to "pages per sheet".
    • Tab "Options": None of the options required.

Application Specific Design Decisions

  • Writer:
    • Tab "General": Refer to the system independent print dialog description
    • Tab "OpenOffice.org Writer": Refer to the system independent print dialog description
    • Tab "Page Layout":
      • Brochure incl. Order
      • Include
  • Impress:
    • Tab "General": Refer to the system independent print dialog description
    • Tab "OpenOffice.org Draw": Refer to the system independent print dialog description
    • Tab "Page Layout":
      • Brochure incl. Order
      • Include
  • Draw:
    • Tab "General": Not available, since no print option is available
    • Tab "OpenOffice.org Draw": Refer to the system independent print dialog description
    • Tab "Page Layout":
      • Brochure incl. Order
      • Include
  • Calc:
    • Tab "General": tbd (Open Questions: How to handle range and copies referring to sheets?)
    • Tab "OpenOffice.org Calc": Refer to the system independent print dialog description
    • Tab "Page Layout": Not available, since no print option is available
  • Math:
    • Tab "General": Not available, since no print option is available
    • Tab "OpenOffice.org Math": Refer to the system independent print dialog description --> Please note that it might be better to provide a non-tab grouping only. There is only one group, so a tab doesn't make sense.
    • Tab "Page Layout": Not available, since no print option is available

Open Points

  • All: Would it be better to merge all "General" and "OpenOffice.org Application" tabs? Although the General tabs are very clear for Writer and Impress, some applications do not feature this kind of tab. That results in only sometimes showing tab "General" - may appear weird to the user...
  • All: Is the tab name "General" sufficient, because in the System Independent Print Dialog there are also settings now provided by the native print dialog. Wouldn't it be better to use the group name ("Print", currently in discussion).
  • All: How to group the elements, e.g. in the Page Layout tab page with fewer elements?
  • Impress/Draw: Is it possible to deactivate the size settings for brochure printing?
  • Calc: Definition of tab "General" is missing.

Workflow Design Decision

As discussed in the section Workflow Analysis (wiki page Current State of Printing in OpenOffice.org 3.1 the workflows aren't that optimal in certain circumstances. Changes:

  • Changing the default for "Warning Transparency Dialog (Title „Warning“)": The default setting for showing the transparency warning will be changed from "true" to "false". The option itself will be kept.
    • Rationale: As discussed in the workflow analysis, the warning dialog is undesired. Initially, there also has been User Feedback data which has discussed at Transparent Decision Making to judge whether it is required or not. Some weeks later, a lot of new data has been analyzed and it has been discovered that the feedback system does not provide all required numbers. Although many effort has gone into getting this data, we lack final results. Nevertheless, we think that the benefit for most users will compensate the potential issues mentioned below. Since the option itself is kept, we can test this behavior thoroughly.
    • Potential issues: Longer printing times (e.g. in networks), increased size of data "printed to file",
  • Removing "Warning Print Options Dialog (Title "Warning Print Options")": The dialog itself and the option to enable/disable the warning will be removed.
    • Rationale: The warning dialog is undesired and - in certain circumstances - cannot be avoided by setting the corresponding size settings in advance. Wit the current development, we feature the Print Preview (user can check for problems) and improved size settings.
    • Potential issues: If users print directly (without using the dialog), some of them might print the data in the wrong size, since there is no Print Preview to check the output in advance.


The warning dialogs referred to can be found in the section Various Printer Warning Dialogs (wiki page Current State of Printing in OpenOffice.org 3.1.

Other Decisions

  • Changing the position of the option "Fax" in Writer. It doesn't make sense to select it in the print dialog, so that it will be kept in the Tools - Options dialog only. (Discussion by Philipp and Christoph in an early mail...)
  • Removing the "Orientation warning" in the Tools - Options dialog. It was not possible to "force" the warning to appear. (Discussion of Philip and Christoph, phone call 2009-07-13)

Status and Roadmap

Current State

OpenOffice.org 3.3

  • System Independent Printing Dialog: Provide a cleaned up and well described system independent printing dialog with new features for OpenOffice.org 3.3.
  • Native Printing Dialog for Mac OS X: Provide cleaned up printer options for Mac OS X.
  • Basic workflow improvements ("Warning Print Options Dialog (Title "Warning Print Options")", "Warning Transparency Dialog (Title „Warning“)")

OpenOffice.org Later

If there are interesting ideas how to further improve printing in OpenOffice.org, then the development might continue for future version of OpenOffice.org.

  • Native Printing Dialog for GTK: Philipp said that Caolan, a guy working for RedHat, offered some help to bind the native print dialog in Gnome (GTK). He already blogged about that since quite a long time: 2005-07-28 gnomeprintui, 2009-07-23 New Print Dialog.
  • Native Printing Dialog for Linux: Work with the people from the Linux Foundation OpenPrinting workgroup. First contact has been established since 2009-07-09 with Till and Peter.
  • Old Stuff: Solve the remaining issues described on our page Current State of Printing (OpenOffice.org 3.1).
  • New Stuff: Evaluate new ideas based on our page Idea Collection.

Help for Contributors

Help & Translation

The behavior of the printing dialog has been changed - and so did many of the strings and descriptions.

  • An overview what has been changed is given at Final Design. Worth reading :-)
  • If you want to judge how much space is left for the translated strings, please have a look at the Current Design Mockup.
  • The string reviews and the corresponding discussions are documented at String Reviews
  • Please do NOT use the terminology listed at Definition of Terms, since it is for development only.
  • Additional information of former options are given in the Calc spreadsheet document at Source Data. Please note that it is currently a bit dated - the Current Design Proposal and the String Review are currently used.


Please note:

  • The dialog for MacOS X (Native Print Dialog) may contain a different distribution of options in comparison to the System Independent Print Dialog.
  • The former printing dialog (e.g. OOo 3.1) did not provide a help button and provided help only in the separate print options dialog window. Now, the print dialog and the options are merged and the new help is opened from within the print dialog - this is a different context from the user's point of view.

Please tell us if you miss any important information!

QA

Many things changed in this CWS, so - to everyone - please consider to do "real world testings" with the new printing system. Thanks!

  • An overview what has been changed is given at Final Design. Worth reading :-)
  • Current development builds and links to an issue query can be found at Current State.
  • Issue template which can be used for new issues at Printerpullpages Issue Template (Component framework, UI, Assigned to pl, CC to jsk, Summary [CWS Printerpullpages], version DEV300m61)

Please tell us if you miss any important information!

Test case specifications

Please find Test case specifications here

Mockups and Screenshots

This section contains mockups and screenshots:

  • Mockups are working models used for demonstration purposes. There is no real functionality at all, because the following pictures have been composed with graphic programs just to get a first impression how it will look like.
  • Screenshots show the behavior of the real development in OpenOffice.org. Those pictures are updated more or less regularly.
Printerpullpages nup current.png
Screenshot showing the current state of the N-Up tab page in the system independent print dialog.
2009-08-09 PrintingDialog SomehowRealisticVersion.png
Mockup showing the current design of the "General" tab page for Calc. Find more mockups on History of Design Development

Online Discussion, Press Coverage and Comments

Personal tools