Barcodes with iOS: Bringing together the digital and physical worlds (2015)

Appendix A. History of the UPC

When getting acquainted with barcodes used for tagging products, you’ll come across a plethora of abbreviations. Some of these are names of barcode symbologies, and others are names of companies or organizations. Barcodes representing product numbers have had several different names over the course of their history, and multiple organizations have developed and maintained the related standards. Most people find this quite confusing initially.

This section provides an overview of the development of the very first barcode, the Universal Product Code (UPC). This brief history includes several informative as well as amusing lessons, and it also reveals the connections between several actors, standards, and organizations.

While your colleagues will still be confused as to the difference between UPC-A, EAN-13, and GTIN, you’ll be able to confidently play the part of the barcode guru when discussing barcodes for use in your company or apps.

A.1. Bull’s-eye origins

An old saying goes “war is good for business.” Indeed, the United States experienced an unprecedented economic upturn during the Second World War (1939–1945) as soldiers were removed from their normal workplace to fight abroad, and jobs at home were filled by the formerly unemployed.

The grocery industry was forced to take a hard look into how it could scale its processes to cope with the increased demand. One day in 1940, an enterprising grocery executive visited the Engineering College at Drexel University in Philadelphia. He hoped to challenge them to develop a method for automating product identification at checkout, possibly gaining a commercial advantage over his competitors, with academia doing the research at low cost.

Drexel University declined the challenge. But Bernhard Silver, a graduate student there at the time, overheard the request and brought the idea to his friend Joe (Norman J.) Woodland. Silver and Woodland saw an opportunity for inventing something revolutionary, and they went to work.

Automating anything in the middle of the twentieth century meant using physical machinery, so they needed to develop some marking scheme or identifier that could be affixed to products and that could be “read” by a machine. Once the item was identified, changing the price charged at the checkout counter would be an easy second step.

Joe Woodland had a stroke of genius when he absentmindedly ran his fingers through the sand on a beach. He realized that by varying the thickness of lines, he could represent different numbers, much like in Morse code but with more “symbols” than just a dot and a dash. Woodland had learned Morse code when he was a Boy Scout.

The two friends continued to work on their technology for nine more years. They applied for a US patent in 1949, and it was granted as US 2612994 A in 1952 (see figure A.1).

Figure A.1. Patent US 2612994 A is the earliest documented barcode.

A.2. Startup story

The patented approach was to have circular lines around a center point printed in reflective ink. The reasoning behind this was that you could scan such symbols in any direction, always arriving at the same result. This design was reminiscent of a dart board, which earned it the unofficial name bull’s-eye symbol.

Even though Woodland tried hard to find investors for this technology, he had no tangible success. The proof-of-concept experimental system that Silver and Woodland installed in the back room of a grocery store didn’t convince anybody. Finally, the Philco company bought the patent from them for $15,000, equivalent to $132,000 in today’s dollars.

It might have been a lack of marketing or the lack of practical applications for their solution, but the bull’s-eye symbol remained unused for several decades.

Military efficiency improving the grocery industry

The US grocery industry continued to improve their distribution channels and became quite efficient in the early 1960s. Manual work remained the single most-limiting factor slowing their growth:

·        The labor cost of retail checkout was a major cost factor. About 40% of labor expenditures went to checkers and baggers.

·        Inventory tracking remained a manual process. Cash registers were only able to track the amount paid and which of five or six departments the item was from.

·        The high rate of errors and slow transaction speed of humans caused a lot of problems. Retailers and manufacturers all had their own product codes, and these had to be manually copied and translated on invoices and other forms.

Several independent projects were started during the 1960s to address these issues and improve productivity at checkout. The US military employed many contractors to develop related technologies to increase efficiency. The Kroger Company of Cincinnati, Ohio, realized this and sponsored a high-tech conference in 1966. Their aim was to educate military contractors about the grocery distribution environment. Technologies originally developed for military logistics could also improve efficiency in the grocery industry and save costs.

Among the attendees of this conference was RCA, which had purchased the bull’s-eye barcode patent from Philco a few years earlier. RCA formed a partnership with Kroger to develop a laser-based scanner prototype by 1968. This prototype was used to analyze the performance of various configurations of checkout machines in their Princeton, New Jersey, laboratory.

Confusion in numbers

Getting a grip on the basic technology of using a laser to read barcodes was the first hurdle. The second was the need to agree on a common scheme for identifying products. With individual retailers, grocery manufacturers, the National Association of Food Chains (NAFC), and the Grocery Manufacturers Association (GMA) all having ideas and concerns, there was no common ground nor leadership to establishing a standard.

