Print Dialog Design for Ubuntu Touch

Registered by Till Kamppeter on 2013-04-18

From iOS (Apple IPhone, iPad, iPod touch) you can print, via its AirPrint facility. You simply click the export icon in nearly every app, choose Print in the menu and then you get a simple print dialog letting you choose a printer in your network, set number of copies and duplex, and then print. You need an AirPrint-capable network printer for that, or a Ubuntu machine sharing its print queues. Then the iOS device finds the printers automatically, a printer setup tool is not needed and does not exist there. There is also no driver library on iOS devices.

We will do the same thing in Ubuntu Touch. The internals are discussed in the Blueprint Especially we use IPP and IPP Everywhere, open standards instead of the closed AirPrint.

To make printing available in the apps of Ubuntu Touch we need a print dialog and a way to call it from the apps.

The dialog should not contain each and every option of the printer but should not be as simple as the one of iOS. The user should be at least able to choose the printer, number of copies, duplex, paper size*, paper type*, tray*, quality*, photos should be printed borderless if possible (options with * are not available in iOS, a bad design flaw, they are actually needed).

We will also need a way to print out of apps. We could do this where we export to mail, Ubuntu1, Facebook, ..., as it is done in iOS.

We do not need a printer setup tool, as the iOS devices do we will auto-detect the printers in the network (Connecting USB printers to a mobile device is too awkward).

Blueprint information

Not started
Sebastien Bacher
Till Kamppeter
Needs approval
Till Kamppeter
Series goal:
Milestone target:

Related branches



tkamppeter, 2013-09-17:

Here is code for trying out the Common Mobile Print Dialog:

It is not perfect, especially the tabs/screens are opening as separate windows, in the real dialog they should be switchable by tabs (or by a dropdown like in the print dialog of Mac OS X).

To build the package install the needed libraries via

sudo apt-get install libqt4-opengl-dev


- After uncompressing the tarball you have to go into the "cmpc/" subdirectory, Running the build script "" as it is only does the "clean" task, for the "build" task I have
copied it and removed the "clean" task in the copy.

- In the main window a default resolution is selected and the print dialog immediately opens with this resolution. If you change the resolution only the window size of the print dialog changes, not its content.

- If you cancel the print dialog and then change resolution, the program crashes.

- The "More ..." button opens 6 individual windows at once. It should be a page switcher in the main dialog and the content of the main dialog and the 6 extra dialogs the pages.

With this you should get a good impression of the dialog design.

tkamppeter, 2013-05-17:

Print dialog is a separate (system) application in reality. To print out of an app one clicks the "Export" icon (the rectangle with arrow pointing out) and in addition to "Mail", "Facebook", "Ubuntu One", ... there will be a "Print" icon which exports the content to printing app. We are discussing the UI for this app here.

Some design work already done at Openprinting, by Glen Petrie from Epson:

We should implement this design in QML.

tkamppeter, 2013-05-14:

OpenPrinting Summit: We need Page Size, Page Ranges, Copies, Duplex, BW/Color

"Advanced" button for what does not fit on the screen

Glen Petrie (Epson) already started design and coding, I will make his work available.

tkamppeter, 2013-05-14:
UDS session on Thursday, May 16, 15:00 UTC

tkamppeter, 2013-04-18:
Main Blueprint about mobile printing:


Work Items

Work items:
Get design/cording work on mobile print dialog from Glen Petrie: DONE
Implement Glen Petrie's Common Mobile Print Client in QML(at least a mockup for the design team): TODO