"Wikipedia" encoded in Code 128-B
A barcode (also bar code) is a machine readable representation of information in the widths and spacings of printed parallel lines (or concentric circles, in at least one symbology). They can be read by optical scanners called barcode readers or scanned from an image by special software.
The idea for the barcode was developped by Norman Joseph Woodland and Bernard Silver. In 1948 they were graduate students at Drexel University. The developed the idea after hearing the president of a food sales company wishing to be able to automate the checkout process. One of their first ideas was to use Morse code printed out and extended verticaly, producing narrow and wide bars. Later, they switched to using a "bulls-eye" type barcode. The two (filed U.S patent #[http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=/netahtml/srchnum.htm&r=1&f=G&l=50&s1=2,612,994.WKU.&OS=PN/2,612,994&RS=PN/2,612,994 2,612,994] on October 20, 1949 for "Classifying Apparatus and Method". The patent was issued on October 7, 1952.
The first bar code reader was built by Woodland (who was an IBM employee at the time) and Silver in 1952 and included a 500 watt light bulb and a photomultiplier vacuum tube made by RCA for movie sound tracks (which were printed optically on film). This device was not very practical (the output was simply an oscilloscope, and the 500 watt bulb nearly caught the paper containing their first sample barcode on fire), and was not commercially produced. In 1962 they sold the patent to Philco, who later sold it to RCA. The later development of the laser allowed barcode readers to be made much more cheaply, and the development of the integrated circuit allowed the practical decoding of the scanned barcode. Sadly, Silver died in 1963 at age 38 before anything could come of the patent.
In 1972, a Kroger store in Cincinnati experimented with using a bull's-eye barcode reader, with help from RCA. Unfortunately, the bulls-eye barcodes were easy to smudge during printing, and were't very successful. In the meantime, Woodland at IBM was developping the linear barcode that was adopted on April 3, 1973 as Universal Product Code. On June 26, 1974, the first retail product (a pack of chewing gum) was sold using a barcode reader, at Marsh's supermarket in Troy, Ohio. (This pack of gum is now in the Smithsonian's Museum of American History.)
Barcodes (and other machine readable tags like RFID) are used wherever physical objects need to be tagged with information that is to be processed by computers. Instead of painstakingly typing long strings of data into a terminal, the operator only has to display the code to a barcode reader. It also allows for processing without the help of human operators in fully automated environments.
The amount of data contained in a barcode varies with the application. In the simplest case only an identification number is provided which is used to index into a central database where the complete information is kept. The EAN-13 and UPC codes commonly found on retail articles work this way.
In many cases it is more desirable to include the complete information in the barcode itself without the requirement for an external database. This led to the development of barcode symbologies that can express more than decimal digits, ranging from additionally encoding just the upper case alphabet to the complete ASCII character set and beyond. The drive to encode ever more information in combination with the space requirements of simple barcodes led to the development of matrix codes which are often also named 2D barcodes, although most do not consist of bars but rather a grid of square cells. Stacked barcodes are a compromise between true 2D barcodes and linear codes, and are formed by taking a traditional linear symbology and placing it in an envelope that allows multiple rows.
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.
Symbologies can be classified mainly by two properties:
Continuous vs. discrete: Characters in continuous symbologies 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 as wide 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.
Types of barcodes
;The Bar Code Book: Roger C. Palmer, Helmers Publishing, ISBN 0-911261-09-5, 386 pages
;Punched Cards to Bar Codes: Benjamin Nelson, Helmers Publishing, ISBN 0-911261-12-5, 434 pages
;The Bar Code Manual: Eugene F. Brighan, Thompson Learning, ISBN 0-911261-09-5
;Automating Management Information Systems
;Automating Management Information Systems
;Revolution at the Checkout Counter
History of Barcodes
[http://www.basics.ie/History.htm History of Barcodes]
[http://educ.queensu.ca/~compsci/units/encoding/barcodes/history.html The History of Bar Codes]
[http://www.adams1.com/pub/russadam/history.html Bar Code History]
[http://inventors.about.com/library/inventors/blbar_code.htm Barcodes - The History of Bar Code]
[http://www.barcode.ro/tutorials/barcodes/history/ Barcode Tutorials >> History]
[http://barcodesinc.com/generator/ Online Barcode generator]
[http://www.barcodeisland.com/symbolgy.phtml Barcode Island] - description of many symbologies
[http://www.pdf417.com/2d.htm Description of several 2D symbologies]
of 2D symbologies]