>An estimated 10 billion barcodes are scanned globally, every day, according to GS1, the organisation that oversees UPC and QR code standards.
GS1 are the ultimate gate keeping monopoly. They provide numbers as a service.
Most retailers like Amazon require you to have a GS1-issued barcode number on your product, and so you need to pay GS1 annually for the right to use a particular number. You can see the pricing here:
It is a gate that actually needs to be kept, though. Like domain names - which provides an example of how it might be done in a way that allows for competition to lower prices. Although there are of course differences. But dividing the number space across a few competing entities seems a simple solution that should work to some degree.
Don't get me wrong. As with ISO norms, I think it is worth having well funded institutions that ensure there is progress and reliability.
But that can lead to problematic situations like with norms where everybody is required to fulfill them by law, but you have to pay in the vicinity of a thousand eurdollars to get the current version, leading to the situation where private people who also would have to fulfill those norms cannot read them and the norm institute can issues minor corrections each year that are meaningless because it means you have to get the new version in your field.
The way I see it at least something like the ISO norms should be paid for by taxes and then made available for free — if you want to require people to uphold those norms.
Now that ISO-example might not be directly translatable to GS-1, after all having a little cost and friction added to the process could be a feature in that case, as it means people won't be as likely to squat on numbers for fun or because they forgot. The question there is only how easy/unbureaucratic it is to get/cancel the number and if the cost is reasonable for people entering the market. And then you have to think again if that model of financing is truly what gives us the best outcome.
It does, but the only real requirement is to prevent duplicates. It's not a limited resource like domains or IP4 addresses. There's no justification for the subscription model aside from "because we can". They used to give out numbers in perpetuity, but eventually realized there was a lot more money to be made.
Dividing blocks over multiple competing providers is a good suggestion.
Tbh I suspect part of the value is that it limits the amount of absolute junk filling the store. Requiring a unique ID for every product that costs some money is a very low bar for real products, but a high bar for AI generated slop tshirts that might not sell a single unit.
Interestingly, it doesn’t look like IKEA uses UPC barcodes at all and just has their own format and numbers. I guess since they only sell their products in their own stores, there is no need for it to be globally unique.
I've never seen actual junk that doesnt work from a fake brand with a legit UPC barcode, which seems to indicate it's an effective gate keeper, if people cared to look at it.
> It's not a limited resource like domains or IP4 addresses.
I'm curious why you say it's not a limited resource.
Although you could theoretically expand the length of UPC every couple years to keep growing, the reality is that all the systems communicating these numbers back and forth need to have a standard.
In addition, printed barcodes need to fit within the area they are designed to fit in, if they were regularly increasing in size it would impact various systems (e.g. conveyor systems scanners, item labels, etc.)
I wonder what happens if you stop paying? Do they reuse your number? That would kind make their service pointless if a number you get could have already been used in previous valid products.
UPC's do have a lifetime already, so it's not entirely outside of their model.
Large companies produce so many UPC's for short lived products, especially fashion apparel, that GS1's rule is that UPC's should not be reused for at least 3 years.
What I find fascinating is that they have a form to request single UPC barcode numbers. But that form is effectively putting an item in a shopping cart of an online store.
So they perfected the "numbers as a service" business model up to the point that your average Joe can now buy themselves their own UPC number for $30 with almost the same simplicity as buying a book on Amazon. Maybe they should literally start selling UPC numbers on Amazon next?
The Firefox CEOs earn something like 7M dollars per year while the browser is losing market share and in my opinion one bad decision is made after another (killing extensions, not signing extensions, claiming browser is safe but then updating via some strange mechanism, investments in random projects, not maintaining the core which is the browser).
Kartrak is generally recognized as the first barcode system in actual use, but research on the topic and small prototype systems go back around 20 years earlier at IBM. So it depends on what you consider "first."
One of the issues is that barcode readers were very large and expensive to construct in the mid-century. The railroad application became practical earlier because of the small number of readers and large amount of space available at railyards. Kartrak readers were small-refrigerator-sized cabinets with arc lamps and an AC motor driving a rotating mirror. They required regular mechanical maintenance. The actual logic was done in a minicomputer installed in a nearby building. Between the optical cabinet and the minicomputer, it probably came out to something like 15 square feet for each reader (and kW power consumption for the arc lamp).
Practical retail barcodes had to wait for a lot more miniaturization of the mechanics and pretty much for lasers, and weren't seen until after Kartrak.
You can tell that Kartrak had a rather distinct lineage from retail barcodes - GTE, who designed Kartrak, don't seem to have been aware of the earlier work at IBM and designed their system independently. WABCO developed a competing system that didn't gain adoption but actually was based on the IBM work and resembles modern barcodes much more. The result is that Kartrak is an exceptionally weird symbology, with a number of design traits that were either not seen at all in other barcodes (the unusual half-toned bars for better performance with arc lamp readers) or not seen until decades later (the use of color and offset start/end points of bars to avoid partial reads).
Jerome Lemelson (in?)famously filed many, many patent applications for what he later asserted was bar-code technology, and sued many companies for allegedly infringing. [0]
Bar codes go back to 1959, when railroads started using big bar codes on railroad cars. This was called KarTrak.[1] Read failure rate was about 20%, which was too high, and the system was abandoned in 1974.
Brings to mind old covers of Mad magazine. One had a giant barcode on it with a title something like "We hope this issue crashes every computer on the planet", another had a large stylised barcode "...commemorating 50 years of polluted waterfalls".
I'm not into conspiracy theories, but I was told the guide bars on every code (each end, plus middle) is the code for digit 6, so 666 on every one. Something about the mark of the beast on every person. People can find something coincidental when they want I suppose.
The whole 666 embedded in barcodes thing is sort of interesting. The UPC symbology uses an unusual encoding method, not seen in other barcode families, where every digit has two different representations, a "left" and "right" version. These were originally used to allow readers to detect the direction that they were scanning the barcode (whether it was upside down or not). This avoided the need for distinct "start" and "end" markers, as most barcode symbologies have. Instead, UPC had a "guard" symbol used at the beginning and end and, following the symmetric design principle, in the middle as well. Later, GS.1/EAN was designed to add a digit while mostly maintaining compatibility with UPC readers. To do this, yet a third variant representation was added, so each digit has an L, R, and G representation. On the left side, L and G variants can be used to encode the check digit.
I am not sure exactly why UPC uses a center guard, but I think it was probably just to provide more material for clock recovery, which was more challenging when UPC was designed. Mechanically scanning laser readers did not necessarily have well-controlled scan speeds, and in the early days manually scanned readers were common, so more clock recovery was better.
It so happens that the guard symbol chosen, which is a trivial alternating pattern, has a fairly close resemblance to the R variant of the digit 6 (but not to the L or G variants). It's not really the same, as the guard pattern is 3 modules wide (except the center one which is 5 modules) while digits are all seven modules. We could describe it this way: the guard pattern is 101 (or 01010 in the center case) while the R variant of 6 is 1010000. The "101" part looks similar. The L variant of 6 is 0101111 (L and R variants are the inverse of each other) and does not superficially resemble the guard at all. For completeness, the G variant is 0000101, but it was not in use when the "666 in barcodes" conspiracy theory was most current.
UPC is kind of weirdly complicated, reflecting its age. Later symbologies mostly use much simpler designs, usually with a distinct "start" and "end" guard and no center guard at all, and only one representation of each digit. Direction is recovered by telling the start/end markers apart, and check digits are implemented with just a digit in the body, rather than the curious "character variant" method adopted by GS.1 for compatibility.
>An estimated 10 billion barcodes are scanned globally, every day, according to GS1, the organisation that oversees UPC and QR code standards.
GS1 are the ultimate gate keeping monopoly. They provide numbers as a service.
Most retailers like Amazon require you to have a GS1-issued barcode number on your product, and so you need to pay GS1 annually for the right to use a particular number. You can see the pricing here:
https://www.gs1us.org/upcs-barcodes-prefixes/how-to-get-a-up...
That's $250 upfront and $50/year for the right to use 10 numbers. What a business.
They get away with it by being a (tax-exempt) non-profit.
According to ProPublica, the CEO of the US division (Robert Carpenter) earned US$3.3 million in 2022.
https://projects.propublica.org/nonprofits/organizations/362...
> GS1 are the ultimate gate keeping monopoly.
It is a gate that actually needs to be kept, though. Like domain names - which provides an example of how it might be done in a way that allows for competition to lower prices. Although there are of course differences. But dividing the number space across a few competing entities seems a simple solution that should work to some degree.
Don't get me wrong. As with ISO norms, I think it is worth having well funded institutions that ensure there is progress and reliability.
But that can lead to problematic situations like with norms where everybody is required to fulfill them by law, but you have to pay in the vicinity of a thousand eurdollars to get the current version, leading to the situation where private people who also would have to fulfill those norms cannot read them and the norm institute can issues minor corrections each year that are meaningless because it means you have to get the new version in your field.
The way I see it at least something like the ISO norms should be paid for by taxes and then made available for free — if you want to require people to uphold those norms.
Now that ISO-example might not be directly translatable to GS-1, after all having a little cost and friction added to the process could be a feature in that case, as it means people won't be as likely to squat on numbers for fun or because they forgot. The question there is only how easy/unbureaucratic it is to get/cancel the number and if the cost is reasonable for people entering the market. And then you have to think again if that model of financing is truly what gives us the best outcome.
It does, but the only real requirement is to prevent duplicates. It's not a limited resource like domains or IP4 addresses. There's no justification for the subscription model aside from "because we can". They used to give out numbers in perpetuity, but eventually realized there was a lot more money to be made.
Dividing blocks over multiple competing providers is a good suggestion.
Tbh I suspect part of the value is that it limits the amount of absolute junk filling the store. Requiring a unique ID for every product that costs some money is a very low bar for real products, but a high bar for AI generated slop tshirts that might not sell a single unit.
Interestingly, it doesn’t look like IKEA uses UPC barcodes at all and just has their own format and numbers. I guess since they only sell their products in their own stores, there is no need for it to be globally unique.
Does it though?
There's a lot of junk sold on Amazon and Aliexpress.
I've never seen actual junk that doesnt work from a fake brand with a legit UPC barcode, which seems to indicate it's an effective gate keeper, if people cared to look at it.
> It's not a limited resource like domains or IP4 addresses.
I'm curious why you say it's not a limited resource.
Although you could theoretically expand the length of UPC every couple years to keep growing, the reality is that all the systems communicating these numbers back and forth need to have a standard.
In addition, printed barcodes need to fit within the area they are designed to fit in, if they were regularly increasing in size it would impact various systems (e.g. conveyor systems scanners, item labels, etc.)
I wonder what happens if you stop paying? Do they reuse your number? That would kind make their service pointless if a number you get could have already been used in previous valid products.
UPC's do have a lifetime already, so it's not entirely outside of their model.
Large companies produce so many UPC's for short lived products, especially fashion apparel, that GS1's rule is that UPC's should not be reused for at least 3 years.
What I find fascinating is that they have a form to request single UPC barcode numbers. But that form is effectively putting an item in a shopping cart of an online store.
So they perfected the "numbers as a service" business model up to the point that your average Joe can now buy themselves their own UPC number for $30 with almost the same simplicity as buying a book on Amazon. Maybe they should literally start selling UPC numbers on Amazon next?
The Firefox CEOs earn something like 7M dollars per year while the browser is losing market share and in my opinion one bad decision is made after another (killing extensions, not signing extensions, claiming browser is safe but then updating via some strange mechanism, investments in random projects, not maintaining the core which is the browser).
So 2x more than CEO of the QR company.
Sure, but noone is forcing you to use Firefox. Getting a barcode from GS1 is mandatory if you want your product to exist in the modern retail world.
Derek Muller just did an interesting take on QR codes and their history on his popular channel veritasium:
https://m.youtube.com/watch?v=w5ebcowAJD8
It also contradicts what the other commenter said about barcodes originating with railways. But I believe Derek.
It looks like the video touches on the origins of product barcodes (UPC/EAN) specifically, not literal barcodes in general.
Edit: Oh, I guess that's moot since the product barcodes predated the train barcodes anyway.
Kartrak is generally recognized as the first barcode system in actual use, but research on the topic and small prototype systems go back around 20 years earlier at IBM. So it depends on what you consider "first."
One of the issues is that barcode readers were very large and expensive to construct in the mid-century. The railroad application became practical earlier because of the small number of readers and large amount of space available at railyards. Kartrak readers were small-refrigerator-sized cabinets with arc lamps and an AC motor driving a rotating mirror. They required regular mechanical maintenance. The actual logic was done in a minicomputer installed in a nearby building. Between the optical cabinet and the minicomputer, it probably came out to something like 15 square feet for each reader (and kW power consumption for the arc lamp).
Practical retail barcodes had to wait for a lot more miniaturization of the mechanics and pretty much for lasers, and weren't seen until after Kartrak.
You can tell that Kartrak had a rather distinct lineage from retail barcodes - GTE, who designed Kartrak, don't seem to have been aware of the earlier work at IBM and designed their system independently. WABCO developed a competing system that didn't gain adoption but actually was based on the IBM work and resembles modern barcodes much more. The result is that Kartrak is an exceptionally weird symbology, with a number of design traits that were either not seen at all in other barcodes (the unusual half-toned bars for better performance with arc lamp readers) or not seen until decades later (the use of color and offset start/end points of bars to avoid partial reads).
Jerome Lemelson (in?)famously filed many, many patent applications for what he later asserted was bar-code technology, and sued many companies for allegedly infringing. [0]
https://en.wikipedia.org/wiki/Jerome_H._Lemelson#Patents_and...
Bar codes go back to 1959, when railroads started using big bar codes on railroad cars. This was called KarTrak.[1] Read failure rate was about 20%, which was too high, and the system was abandoned in 1974.
[1] https://en.wikipedia.org/wiki/KarTrak
Bar codes were first invented in 1949 when a patent was filed by Norman Woodland, previously of the Manhattan Project, and later IBM.
https://en.wikipedia.org/wiki/Norman_Joseph_Woodland?lang=en
Thinking about 2D barcodes as pulse trains, rather than pixels, made them make a lot more sense to me.
Aside: It's not a Marsh anymore, but I drive by the supermarket where the first UPC was scanned in a retail sale a couple times a week.
Brings to mind old covers of Mad magazine. One had a giant barcode on it with a title something like "We hope this issue crashes every computer on the planet", another had a large stylised barcode "...commemorating 50 years of polluted waterfalls".
I'm not into conspiracy theories, but I was told the guide bars on every code (each end, plus middle) is the code for digit 6, so 666 on every one. Something about the mark of the beast on every person. People can find something coincidental when they want I suppose.
The whole 666 embedded in barcodes thing is sort of interesting. The UPC symbology uses an unusual encoding method, not seen in other barcode families, where every digit has two different representations, a "left" and "right" version. These were originally used to allow readers to detect the direction that they were scanning the barcode (whether it was upside down or not). This avoided the need for distinct "start" and "end" markers, as most barcode symbologies have. Instead, UPC had a "guard" symbol used at the beginning and end and, following the symmetric design principle, in the middle as well. Later, GS.1/EAN was designed to add a digit while mostly maintaining compatibility with UPC readers. To do this, yet a third variant representation was added, so each digit has an L, R, and G representation. On the left side, L and G variants can be used to encode the check digit.
I am not sure exactly why UPC uses a center guard, but I think it was probably just to provide more material for clock recovery, which was more challenging when UPC was designed. Mechanically scanning laser readers did not necessarily have well-controlled scan speeds, and in the early days manually scanned readers were common, so more clock recovery was better.
It so happens that the guard symbol chosen, which is a trivial alternating pattern, has a fairly close resemblance to the R variant of the digit 6 (but not to the L or G variants). It's not really the same, as the guard pattern is 3 modules wide (except the center one which is 5 modules) while digits are all seven modules. We could describe it this way: the guard pattern is 101 (or 01010 in the center case) while the R variant of 6 is 1010000. The "101" part looks similar. The L variant of 6 is 0101111 (L and R variants are the inverse of each other) and does not superficially resemble the guard at all. For completeness, the G variant is 0000101, but it was not in use when the "666 in barcodes" conspiracy theory was most current.
UPC is kind of weirdly complicated, reflecting its age. Later symbologies mostly use much simpler designs, usually with a distinct "start" and "end" guard and no center guard at all, and only one representation of each digit. Direction is recovered by telling the start/end markers apart, and check digits are implemented with just a digit in the body, rather than the curious "character variant" method adopted by GS.1 for compatibility.
This falsehood is mentioned in the article.