addy34 3 hours ago

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

  • Slartie an hour ago

    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?

  • brazzy 2 hours ago

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

    • atoav an hour ago

      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.

  • rvba an hour ago

    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.

nhatcher 12 hours ago

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

  • ranger_danger 11 hours ago

    It also contradicts what the other commenter said about barcodes originating with railways. But I believe Derek.

    • happytoexplain 10 hours ago

      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.

      • jcrawfordor 9 hours ago

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

EvanAnderson 7 hours ago

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.

slivanes 9 hours ago

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.

  • jcrawfordor 8 hours ago

    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.

  • kergonath 8 hours ago

    This falsehood is mentioned in the article.