09-09-2009 02:14 PM
Me: So why don’t you start by telling us how you picked the name “laserenvy”?
Myself: Well, actually it is from a line in the movie “Toy Story” but since I currently work on drivers for laser printers I kind of see it as my job to make everyone envy those who have LaserJets.
Me: And what is your job at ... wait; you already answered that. Stop looking at my notes! Um, ok - how about this one: exactly what is a driver anyway?
Myself: Generally a driver is a piece of software whose job is to translate commands from a computer into commands for a peripheral device. Since these peripheral devices use various command languages and communication protocols a translator is needed to get them talking to each other. The specific tasks of the print driver are dictated by the OS and its printing architecture.
Me: Printing architecture? Huh?
Myself: That is broad term that describes the printing system of the OS. Apple has had 2 different print architectures in Mac OS X. The original Mac OS X printing system was called “Tioga” and it tried to break the task of a driver into several smaller pieces that could be snapped together like (insert your favorite building toy here). 10.2 changed the main printing system to CUPS. CUPS also has a modular architecture with a more modern and cleaner API. Tioga is still available but deprecated, which means it still works but new printer driver development should use CUPS and not Tioga.
Me: So why are you telling me about Tioga? Wasn’t that was so long ago that all Tioga drivers must have been replaced with CUPS drivers by now?
Myself: I can see why you might think that. But new printers don’t always get new drivers. Depending on the PDL it may be much easier to tweak an existing driver to support features of a new printer than create a completely new driver.
Me: What does the PDL have to do with it?
Myself: Well, if you have a PostScript printer then Apple provides the driver for your printer rather than the printer vendor. The vendor provides a PPD file that describes their specific device and Apple’s driver uses that information to provide printer specific features.
Me: Wait, I use a PostScript printer and I know I have seen HP’s logo on some of the panels in the print dialog. Don’t those come from the driver?
Myself: Technically, no. OK, this gets a little weird, but try and stay with me. These modular printing architectures have changed the terminology a bit. In the old days a driver did everything including presenting the UI, communicating with the device and the translation task I mentioned earlier. New modular print architectures break these tasks into specialized modules. In CUPS the “driver” only handles the translation task and a module called the “backend” handles the communication task. This is great because USB is a standard and every printer vendor can use Apple’s USB backend as long as they implement a standard USB port on the device. Oh, I should also mention that CUPS does not implement any UI at all.
Me: Then how does HP put those panels in the print dialog?
Myself: Another module provided by Apple on top of CUPS allows the addition of controls to the print dialog. These modules are called PDEs and they can be added by either printer vendors or application developers.
Me: Oh, so that is how Safari, Preview and some of my other applications have their own panels in the print dialog too?
Myself: Yes. Oh, I should have mentioned that PDEs came from Tioga.
Me: So even a CUPS printing solution is dependent on Tioga?
Myself: Not really, at least not the deprecated part of Tioga. Remember that we are talking about modular print architectures. If they are really designed well it should be possible to take the best pieces of both and make them work together. CUPS didn’t have a UI module so Apple just used what they already had. The PDE specifications have changed over time to better work with CUPS, but they predate the use of CUPS on Mac OS X.
Me: What kind of changes have occurred to the PDE specifications?
Myself: Originally they used Carbon APIs, today they use Cocoa. Today they also need to be compiled for both 32 and 64 bit intel processors which was obviously unnecessary just a few years ago when all Macs used PowerPC processors.
Me: OK, on the topic of updates, why does the Snow Leopard update seem to cause so many printing problems when it is a relatively minor update with “no new features”?
Myself: While Apple said there would be “no new features”, they also promised to tune and streamline the OS. While these changes are not necessarily visible to users they can have a big impact on the software that the OS interacts with. For example, the new PDE specs do not apply to old Tioga printing solutions. If a PDE must run in an intel 64-bit application it may not have the code necessary to do so. Apple has been great supporting this old software, but it starts showing its age at some point. Printer vendors may have to finally abandon the old code and start over and because of the size of the task they may have to pick and choose how far back to go in their product portfolio.
Me: That explains drivers that are based on older technology, but what about Postscript printers? You said Apple provides the drivers but some people are still having problems. Why?
Myself: Many of those have to do with Appletalk being removed from Snow Leopard. Like Tioga, Appletalk was deprecated a long time ago and replacements for everything it does are available. Apple finally decided to remove it from Snow Leopard making any printer still using it unable to print until it is reconfigured to use one of the replacements. One of the biggest problems for owners of older printers is that their device does not support Bonjour so without Appletalk they have no way to search for their printer on the network and must manually enter IP addresses instead. Some PostScript printers may have PDEs that don't meet Snow Leopard standards either. This will not stop you from printing, but you will not be able to access any print panels with this problem.
Me: Even though Apple changing the OS has resulted in some problems for people with HP printers you don’t seem to blame them nor are you asking them for fixes. Why?
Myself: Apple has to move the platform forward. In any fast moving industry if you are not pushing forward then you are falling behind. Companies that make software and hardware for the platform must choose how to best move forward with them as they are able.
Me: I am getting tired of talking to myself, if others post questions to this topic will you answer them?
Myself: I will answer them as best I can. But I cannot talk about anything that is not publicly known, including software under development.
API (Application Programming Interface) - A documented group of function calls provided to accomplish a particular task.
Appletalk - A networking protocol developed by Apple. Replaced by industry standards like TCP/IP and nMDS (Bonjour).
Carbon - a broad term used to describe APIs from Mac OS 9 that were ported to Mac OS X.
Cocoa - The modern API and application framework used to write programs in Mac OS X.
CUPS (Common UNIX Printing System) - an open source printing system created by Easy Software. CUPS is still open source and used widely by various flavors of Linux. This may make it surprising to some people that Apple now owns the majority of easy Software.
PDE (Print Dialog Extension) - a way to add controls to the print dialog in Mac OS X.
PDL (Page Description Language) - a language for describing to a printer what marks to make on a page. For example, PostScript is a PDL.
PPD (PostScript Printer Description) - a text file that uses a specified format to describe the features and capabilities of a printing device. Note that this name is something of a misnomer now because ALL printers under CUPS have a PPD whether they use PostScript or some other PDL.
OS (Operating System) - The base set of software that runs everything else.
UI (User Interface) - The part of software that the user sees and interacts with on the screen.
09-09-2009 02:46 PM
Very well explained laserenvy! I might also add that once all of these modules and code are put together into something that might be usable to the customer, it must then be extensively tested. That significantly adds to the effort, cost, and time required to release a new driver and can be a contributing factor in helping to decide how far back to go in the product portfolio.
The new "driver" and it's features must be tested in multiple OS versions and upgrade scenarios, on all the various connection protocols and methods (USB direct, shared over USB, wirelessly over USB, TCP/IP IPv4 & IPv6, Bonjour, etc.), on all the supported languages, with various 3rd party applications, on the various Mac hardware platforms, and finally with the printer hardware and firmware itself.
As for blaming Apple, not only do they have to move the platform forward, they have to do it relatively quickly to stay in the game. And we really do work together to try to make things work the best we possibly can on both sides. It is not in Apple's best interest, nor ours, for customers to have problems with their printers.
Please keep the discussions going so we can continue to improve!
09-14-2009 06:51 PM
So basically, you are saying that we have to move on because developing a new driver that will work with Snow Leopard on older printers is time intensive AND costs $$$$ that HP wants to "save" to put into 10,000 new models with 5,000 different number inks costing us a fortune. We should all throw out our "old", excellent working printers and buy new from where- CHINA? Thailand? ????
Thanks. I thought HP was crazy when Carly was there! Doesn't look like HP still cares about its loyal customers. It's ok though. We have PLENTY of other choices to pick from out there probably also made OUTSIDE the USA!
09-16-2009 05:41 PM
Reply to fastdriver:
Actually I didn't realize from your post that any reply was expected. These forums are an outlet of free speech - you can say pretty much anything you want and you didn't ask any specific questions.
If you read other posts on this forum you will soon discover that HP employees are not allowed to comment on products or software under development. While this may be disappointing (but not unusual), you cannot assume if no shipping date is given that no solution is being developed. My post was simply an attempt to help customers understand what problems we face in developing updated drivers, and why it might take longer than both HP and their customers had hoped.
As you decide whether to buy a new printer based on what you perceive as HP's lack of support, I suggest you research how printer vendors in general have managed the Snow Leopard transition and choose a company that will provide the level of support you find appropriate for your needs. I will even suggest you start with this article from Computerworld/MacWorld: HP adds Snow Leopard printer drivers after customer complaints.
09-16-2009 06:42 PM
First off, I am not assuming anything. I already did my research. HP has NO plans to update any drivers for the DeskJet 990cm. Therefore no more duplex printing.
"We are sorry to inform you that there will be no Mac OS X 10.6 (Snow Leopard) support available for your HP product. Therefore your product will not work with Mac OS X 10.6.
A small set of HP Inkjet printers beyond 5 years old are not supported with Mac OS X 10.6 Snow Leopard."
All HP wants is for me to spend more money and get rid of a perfectly good printer because they won't take the time or spend the money to develop a printer driver that will work with Snow Leopard and my DeskJet 990cm. I'm sure it can be done with a "little" effort on HP's part. Then, that would mean that REAL customer service was still alive and well! True customer service these days is very rare indeed.
As for the article you reference, I already read that too! Big deal- all HP did was give in to pressure from people with newer printers. Most likely, those were large companies with a multitude of printers which HP did not want to lose as customers in this economy. Us lowly, individual users with one or two printers, HP could care less about!
I'm not expecting ANYTHING from HP at this point.
BTW- I like your avatar- you need armor for all the barbs thrown at you by angry HP customers who have been screwed by HP!
09-17-2009 12:36 PM
One of the themes of your post is that creating a driver requires "little effort" and you say, as the Computerworld article implied, that what HP did was to "give in to pressure from people with newer printers". Do think HP was holding the update back, waiting to see if people would complain? Or do you think HP just whipped up a set of drivers in a week after the complaints started rolling in? Either idea is ridiculous. We shipped them when they were ready. Shipping sooner would have been foolish because they would have resulted in even more complaints. Some LaserJet drivers I worked on were in the set the article talked about and I have been working on them for over 6 months. That is actually pretty amazing for a new driver. The whole reason for my original post was to provide some background on why driver's can't be whipped out in a day or even a week. You must have missed that part.
I am a LaserJet Engineer so I was not familiar with the InkJet model you mentioned. I looked it up on HPs website. I discovered that the system requirements for that model specify a PowerPC Mac running Mac OS 8.6 for USB. Or if you want to use Appletalk a 68030 or 68040 Mac running Mac OS 7.6.1 is suggested. This indicates the printer is at least 10 years old, perhaps more.
Since you are running Snow Leopard I can only conclude that you have upgraded your Mac hardware sometime in the last 3 years because Apple's new OS won't run on systems older than that. I'm not sure why you expect HP to support hardware 10 years old while it is OK for Apple to stop support at 3 years, but again you have that free speech thing going for you.
The last 2 Macs I personally bought came with free printers (after rebates). This was an offer extended to anyone by the vendor, not some deal I got as an HP employee (and they were HP printers). And I shouldn't say printers, I should say MFPs* because they scan and copy too. They worked on Leopard. They work on Snow leopard. The point is, if you can afford a new Mac you can surely afford a free printer too, even in these tough times. And it isn't a question of HP making money on the printer, they obviously didn't on the two I have. It is a question of keeping your software synchronized with the system running it. On an InkJet printer like yours all the imaging is done with software on the Mac. How many other pieces of software are you still running from 10 years ago without buying upgrades? I know the answer - zero. Because not even Leopard, let alone Snow Leopard, can run classic. Personally, I find it an amazing testament to HP's support that you have not had to replace the printer before now.
I hope you enjoy your new printer, what ever you decide to buy. You have been patient and frugal with the last one - you surely do deserve a new one!
*MFP - Multi Function Peripheral
09-17-2009 02:01 PM
The "little effort" was meant to mean- HP COULD do it if they wanted to do it! I don't remember reading anything in your article that stated exactly how long it takes to make a printer driver. I don't claim to be any hi tech computer user by any means. I'm your average Mac user with a home computer and several printers/scanners for different purposes. So, I guess I DID miss that part of your article.
As for your research on the DeskJet 990cm model that I have, it is 7 years old, purchased on July 1, 2002. Up to the installation of Snow Leopard, it worked PERFECTLY fine doing double- sided printing AND BORDERLESS pictures- both of which I cannot do now!
The point is NOT being able to buy a new printer. I have 3 others. The point is throwing out something that was working perfectly fine until Snow Leopard was installed. BTW, I KNOW HP doesn't make money on their printers. That is quite obvious. As a matter of fact, HP could probably GIVE AWAY printers for FREE and still make money with the outrageous price they charge for their ink AND how the PRICE of the ink is the SAME no matter where you buy it. Funny how that happens in a "free" marketplace!
I'm sure you know what I am trying to say. I know I'll never win with any "corporate types" because I'm sure you have to watch what you say or you could end up like Carly. I will never believe that there is no way HP could fix these problems IF they wanted to- I don't care if the printer is 1 year old or 7 years old! Patience and frugality has nothing to do with the concerns I posted.
09-18-2009 01:22 AM
09-18-2009 08:29 AM