Manufacturers, being the first in the product chain, already had case codes that they wanted to reuse as part of the code, resulting in rather wide barcode symbols with 11 or more digits. Retailers, on the other hand, worried about wasting too much packaging space with barcode symbols. They favored a standard of 7 digits or fewer.

With all this disagreement, the groups agreed on one thing: to form the Ad Hoc Committee on a Uniform Grocery Product Code in August 1970. The committee’s goal was to create a standard for numbering as well as machine-readable representation.

CEO-driven development

Fortunately, the arguing trade association members had the wisdom take a back seat and let a dozen key grocery manufacture and retail executives form this committee themselves. The committee selected Burt Gookin, CEO of H.J. Heinz Company, to be chairman, and McKinsey and Company were hired to manage the project.

McKinsey took a rather scientific approach to the problem. They developed a model that allowed participants to measure and evaluate the economic impact of different proposals. Having a fact-based common evaluation framework allowed the industry see that this would eventually benefit everybody.

Airplane travel at this time still involved good food and lots of beverages, so the folk tale is that on a flight back from a West Coast brainstorming session, the members of the Ad Hoc Committee realized the solution to the numbering dilemma: a study done by the GMA had shown that 95% of products sold in the United States had five or fewer numerical characters in their case code, so they would assign a 5-digit prefix to each manufacturer, and let the manufacturer select another 5 digits, forming a 10-digit code. Later an 11th digit was added to distinguish between 10 different numbering ranges.

Another smart move was that no single executive from the committee claimed responsibility for this idea. Rather, McKinsey presented the approach to hundreds of companies, and all but two readily stated in writing that they’d support it. Had this approach come from a single person or company, there might have been severe backlash, due to fears that a competitor might gain an unfair advantage. Presenting it as the best-of-breed idea that the entire committee had come up with prompted an almost-universal “us too” response.

At the May 1971 Supermarket Industries trade show, the Ad Hoc Committee presented the general agreement on a coding format—a major milestone.

Making it machine-readable

The second part of this undertaking was still missing—the numbers of the coding format would have to be made readable by machines in order to allow for automation. Over the two years following the 1971 announcement, companies busily worked on their proposals for the committee. This ended in a three-day meeting held in January 1973, where each contender got a 20 minute slot to present its approach.

The two strongest contenders turned out to be RCA bull’s-eye code and IBM’s solution. The circular code still seemed to have the upper hand because of the omnidirectional readability and an existing laser-based scanning technology. Also, IBM—being extremely secretive about under-development projects—had not shown anything public before this time.

Originally, IBM had stated that it wasn’t interested in participating. But IBM’s George J. Laurer had recognized a fatal flaw in RCA’s symbol. Printing it on product packages would often smear the circles in the direction of the paper feed. This rendered the code unreadable. Laurer’s barcode design was linear, and you could orient the code such that the smearing during printing would elongate the lines slightly but preserve readability. Woodland, who was employed by IBM at this time, provided valuable input. When IBM’s Senior VP Bob Evans made the presentation, he said this:

I know you may have concerns about what computer could keep up with scanning this symbol in a store checkout.

He then reached into his pocket and produced a disk containing schematics for microcircuits and continued:

Each circuit on this disk is equivalent to a moderate size existing computer. If IBM were to develop a system, we would put one of these circuits in each checkstand.

Evans spoke these words after Intel had created the 4004 processor in 1971 and 8008 processor in 1972. Intel’s cofounder Gordon E. Moore had observed that the number of transistors in CPUs would double in number every two years. This statement was given the name “Moore’s Law” in 1970.

The computer revolution had just begun and made IBM’s barcode feasible.

And the winner is ...

As with the number format, the Ad Hoc Committee didn’t want to make it sound like IBM was the winner of the contest, and conversely everybody else a loser. They slightly modified IBM’s design by trimming off the tops of the code’s longer marker lines. They also wanted somebody neutral to evaluate the proposal.

MIT in Cambridge performed the evaluation and recommended changing the numbers at the bottom to the OCR-B font. They argued that in a few years, the bars would not be needed any more, because computers would probably be able to read the numbers directly by then.

Finally, after three years, the Universal Product Code (UPC) was announced in a press release in April 1973. The winner was everybody.

The first UPC-marked item ever scanned was a 10-pack (50 sticks) of Wrigley’s Juicy Fruit chewing gum, which is on display at the Smithsonian Institution’s National Museum of American History in Washington, DC. This historic event took place on June 26, 1974.

Joe Woodland of IBM was honored with a National Medal of Technology in 1992 for “inventing the barcode.”

