On the 14th of this month I was trying to find a less expensive mass storage device for the Macintosh project. The bar-code reading wand is one of the least expensive computer input devices, but is limited by the operator's dexterity. I was also considering the possible requirement for a printer--it is agreed that it would be best, although possibly uneconomic, if Macintosh could have both a mass storage device and a printer. Any low cost printer would have to be a dot matrix based device given the present state of the art. I realized that such a printer could print bar codes.
My next thought was to eliminate the need for operator dexterity. First I thought of a plastic guide with slots that the wand could run along. Then, considering the sweeping motion of the hand moving the wand through the slots, it became apparent that the printer head is already making such a motion, and that the wand's sensor should be incorporated into the printer's head. It occurred to me that the design could also affect read-after-write checking (a rarity with printers), and that it could also be used as a facsimile machine--which fits in wonderfully with Macintoshes proposed communications abilities.
The possibility of providing the public with a very low cost computer that includes both mass storage facilities and a printer at very low cost is what makes this idea interesting at all.
Since, by using pin-feed or by some feedback from the sensors, the motion of the head across the paper can be done with some accuracy, it would be possible to have more than a simple bar code, and the head could read a number of bar codes in one character height--perhaps even read each of, say, eight dots by means of eight photo sensors (and, possibly, a bar-shaped LED to provide constant local illumination). This provides (given a 5 by 8 character matrix) 6 bytes in the space of one character. Given compression due to the fact that pages of a document are not filled uniformly, this means that a document could be stored in 1/8 the number of pages it would take to print it in natural language form.
If 80 characters can be stored across the 8 1/2 inch page, and 68 lines of such characters fit into the 11 inch height, then 32640 bytes can be stored on a standard page, with reasonable margins. This means that the 64K memory of the Macintosh will fit on a bit over two pages. If, as Victor Bull indicates, a few more characters can be put on a line, 64K bytes could fit on two pages.
While the data packing densities indicated here may not be achievable in practice, they do give us a believable upper limit. They also give us an upper limit on data transfer rates. Without any changes in the mechanism, the data in and data out rates will be equal. At one line a second, that's 480 bytes per second, or 28,800 bytes per minute. It would take 2 1/2 minutes at this rate to dump or fill the entire 64K memory.
At present the simplest printers are thermal and electrostatic discharge (ED). I considered the possibility of reading the aluminized paper produced by an ED printer by merely sensing the change in resistance caused by the burning away of the aluminum coating. Using an ohmmeter, and a probe made of #26 wire in a suitable holder, I found that there is an increase of resistance on the burned areas. However, it is a spotty effect, and seems an unreliable basis for a mass storage device.
It is possible that this technology, which is potentially faster than thermal printing, given a head designed to optimize resistance readability, could result in a superior storage device. Interestingly, the same head could possibly both read and write the data. This could be the lowest cost approach, excluding the cost of the paper.
It is no new idea that once a printable, machine readable code is available, the printing press now becomes an instrument for the dissemination of software. The use of a resistance reader becomes more difficult in this case (although by no means impossible), but the benefits of an optical reader are increased. This possibility may well be the strongest motivation to using a printer/reader, since software duplication and distribution is a major problem at the present time.
It is not clear whether such a device, which does not even have the power of a floppy disk, would be seen as an inducement to purchase a Macintosh class product. The potentially low cost is attractive, but operation of a printer/reader would be clumsy compared to a disk. To switch from writing to reading would require removing the blank paper and inserting the written paper. Changing back would be as difficult, except that the paper could be fed through instead of pulled back. Making the design largely self-loading could ease this problem, although paper handling is apparently not an easy engineering problem, considering some of the printers I have seen.
Unlike a disk, it would be complicated to use a printer/reader to store intermediate results (although not impossible, given bidirectional paper feed), and it would probably be unreliable compared with a disk. It would be most practical in the roles of archival storage, and program and data distribution.
The major question is: would the cost advantage, software distribution advantages, and facsimile ability overweigh, in the user's mind, the difficulties caused by having to use the device as the sole mass storage medium in a personal computer system?
There are a number of engineering questions that have to be answered before it is known if this technology is practical. The maximum data transfer rates and packing densities cited above, if achieved, are practical. Much less than that, even by a factor of two, and the concept becomes too clumsy.
At 12 pitch, the width of a character, including the intercharacter space, is 0.083 inches. The width of a single dot is 0.014 inches. Assuming a 5 by 7 character in a 6 by 8 matrix, assuming 1:1 aspect ratio for the dots, and assuming a reading circle of 0.005 inches, the maximum absolute positioning error is plus or minus 0.01 inches both horizontally and vertically. While these assumptions may not be exact, this is certainly in the right range. It is also in the range where the humidity coefficient of expansion of the paper becomes a problem. Accuracies on this order are not possible with a friction feed paper drive.
With pin feed, absolute paper positioning within 0.01 inch is possible assuming dimensionally stable paper. Unlike plotters, which re-draw over the same surface during a short time interval, it can be expected that records written with the printer/writer may be read from minutes to months later. Humidity and temperature changes over longer time periods can change the dimensions of the paper to a sufficient degree that even pin feed may not assure 0.01 inch absolute positioning.
It should be possible to place a horizontal line segment at each end of every printed line. If a stepping motor was used for paper feed, controlled by the sensors on the head, then absolute vertical alignment would be assured. Horizontal tracking can be obtained a number of ways. If there was a ninth dot, then it could be used in a number of ways. It could be used as a parity bit. Another interesting possiblity is that it could be alternated on and off, providing an optical clock track that would assure accurate tracking horizontally.
Paper skew is probably eliminated to a sufficient degree by pin feed. If separate right and left paper motions were allowed (or there were a controllable clutch between the left and right sides of the feed) then the horizontal alignment marks could be used, along with a sweep of the print head, to adjust the paper for any small skew.
Given a feedback mechanism for vertical and horizontal tracking, then information should be transferrable between different units. The only mechanical restraint is that the heads produce the same size dots, within rather broad limits, and that the vertical spacing between dots be constant, to narrow limits. These last requirements are easy to meet.
Any non-feedback scheme would probably make the printing and transfer of software difficult, or require a much lower bandwidth. The lower bandwidth can be obtained by printing codes as bars across the entire height of the character, or by some number of vertical bars (each composed of two, three, or four dots, for example) in the height of a character.
Error rates depend on noise introduced at five points.
A. Flaws in the paper
B. Writing errors
C. Misalignment of the paper
D. Misreading of a correctly placed dot
E. Errors made by the electronics
I have not made any tests or done any research on the quality control of thermal paper. I have examined some samples, and found occasional dark marks that might be mistaken for a signal. With a read-after-write scheme, and software that marks errors and re-writes the correct information, it seems likely that this source of errors can, for the most part, be overcome.
Writing errors can also be caught by the read-after-write scheme, and corrected similarly. A protracted period of writing errors might cause the system to increase the writing current, if this is under software control.
Misalignment would probably cause gross errors in reading the data. Either the parity (if parity was used) or an abberant clock track (if a clock track scheme was used) would alert the system, and a message requesting that the paper be reinserted issued.
A dirty or failing light source, or an occluded or defective photo sensor might cause reading errors. Checksums, and other data checking schemes are the only protection against this kind of error.
Errors caused by electronic malfunction can be caught in the same manner.
I can give no estimates of the probable error rates with and without each of the various safeguards mentioned. I suspect that empirical studies are the best way of determining actual error rates.
It is unclear how broad a patent might be obtained on this concept, if it were decided that Apple Computer Inc. had an interest in pursuing it. I have been told that Sphere computers was thinking of a device with a sensor on the printer head, probably for facsimile use (but, apparently, not as a data storage medium). The combination of printer, data storage, read-after-write checking on a printer, and facsimile seems to be unique. Details of execution of the device, of course, may be patentable.
It is important to have write protection. In the case of a themal, read- before-write design, it would be sufficient to disable printing if the paper already had marks upon it. In the case of ED designs, it might be possible to do a sense-before-burn.
Comments and suggestions are welcome, especially on the marketing desireability and the technical feasability of this project.