Direct and Indirect 2d Barcodes

Some of the most common questions in my inbox relate to the difference between direct and indirect 2d barcodes, so for those that don’t know already I hope this will help.

Direct: The data is embedded in the code.

Take for example QR Codes which can be encoded with a URL, a calendar event, contact information (vCard or MeCARD), an email address, geo location, a phone number, an SMS, or text.

With the direct method whatever data the QR Code is encoded with it will be contained in the code itself e.g. If a QR Code has been encoded in MeCARD format (a format for business card details) when it is scanned with a typical scanner app it will give the option of storing the details in the mobile device’s contacts list. An Internet connection is not required.

If the QR Code has been encoded with a URL and you wanted to see the webpage right away then of course a connection to the Internet would be necessary.

Indirect: The data resides on a server somewhere and is not embedded in the code.

An indirect 2d barcode is encoded with a short alphanumeric text string called an identifier. This kind of encoding is inevitably proprietary and often requires non-standard software to create a code and a proprietary scanner to decode it.

For example an app called the Microsoft Tag Reader for Mobile will scan a Microsoft Tag, connect to the Internet, locate the relevant Microsoft server, look up the identifier to see what data is associated with it and send the data or service back to the app.

Given this limitation of requiring an internet connection you may wonder why anyone of sound mind would want to use the indirect method? However the proponents claim that it is both more secure and also results in a smaller code. All I have to say is that in Japan where QR Codes are ubiquitous I have never seen or heard of an indirect code. Both direct and indirect methods fail to “switching” or “code-jacking” and as to size there are easy options for direct codes such as using the Bitly shortener.

I think that possibly the real reason people have used proprietary codes is because they come with a campaign management system. However recently there have been a number of excellent campaign management tools available for direct codes and it now looks as if indirect codes are all set for a back seat.

If you want to know what happens if you take a standard QR Code and try to make it indirect (and proprietary) then scan the one in the bottom right hand corner of this Neustar webpage (Edit March, 2011: Neustar have very sensibly swapped the indirect code for a direct one! A copy of the original is in the image below). For the vast majority of standard readers it will simply decode as mc*neu*23. Talk about a bad user experience! Without the right scanner even Superman would have a problem.

Superman has a problem with Neustar's indirect QR Code

14 thoughts on “Direct and Indirect 2d Barcodes”

  1. True indeed! Indirect codes are all set for a back seat!

    The benefits of the campaign management systems they are touting is nothing more than a hype! I have tested a couple of them.

    As for the user experience, do they expect users to have two sets of QR Codes readers? Furthermore how do you distinguish the QR Codes, and choose the correct reader?

  2. While this application was bad for Superman, we’ve actually been using indirect codes and have had great success with them. And, our clients love the in-depth data they provide. If you can make the user’s experience seamless, then everybody’s happy.

  3. Roger, as I understand it, one of the characteristics of an indirect code is that the Web destination can change while the code itself remains the same. In other words, the destination can be a coupon one day, a video another day and so on. But with a direct code, the destination is always the same. Is that correct?

  4. @chuckl No it is not correct and it is easy to change the web destination with a direct QR Code.

    I have created one below which resolves either to a YouTube video or Twitter depending on the time of day. The redirection is accomplished with a simple redirect script based on whether it is before or after mid-day (server time is CST).

    It’s just to demo but it could be changed to only once or any number of times over any time period, based on almost any criteria. And of course to any destination(s) or landing page!

    Direct QR Code with variable destinations
  5. @Roger – I appreciate your post and help in clarifying this issue. I would like to learn more about the campaign management tools for direct codes you mention. Clients I talk to are all locked onto ROI, especially with a new channel so the metrics are vital.

  6. Can that direct code resolve to different sites based on the geographic location of the user at the time of scan?

  7. Do you know of any way to determine or estimate the number of smartphones in a particular area? We’re researching QR codes for our clients, but the first thing they’ll ask is what is the potential in terms of consumer usage.

  8. @Tim I have started on a list of QR Code Management Systems here.

    @Sue I don’t think there is any way yet to estimate QR Code campaign potential. I have found that clients new to QR Codes are happy to embark on small pilot projects. These are often very successful at attracting local TV, Radio and Press coverage, which keeps them happy while you crunch the numbers to determine the potential of a major campaign.

  9. @Sue I agree with Roger S. The number of smartphones in a particular area should have little bearing on the matter…that’s almost like asking how many people have a computer in a certain area, because I am thinking about building an Internet website. 2D is merely a tactic within an integrated strategy. Plan, develop and execute the tactic well and results will show. Conducting a pilot program makes sense, but make sure the frequency is more than once…it takes time to build consumer/user acceptance, familiarity and comfort.

  10. Roger,

    When I scan the example QR code that you say is direct, it goes to http://www.qr-i etc. Isn’t that a redirect or indirect code? Doesn’t it ping to the prescribed site, either youtube or twitter from there?

  11. @Tom You are right in that the server is redirecting the user but that has nothing to do with the code itself.

    With a direct code the URL is encoded in the 2d barcode.

    A URL is not encoded in an inderect code. It is encoded with a text string that must be referenced in a database of text strings to extract the URL.

    Hope that helps?

  12. As long as a code can be read with a scanner and works properly, I don’t see the practical difference between direct and indirect. The code that you created will only work as long as you maintain the server and url that you use, and is in that sense proprietary ( not that there is anything wrong with that ).

Leave a Reply

Your email address will not be published. Required fields are marked *