Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Universal Product Code
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== IBM proposal == Around late 1969, IBM at [[Research Triangle Park]] (RTP) in North Carolina assigned [[George J. Laurer|George Laurer]] to determine how to make a supermarket scanner and label. In late 1970, Heard Baumeister provided equations to calculate characters-per-inch achievable by two IBM bar codes, Delta A and Delta B. In February 1971, Baumeister joined Laurer. Delta B compared bar widths to space width to code bits. This was extremely sensitive to ink spread, where improper levels of ink or pressure would cause both edges of a bar to spread outward or shrink in. In mid 1971, William "Bill" Crouse (9109301200) invented a new bar code called Delta C.<ref name="IMBhist">{{cite web| url= https://www.ibm.com/ibm/history/ibm100/us/en/icons/upc/| title= UPC - The Transformation of Retail| website= IBM| date= 7 March 2012| access-date= 12 November 2021| archive-date= 12 November 2021| archive-url= https://web.archive.org/web/20211112162517/https://www.ibm.com/ibm/history/ibm100/us/en/icons/upc/| url-status= live}}</ref> It achieved four times the characters per inch as Delta B. Delta C achieved its higher performance by only using leading to leading or trailing to trailing edges which was unaffected by uniform ink spread. The code provided best performance when it had a defined character set with a fixed reference distance that spanned most or preferably all the character. In August 1971, Crouse joined the scanner effort. After several months they had made no progress. They were aware of the RCA bull's eye label that could be scanned with a simple straight line laser scanner, but a readable label was far too large. Although Litton Industries proposed a bull's eye symbol cut in half to reduce the area, it was still too large and presented the same ink smear printing problems as the RCA symbol. The redundancy and checking ability were removed completely. They were also aware of the many proposals from around the world, none of which were feasible. [[File:UPC HKB.png|thumb|right|300px|The UPC Label showing the general characteristics of Baumeister's proposals]] In the spring of 1972, Baumeister announced a breakthrough. He proposed a label with bars that were slightly longer than the distance across all bars that needed to be read in a single pass. This label could be scanned with a simple "X" scanner only slightly more complex than the straight line laser scanner. The next day Baumeister suggested if the label were split into two halves the bar lengths could be cut nearly in half. These two proposals reduced the area from the bull's eye by one third and then one sixth. The image to the right shows the label proposed by Baumeister. He did not specify any specific bar code as that was well understood. Except for the bar coding and ten digits the UPC label today is his proposal. Shortly after that Baumeister transferred to another area of RTP. Laurer proceeded to define the details of the label and write a proposal. N.J. Woodland was assigned as planner for the project and aided Laurer with writing his proposal. Laurer's first attempt with a bar code used Delta B. The resulting label size was about six inches by three inches which was too large. Crouse suggested that Laurer use his Delta C bar code and provided a copy of his patent that had a sample alphanumeric character set and rules to generate other size alphabets. This reduced the label size to about {{cvt|1.5|x|0.9|in}}. Later Laurer asked Crouse for assistance in how the scanner could detect a label. Together they defined guard bars and a definition of how to detect the label. The guard bars also provided identification for half label discrimination and training bars for the scanner threshold circuits. Laurer had a complete label definition and proceeded to write his proposal.<ref name="UMalumni">{{cite web|url=http://www.alumni.umd.edu/about/alumnihallfame_bios.html |title=Alumni Hall Of Fame Members |access-date=10 June 2009 |year=2005 |work= University of Maryland Alumni Association |publisher=The University of Maryland |archive-url=https://web.archive.org/web/20070623090457/http://www.alumni.umd.edu/about/alumnihallfame_bios.html |archive-date=23 June 2007 |quote=After graduating from Maryland in 1951, George Laurer joined IBM as a junior engineer and worked up the ranks to senior engineer. In 1969, he returned to the technical side of engineering and was later assigned the monumental task of designing a code and symbol for product identification for the Uniform Grocery Product Code Council. His solution—the Universal Product Code—radically changed the retail world. Since then, he has enhanced the code by adding a 13th digit.}}</ref> Previously Crouse had an idea for a simple wand worn like a ring and bracelet. He decided to develop that wand to provide a demonstration of the label.{{Citation needed|date=August 2015}} On 1 December 1972, IBM presented Laurer's proposal to the Super Market Committee in [[Rochester, Minnesota]], the location where IBM would develop the scanner. During the presentation, Crouse gave a lab demonstration where he read UPC-like labels with his ring wand. In addition to reading regular labels, he read the large two-page centerfold label in the proposal booklet. He then turned to a page showing a photo of labeled items sitting on a table. The labels were small and flawed due to the resolution of the printed photo but the wand read many of them. This demonstration showed the robustness of the pure Delta C code. The proposal was accepted. One month later, 1 January 1973 Crouse transferred back to IBM's Advanced Technology group, and Laurer remained with the full responsibility for the label. [[DYMO Corporation|Dymo Industries]], makers of handheld printing devices insisted that the code be character independent,{{Clarify|reason=cannot find relevant definition for this term anywhere|date=January 2013}} so that handheld printing devices could produce the bar code in store if the items were not bar-coded by the manufacturers. Dymo's proposal was accepted by IBM and incorporated in IBM's latest proposal. It was decided that the two halves of the label should have a different set of numeric characters. The character set Laurer derived from the Delta C patent used seven printable increments or units where two bars and two spaces would be printed. This yielded twenty combinations of characters, but there were two pairs that when read by Delta C rules yielded the same code for the pair. Since eighteen characters were not enough Laurer tried adding one unit to the character set. This yielded twenty-six Delta C characters which could provide the two sets of decimal characters but it also added fourteen percent to the width of the label and thereby the height. This would be a thirty percent increase in area or a label of {{cvt|1.7|x|1.03|in}}. Laurer felt this was not acceptable. Laurer returned to the original character set with twenty characters but four of those were two pairs with the same Delta C reading. He decided to use them all. To distinguish between the pairs he would measure one bar width in each of the pairs to distinguish them from each other. For each pair those bars would be one or two units wide. Laurer did not apply Baumeister's equations to this set. He felt just one bar width measurement would not be too serious. As it turned out it would have required over fifty percent increase in width and height for an area increase of more than double. Laurer later admitted these four characters in each set were responsible for most of the scanner read errors. David Savir, a mathematician, was given the task of proving the symbol could be printed and would meet the reliability requirements, and was most likely unaware of Baumeister's equations. He and Laurer added two more digits to the ten for [[error detection and correction]]. Then they decided to add odd/even parity to the number of units filled with bars in each side. Odd/even parity is a technique used to detect any odd number of bit errors in a bit stream. They decided to use odd on one half and even on the other. This would provide additional indication of which half ticket was being read. This meant that every bar width had to be read accurately to provide a good reading. It also meant every space would also be known. Requiring every bit width to be read precisely basically nullified the Delta C advantage except for the Delta C reference measurement. Only the strange character set and the size of the label remains as a shadow of the Delta C code. The size was still that calculated for pure Delta C. If the label size had been properly recalculated, taking into account the required bar width measurements the label would have been far too large to be acceptable. Mechanical engineering and electronic circuit design commonly require worst case designs using known tolerances. Many engineers working with bar codes had little experience with such things and used somewhat intuitive methods. This was the cause of the poor performance of the Delta B code and quite likely the failure of RCA's bull's eye scanner. The following table shows the workable labels, available in the early 1970s, with their sizes. {| class = "wikitable" ! Label type !! Label dimensions !! Area |- | Bull's eye with Morse Code || Large || Large |- | Bull's eye with Delta B || {{convert|12.0|in|abbr=on}} diameter || {{convert|113.10|in2|abbr=on}} |- | Bull's eye with Delta A || {{convert|9.0|in|abbr=on}} diameter || {{convert|63.62|in2|abbr=on}} |- | Baumeister 1st w/ Delta B || {{convert|6.0|x|5.8|in|abbr=on}} || {{convert|34.80|in2|abbr=on}} |- | Baumeister 2 halves w/ Delta B || {{convert|6.0|x|3.0|in|abbr=on}} || {{convert|18.00|in2|abbr=on}} |- | Baumeister 2 halves w/ Delta A || {{convert|4.5|x|2.3|in|abbr=on}} || {{convert|10.35|in2|abbr=on}} |- | Baumeister with Delta C || {{convert|1.5|x|0.9|in|abbr=on}} || {{convert|1.35|in2|abbr=on}} |} This is assuming a bull's eye with the same information and reliable readability.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)