Barcode

A barcode (also bar code) is a machine-readable representation of information (usually dark ink on a light background to create high and low reflectance which is converted to 1s and 0s). Originally, barcodes stored data in the widths and spacings of printed parallel lines, but today they also come in patterns of dots, concentric circles, and text codes hidden within images. Barcodes can be read by optical scanners called barcode readers or scanned from an image by special software. Barcodes are widely used to implement Auto ID Data Capture (AIDC) systems that improve the speed and accuracy of computer data entry. An advantage over other methods of AIDC is that it is less expensive to implement. 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.

History
The first patent for a bar code type product (US Patent #2,612,994) was issued to inventors Joseph Woodland and Bernard Silver on October 7, 1952. Its implementation was made possible through the work of Raymond Alexander and Frank Stietz, two engineers with Sylvania (who were also granted a patent), as a result of their work on a system to identify railroad cars. It was not until 1966 that barcodes were put to commercial use and they were not commercially successful until the 1980s. 

While traditionally barcode encoding schemes represented only numbers, newer symbologies add new characters such as the uppercase alphabet to the complete ASCII character set, and beyond. The drive to encode more information in combination with the space requirements of simple barcodes led to the development of matrix codes (a type of 2D barcode), which do not consist of bars but rather a grid of square cells. Stacked barcodes are a compromise between true 2D barcodes and linear codes (also known as 1D barcodes), and are formed by taking a traditional linear symbology and placing it in an envelope that allows multiple rows.

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.
 * 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 of camps.

The Universal Product Code (UPC)
The best-known and most widespread use of barcodes has been on consumer products. The UPC symbol is a response to a business need first identified by the US grocery industry in the early 1970s.

Believing that automating the grocery checkout process could reduce labor costs, improve inventory control, speed up the process, and improve customer service, six industry associations, representing both product manufacturers and supermarkets, created an industry wide committee of industry leaders. Their two-year effort resulted in the announcement of the Universal Product Code and the U.P.C. barcode symbol on April 1, 1973. The UPC Symbol that was chosen by the committee was a modified version of a symbol design that was submitted by IBM. IBM also 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.

Legend has it that the first item with a barcode was a pack of Wrigley's gum. This isn't quite true. The first item scanned in a retail establishment was at 8:01 a.m. on June 26, 1974, and was a 10-pack of Juicy Fruit chewing gum. The entire shopping cart also had barcoded items in it, but the gum was merely the first one picked up by the cashier.

Originally, the modern day bar code was developed to identify railroad cars. 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.

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 looked unpromising for the first couple of years, with Business Week proclaiming "The Supermarket Scanner That Failed."

Development of the UPC proposal
Joseph E. Fernandes proposed the use of the American UPC code for international inquiries.

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 more 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.

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 2-D 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.

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
 * The original U.S. barcode quality specification was ANSI X3.182. UPC Codes used in the US ANSI/UCC5.
 * 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
 * Barcode verifiers should comply with the ISO 15426-1 (linear barcode verifier compliance standard) or ISO 15426-2 (2d barcode verifier compliance standard)

Barcode Verifier Manufacturers (partial list)
 * Code Corporation (linear and 2D)
 * RJS/Printronix (linear)
 * Hand Held Products (linear)
 * Webscan (linear and 2D)
 * Auto ID Solutions (2D)
 * Stratix (linear)
 * Axicon (linear)
 * REA Elektronik GmbH (linear)
 * Siemens (UID, Data Matrix(2D), linear)

Barcode Verifier Test Code Manufacturers ((traceable reflectance and linear measure) used to check proper function of verifiers)
 * Applied Image Inc. (Rochester, NY, USA)

Benefits of using barcodes
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 Indentifying 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 – only about 1/100,000 entries will be wrong.

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.