I’m not a fan of QR codes. I’m not a fan of really any visible codes—barcodes, other existing 2D barcodes, and the new generation of colorful codes. It’s not a question of design or aesthetics (although I have my reservations), but instead that these codes just represent another layer of abstraction that have little meaning to the average user. I want a high signal to noise ratio and every additional layer of abstraction adds up to slow down a user experience and possibly deter users.
Objects have meaning. When I look at a house, I recognize a house. When I look at a code, I just see a bunch of marks on a surface. Sure, it represents a call to action that tells me to use a tool to do something, but I’d rather not need the tool, I just want to interact. The tool represents an extra step and slows me down.
In the example images below, one has immediate meaning. The others require additional effort on the user’s part or require additional context before they’re meaningful. They’re not a substantial improvement from traditional interfaces where I need to push a button, enter some text, or scroll through a list to get to my desired content. Sure, I can now automate that process by taking a picture, but it’s still a disruptive event that requires the user to do something. I want an experience where content is automatically triggered based on objects because they have meaning.
For the most part, simple triggering is better served for users through alternate technologies. Google Goggles, now creeping into the mainstream, is a great tool for visual recognition that works pretty well. Some codes are invisibly integrated into an image and make the entire visual object a useful trigger (Disclosure: one company doing this is Digimarc with whom we’ve worked in the past). Or, embedding an alternate sensing technology through RFID or NFC also allows the object to have meaning while removing abstraction.
So, with that bias, when are QR codes a good thing?
QR codes provide transportabity. On the plus side, QR code recognition is pretty common and there are a number of software libraries that allow developers to build the functionality into other applications. A QR code provides a trigger that works in a physical setting, can be scanned later by a smartphone, and can also be physically handed to someone else. This is stronger when paired with images or other content that provide meaning.
QR codes work with multiple interfaces. A number of sensing technologies, including RFID and NFC require specific sensors and implementations. Due to the near ubiquity of some codes, especially QR barcodes, camera recognition is fairly prevalent. QR codes can be recognized by a scanner at an interactive table, by a smartphone, or a laptop with a webcam at home.
QR codes can work with a wide spectrum of hardware. If we know people are going to use devices without software we’ve designed and built, then we need to use a technology that they can use on their own. There are dozens of free and paid applications that can be downloaded to recognize QR codes.
My hope is that QR codes are only a temporary solution until our devices evolve to where we can constantly scan the world around us and get good, useful information. They also provide a nice visual reassurance that there is indeed something waiting for you behind this little black and white door. Until then, though, I want to keep casting a critical eye towards QR codes and make sure that design experiences that provide instant meaning as often as we can.