A.3. UPC plus EAN equals GTIN

Shortly thereafter, the Uniform Product Code Council (UPCC) was formed to oversee the administration of the UPC system. It was founded as a not-for-profit standards organization.

Three years later, a European counterpart to the UPCC was formed, the European Article Numbering (EAN) Association based in Brussels, Belgium. To further increase the range of numbers the barcode could represent, a 13th digit (12 plus the check digit) was added. What followed was a meteoric rise in the adoption of the UPC/EAN code around the world.

At this point, the term UPC was colloquially used to refer to the UPC barcode, the UPC product number, and the UPC organization. The same happened in Europe, where the EAN abbreviation could refer to the EAN barcode, the EAN product number, or the EAN organization.

In 1978 Japan joined the EAN and adopted the EAN for use in Japan, calling it the Japanese Article Number (JAN). Originally founded by 12 European countries, the EAN was joined by many countries outside of the European continent. For many years, the European and US organizations worked alongside each other until in 1990 they signed a formal agreement to jointly manage the standard.

Fifteen more years passed before the UPCC and EAN Association decided to merge. EAN was renamed to GS1 International, and the UPCC became GS1 US. This merge greatly reduced the confusion over the many different organizations being in charge of the same numbering and barcode standards. The true origins of the GS1 name are shrouded in mystery.

The second simplification step occurred in 2009 when the UPC/EAN/JAN codes were renamed to Global Trade Item Number (GTIN). GS1 would love it if you’d only refer to their product barcodes as GTINs from here on, but because the other names were in use for over 40 years, you’ll still see UPC and EAN used colloquially.

As of the UPC’s 40th anniversary in 2013, GS1 International has a presence in 111 countries, and it standardizes many other things—mostly related to commerce—besides the barcode.

Most barcode standards are actually being maintained by the International Standards Organization (ISO) at the lowest technical level. GS1 bases its standardization work on these ISO standards, but it adds the semantics necessary for using these barcodes in the context of commercial communication. This is why the GS1 tagline reads, “The global language of business.”


Barcode Guru Tip

Use the name GS1 to refer the standards organization. When referring to product numbers or barcodes, call them GTINs.


A.4. Barcodes in the mobile age

Other industries had different needs, and this led to the development of barcode symbologies that could represent alphanumeric characters. Code 39 is the oldest among the barcode types supported by iOS; Code 93 and Code 128 are more-advanced symbologies.

The advancements in digital image processing gave rise to a new kind of barcode using more than one dimension. Small, inexpensive cameras on a chip, called CCDs, were able to scan 2D barcodes as well as the older 1D barcodes, which initially could only be scanned with a laser beam. As it became standard for smartphones to have built-in cameras, this put a potential barcode scanner in everyone’s pocket.

Before the rise of the mobile phone, barcodes were only useful in places that had scanning equipment installed. Point of sale (POS) systems had bulky cash registers with built-in laser scanners and a database for looking up price information. But these technologies are now available in modern smartphones. Not only can users now scan barcodes with a device they’re already carrying with them, but always-on internet connectivity and device sensors detect the user’s current context and add degrees of utility that have never been possible before.

A.5. Summary

2013 marked the 40-year anniversary of the first widely used barcode, which eventually became the GTIN. Its original goal was to increase the efficiency of the grocery industry by enabling automatic product identification at the point of sale, and it fulfilled this goal many times over as the entire world adopted it. Most barcode symbologies are ISO standards at the lowest technical level; GS1 is in charge of defining the semantic meaning of content represented as GTINs and Code 128.

These are the key takeaways for this barcode overview:

·        Barcodes are a tried-and-true technology, with the oldest commercial form—the UPC—being more than 40 years of age.

·        Previously barcodes required laser-based scanners found in factories or at the point of sale. Today camera-equipped mobile phones are able to read them with ease. This opens up new usage scenarios where users can interact with the physical world.

·        One-dimensional (1D) barcodes encode numbers or alphanumeric characters on a single line. Two-dimensional (2D) barcodes are able to encode arbitrary data on a grid forming a square.

·        The international GS1 organization oversees the semantic implementations of barcodes in the context of commerce. See appendixes 2 and 3 for such semantics that they manage. GS1 unified the previously used UPC, EAN, and JAN codes and numbering schemes into the GTIN.

Apple began to integrate barcode technologies in iOS 7, adding only a few barcode-related APIs to iOS 8. Beginning with iOS 7, you don’t need any third-party software for adding barcode scanning to your apps. This book equips you with all you need to know to create barcode-enabled apps.