Barcode: Difference between revisions
Line 341: | Line 341: | ||
* {{dmoz|Computers/Software/Bar_Code/|Barcode}} |
* {{dmoz|Computers/Software/Bar_Code/|Barcode}} |
||
* [http://www.barcodeart.com/science/science.html Various Bar Code Diagrams ] |
* [http://www.barcodeart.com/science/science.html Various Bar Code Diagrams ] |
||
* [http:// |
* [http://www.gotoworkspace.com/operations/barcodegenerator.php Generate bar code images in various formats ] |
||
Revision as of 02:31, 15 November 2008
A bar code (also barcode) is an optical machine-readable representation of data. Originally, bar codes represented data in the widths (lines) and the spacings of parallel lines and may be referred to as linear or 1D (1 dimensional) barcodes or symbologies. But they also come in patterns of squares, dots, hexagons and other geometric patterns within images termed 2D (2 dimensional) matrix codes or symbologies. In spite of there being no bars, 2D systems are generally referred to as barcodes as well.
The first use of barcodes was to automate grocery checkout systems, a task where they have become almost universal today. Their use has spread to many other roles as well, tasks that are generically referred to as Auto ID Data Capture (AIDC). Newer systems, like RFID, are attempting to make inroads in the AIDC market, but the simplicity, universality and low-cost of barcodes has limited the role of these newer systems. It will cost about US$0.005 to implement a barcode compared to passive RFID which still costs about US$0.07 to US$0.30 per tag.[1]
Barcodes can be read by optical scanners called barcode readers or scanned from an image by special software. In Japan, most cell phones have built-in scanning software for 2D codes, and similar software is becoming available on smartphone platforms.
History
In 1932 Wallace Flint started a project at the Harvard University Graduate School of Business Administration to better automate customer purchasing. As punch cards were all the rage at the time, the system they envisioned used a catalog of items with corresponding punch cards for each one. The customer would hand the cards to a clerk who would load them into a reader. The item would then be found and retrieved from a fully automated warehouse.[2] An itemized bill was automatically produced. In spite of its promise, punch card systems were expensive and the country was in the midst of the Great Depression. The project never went anywhere, but Flint's efforts would later prove decisive.
Silver and Woodland
In 1948 Bernard Silver, a graduate student at Drexel Institute of Technology in Philadelphia, overheard the president of a local food chain asking one of the deans to research a system to automatically read product information during checkout. Silver told his friend Norman Joseph Woodland about the request, and the two started working on a variety of systems. Their first working system used ultraviolet ink, but this proved to fade and was fairly expensive.[2]
Convinced that the system was workable with further development, Woodland quit his position at Drexel, moved into his father's apartment in Florida, and continued working on the system. His next inspiration came from Morse code, and he formed his first barcode when "I just extended the dots and dashes downwards and made narrow lines and wide lines out of them."[2] To read them, he adapted technology from optical soundtracks in movies, using a 500 watt light bulb shining through the paper onto an RCA935 photomultiplier tube (from a movie projector) on the far side. He later decided that the system would work better if it were printed as a circle instead of a line, which would allow it to be scanned in any direction.
On 20 October 1949, Woodland and Silver filed a patent application for "Classifying Apparatus and Method". In it they described both the linear and "bullseye" printing patterns, as well as the mechanical and electronic systems needed to read the code. The patent was issued on 7 October 7 1952 as US Patent 2,612,994. In 1951 Woodland moved to IBM and continually tried to interest them in developing the system. They eventually commissioned a report on the idea, which concluded that it was both feasible and interesting, but that the information coming out of it would require equipment that was some time off in the future.
In 1952 Philco purchased their patent, and later sold it to RCA.
Collins at Sylvania
During his undergraduate degree, David Collins worked at the Pennsylvania Railroad and became aware of the need to automatically identify train cars. Immediately after receiving his master's degree from MIT in 1959, he started work at Sylvania, working on the problem. He developed a system using blue and yellow reflective stripes attached to the side of the cars, encoding a six-digit company ID and a four-digit car number. Light reflected off the stripes was fed into one of two photomultipliers, filtered for blue or yellow.
The Boston and Maine Railroad tested the system on their gravel cars in 1961. The tests continued until 1967, when the Association of American Railroads (AAR) selected it as a standard across the entire North American fleet. The first installations started on 10 October 1967. However, the economic downturn and rash of bankruptcies in the industry in the early 1970s greatly slowed the rollout, and it wasn't until 1974 that 95% of the fleet was labeled. To add to its woes, the system was found to be easily fooled by dirt in certain applications, and the accuracy was greatly affected. The AAR abandoned the system in the late 1970s, and it was not until the mid-1980s that they introduced a similar system, this time based on radio tags.
The railway project proved to be a bust. However, a toll bridge in New Jersey requested that a similar system be developed so that it could quickly scan for cars that had paid for a monthly pass. Then the U.S. Post Office requested that a similar system be developed so that it could keep track of which trucks had entered the yard and when. These applications required special retroreflective labels. Finally, KalKan dog food asked the Sylvania team to develop a simpler (and cheaper) version which they could put on cases of dog food for inventory control. This, in turn, led to the grocery industry's interest.
Computer Identics
Collins had already left Sylvania by this point. In 1967, with the railway system maturing, he went to management looking for funding for a project to develop a black and white version of the code for other industries. They declined, saying that the railway project was large enough and they saw no need to branch out so quickly.
Collins quit and formed Computer Identics. Computer Identics started working with helium neon lasers in place of light bulbs, scanning through space with a mirror to locate the bar code anywhere up to several feet front of the scanner. This made the entire scanning process much simpler and more reliable, as well as allowing it to deal with ripped codes by reading the intact portions.
Computer Identics installed their first two systems in early 1969, one at a General Motors factory in Pontiac, Michigan, and another at a distribution center at the General Trading Company in Carlsbad, New Jersey. The GM system was used to identify car axles in inventory, of the 18 different kinds produced at the factory. The General Trading Company used to to keep track of their 100 models of door.
UPC
In 1966 the National Association of Food Chains (NAFC) held a meeting where they discussed the idea of using automated checkout systems. RCA, having purchased rights to the original Woodland patent, had attended the meeting and set up an internal project to develop a system based on the bullseye code. The Kroger grocery chain volunteered to test it.
In mid-1970, the NAFC started an ad hoc committee to look into bar codes, the Uniform Grocery Product Code Council. The committee set guidelines for bar code development and created a symbol selection subcommittee to help standardize the approach. In cooperation with McKinsey & Co. (a consulting firm), they developed a standardized 11-digit code to identify any product. The committee then sent out a contract tender to develop a system to print and read the code. The request went to Singer, National Cash Register (NCR), Litton Industries, RCA, Pitney-Bowes, IBM and many others.[3] A wide variety of barcode approaches were studied; linear codes, RCA's bullseye, and other systems with starburst patterns or odder varieties.
In the spring of 1971 RCA demonstrated their bullseye code at another industry meeting. IBM executives at the meeting noticed the crowds at the RCA booth, and immediately set out to develop their own system. Alec Jablonover, a marketing specialist at IBM, remembered that the company still employed the system's inventor. Woodland was set up in new facilities in North Carolina, where IBM's version of the encoding was developed.
In July 1972 RCA began an eighteen-month test of their system in a Kroger store in Cincinnati. Barcodes were printed on small pieces of adhesive paper, and attached by hand by store employees when they were adding price tags. The code proved to have a serious problem. During printing, presses sometimes smear ink in the direction the paper is running, with the bullseye code this rendered the code unreadable in most orientations. A linear code, like the one being developed by Woodland at IBM, was printed in the direction of the stripes, so extra ink simply makes the code "taller", and it remains readable.
On 3 April 1973 the IBM UPC code was selected by NAFC as their standard. NCR installed a testbed system at a Marsh supermarket in Troy, Ohio, near the factory that was producing the equipment. On 26 June 1974, Clyde Dawson pulled a 10-pack of Wrigley's Juicy Fruit gum out of his basket and it was scanned by Sharon Buchanan at 8:01 am. The pack of gum and the receipt are now on display in the Smithsonian Institution.[4]
Economic studies conducted for the grocery industry committee projected over $40 million in savings to the industry from scanning by the mid-1970s. Those numbers were not achieved in that time frame and there were those who predicted the demise of barcode scanning. The usefulness of the barcode required the adoption of expensive scanners by a critical mass of retailers while manufacturers simultaneously adopted barcode labels. Neither wanted to move first and results weren't promising for the first couple of years, with Business Week proclaiming "The Supermarket Scanner That Failed."[5]
IBM later designed five versions of the UPC symbology for future industry requirements — UPC A, B, C, D, and E [6] The U.P.C. made its first commercial appearance at the Marsh Supermarket in Troy, Ohio in June 1974.[5]
Use
Since their invention in the 20th century, barcodes — especially the UPC — have slowly become an essential part of modern civilization. Their use is widespread, and the technology behind barcodes is constantly improving. Some modern applications of barcodes include:
- Practically every item purchased from a grocery store, department store, and mass merchandiser has a barcode on it. This greatly helps in keeping track of the large number of items in a store and also reduces instances of shoplifting (since shoplifters could no longer easily switch price tags from a lower-cost item to a higher-priced one). Since the adoption of barcodes, both consumers and retailers have benefited from the savings generated.
- Document Management tools often allow for barcoded sheets to facilitate the separation and indexing of documents that have been imaged in batch scanning applications.
- The tracking of item movement, including rental cars, airline luggage, nuclear waste, mail and parcels.
- Since 2005, airlines use an IATA-standard 2D bar code on boarding passes (BCBP), and since 2008 2D bar codes sent to mobile phones enable electronic boarding passes.[7]
- Recently, researchers have placed tiny barcodes on individual bees to track the insects' mating habits.
- Many tickets now have barcodes that need to be validated before allowing the holder to enter sports arenas, cinemas, theatres, fairgrounds, transportation etc.
- Used on automobiles, can be located on front or back.
- Joined with in-motion checkweighers to identify the item being weighed in a conveyor line for data collection
Symbologies
The mapping between messages and barcodes is called a symbology. The specification of a symbology includes the encoding of the single digits/characters of the message as well as the start and stop markers into bars and space, the size of the quiet zone required to be before and after the barcode as well as the computation of a checksum.
Linear symbologies can be classified mainly by two properties:
- Continuous vs. discrete: Characters in continuous symbologies usually abut, with one character ending with a space and the next beginning with a bar, or vice versa. Characters in discrete symbologies begin and end with bars; the intercharacter space is ignored, as long as it is not wide enough to look like the code ends.
- Two-width vs. many-width: Bars and spaces in two-width symbologies are wide or narrow; how wide a wide bar is exactly has no significance as long as the symbology requirements for wide bars are adhered to (usually two to three times wider than a narrow bar). Bars and spaces in many-width symbologies are all multiples of a basic width called the module; most such codes use four widths of 1, 2, 3 and 4 modules.
Some symbologies use interleaving. The first character is encoded using black bars of varying width. The second character is then encoded, by varying the width of the white spaces between these bars. Thus characters are encoded in pairs over the same section of the barcode. Interleaved 2 of 5 is an example of this.
Stacked symbologies consist of a given linear symbology repeated vertically in multiple.
There is a large variety of 2D symbologies. The most common are matrix codes, which feature square or dot-shaped modules arranged on a grid pattern. 2-D symbologies also come in a variety of other visual formats. Aside from circular patterns, there are several 2-D symbologies which employ steganography by hiding an array of different-sized or -shaped modules within a user-specified image (for example, DataGlyphs).
Scanner/symbology interaction
Linear symbologies are optimized to be read by a laser scanner, which sweeps a beam of light across the barcode in a straight line, reading a slice of the bar code light-dark patterns. In the 1990s development of CCD imagers to read bar codes was pioneered by Welch Allyn. Imaging does not require moving parts, like a laser scanner does. In 2007, linear imaging is surpassing laser scanning as the preferred scan engine for its performance and durability.
Stacked symbologies are also optimized for laser scanning, with the laser making multiple passes across the barcode.
2-D symbologies cannot be read by a laser as there is typically no sweep pattern that can encompass the entire symbol. They must be scanned by a camera capture device.
Scanners (barcode readers)
The earliest, and still the cheapest, barcode scanners are built from a fixed light and a single photosensor that is manually "scrubbed" across the barcode.
Barcode scanners can be classified into three categories based on their connection to the computer. The older type is the RS-232 barcode scanner. This type requires special programming for transferring the input data to the application program. Another type connects between a computer and its PS/2 or AT keyboard by the use of an adaptor cable. The third type is the USB barcode scanner, which is a more modern and more easily installed device than the RS-232 scanner. Like the keyboard interface scanner, this has the advantage that it does not need any code or program for transferring input data to the application program; when you scan the barcode its data is sent to the computer as if it had been typed on the keyboard.
Verifier (Pika inspection)
Barcode verifiers are primarily used by businesses that print barcodes, but any trading partner in the supply chain could test barcode quality. It is important to "grade" a barcode to ensure that any scanner in the supply chain can read the barcode. Retailers levy large fines and penalties for non-compliant barcodes.
Barcode verifiers work in a way similar to a scanner but instead of simply decoding a barcode, a verifier performs a series of eight tests. Each test is given a grade from 0.0 to 4.0 (F to A) and the lowest of any of the tests is the scan grade. For most applications a 2.5 (C) grade is the minimum acceptable grade.
Barcode Verifier Standards:
- Barcode verifiers should comply with the ISO 15426-1 (linear barcode verifier compliance standard) or ISO 15426-2 (2d barcode verifier compliance standard)
- The current international barcode quality specification is ISO/IEC 15416 (linear bar codes) and ISO/IEC 15415 (2D barcodes)
- The European Standard EN 1635 has been withdrawn and replaced by ISO/IEC 15416
- The original U.S. barcode quality specification was ANSI X3.182. UPC Codes used in the US ANSI/UCC5.
Barcode Verifier Manufacturers (partial list):
- Auto ID Solutions (2D)
- Axicon (linear and 2D)(www.axicon.com)
- Code Corporation (linear and 2D)
- Cognex Corporation (2D, UID)
- Honeywell (linear and 2D)
- REA Elektronik GmbH (linear)
- RJS/Printronix (linear)
- Microscan(UID, Data Matrix(2D), linear)
- Stratix (linear)
- Webscan (linear and 2D)
Barcode Verifier Test Code Manufacturers ((traceable reflectance and linear measure) used to check proper function of verifiers)
- Applied Image Inc. (Rochester, NY, USA) (m)
Benefits
In point-of-sale management, the use of barcodes can provide very detailed up-to-date information on key aspects of the business, enabling decisions to be made much more quickly and with more confidence. For example:
- Fast-selling items can be identified quickly and automatically reordered to meet consumer demand,
- Slow-selling items can be identified, preventing a build-up of unwanted stock,
- The effects of repositioning a given product within a store can be monitored, allowing fast-moving more profitable items to occupy the best space,
- Historical data can be used to predict seasonal fluctuations very accurately.
- Items may be repriced on the shelf to reflect both sale prices and price increases.
Besides sales and inventory tracking, barcodes are very useful in shipping/receiving/tracking.
- When a manufacturer packs a box with any given item, a Unique Identifying Number (UID) can be assigned to the box.
- A relational database can be created to relate the UID to relevant information about the box; such as order number, items packed, qty packed, final destination, etc…
- The information can be transmitted through a communication system such as Electronic Data Interchange (EDI) so the retailer has the information about a shipment before it arrives.
- Tracking results when shipments are sent to a Distribution Center (DC) before being forwarded to the final destination.
- When the shipment gets to the final destination, the UID gets scanned, and the store knows where the order came from, what's inside the box, and how much to pay the manufacturer.
The reason bar codes are business-friendly is that bar code scanners are relatively low cost and extremely accurate compared to key-entry– only about 1 substitution error in 15,000 to 36 trillion characters entered. [8] The error rate depends on the type of barcode.
Types of barcodes
Linear barcodes
Symbology | Cont/Disc | Two/Many | Uses |
---|---|---|---|
Plessey | Continuous | Two | Catalogs, store shelves, inventory |
U.P.C. | Continuous | Many | Worldwide retail, GS1 approved |
Codabar | Discrete | Two | Old format used in libraries, blood banks, airbills |
Code 25 – Non-interleaved 2 of 5 | Continuous | Two | Industrial (NO) |
Code 25 – Interleaved 2 of 5 | Continuous | Two | Wholesale, Libraries (NO) |
Code 39 | Discrete | Two | Various |
Code 93 | Continuous | Many | Various |
Code 128 | Continuous | Many | Various |
Code 128A | Continuous | Many | Various |
Code 128B | Continuous | Many | Various |
Code 128C | Continuous | Many | Various |
Code 11 | Discrete | Two | Telephones |
CPC Binary | Discrete | Two | Post office |
DUN 14 | Continuous | Many | Various |
EAN 2 | Continuous | Many | Addon code (Magazines), GS1 approved |
EAN 5 | Continuous | Many | Addon code (Books), GS1 approved |
EAN 8, EAN 13 | Continuous | Many | Worldwide retail, GS1 approved |
GS1-128 (formerly known as UCC/EAN-128), incorrectly referenced as EAN 128 and UCC 128 | Continuous | Many | Various, GS1 approved |
GS1 DataBar formerly Reduced Space Symbology (RSS) | Continuous | Many | Various, GS1 approved |
ITF-14 | Continuous | Many | Non-retail packaging levels, GS1 approved |
Latent image barcode | Neither | Tall/short | Color print film |
Pharmacode | Neither | Two | Pharmaceutical Packaging |
PLANET | Continuous | Tall/short | United States Postal Service |
POSTNET | Continuous | Tall/short | United States Postal Service |
OneCode | Continuous | Tall/short | United States Postal Service, replaces POSTNET and PLANET symbols |
MSI | Continuous | Two | Used for warehouse shelves and inventory |
PostBar | Discrete | Many | Post office |
RM4SCC / KIX | Continuous | Tall/short | Royal Mail / Royal TPG Post |
Telepen | Continuous | Two | Libraries, etc (UK) |
2D barcodes
A matrix code, also known as a 2D barcode or simply a 2D code, is a two-dimensional way of representing information. It is similar to a linear (1-dimensional) barcode, but has more data representation capability.
Symbology | Notes |
---|---|
3-DI | Developed by Lynn Ltd. |
ArrayTag | From ArrayTech Systems. |
Aztec Code | Designed by Andrew Longacre at Welch Allyn (now Hand Held Products). Public domain. |
Small Aztec Code | Space-saving version of Aztec code. |
Chromatic Alphabet[9] | an artistic proposal by C. C. Elian; divides the visible spectrum into 26 different wavelengths. http://www.ccelian.com/chromalpha.html - hues. |
Chromocode | uses black, white, and 4 saturated colors.[10] |
Codablock | Stacked 1D barcodes. |
Code 1 | Public domain. |
Code 16K | Based on 1D Code 128. |
Code 49 | Stacked 1D barcodes from Intermec Corp. |
ColorCode | ColorZip[2] developed colour barcodes that can be read by camera phones from TV screens; mainly used in Korea.[11] |
CP Code | From CP Tron, Inc. |
d-touch | readable when printed on deformable gloves and stretched and distorted[12] |
DataGlyphs | From Palo Alto Research Center (also known as Xerox PARC). See http://www.dataglyphs.com for details. |
Datamatrix | From RVSI Acuity CiMatrix/Siemens. Public domain. |
Datastrip Code | From Datastrip, Inc. |
Dot Code A | Designed for the unique identification of items. |
EZcode | Designed for decoding by cameraphones. http://www.scanbuy.com |
High Capacity Color Barcode | Developed by Microsoft; licensed by ISAN-IA. |
HueCode | From Robot Design Associates. Uses greyscale or colour.[13] |
INTACTA.CODE | From INTACTA Technologies, Inc. |
InterCode | From Iconlab, Inc. The standard 2D barcode in South Korea. All 3 South Korean mobile carriers put the scanner program of this code into their handsets to access mobile internet, as a default embedded program. |
MaxiCode | Used by United Parcel Service. Now Public Domain |
mCode | Developed by Nextcode Corporation specifically for camera phone scanning applications. Designed to enable advanced cell mobile applications with standard camera phones. |
MiniCode | From Omniplanar, Inc. |
PDF417 | Originated by Symbol Technologies. Public Domain. |
Micro PDF417 | Facilitates codes too small to be used in PDF417. |
PDMark | Developer by Ardaco. |
PaperDisk | High density code — used both for data heavy applications (10K-1 MB) and camera phones (50+ bits). Developed and patented by Cobblestone Software |
Optar | Developed by Twibright Labs and published as free software. Aims at maximum data storage density, for storing data on paper. 200kB per A4 page with laser printer. |
QR Code | Developed, patented and owned by TOYOTA subsidiary Denso Wave initially for car parts management. Now public domain. Can encode Japanese Kanji and Kana characters, music, images, URLs, emails. De-facto standard for Japanese cell phones. |
QuickMark Code | From SimpleAct Inc.. |
Semacode | A Data Matrix code used to encode URLs for applications using cellular phones with cameras. |
SmartCode | From InfoImaging Technologies. |
Snowflake Code | From Marconi Data Systems, Inc. |
ShotCode | Circular barcodes for camera phones by OP3. Originally from High Energy Magic Ltd in name Spotcode. Before that probably known as TRIPCode. |
SuperCode | Public domain. |
Trillcode | From Lark Computers. Designed to work with mobile devices camera or webcam PC. Can encode a variety of "actions". |
UltraCode | Black-and-white & colour versions. Public domain. Invented by Jeffrey Kaufman and Clive Hohberger. |
UnisCode | also called "Beijing U Code"; a colour 2D barcode developed by Chinese company UNIS |
VeriCode, VSCode | From Veritec, Inc. |
WaterCode | High-density 2D Barcode(440 Bytes/cm2) From MarkAny Inc. |
Examples
-
GTIN-12 number encoded in UPC-A barcode symbol. First and last digit are always placed outside the symbol to indicate Quiet Zones that are necessary for barcode scanners to work properly.
-
EAN-13 (GTIN-13) number encoded in EAN-13 barcode symbol. First digit is always placed outside the symbol, additionally right quiet zone indicator (>) is used to indicate Quiet Zones that are necessary for barcode scanners to work properly.
-
"Wikipedia" encoded in Code 93
-
'Wikipedia" encoded in Code 128
-
Semacode of the URL for Wikipedia's article on Semacode
-
Lorem Ipsum boilerplate text as four segment DataMatrix 2D
-
"This is an example Aztec symbol for Wikipedia" encoded in Aztec Code
-
Text 'EZcode'
-
Example of High Capacity Color Barcode
-
"Wikipedia, The Free Encyclopedia" in several languages encoded in DataGlyphs
-
Two different 2D barcodes used in film: Dolby Digital between the sprocket holes with the "Double-D" logo in the middle, and Sony Dynamic Digital Sound in the blue area to the left of the sprocket holes.
See also
- Automated identification and data capture (AIDC)
- Barcode printer
- Barcode scanner
- BCBP (Bar Coded Boarding Passes)
- Data Matrix
- Global Trade Item Number
- Inventory control system
- ISBN
- Physical world hyperlinks
- RFID
- Semacode
- Sms barcode
- Supply Chain Management
- Universal Product Code (UPC)
References
- ^ Some Hot North American RFID Applications, RFID Radio
- ^ a b c Tony Seideman, "Barcodes Sweep the World", Wonders of Modern Technology
- ^ George Laurer, "Development of the U.P.C. Symbol"
- ^ "The history of the UPC Bar Code"
- ^ a b Varchaver, Nicholas (2004-05-31). "Scanning the Globe". Fortune. Retrieved 2006-11-27.
{{cite journal}}
: Check date values in:|date=
(help) - ^ Nelson, Benjamin (1997). "From Punched Cards To Bar Codes".
{{cite journal}}
: Cite journal requires|journal=
(help) - ^ IATA
- ^ Harmon and Adams(1989). Reading Between The Lines, p.13. Helmers Publishing, Inc, Peterborough, NH. ISBN 0911261001.
- ^ Chromatic Alphabet by C. C. Elian. [1]
- ^ "Chromocode ... Multicolor / Polychromatic Barcode Symbology
- ^ "Barcodes for TV Commercials"
- ^ d-touch topological fiducial recognition; "d-touch markers are applied to deformable gloves"
- ^ BarCode-1 2-Dimensional Bar Code Page
Further reading
- Automating Management Information Systems: Barcode Engineering and Implementation – Harry E. Burke, Thomson Learning, ISBN 0-442-20712-3
- Automating Management Information Systems: Principles of Barcode Applications – Harry E. Burke, Thomson Learning, ISBN 0-442-20667-4
- The Bar Code Book – Roger C. Palmer, Helmers Publishing, ISBN 0-911261-09-5, 386 pages
- The Bar Code Manual – Eugene F. Brighan, Thompson Learning, ISBN 0-03-016173-8
- Handbook of Bar Coding Systems – Harry E. Burke, Van Nostrand Reinhold Company, ISBN 978-0-442-21430-2, 219 pages
- Lines of Communication – Craig K. Harmon, Helmers Publishing, ISBN 0-911261-07-9, 425 pages
- Punched Cards to Bar Codes – Benjamin Nelson, Helmers Publishing, ISBN 0-911261-12-5, 434 pages
- Revolution at the Checkout Counter: The Explosion of the Bar Code – Stephen A. Brown, Harvard Univ Press, ISBN 0-674-76720-9
- Reading Between The Lines – Craig K. Harmon and Russ Adams, Helmers Publishing, ISBN 0-911261-00-1, 297 pages
- The Black and White Solution: Bar Code and the IBM PC – Russ Adams and Joyce Lane, Helmers Publishing, ISBN 0-911261-01-X, 169 pages
- Sourcebook of Automatic Identification and Data Collection – Russ Adams, Van Nostrand Reinhold, ISBN 0-442-31850-2, 298 pages
External links