by James Bott » Wed Sep 26, 2007 3:14 pm
Rene is right, the preview is a preview of what the report will look like on a specific print device, and then when you wish to print to a different device, you need to rebuild the report. If you change the print device after the preview, this may have the undesirable side effect of the actual printed report not being exactly the same as the preview. The user will, of course, blame the program.
A better option is to provide the standard File-Printer Setup on the menu and also display the current printer name on the message bar. It can also be displayed on the print button tooltip. This way the user can easily see what the application's currently selected printer is. They will learn to select a printer before generating a preview.
I don't recommend asking the user to select a printer before each report. This is tedious for the user. The program should make some basic assumptions based on probability. What is the probability that the user doesn't want to use the current printer? Better yet, what is the probabilty that the user doesn't want to use the printer that they just used last time? An even smarter program would keep track of which printers each user uses for each report, then assume they want to use the same one next time. A really smart program would keep track of which printer was used the last ten times. If the user printed to printer A nine times then to printer B on the tenth time, which printer is the user most likely to use on the 11th time?
Probability is not the same as possibility. Just because a user MIGHT want to do something doesn't mean that it is likely. When the user prints to the same printer 9 out of 10 times, asking the user which printer they want every time they print is not a good interface design. Maybe you could ask them the first 5 or 10 times, then after that always make an assumption based on probability and not ask anymore.
Less is more. No matter how great you think your interface is, less of it would be better.
James