F1nite

On QR Codes

QR codes are great. A picture can say a thousand words, and a QR code can use every pixel of that picture to mean something.
But the way QR codes are applied are definitely not great -- in its present form, I hate the way QR codes are being used.


The Good

First, let's talk about the positives of QR (Quick-Response) codes. Like I alluded to above, QR codes have the potential to store an enormity of information -- each additional pixel almost1 represents another bit, another 1 and 0. Put 8 of them together and in its most rudimentary form, ASCII text emerges, allowing you to send messages or other things through a QR code. QR codes can also be easy and simple -- QR codes are literally 2d barcodes and thus have enormous potential in labeling and categorizing things.

The Bad2

The inherent issue with QR codes (for me and the intent of the post) is that in a way, they gatekeep. To access the data from a QR code, you need some sort of QR code scanner -- whether that be a phone or a barcode reader type thing. As a result, for those that don't like bringing their phones or don't have phones, in the modern world, QR are basically useless.
And that leads in to the second inherent thing about QR codes -- they're pretty unmemorizable. Whereas a carefully and well-crafted url (like thelonewolf.bearblog.dev/on-qr-codes) can be easily remembered and accessed later infinitely, a QR code gives almost none of that information -- there's no way to feasibly "remember" a QR code or where it leads unless you actually scan it or obtain a replica of it (most likely through a picture).

The Ugly (Implementation)3

QR hold an inherent promise -- consumers won't need to enter in long links, and a simple scan of the phone can eliminate the need for anything physical. But my qualm with that is QR is heavily overused -- after all, QR is merely a barcode or a pointer to some website, and websites might not be the best way to do things. For example, restaurants.
I like paper menus. I like being able to point to things and ask the person next to me what they think of so-and-so dish, and I like being able to look at all my options at once, in front of me, instead of scrolling through them, trying to remember them all individually. And with QR codes being plastered around at some restaurants to access the menu or to order, there's some sort of repulsion to that -- why should I, the consumer, need to find the menu on my own phone? why should I be required to bring and use a phone to eat out?

Perhaps I am old and yelling at QR codes, but I don't believe that QR codes everywhere will be the technology of the future4. So I don't understand why paper and tactile menus have been removed in favor of a less-human menu design. Ultimately, the QR code shouldn't be a replacement, it should be an addition. Let people choose if they want to see the menu online or in front of them.
(The part about the ordering with a QR code I understand -- some people might be socially anxious or the whole point of the restaurant might be to have minimal human contact so QR codes make sense; but in traditional restaurants, I don't think so.)

The Better

In my ideal world, QR codes would be left only for the robots/automated systems. What I mean by this is that humans shouldn't need to do any direct QR code processing -- no doing anything with the scanned data, no need to interpret the data, etc. A good example of this is Amazon packages -- while the factory human does need to go scan the package with a scanner, there's no need to interpret what was just scanned -- the scan automatically uploads a status request or something to signify a package delivered or it comes back to the human in a human-readable form, maybe in a red/green light. Another example of good QR code usage (thanks Wikipedia) is as an access code or identifier, whether that be for soccer tickets or security clearance. The premise is that each person gets a QR code, and they scan it to get in/out of the stadium/building. Given that no human is there physically interpreting the machine data (the human just points the scanner towards the code and interprets the approved/invalid response), I think this is a good usage of QR codes.

On the border for me is using QR codes to redirect to more information, with the most common implementation of this being "Scan this QR to read [xyz].". I like this as an idea but ultimately, if you're redirecting to a URL, why not just put that URL in the space of the QR code? Of course most URLs are built badly (who wants to remember a bit.ly/Ab&9123}|PJi0OlHwN?), but that problem is solved by building better URLs5, not by replacing URLs with QR codes. Ultimately, in this case, QR is better used as an augment not a substitute. Instead of relying solely on QR, give people the option to either type in a link or scan the QR.


Ultimately, QR is great technology, it's just bad human technology (technology that interacts with humans directly), and the implementation of QR as a substitute for better methods makes me sad.



  1. Some bits are used for not information storage, like error correction or encoding type or just for centralization. But most of the bits are still for information encoding.

  2. More like the side-effects but gotta go with the good the bad and the ugly.

  3. I'm not gonna touch on this here but QR code security is also pretty weak. Like it's feasible that you can scan a QR code and your browser automatically redirects you to some auto-download website that downloads some .exe that can be accidentally triggered by the browser. Inherent thus with QR codes is that correctness is almost non-existent; how do you know you're scanning the right QR code? Because you got to the right destination.

  4. Or at least not QR codes that are meant for human interaction. It is plausible that QR codes get put up everywhere to ease robots in navigation, but ultimately those QR codes are very rarely used by actual humans.

  5. In short, build better URLs by basically making them human and eliminating ambiguity. For example, while bit.ly/AbCdEEEFgH is hard to remember, thelonewolf.bearblog.dev/a-super-cool-post is easy to remember despite it being longer. Also, with the all-lowercase format, there's no need to question whether the "l" is an "I" or not or whether the "O" is a "0" or not.