Decoding the message inside QR codes
You may have heard the saying ‘not everything in life is black and white’. But what if we told you that there’s a tiny part of your life, where everything is either black or white? What’s interesting is that this tiny part of your life is slowly expanding. From buying groceries to collecting gift hamper vouchers to delivery tracking, this small box of black and white is making an appearance everywhere! We’re talking about barcodes and its types. Let’s take a look at how they work.
In 1973, George Laurer, an Electrical Engineer working at IBM came up with the idea of UPC codes (Universal Product Code) bridging the physical and digital worlds by developing a scanner that could read codes digitally. He used the stripes instead of circles or any other shape as the pattern of these codes. This later came to be known as barcodes (as shown in the image below).
Until very recently, 1D (one dimensional) barcodes were the only popular method of representing data in a visual machine-readable format. These UPC codes carried information in one direction. It was fine for carrying small amounts of data like numbers as product codes, but with the ever-growing complexities of the digital world, the need for bar codes capable of carrying more data became apparent.
2D Barcodes, the next generation of UPC codes:
2 Dimensional (2D) barcodes are similar to the 1D barcodes in the way that they can quickly pass on information in about a blink of an electronic eye! The difference between them though is that 2D barcodes are capable of conveying much more details than a 1D barcode. How much more you wonder? Well, some of the QR codes can hold upto 2000 characters of information in that mini crossword puzzle look alike format. While a 1D barcode has limited space for storing information, it also has less room for error if somehow the barcode is damaged. Meanwhile, 2D barcodes, given its higher capacity to store information can hold the same information in different ways with sophisticated built-in error checking systems. Despite a 2D code being damaged, chances are the scanner will still be able to decode some or all of the information. In fact, QR codes come in four levels of error correction, wherein the highest level is 30%. This means that even if the code is 30% unreadable, it can still be read by the scanners. Isn’t that fascinating? Lastly, 2D barcodes are easier to read for machines, as you know, 2D barcodes can be read through the cameras on your smartphone.
QR codes – one of the most popular 2D barcodes:
2D barcodes come in many shapes and forms like Aztec code, PDF417, Semacode, Maxicode. While you might not have heard of these, most of us are familiar with the most popular form – QR codes.
Quick Response (QR) code was developed in 1994 by a Japanese company named Denso-Wave, a subsidiary of the Toyota Automobile Company. The smallest QR codes are 21×21 pixels, and the largest are 177×177 pixels. The sizes are called versions. The 21×21 pixel size is version 1, 25×25 is version 2, and so on. The 177×177 size is version 40.
What are the components of a QR code?
All the QR codes are different as they contain different messages inside, there are certain common features that can be understood by us humans, even though it’s all really meant for the machines to read. Let’s look closer into a QR code:
- Quiet zone: An empty white border that makes it possible to isolate the code from among other printed information (for example, on a dirty envelope, among the black and white print of a newspaper, or on smudged product packaging).
- Finder patterns: Large black and white squares in three of the corners make it easy to confirm that this is a QR code (and not, say, a PDF417 code). Since there are only three of them, it’s immediately obvious which way up the code is and which angle it’s pointing at (unless the code is partly obscured or damaged in some way).
- Alignment pattern: This ensures the code can be deciphered even if it’s distorted (viewed at an angle, printed on a curved surface, and so on).
- Timing pattern: This runs horizontally and vertically between the three finder patterns and consists of alternate black and white squares. The timing pattern makes it easy to identify the individual data cells within a QR code and is especially useful when the code is damaged or distorted.
- Data cells: Each individual black or white square that’s not part of one of the standard features (the timing, alignment, and other patterns) contains some of the actual data in the code.
In 2007, a German programmer, Ben Hopfeng-Aertner, wrote the message “Hello World” into his wheat-field. He did so by mowing a program into the field – a semacode (a type of 2D barcode). Since the code is visual, Ben was able to take a picture of his 160 square meter programming artwork from an airplane and have a machine read the code to output the words “Hello, World!”
How can you make your own QR code?
There are many online generators that can do this for you. Some websites even provide you with generators that can create QR code, as you type the information! You can try typing your name or anything you feel like and have a look at how your own QR code would look like. Don’t forget to share your experience with us in the comment section.
Charu, a feminist and an accidental writer, is yet to master the art of writing about herself. Always curious to learn new stuff, she ends up spending a lot of time unlearning the incorrect lessons. She enjoys all sorts of stories – real, fictional, new, old, hers and would love hearing yours too. Feel free to ping her at email@example.com to share anything that you think is worth sharing.