By now, you’re probably pretty
familiar with QR codes (a.k.a. 2-D bar codes), whether or not you realize it.
They’re the little square symbols that look like this:
The cool part is that anyone can
make them. Yes, that includes you. Just Google “QR code generator” and you’ll
have a plethora of websites that make it incredibly easy to make your own QR
code. But that’s not even the best part. Once you have a QR code, you can mix
things up, add color and graphics, and so much more. The key is to know how to
keep your code scan-able.
Some people have already cracked
this code, like Marc Jacobs. Others, like Yellow Pages, still have some
homework to do. So how can you tell which edits will ruin your code and which
ones will still allow it to be scanned? The question you should be asking is
“what can’t I edit?”
The “No-Zones”
QR codes are
made up of black squares and white squares. Each of these squares is called a
module. In every QR code, there are certain modules that must not be covered or
edited, else the code won’t scan. Here, they are all highlighted in different
colors:
- The three large squares highlighted in red are the position markers. These tell the scanner where the edges of the code are.
- The smaller red square is an alignment marker. This acts as a reference point for the scanner, making sure everything lines up properly. In bigger codes, there are several of these squares.
- The red strips of alternating black and white modules are called timing patterns. They define the positioning of the rows and columns.
- The green sections determine the format. This tells the scanner whether it’s a website, text message, Chinese symbols, numbers, or any combination of these.
- The modules highlighted in blue represent the version number. Basically, the more modules in the code, the higher the version (up to v40, which is 177×177 modules). If the code is version 6 or smaller, the version does not need to be defined here because the scanner can literally count the modules and determine the version on its own.
Everything Else
So now that you
know what you can’t edit, that means everything else is free game, right? Almost.
All the remaining modules are grouped into sections of 8 modules. These groups
(which I will call “bytes” from now on) fit together in the gray area like a
jigsaw puzzle:
Now, when a smartphone or
scanner reads a QR code, each byte is determined to be either completely
readable or completely un-readable. That means that if you change one single
module (e.g. turning a black square into a white square), the entire byte
containing that module is rendered un-readable. At first, that sounds like a
bad thing, but it actually makes things a lot easier. More on that in a second.
The Really Cool Part
In the Marc Jacobs code I linked
to earlier, there was a sketch of a small girl covering part of the code. In
spite of the fact that some of the code is covered up, it is still fully scan able.
This is because of the Reed Solomon error correction method. Basically, all QR
codes are created with built-in error correction algorithms that allow them to
be scanned even if a few bytes are missing/covered/replaced by a picture of
your cat. The larger the version, the more bytes you can edit.
You can use the Version and
Maximum Data Capacity Table on Denso-Wave’s website to determine exactly how
many bytes you can turn into awesome graphic art. You need to know the version
of your code (also found in the version table), and how many characters the
message contains (i.e. if your code is built from the website
“http://www.your-awesome-website.com”, that would be 35 characters).
The table will give you a letter
that represents the level of error-correction contained in your code. Here’s
what these letters mean:
- Level L – You can alter up to 7% of the code without ruining its scan-ability. If your code has 154 bytes, you can edit 10 (maybe 11) bytes and it will still scan successfully.
- Level M – You can alter up to 15% of the code.
- Level Q – You can alter up to 25% of the code.
- Level H – You can alter as much as 30% of your code.
So now you should be able to do the following:
- Generate a QR code
- Identify the No-Zones
- Figure out the placement of the bytes
- Figure out how many bytes you can edit
Now that you know just about everything involved in creating and
understanding a QR code, let’s dive into how to turn it into a unique
piece of graphic (or even hand-drawn) art.Ready, Set…
At this point, it all comes down
to asking yourself “what if,” and then finding the answer to that question.
Look at your QR code, figure out which bytes you want to try to change, and
then change them. Scan it to see if it still works. If it still works, make
another change. If not, go back and figure out why. I’ll show you an example of
what this process might look like.
I started out with a regular QR
code, isolated which bytes I wanted to play around with, and outlined them in
red (top left). First, I just scrambled all the modules within the red border
(top right). It still scanned. Then, I took out all the modules completely
(bottom left). It still scanned. Lastly, I filled the red border with a
portrait of one of the most influential aliens from my childhood.
…Go!
It’s a matter of
experimentation. Think of an idea, try it and scan it. Then work from there. Go
online and look for other creative QR code graphic art, to see what boundaries
other people are pushing. Pretty soon, you’ll end up doing something like this:
Resources:
http://www.systemid.com/qrcode/http://www.denso-wave.com/qrcode/qrgene2-e.htmlhttp://raidenii.net/files/datasheets/misc/qr_code.pdf
http://www.itcsolutions.eu/2011/08/29/how-to-insert-a-logo-or-image-into-a-qr-code-using-photoshop/
http://hackaday.com/2011/08/11/how-to-put-your-logo-in-a-qr-code/
0 comments:
Post a Comment