Lets face it the current system for running a printer on a LAN simply does not work. Half the time one ends up with a pile of printout with postscript printed as ASCII. Furthermore it is a real, total lose to have to convert text into postscript just to print it. Why not make the printer a Web server and PUT the pages to be printed onto it.
Configuration of printers on UNIX systems is not a fun problem. It is not much more fun on Windows NT either. The standard UNIX configuration is a hotch potch of servers, daemons, spool files, string and blind faith. Once a job is dispatched it is frequently easier to let the printer complete than attempt to stop it. A user cannot easily schedule a job to run overnight, even if they did it would probably be stop halfway through due to one of those curious incompatibility problems that always happens in such cases.
Another irritation is the systems administration side of setting up printers. I have found no system that does this competently. Worse still most operating systems treat all printers as unintelligent devices without many options. This means that colour printers and those offering double sieded printing often have a whole clutch of aliases corresponding to each avaliable option. This difficulty impeaded progress. It would be nice to have a printer which automatically stapled or bound its output. If someone provided this feature however it probably could not be used.
For some reason our printer continues to print even after the toner is exhausted. Since it is down the corridor form the offices this means that every person will print out at leas one document before discovering that the toner is out. Some people need more than one go to find this out.
A Web aware printer would also be fully configurable via the Web. It would be possible to see the status of printer jobs from a Web interface. A user could stop and start jobs. Presently these facilities are more wishful thoughts than reality. Although there are many venodrs with wizz bang type schemes these are almost guaranteed to not be supported for the particular printer one has. Plus why should an operating system be delivered half complete?
There should be a vendor independent standard that simply works. Working means no setup, no print jobs lot in the spool on some distant machine. If one printer dies the jobs should be directed elsewhere. I should be able to find out that the printer is out of paper or toner before I set off down the corridor.
Mobile code provides another interesting potential for a Web based printer server. If the printer does not understand the data format concerned the needed interpreter would be downloaded into it. The key word here being if. The weakness of postscript is that it requires every document to carry an embedded interpretation. Thus most postscript files are huge. Worse still there is no provision for a postscript file to request extra fonts when these are needed for a particular document.
Web protocols pass typed messages, not simply streams of bits. Thus the recipient of a message knows what it means. One of the most serious deficiencies in the UNIX operating system is that files and devices are untyped. The user is frequently required to remember or guess at these types in order to print a file. In order to make use tolerable many systems employ heuristics to guess the type of the file and then attempt to do what the user probably wanted. Such schemes inevitably lead to failures.
A postscript printer spends much of its time interpreting postscript. This language does not lend itself to a compiled implementation. The format is also typically bulky.
Postscript is an unsuitable format for transfer of images being substantially less efficient than even bit mapped formats. Use of compressed formats such as JPEG, GIF or PiNG dramatically reduces bandwidth.
Another advantage of a Web based printer server is that it would permit accounting to be performed automatically online using a standard micropayments protocol such as MPTP. This would allow accounting to be performed on a per page basis without messy proceedures.