The problem with this is that it's prone to error (doesn't have error correcting bits). Unfortunately, that combined with speed of scanning is really what's key for codes.<p>I have worked in the space, making some strides in speed & error correction.<p>Some of my public work is here: <a href="https://austingwalters.com/chromatags/" rel="nofollow">https://austingwalters.com/chromatags/</a><p>Your best bet is actually an overlay of two codes. A regular image (for humans), plus a code embedded in a color space (see linked post for how to do that).
This reminds me of the E-13B font [1] seen on checks since the early 1960s, but in a square format. The goals are similar, produce machine readable and human readable text. There have been attempts to also make a version with alphabetical characters as well in OCR-A [2] in the late 1960s.<p>[1] - <a href="https://en.wikipedia.org/wiki/Magnetic_ink_character_recognition" rel="nofollow">https://en.wikipedia.org/wiki/Magnetic_ink_character_recogni...</a>
[2] - <a href="https://en.wikipedia.org/wiki/OCR-A" rel="nofollow">https://en.wikipedia.org/wiki/OCR-A</a>
This seems to be the worst of both worlds. It's not easy for a human to read a square (compared to a line of text). The pixellated font is also not easily readable compared to a vector font. It's also not easy for machines to read an optical coding with no spatially distributed redundancy.<p>QR codes and bar codes are brilliant for machines because misreads due to some spurious reflection or spec of dust is mitigated by error correction.<p>I feel like this problem is already well served by bar codes which have a human readable text representation below them (e.g. serial number stickers).<p>That said, I can see the security advantage of the computer reading the same representation as a human, although this is probably not the best place to enforce security. As there's no integrity check, there's little guarantee the computer will read what you see though. Maybe linear OCR combined with a barcode checksum would be a better way to achieve these goals.
If the app you are using to scan the QR code doesn't ask you for permission before opening the web page that's the problem with the app not the QR code...
I need to ask, is this in response to the discussion in [1]? I see that the initial commit happened <i>after</i> that discussion started.<p>If so, that’s an impressively fast prototype.<p>1: <a href="https://news.ycombinator.com/item?id=21417433" rel="nofollow">https://news.ycombinator.com/item?id=21417433</a>
Some characters can be easily turned into others - c into o, C into D - by addition.
I think it would be a good idea to make priors have an additional pixel or two to the font glyphs to make this impossible. Maybe even touching the border instead of the character.
I wonder if there's a font with the same idea of being easy to OCR. I mean something that one can write full pages of and be easy to read for both the human and the machine.
IMO, the easier and better solution would be for your device to pop up a <i>”Open <URL>?”</i> alert.<p>That way, the detection of the URL will be more robust against dirt and damage, and the text can be displayed in a more ergonomic way (a QR code might be 5x5 cm, at two meters height, for example, making reading it by short humans with bad eyes a challenge)<p>Or are there use cases where the device reading QR codes doesn’t have a display?
The qr code has three distinctive squares on the corners, which makes detection in images accurate. However, the proposed approach is missing that feature. Thats why I wouldn't call it an easy ocr problem, more like scene text detection, which is acctually a hard problem.
This is awesome! Feels like there's a kernel of a very interesting idea here. Could see how this evolves into a successor for QR codes. Looking forward to see where it goes.
Wow, I didn't expect this post to have any traction. Many thanks for the diverse feedback.<p>This is just a PoC of an idea I've created after reading <a href="https://news.ycombinator.com/item?id=21417026" rel="nofollow">https://news.ycombinator.com/item?id=21417026</a>. But who knows, a human readable QR code alternative could born out of this.<p>When I looked up for this idea, I have found out <a href="http://hrqr.org/" rel="nofollow">http://hrqr.org/</a> but didn't find it much readable. Thanks to the comments here I came across OCR-A, OCR-B, and MICR just now. From these I've found Westminster typeface: <a href="http://luc.devroye.org/fonts-48273.html" rel="nofollow">http://luc.devroye.org/fonts-48273.html</a><p>Do you guys think using a font inspired by Westminster be a better choice than the prototype we have now?<p>In any case, the font should be resistant to malicious tampering such as creating an "o" from "c". Manual tampering could be also prevented with trailing checksum images that could be more information dense than the characters.<p>Error correction concern is the most common among the comments here. Yes, HR code readers would need to have error correction implementations to be reliable. Since each 7x7 grid of 2^49 binary options could only encode one of the 85 valid characters, HR codes could be recognized with even large chunks missing. On the other hand, implementations would be much more complex than the QR code error correction algorithm.<p>I reduced 3 corner blocks of QR codes to 1. This would make detection of HR codes much harder.<p>OCR, image recognition from video feed and average phone camera and processor has advanced so much in the past years that I think these technical costs could be favored for a human readable QR code alternative.<p>> If the app you are using to scan the QR code doesn't ask you for permission before opening the web page that's the problem with the app not the QR code...
(wfdctrl's comment)<p>You're right. If the protocol is not secure enough, then the layer above must be secured enough. But it's better to have the security at the protocol level. Here's the other reply of mine under this thread where I speculate about possible security issues with QR codes: <a href="https://news.ycombinator.com/item?id=21424988" rel="nofollow">https://news.ycombinator.com/item?id=21424988</a><p>I'm open for a better name than "HR code" by the way. It is too silly that makes it recognizable though.