[Printing-architecture] Automatic printer setup with Printer Applications

Zdenek Dohnal zdohnal at redhat.com
Thu Feb 25 08:52:53 UTC 2021


Hi Mike,

On 2/24/21 3:17 PM, Michael Sweet wrote:
> Till,
>
>> On Feb 23, 2021, at 2:27 PM, Till Kamppeter <till.kamppeter at gmail.com> wrote:
>>
>> Hi,
>>
>> one important feature for a good user experience with printing is the automatic setup of printers. at least locally connected (USB) printers either when they get plugged in and turned on or when their Printer Application gets installed and started.
> I'm torn on this, as nearly all currently shipping printers support AirPrint and/or IPP Everywhere.  There are still a couple outliers in the desktop printing arena at the very low end (!) but mobile (Android, iOS, iPadOS), ChromeOS, macOS, and Windows 10 have driven vendors to support the standards we've been working so hard on for the past 20+ years.  So that leaves supporting "legacy" printers for people that haven't bought a new printer in 10 years as well as special-use printers like the Epson/HP/Canon large format inkjets and the various label printers (which are starting to come around...)
>
> Right now, the *expected* behavior is that the user has a compatible IPP printer and they don't need any special software for it.  The *exception* is that a user has a printer that needs extra software.  And setting up a printer (with whatever software) is not a common occurrence for most people - ordinary users do not operate a printer testing lab or go out to buy every new printer that comes out.
>
> So I'm not thinking we need to go out of our way to engineer an efficient solution for adding a printer, and as Solomon notes I doubt we have enough information to make such a solution work.
>
> Probably the best approach is to build a "registry" of manufacturers and command sets that each printer application supports. Then when a printer is connected or discovered, the desktop tool can:
>
>     IPP Everywhere Printer?  ---> YES, we are done
>         |
>         | NO
>         v
>     < Which Printer Application(s) supports this manufacturer or command-set? >
>         |
>         v
>     Is the Printer Application installed?  --> YES, do auto-add
>         |
>         | NO
>         v
>     Does the user want to install the Printer Application?  --> YES, install and auto-add
>         |
>         | NO
>         v
>     Cry in beer

Sounds reasonable, except for crying in beer! That's never reasonable
around here :D

So udev-configure-printer would:

1) check if there is a USB device - if it is IPP-over-USB and isn't in
allow list (probably there will be devices which will present themselves
as IPP-over-USB, but it will be broken, so they want to fall back to
printer application...), break out

2) find a printer application which supports the device

3) if it is not installed, install it - this will need to be updated -
currently PackageKit is used in scp lib, but PackageKit is going away in
the future [1] - I heard there is some work in DNF regarding PackageKit
functionality, but I'm not sure how far they are. Not mentioning it is a
distro specific package manager, not sure if other distros have already
some alternative to PackageKit.

4) auto-add the device to a printer application - scp lib for adding
print queues is now for CUPS only and written in Python, so it will need
to be rewritten in C/Go using PAPPL.


[1]
https://blogs.gnome.org/hughsie/2019/02/14/packagekit-is-dead-long-live-well-something-else/

>
>
> Note: I am fully aware that in the photo/art printing arena there are people that will still want to use Gutenprint or other special purpose software rather than the standard IPP interface - that's fine, and that is what the Printer Application is for in the long term. But those users are "experts" and will know how to install the application and configure it for their printer.
>
> ________________________
> Michael Sweet
>
>
>
-- 
Zdenek Dohnal
Software Engineer
Red Hat Czech - Brno TPB-C


-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <http://lists.linuxfoundation.org/pipermail/printing-architecture/attachments/20210225/3efbc89a/attachment.sig>


More information about the Printing-architecture mailing list