Fun With QR Codes
I have seen examples of creative and highly effective use of QR codes before, even sculptures in 3D. I know they get a bad rep from the haters, even to the extent of this admittedly hilarious blog, but they can be an efficient way to get the exposure your product needs. Any print advertiser will tell you how hard it can be to inspire people to type in a URL. With QR code scanners available on all mobile devices now, it’s much more convenient to scan and go.
Since I have a fledgling product in Uptimetry, I have been experimenting with creative marketing strategies. This particular product serves a very tight vertical. It is targeted at developers, IT managers, and the folks responsible for guaranteeing infrastructure availability – uptime, in the industry parlance. Even more specifically than that, it’s aimed at only one of a few popular protocols – web. I’m fortunate that the audience is technical professionals, as they are more receptive to QR codes than the general public. Still, communicating what my product does in a clever and intriguing way is a critical aspect of maintaining competitive edge in a fast growth market. Since its inception last year, I’ve seen three competing services enter the arena.
First Impression is Everything
In a world of instant messaging via Twitter, Facebook, Skype, or SMS, consumer demand has never been higher for real-time curated news. The print world, with its 12-18hr lag, is struggling to keep up. Advertising is no longer bordering on pushy – it’s downright intrusive. We’re inundated with uninteresting irrelevant ads everywhere we look, in the digital and physical world alike. Marketing pros have relied on emotion to drive consumer behavior for over 75yrs. They’ll be the first to tell you that first impression is everything.
Instead of printing some random ugly black and white noise grid, I took a tip from BBC and Wikipedia and started trying to embed a visual, human-readable message in the QR code. The Wikipedia example is really effective at integrating the digital benefit of a scannable code with the perceptual benefit of a branded experience. However, I quickly encountered a non-trivial issue.
Resolution is Limited
Even in the eyes of savvy mobile device owners, QR codes are ugly and pixellated. This is because the size of the code scales directly with the square root of the number of characters in the message it represents. Most URLs are less than 64 characters, many less than 32. Shortened URLs can be as few as 16. That means the associated QR codes typically require very low resolution. Even using padding techniques, a 256 character URL results in a fairly low resolution image. In order to embed readable text into the code, we need at least two pixels outline to differentiate the text, plus the font itself needs to have type with at least two pixels at its thinnest point. Then, there are areas of the QR code that can not be modified, so the text needs to fit around those.
It was clear I wasn’t going to fit my entire brand in the code. So, my goal was to get to the heart of my product in as few characters as possible. I needed something that conveyed exactly what Uptimetry does, in a language that its intended audience will instantly understand. Fortunately, I found one that works well and fits in six characters – HTTP OK.
Grayscale is Your Friend
In my experimentation, I initially tried using a pure black-and-white bitmap, thinking the contrast was important for the QR code scanner to correctly interpret the code. I stumbled upon the grayscale quite accidentally when I fat-fingered the image mode select in Photoshop. My first impression was “hey, that’s not nearly as harsh as the bitmap. I wonder if it scans.” It scanned just fine.
The Result
I’m very pleased with the first draft. It gets the job done, and that’s all that matters in the end. The sole purpose of this effort was to produce a QR code that could be integrated into print advertising for distribution as a networking tool at conferences. I’m sure it can be made prettier, but I needed to prove it was possible first. It’s also not quite as stable as I’d like, but it does scan. Give it a try!

I haven’t had much reason to mess with QR codes, but I had assumed it was a 1-to-1 encoding of text into a squared black and white pattern, so that I wouldn’t have thought it possible to insert human-readable messages in there (at least not without some extreme trickery). I see Wikipedia has an explanation: http://en.wikipedia.org/wiki/QR_code#Error_correction