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 their 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.
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.
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.
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." 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.
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 effected. 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.
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.
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. 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.
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."
IBM later designed five versions of the UPC symbology for future industry requirements — UPC A, B, C, D, and E The U.P.C. made its first commercial appearance at the Marsh Supermarket in Troy, Ohio in June 1974.
Additional information about barcode applications, can be found on http://www.barcode.com and http://www.barcoding.com. A barcode generator can be found at http://www.barcoding.com/upc.
Linear symbologies can be classified mainly by two properties:
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).
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.
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.
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 Verifier Manufacturers (partial list)
Barcode Verifier Test Code Manufacturers ((traceable reflectance and linear measure) used to check proper function of verifiers)
(m)
Besides sales and inventory tracking, barcodes are very useful in shipping/receiving/tracking.
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. The error rate depends on the type of barcode.
| 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) |
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 | an artistic proposal; uses 26 different color hues. |
| Chromocode | uses black, white, and 4 saturated colors. |
| 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 developed colour barcodes that can be read by camera phones from TV screens; mainly used in Korea. |
| CP Code | From CP Tron, Inc. |
| d-touch | readable when printed on deformable gloves and stretched and distorted |
| 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. |
| 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. |