Last week I talked a bit about the bipolar world of printing on Linux: the best of times, the worst of times; the easiest and the hardest; the most reliable and the most annoying. I raised a number of questions such as why do print jobs disappear without a trace, then reappear days later? Printing multiple copies, if you had hit the print button in frustration multiple times. Is this printer really online and working? Does it have enough toner and paper? If there is a problem, why won’t it tell me in a reasonable way? Why isn’t there an obvious, easy button for “cancel the print job plz, kthx”?
My conversation with Hewlett Packard’s General Manager of Core Technology, Sam Greenblatt, was also a bipolar experience. On one hand, the HPLIP driver subsystem is comprehensive, supporting the majority of HP’s printers and multi-function devices. (It does not support the pooey little cheapo Winprinters, which push hardware functions into software.) There is a lot of great information on individual printers and what is supported, and a good collection of troubleshooting and help documents at HP Linux Imaging and Printing. HPLIP integrates nicely with CUPS, and it automatically distributes Windows client drivers over the network. CUPS already automatically networks printers to Linux clients, and Apple owns CUPS now, so (in theory, anyway) HPLIP printers should share effortlessly across all three platforms.
On the other hand, HP does not officially support Linux. Same old story– they talk up their great community support, and they have three techs assigned to their community support site, and you do get pretty good support. But it should be official. We pay the same money. I’m always confused by vendors who don’t mind marginalizing an entire category of their customers. It seems churlish, especially when Linux developers have done most of the work.
On the other other hand is there seems to be a disconnect between the HPLIP team and the CUPS team. According to Mr. Greenblatt, the HPLIP drivers send all the notifications a user could want; it’s up to CUPS, or whatever printing front-end you want to use, to pick them up and then deliver the notifications in a meaningful way to the user. I suggested that printer queues should automatically “forget” print jobs after a user-configurable period of time. Mr. Greenblatt was emphatic that it is the job of the printer driver to queue jobs and to keep them queued at all costs. This seems contrary to the wishes and needs of users, who often in sheer desperation send print jobs to every printer on their network until finally, one of them actually prints. Without dependable status messages and controls, what else can you do? I haven’t talked to anyone involved with CUPS yet, though I’m trying; surely this is something they could cooperate on without giving away any precious secrets.
There are two common ways to share printers over a mixed network: using Samba + CUPS, or using printers with built-in networking interfaces. The second option used to be more horrifying that you younguns can possibly imagine: teeny-tiny control panels on the printers, Windows-only management software and drivers, horrid proprietary printer networking protocols, hard-coded IP addresses…you name it, it seemed a deliberate exercise in sadism. But in these wonderful modern times, built-in Ethernet has found its way even into the moderately-priced printers, and wireless is becoming more common.
A third option is to use those little Trendnet, Netgear, D-Link etc. printer servers. Little boxes that plug your printer into your network. These are OK, and if you prefer to roll your own just slap your favorite embedded Linux on a single-board computer, and you’ll have more functionality than you know what to do with.
But thankfully, the horror days are gone and printers with built-in networking are much easier to manage. The most love and care still goes to Windows users, but at least Linux users are not left totally out in the cold. I think the user-friendliness of managing printers still has a very long way to go, but perhaps we are finally on our way.