To be honest, I really don't care about asynchronous printing. How can I say this in the most tactful way-- I care more about dusting my ceilings than I do about the fact that applications need to spawn an extra thread to print.
My printer is a USB printer. It requires a printer driver to work. A driver which, incidentally has not been updated or fixed in years, and is not officially supported by the distro. Luckily I know enough about the plumbing to know how I can get this thing to work. (Should "work" be in quotes?)
At work, there is an IPP printer which I mostly use. The time I spent setting it up in CUPS was about 5 minutes, including printing test pages and all that.
> Running in the session has some advantages besides just needing less code.
> It also allows the spooler to do things like authenticate to the cloud
> service in a normal way, as its part of the user desktop session, rather
> than some system service.
Again, I just don't care. I've never used a multi-seat Linux machine (and I've had 5 jobs where I used Linux, including one where we used it in the cloud.) I also don't see what fundamentally prevents CUPS from doing the same thing-- i.e., accepting or rejecting jobs based on the user id that submitted them.
So far, printerd has not proposed to solve any of the problems I have ever had. Of course, I'm just one user-- perhaps others will have different needs.