Most people are familiar with barcodes. They’re simple sets of lines that represent numbers. Since they are one-dimensional (i.e., they represent data along one axis only), they’re extremely inefficient. However, that also means they are very reliable. Think of it like the chart at an eye doctor’s office. That top letter might only be one byte in a large space, but it is very easily read by most people.
Now, imaging technology has improved and we can represent data across two axes. This gives us for more data in the same amount of space. Instead of just a few numbers, we can represent hundreds of characters. The two formats I most commonly see are as technically different as they are philosophically different.
QR Codes are the type I see the most. They represent data directly without color. They can be read with extremely cheap equipment and are common in Japan. There are no licensing fees associated with QR codes.
The Microsoft Tag is an HCCB which uses colored triangles to represent data. The tags do not contain the data directly but instead contain a reference to it which must be accessed via a connection to Microsoft’s servers. Think of the tags as tinyurl links. The actual data might look something like “yabn3c7,” but it can be passed to a server which then replies with the real data or URL.
The differences are numerous. Though the QR Code format is patented, you do not have to pay for a license. Anyone is able to generate one and code for interpreting the data is freely available. Microsoft Tags do not currently cost money, but they could (and most likely will) cost money in the future. Since Microsoft Tags have to hit a server that you do not control, there are three big things to consider: 1) Microsoft has access to your analytics data, 2) they can charge you a recurring fee to ensure they don’t reroute your tag to another site, 3) the tags are useless without an internet connection. Basically, QR Codes are open whereas Microsoft Tags are closed.
That being said, there is one major plus to Microsoft Tags and that is their ability to be read. Though they require a bit better of an imaging device, most mobile phone cameras are very capable and can read a smaller Microsoft Tag than a QR Code. The following is a smaller version of each of the above tags. I shrank each tag as small as I could while still being readable with my Nexus One.
Related to that is the inherent error correction in each image. I had assumed they would be pretty similar, so I am glad I tested this. I found that the Microsoft Tag was also much more capable of recovering the data when the image was imperfect. I’m not sure if this is simply because of the design (the lines I drew generally didn’t blank out complete triangles) or because the Microsoft Tag doesn’t have to represent all the data, meaning that it is representing less data in the same amount of space.
Because it’s my nature to prefer open solutions to closed ones, I definitely prefer QR Codes, but I did find it interesting to see how capable the Microsoft Tags were. One key difference, however, is that QR Codes can represent data other than just URLs. Regardless, I think Microsoft will make a big push with their format, and it may even become fairly common.