El Código Universal de Producto (UPC) es una simbología de código de barras que se utiliza ampliamente en los Estados Unidos, Canadá, Reino Unido, Australia, Nueva Zelanda, Europa y otros países para rastrear artículos comerciales en las tiendas.
UPC (técnicamente se refiere a UPC-A) consta de 12 dígitos numéricos, que se asignan de forma única a cada artículo comercial. Junto con el código de barras EAN relacionado, el UPC es el código de barras utilizado principalmente para el escaneo de artículos comerciales en el punto de venta, según las especificaciones GS1. Las estructuras de datos de la UPC son un componente de los GTIN y siguen la especificación GS1 global, que se basa en estándares internacionales. Pero algunos minoristas (ropa, muebles) no usan el sistema GS1 (más bien otras simbologías de códigos de barras o sistemas de números de artículos). Por otro lado, algunos minoristas utilizan la simbología de códigos de barras EAN / UPC, pero sin utilizar un GTIN (solo para productos vendidos en sus propias tiendas).
Historia Wallace Flint propuso un sistema de pago automatizado en 1932 utilizando tarjetas perforadas. Bernard Silver y Norman Joseph Woodland, un estudiante graduado del Instituto de Tecnología Drexel (ahora Universidad de Drexel), desarrollaron un código de estilo bull's-eye (de ojo de buey) y solicitaron la patente en 1949.
En la década de 1960, los ferrocarriles experimentaron con un código de barras multicolor para rastrear vagones, pero finalmente lo abandonaron.
Un grupo de asociaciones comerciales de la industria de comestibles formó el Consejo Uniforme de Código de Productos de Comestibles que, junto con los consultores Larry Russell y Tom Wilson de McKinsey & Company, definieron el formato numérico del Código Uniforme de Productos. Las empresas de tecnología como Charegon, IBM, Litton-Zellweger, Pitney Bowes-Alpex, Plessey-Anker, RCA, Scanner Inc., Singer, y Dymo Industries/Data General propusieron representaciones alternativas de símbolos para el consejo. Al final, el Comité de selección de símbolos eligió modificar ligeramente, cambiando la fuente en el área legible por humanos, la propuesta de IBM diseñada por George J. Laurer.
El primer artículo marcado UPC que se escaneó en una venta minorista fue en el supermercado Marsh en Troy, Ohio, a las 8:01 a.m. del 26 de junio de 1974, y era un paquete de 10 (50 cartuchos) de chicle Wrigley's Juicy Fruit. El comprador fue Clyde Dawson y la cajera Sharon Buchanan realizó el primer escaneo UPC. La caja registradora de NCR registró un aumento de 67 centavos.Alfred, Randy, "June 26, 1974: By Gum! There's a New Way to Buy Gum" Wired magazine 06.26.08 Todo el carro de la compra también tenía artículos con código de barras, pero el chicle fue el primero recogido. Este artículo se exhibió en el Museo Nacional de Historia Estadounidense del Instituto Smithsoniano en Washington D. C..Scanning Species, Harvard Magazine, September - October 2005
Propuesta de IBM y desarrollo del código Hacia fines de 1969, IBM en Research Triangle Park (RTP) en Carolina del Norte asignó a George Laurer la tarea de determinar cómo hacer un escáner y una etiqueta de supermercado. A fines de 1970, Heard Baumeister proporcionó ecuaciones para calcular los caracteres por pulgada que se pueden obtener mediante dos códigos de barra de IBM, Delta A y Delta B. En febrero de 1971, Baumeister se unió a Laurer.
A mediados de 1971, William "Bill" Crouse inventó un nuevo código de barras llamado Delta C. Logró cuatro veces los caracteres por pulgada que Delta B. Delta B comparó los anchos de barra con el ancho del espacio para codificar los bits. Esto era extremadamente sensible a la extensión de la tinta donde demasiada tinta o presión causarían que ambos bordes de una barra se extendieran hacia afuera y demasiado poco para hacer que se encogieran. Para empeorar las cosas, los espacios de barras se reducen y viceversa. Delta C logró su mayor rendimiento al usar únicamente bordes de entrada o de salida a finales que no se vieron afectados por la dispersión de tinta uniforme. El código proporcionaba el mejor rendimiento cuando tenía un juego de caracteres definido con una distancia de referencia fija que abarcaba la mayoría o preferiblemente todo el carácter. En agosto de 1971, Crouse se unió al esfuerzo del escáner. Después de varios meses, no progresaron. Estaban al tanto de la etiqueta de ojo de buey de RCA que se podía escanear con un escáner láser de línea recta simple, pero una etiqueta legible era demasiado grande. Aunque Litton Industries propuso un símbolo de ojo de buey cortado a la mitad para reducir el área, seguía siendo demasiado grande y presentaba los mismos problemas de impresión de tinta que el símbolo RCA. La redundancia y la capacidad de comprobación se eliminaron por completo. También conocían las numerosas propuestas de todo el mundo, ninguna de las cuales era factible.
En la primavera de 1972, Baumeister anunció un gran avance. Propuso una etiqueta con barras que eran un poco más largas que la distancia en todas las barras que necesitaban leerse en una sola pasada. Esta etiqueta se puede escanear con un simple escáner "X", solo un poco más complejo que el escáner láser de línea recta. Al día siguiente, Baumeister sugirió que si la etiqueta se dividía en dos mitades, la longitud de las barras podría reducirse casi a la mitad. Estas dos propuestas redujeron el área del ojo de buey en un tercio y luego en un sexto. La imagen a la derecha muestra la etiqueta propuesta por Baumeister. Él no especificó ningún código de barras específico, ya que eso se entendía bien. Excepto por la codificación de barras y los diez dígitos, la etiqueta de UPC hoy es su propuesta. Poco después, Baumeister se transfirió a otra área de RTP.
Laurer procedió a definir los detalles de la etiqueta y a escribir una propuesta. N.J. Woodland fue asignado como planificador para el proyecto y ayudó a Laurer a escribir su propuesta.
El primer intento de Laurer con un código de barras usó Delta B. El tamaño resultante de la etiqueta era aproximadamente seis pulgadas por tres pulgadas, que era demasiado grande. Crouse sugirió que Laurer usara su código de barras Delta C y proporcionó una copia de su patente que tenía un conjunto de caracteres alfanuméricos de muestra y reglas para generar alfabetos de otros tamaños. Esto redujo el tamaño de la etiqueta a aproximadamente 1.5 "x 0.9". Más tarde, Laurer le pidió ayuda a Crouse sobre cómo el escáner podría detectar una etiqueta. Juntos definieron barras de protección y una definición de cómo detectar la etiqueta. Las barras de protección también proporcionaron identificación para la mitad de la discriminación de etiquetas y barras de entrenamiento para los circuitos de umbral del escáner. Laurer tenía una definición de etiqueta completa y procedió a escribir su propuesta.
Anteriormente, Crouse tenía una idea para una varita simple que se usaba como un anillo y una pulsera. Decidió desarrollar esa varita para proporcionar una demostración de la etiqueta.
El 1 de diciembre de 1972, IBM presentó la propuesta de Laurer al Comité de Supermercados en Rochester, Minnesota, la ubicación donde IBM desarrollaría el escáner. Durante la presentación, Crouse realizó una demostración de laboratorio en la que leyó etiquetas tipo UPC con su varita mágica. Además de leer las etiquetas regulares, leyó la etiqueta grande de dos páginas en el folleto de la propuesta. Luego pasó a una página que muestra una foto de artículos etiquetados que se sientan en una mesa. Las etiquetas eran pequeñas y defectuosas debido a la resolución de la foto impresa, pero la varita leyó muchas de ellas. Esta demostración mostró la solidez del código Delta C puro. La propuesta fue aceptada.
Un mes después, el 1 de enero de 1973, Crouse se transfirió nuevamente al grupo de Tecnología Avanzada de IBM, y Laurer se quedó con la plena responsabilidad de la etiqueta.
Dymo Industries, fabricantes de dispositivos de impresión de mano, insistió en que el código debe ser independiente del carácter, de modo que los dispositivos de impresión portátiles puedan producir el código de barras en la tienda si los artículos no tienen códigos de barras por parte de los fabricantes. La propuesta de Dymo fue aceptada por IBM e incorporada en la última propuesta de IBM.
Se decidió que las dos mitades de la etiqueta deberían tener un conjunto diferente de caracteres numéricos. El conjunto de caracteres Laurer derivado de la patente Delta C utilizó siete incrementos o unidades imprimibles en los que se imprimirían dos barras y dos espacios. Esto produjo veinte combinaciones de caracteres, pero hubo dos pares que, cuando fueron leídos por las reglas de Delta C, arrojaron el mismo código para el par. Como dieciocho caracteres no eran suficientes, Laurer intentó agregar una unidad al juego de caracteres. Esto produjo veintiséis caracteres de Delta C que podrían proporcionar los dos conjuntos de caracteres decimales pero también agregó catorce por ciento del ancho de la etiqueta y, por lo tanto, la altura. Esto sería un aumento del treinta por ciento en el área o una etiqueta de 1.7 "x1.03". Laurer sintió que esto no era aceptable. Volvió al juego de caracteres original con veinte caracteres, pero cuatro de ellos eran dos pares con la misma lectura de Delta C. Él decidió usarlos a todos. Para distinguir entre los pares, mediría un ancho de barra en cada uno de los pares para distinguirlos entre sí. Para cada par, esas barras tendrían una o dos unidades de ancho. Laurer no aplicó las ecuaciones de Baumeister a este conjunto. Sintió que solo una medición de ancho de barra no sería demasiado seria. Resultó que habría requerido más del cincuenta por ciento de aumento en ancho y alto para un aumento de área de más del doble. Laurer más tarde admitió que estos cuatro personajes en cada conjunto eran responsables de la mayoría de los errores de lectura del escáner.
A David Savir, un matemático, se le dio la tarea de probar que el símbolo podía imprimirse y que cumpliría con los requisitos de confiabilidad, y muy probablemente no conocía las ecuaciones de Baumeister. Él y Laurer agregaron dos dígitos más a los diez para la corrección de errores y la detección. Luego decidieron agregar la paridad impar / par a la cantidad de unidades llenas de barras en cada lado. La paridad impar / par es una técnica utilizada para detectar cualquier cantidad impar de errores de bit en un flujo de bits. Decidieron usar impar en una mitad e incluso en la otra. Esto proporcionaría una indicación adicional de qué medio ticket se estaba leyendo. Esto significaba que cada ancho de barra debía leerse con precisión para proporcionar una buena lectura. También significaba que cada espacio también sería conocido. Exigir que se lea el ancho de todos los bits, básicamente anuló la ventaja de Delta C, excepto para la medición de referencia Delta C. Solo el extraño conjunto de caracteres y el tamaño de la etiqueta permanecen como una sombra del código Delta C. El tamaño todavía era el calculado para Delta C puro. Si el tamaño de la etiqueta se hubiera recalculado correctamente, teniendo en cuenta las medidas de ancho de barra requeridas, la etiqueta habría sido demasiado grande para ser aceptable.
La ingeniería mecánica y el diseño de circuitos electrónicos comúnmente requieren diseños de peor caso con tolerancias conocidas. Muchos ingenieros que trabajan con códigos de barras tenían poca experiencia con tales cosas y usaban métodos algo intuitivos. Esta fue la causa del bajo rendimiento del código Delta B y muy probablemente el fallo del escáner de ojo de buey de RCA.
La siguiente tabla muestra las etiquetas viables, disponibles a principios de la década de 1970, con sus tamaños.