Live data from Hacker News

Crowd Sourcing Broken QR Codes

humanqr.com

41–50 of 57 posts

Re: Crowd Sourcing Broken QR Codes

#41
> I'd like to find a way to repair QR codes in a reliable way.

Consider reading up on https://www.nayuki.io/page/creating-a-qr-code-step-by-step

And I highly recommend QRazyBox for manual painting with automatic decoding: https://merri.cx/qrazybox/ , https://github.com/Merricx/qrazybox

> that begins with collecting a bunch of broken and corrupted QR codes

Some ideas to consider: http://datagenetics.com/blog/november12013/index.html

Re: Crowd Sourcing Broken QR Codes

#42

Reading the QR code spec (or even just the wikipedia page) could help a lot here. A lot of the room on the code is taken up by metadata, rather than output-data. The output data is repeated lots of times across the code (this is why you can have a brand logo right in the middle of the code). Repairing the metadata parts & iterating over each of the version number should make the overwhelming majority of broken QR cod…

The data isn’t repeated, it’s using Reed-Solomon-coding and maximum redundancy is only 30% extra data.

A QR code dedicates around 30% to metadata (positioning, timing data, version numbers). There are very few metadata arrangements shared across all QR codes, so you can recover 30% of the code with almost no computation.

The other 70% is dedicated to "data", on which the Reed-Solomon-coding is applied. If your QR code is absolutely stuffed to its limit (about 2kb data), you can still destroy up to 51% of the image before the Reed-Solomon coding will start to fail at 30% redundancy.

Most codes only store a few hundred bytes of data, so you can afford to destroy a lot more before the payload is also destroyed.

I'd expect the minimal-viable QR code for a 100 character URI can be very degraded.

Re: Crowd Sourcing Broken QR Codes

#43

Earlier quoted context omitted.

But we don’t put terabytes, gigabytes, megabytes, or even kilobytes in QR codes. They don’t need to be recoverable in the same sense.

Depends on the situation. It also depends on how sentimental a person is for their data or information needed in a given situation. If a cat shows up on your doorstep and now you got to figure out who owns the cat because you become concerned about it over time, what do you do if you can't scan the QR code on its collar?

Of course it depends on the situation. Almost everything "depends on the situation".

The point is that in general, QR code content is less important than hard drive content. And that (the low demand) is the simple explanation to why there aren't as many tools for recovery.

Re: Crowd Sourcing Broken QR Codes

#44

A software tool should exist to repair QR codes. People could really benefit from it because QR codes are used everywhere. I'd like to find a way to repair QR codes through software. However, that begins with collecting a bunch of broken and corrupted QR codes people stumble across and fixing them up by hand. This will help spot patterns in how they fail. So please help out by submitting your QR code that doesn't sca…

> People could really benefit from it because QR codes are used everywhere.

I hear you, and at the same time we're solving the wrong end of that pipeline, in my opinion. Almost every QR code I have ever seen in my life either points to bit.ly or some other link-shortener or marketing tracker domain which I would put good money will be dead way before the QR code's ink deteriorates

I don't mean that QR is a terrible standard, but at least until we can get URL forms that are on the whole less than 128 characters, I wish they had met the world where it is. I believe the http2 compression scheme comes with dedicated dictionary slots for header strings that they know are going to appear, so QR would have benefited from the same (e.g. http/https taking less than 4/5 bytes, :// less than 3)

Then again, having thought further about this, I guess Marketing's Razor is the most likely explanation: it wasn't a technical reason they're using bit.ly, it's for those sweet engagement metrics

Re: Crowd Sourcing Broken QR Codes

#46

It's pretty cool that QR codes were created by a Japanese automotive company in order to address the limitations of scanning bar codes, mainly that the scans only worked with a certain orientation. [1] That being said, I believe bar codes have the UPC number below it in case the code itself is damaged. Could QR codes have a similar textual encoding to identify them? And would that even fit legibly in the square? [1]…

QR codes also encode text, just like UPC-A. As far as I'm aware, no barcode reader can actually interpret the letters at the bottom of the code. They're just there for a human failover when the barcode gets messed up. With that in mind, there's nothing preventing you from putting the encoded text of a QR code below it. I have a QR code in my living room that guests can scan to connect to the Wi-Fi, and I put the SSID…

I didn't know that name, so if it helps others https://en.wikipedia.org/wiki/Aztec_Code

Re: Crowd Sourcing Broken QR Codes

#48

Earlier quoted context omitted.

This infuriates me. You are using a QR exactly to easily share a (long) link, why the hell you need to use a link shortener? Why is the market for small shops, restaurants, bars, small museums, small towns etc so riddled with technically incompetent people?

Sometimes, because the service sneakily shortens the link. I wanted to share a WIP whitelabel ticket sales platform ( https://pentas.id ) with a friend. I didn't have time to build the logic to generate QR code, so I just googled "online QR generator". I pasted my link, a QR code was generated. When I tried it using Pixel's Camera app, the preview is NOT my link. Although when I tap it, it eventually goes to my link.

Next time, site:github.com that search and find a demo page like https://www.nayuki.io/page/qr-code-generator-library!

Re: Crowd Sourcing Broken QR Codes

#49

Reading the QR code spec (or even just the wikipedia page) could help a lot here. A lot of the room on the code is taken up by metadata, rather than output-data. The output data is repeated lots of times across the code (this is why you can have a brand logo right in the middle of the code). Repairing the metadata parts & iterating over each of the version number should make the overwhelming majority of broken QR cod…

I'm less interested in the theory and am more interested in the practice. I own a printed copy of the 2015 version of the spec, but don't find the insights I get from it have much to do with its ability to scan as compared to taking my phone out and scanning a QR code does. In practice, I mostly I find that the corners are the most finicky part. However, that is just my current opinion.

I think if the corners really are more sensitive, it’s because the reader can’t find the QR code and it’s orientation, not because the data is not recoverable. If you would manually enter the pixels into a decoder, the corners shouldn’t be more sensitive than other spaces of the code, I think.

Re: Crowd Sourcing Broken QR Codes

#50

Earlier quoted context omitted.

But we don’t put terabytes, gigabytes, megabytes, or even kilobytes in QR codes. They don’t need to be recoverable in the same sense.

Depends on the situation. It also depends on how sentimental a person is for their data or information needed in a given situation. If a cat shows up on your doorstep and now you got to figure out who owns the cat because you become concerned about it over time, what do you do if you can't scan the QR code on its collar?

It would probably be nifty for pet owners if, instead of putting a QR code on something that is known to wear, we came up with something a bit more resilient. Maybe something that could be permanently affixed to the pet in some way. Perhaps even under the skin. And it could even be powered by the device that reads it.
Post reply on HN