DeskWriter & HyperCard
Among the mini-debates currently raging (if that is the word ;-)) in the comp.sys.mac.hypercard group on Usenet is one concerning the Hewlett- Packard DeskWriter printer’s inability to print half-and quarter-size HyperCard cards. For those unfamiliar with the DeskWriter, it is an ink-jet, QuickDraw printer that HP converted for the Macintosh (it looks suspiciously like a DeskJet), which works at a lower resolution with normal Macintosh screen fonts, or at the same 300 dpi as most laser printers with graphics as well as with its own scalable fonts and with ATM-ized ones.
The debate started when someone complained on the net that HyperCard wouldn’t let him print anything but full-size cards on a DeskWriter. Martin Gannholm of the HyperCard development team soon replied, explaining that the printer was at fault. Another user called Hewlett-Packard’s tech support and was told by a spokesperson, Vicki, who, "reading from a comments sheet," said that HyperCard’s reduced card-size printing options only work with PostScript devices, in effect laying the blame completely on HyperCard. Soon someone else called the problem "a bug," one still present in the latest version 2.1 of the DeskWriter driver, also suggesting that DeskWriter owners start pressuring HP to do something about it.
Alas, much as I hate to dispel anybody’s doubts, the DeskWriter driver’s inability to print at other than full scale resolution (because that’s what it amounts to) is not merely a software bug, but a direct result of HP basing it on a specific internal imagining model. Indeed, from the "DeskWriter Printer Information Update," a pink sheet that came with version 1.00 of the software, we learn that "the printer resource was developed by Hewlett-Packard Company and is based on the imagining kernel from Palomar Software, Inc."
Joel West of Palomar Software and Earle R. Horthon each contributed to a series of articles in MacTutor describing development of a general QuickDraw printer driver with variable-resolution and few other facilities. The code wasn’t geared towards any specific hardware but was meant to be adaptable to different printers’ requirements. Therefore it never particularly touched upon sophisticated features like multiple scales, output rotation, and smoothing. Nor did it concern itself with the more mundane (but no less important!) questions of memory management that HP faced when bringing its 300 dpi printer to the Mac – chiefly of what to do when there’s not enough memory to print a full 300 dpi page.
I may be wrong but it wouldn’t surprise me a bit if this was the kernel that HP bought and then wrapped in an RDEV shell of its own. After all, it seems to me that HP is not primarily in the printer driver business, and few people make Macintosh drivers anyway. HP’s chief objective was not to produce a printer driver that would satisfy everybody’s needs and offer 100% compatibility with all major features of all major Mac programs, but an acceptable product that would perform 90% of all operations well and make a profit. In that HP has certainly succeeded.
The DeskWriter driver clearly suffers from the generality of its original design and from the consequences of the decision to permit it to function with 1 MB RAM machines (and the choice of method for dealing with it). In such unfavourable memory conditions the driver uses a technique called "banding" to image (draw in memory) a part of the page, print that out, and then proceed with the next band and so on. That turns printing at any scale other than the full 1:1 representation of a QuickDraw page into a nightmare. Therefore one shouldn’t expect it to be patched or adapted for printing HyperCard’s downscaled overview cards anytime soon, if ever.
In fact, short of HP suddenly switching to a new imaging model for the driver, in effect redoing the development effort all over again, I don’t see any solution to this problem. A late-comer to the Mac printer scene already, Hewlett-Packard may not have understood the importance of HyperCard (including its printout requirements) for many Mac users – after all, until recently there has been nothing like it for the MS-DOS line, therefore it couldn’t be worth paying attention to (irony!).
From a Mac user’s point of view, it is insulting to hear that an inquiry about this printing "disability" was met by HP’s spokesperson with a corporate passing of the buck. What is worse, the problem (problem, what problem?) isn’t mentioned in the DeskWriter User’s Manual either, which is beginning to resemble yet another instance of a "let the users find out the limitations the hard way and then forever hope for an upgrade" model of business decision making. Unfortunately for the individual DeskWriter owners that bought it right away and hoped to use it with HyperCard, neither the Macintosh user community nor the trade press sounded warnings in regard to this major (at least to HyperCard users) absence of a feature.
Perhaps there is a lesson to be learned in all of this, or at least a reminder that we live in a world where little approaches perfection. Our best bet, strange as it may sound, would be to appeal to knowledgeable independent "grassroots" programmers, like Ari Mujunen and Olli Arnberg, two Finns who wrote the freeware HPDJ driver for the DeskJet, to write a HyperCard-optimized version for the DeskWriter.
Opinion by Ian Feldman, [email protected]
c.s.m.h submissions by:
Bob Soron, [email protected]
Martin Gannholm, [email protected]
Ralph Lombreglia, [email protected]
[‘Vicki’ at Hewlett-Packard, 208/323-2551]
Russel S. Finn, [email protected]
authors of the HPDJ driver for the DeskJet printer, published April of 1989, available from sumex, reachable via [email protected], also (perhaps still) individually at [email protected] (Ari) and [email protected] (Olli).
MacTutor printer-driver-related articles:
by Joel West, Western Software Technology, March 1987
How to write a printer driver
by Earle R. Horton, Dartmouth College, Nov 1987
[describes development of the ‘Daisy’ printer driver, the
basis for Ari Mujunen’s and Olli Arnberg’s later work]
20 Steps to Printing Incompatibility
by Joel West, Palomar Software, Inc, June 1989
[also known for Colorizer DA and PICT Detective]
A Look at the PREC Resource
By Dave Kelly, August 1989
Dot Matrix Printer Driver
by Earle Horton, [now at Microsoft], Oct 1989