Wednesday, June 10, 2009

It's called multitasking, people

Multitasking means running multiple tasks at the same time. Or at least, that should be the standard definition. But I'm starting to think Windows Vista doesn't believe in that.

I'm a manager, and I write a lot of documents. Often, I'll need to print a copy of a document so I can make edits, or bring a copy to a meeting. It's not hard - click on the MS Office icon, then click Print. I usually send documents to the laser printer right outside my office. Since I don't want to watch Office print, I immediately Alt-Tab back to another application (usually Firefox) and work on something else until the document has been printed.

But Windows doesn't always print. At least, not unattended.

Imagine my surprise when I try to print a document, and nothing comes out of the printer. The printer isn't claiming it's processing the document - and in one instance, while waiting for my document, I saw the printer fire up and spit out someone else's document. On these occasions, if I go back to my desk and flip back to the Office application that was trying to print, only then does the document print. In fact, I can see Word finally display the status message "Printing page 1 of ..." at the bottom of the window.

If this had happened only once, then I'd be willing to think it was an anomaly, and forget about it. Likewise, I'd assume it was "workload" if the problem only occurred when printing long documents with lots of diagrams. But I've experienced this at least 8 times in the last 2 weeks, and almost all have been fairly short, simple documents: no diagrams, only bold/italics/indenting, less than 10 pages long, the only image is a banner graphic we use at work.

So there's definitely something going on. I don't think I'm taxing my system. If I'm referring to other materials while writing a document (typical for me) I may have a dozen Word and Excel documents open at one time. I usually also have a Firefox window open to check webmail and browse the web.

I think it's a design problem. Under Linux (and any UNIX-based system, even Mac OS X), programs rarely manage printing by themselves; instead, print data is sent to a "spooler" which actually manages the print queue (that's what "lpd" does, by the way.) Maybe that's how Windows manages printing, I don't know. But if Windows does this, then why does printing from MS Office take a back seat the instant I switch to another application?

This "Windows" thing doesn't seem like it's ready for prime time in an office environment.


  1. Windows does use a spooler; it has since at least Windows 95, and I have some evidence it was in earlier Windows versions.

    I can sort of answer your "But if Windows does this, then why does printing from MS Office take a back seat" question: because Office hasn't finished spooling it yet. The same problem would happen if Linux context switched out KWrite or OO Writer or whatever while it was still prepping the data.

    Of course, this just pushes the question back to why either (1) Office isn't continuing to send the print job to the spooler (which I suspect is the problem) or (2) Windows isn't giving it a chance to. And I have no answer to that.

  2. Actually, one thing to check; doesn't sound like it's the problem, but it's probably worth a check:

    In Word's options (click the Office icon, the options are in there), look under Advanced, then scroll down to the printing section. There should be an option "Print in Background"; make sure it's checked.

    I think there are two problems with this being the culprit. First, that sounds more like allowing you to continue working on the document while it prints, not the relation between printing and another program. In other words, I think that would make printing modal with respect to Word, but not with respect to other programs. Second, you say that "printing page 1 of ..." appears at "the bottom of the window" which isn't how I would describe how printing looks with that option unchecked.

    Still, seeing as it'd take all of 30 seconds to check, might as well take a look.

  3. Re the option "Print in Background"

    I once heard, or read a parable about "the knob on the side of the TV." Those of you who are old enough will remember when TV's had knobs on the side, or on the back (or, if you were very lucky, on the front) labeled "Horiz Sync, "Vert Sync," and so on. Sometimes the picture on your TV would get out of whack and you would have to fiddle with the knobs make it good again. We didn't think much about the knobs on the side (or back, or front), since all TV's had them. I guess we consumers thought they were a required part of all TV's. The knobs not only let you make the picture good, they let you make the picture bad, too. If your played with the knobs, things could get so out of whack that a parent, thinking that the set was busted, might end up with the repairman out to the house.

    When advances in circuitry later made affordable TV's which could do the adjustments automatically, those knobs went away and we learned that the knobs were not required after all.

    Whenever you see an option in software such as "Print in Background," it's a knob on the side. It's a sign that the system isn't quite good enough to work correctly on its own. And, like the knobs on the side of the TV, it doesn't just let you compensate for the system's shortcomings and make things work. It lets you break things, too.

  4. evaned, I've never changed any of the settings in MS Office, so I'm still using whatever defaults came with it. I just checked now, and under Word Options - Advanced - Print, the option for "Print in background" is checked.

    I like Wayne's comment, though. :-)

  5. Ensure that you have the correct driver installed for your printer.

    When Vista came out, many older printer drivers, while still installable, were not fully compatible with Vista.

    If the driver is the issue, it's the printer manufacturer's fault, not Windows.

    Printer manufacturers want you to buy new printers as often as possible ... so they often do not create new drivers when new OS's come out, intentionally making their hardware obsolete.

    It's an old old story. Recall how we all had to throw out our scanners and to a lesser extent printers when Windows XP came out? Same deal.

    I expect the true Linux people to respond now about how they just write their own drivers. Awesome! But in the real world, you are the exception, most people just don't know how to do that.

  6. Thanks, Nickname_unavailable.

    In this case, I know the printer driver was for Vista. When the new printer arrived, our tech support guys hadn't put the driver on the network yet. So they did the next best thing: they put the install CD next to the printer, so those of us who needed to print to that printer could install the driver.

    The driver CD helpfully had a separate directory for "Windows XP" and "Windows Vista" (and "Mac OSX", IIRC). I installed the driver for Vista.

  7. Yes, installing the driver from the CD is the best choice. There is a chance that they actually updated the driver on the manufactures website after releasing the disk due to a last minute bug fix, but if you install a newer driver you might get worse bugs, so better stick to what you got.


Note: Only a member of this blog may post a comment.