Overcoming the Limitations of QR Codes as Business Cards

by mikepk on March 18, 2010

big_snapmyinfo_logo3.png Seems like sharing your contact information using QR barcodes has become a popular topic of conversation. Appearing at SXSW on attendee badges and briefly as an apparent prelude to Facebook launching QR codes for profiles, people are abuzz with the idea.

Sharing information using QR codes is a great idea but it’s not without its limitations. I’ve been working on SnapMyInfo for several months now and thought I’d share my experiences with sharing contact information in this way. As I’ve explored the limitations of QR “business cards” I’ve come up with several solutions that I’ve incorporated into SnapMyInfo.

Smart phones and barcode readers not ubiquitous… yet

When I started SnapMyInfo, the original concept was to make QR codes more accessible to more people. The theory is, if more people can decode these symbols then the symbols themselves become more useful. Creating a positive feedback loop in this way could possibly lead to more people using them.

Traditionally the only way to read what’s in a QR barcode is to use a smart phone and a barcode reader. While SnapMyInfo barcodes work with standard barcode readers, SnapMyInfo also has an email based qr decoder that works without installing an application. As long as a phone has a camera and access to email or MMS, they can decode QR codes.

Barcode readers treat data differently

There are lots of different applications for reading QR codes. These symbols have been around for a long time and are an open standard. Over time, these different applications have evolved to read the embedded data in slightly different ways. QR codes store text but if the text is formatted in special ways it signals to some (but not all) barcode readers to take certain actions when the code is scanned (store a contact vcard, open a map, open a browser, etc…).

There’s no official way to store contact information in a QR code. Some common formats include vcard, mecard, and plain text information. If the barcode reader, however, doesn’t understand the format, it may just present you with a screen full of nearly-illegible markup (if it does anything at all).

The one format that nearly all barcode readers seem to honor is that of the humble link. If the text inside the barcode consists of nothing but a hyperlink e.g. http://snapmyinfo.com, the reader application will almost always open a browser to that link (or present the option to do so).

By standardizing all contact sharing using links, SnapMyInfo avoids this uncertainty when sharing contacts. The links used by SnapMyInfo are “smart”. They understand the capabilities of the device that is accessing the link and present the best options for that device. The default on most handsets (for now) is to open up the mail program on the phone to send an email to SnapMyInfo. That email is special in that it will let the system know a connection has been made and reply with the vcard of the scanned user. This means that anyone can scan a snapmyinfo barcode and receive contact information without signing up for the site. Using email for the vcard works across more handsets because most email applications understand attached vcards (even if the mobile browser does not).

SnapMyInfo application links also allow the potential addition of new features to the contact exchange. This includes features like allowing automatic Google Contacts integration for Android handsets as well as allowing users to specify exactly how they want contact share links handled. Dynamically altering the behavior of these links could allow users to create “situational” SnapMyInfo codes that behave differently based on location and time.

Contacts are a two-way street

The organizers of SXSW understood some of the issues I’ve highlighted and decided to use QR code links to link people together. They had some problems, however, because following a link is a “one way” behavior. To address this issue, they created a site you had to log into to complete the “receiver” end of the contact sharing process. This led to a lot of confusion and increased, rather than decreased, the friction for the sharing of contacts.

SnapMyInfo uses email as the way to verify the receiver of the contact for non-logged-in users. Without substantially increasing the friction (just hit “send” on the email) the contact sharing becomes a two way process and doesn’t require any authentication to get in the way of the share. Since the links are dynamic, logged in users can access more features and behaviors, but basic contact sharing doesn’t require either party to be logged into snapmyinfo.com.

Camera phones, not quite blind as a bat

The quality and resolution of the camera on many camera phones (especially so-called “feature” phones) is not great. The barcode reader usually needs a fairly good picture of the symbol to decode these barcodes. Unlike some other barcodes, QR codes can store a large amount of data and grow in size and complexity relative to the amount of data stored.

In addition, there’s also a certain amount of “error correction” that can be added to the barcode. This error correction means that if part of the symbol is damaged, you can still recover the original data. The downside of error correction, however, is that it makes the symbol even bigger and more complex.

The bigger and more complex the QR barcode is, the better picture you need to decode it.

The first way SnapMyInfo deals with this issue is by using links for contact sharing. Something like a vcard, stored directly, results in a fairly large and complex barcode. Even links, however, can result in substantially different levels of complexity in QR codes dues to the variable length and size of links.

If I encode a link to the snapmyinfo blog and compare it to the same link that’s been shortened by bit.ly, you can see that at the same relative barcode size, the bitly barcode is less complex and has larger features. This makes the barcode on the right easier to decode with less than ideal pictures.

SnapMyInfo does something similar, by internally using a link redirector. You can think of it kind of like a url shortener, except that the thing linked-to can change depending on the device, situation and user settings. This allows SnapMyInfo barcodes to be a standard size and complexity while still linking to a large amount of data. This also allows SnapMyInfo barcodes to contain a higher amount of error correction.

Please wait, “scanning”…

As I’ve tested using QR codes as my “business card” there’s one situation that has come up often as a limitation of using them in this way. At conferences and networking events, if you’re connecting with a lot of people in a short period of time, it can be cumbersome to have them each scan your code in succession, especially if everyone does not have a barcode scanner or some understanding of QR codes already.

SnapMyInfo has added an augmented reality decoder to the set of technologies that can be used to decode these same barcodes. Having a setup like this can enable very high speed connection sharing while giving the people sharing their information immediate visual feedback. This also makes it easier for people to understand what the barcodes represent and hopefully will help popularize their use even more.

It’s not completely obvious what to do with this crazy black and white checkerboard symbol

Probably the biggest issue I’ve come across is the lack of awareness regarding QR codes. This is changing now with big players, like Google, coming on the scene to push the concept. More and more people seem to be recognizing the utility of these physical hyperlinks.

I think with the coming wave of QR codes, this issue should start to resolve itself.

  • Pingback: uberVU - social comments

  • http://www.b2vcard.com accuchris

    If you want to make your own business cards with a QR code check out this great site: http://www.b2vcard.com
    it lets you upload your own art or you can use one of the templates. best of all it creates your QR code from your profile so if something changes you can update your profile for free and your QR code on your old cards scan your new info!

  • http://www.b2vcard.com accuchris

    If you want to make your own business cards with a QR code check out this great site: http://www.b2vcard.com
    it lets you upload your own art or you can use one of the templates. best of all it creates your QR code from your profile so if something changes you can update your profile for free and your QR code on your old cards scan your new info!

  • http://www.printbusinesscards.com Brian

    Our business card website is introducing a QR Code generator directly into our online design system. All of the data on these cards is embedded in the business card the way i am doing it.


    The issues you’ve noted with QR codes i am trying to get around by developing a test which allows the app makers, as well as bloggers, reporters and end users, to actually test a variety of codes to test their app. To me it’s a shame these issues are not yet fixed and it’s really limiting what marketers can be creative with. In testing a lot of apps seem to have issues, but i’ve been able to send bug reports and get marked improvements in how well these work.


    The system on snapmyinfo sounds pretty impressive for getting around this with VCards, i wonder if it would be possible to refer customers to your site and have them get the link which i can encode as a QR Code. That way it takes advantage of what you offer, but it also integrates into my workflow and ensures best possible printing of the finished code.

    I kind of think this is a choice though, some people want to go the “microsoft tag” route where its stored in the cloud, others will want to know everything is “inside” the business card. To do this so it works with it “inside” requires using the entire back of the card, this will support the iphone 3G with a 2.0 megapixel camera and no autofocus. In testing a 3G can scan codes which each pixel is about 2 pts in size ( that is 1/72nd of an inch ) and 3GS can scan codes which are 1 pt in size. Hopefully this means the quality of cameras is increasing.

  • http://twitter.com/Holzhair Nicolas Holzherr

    Great article. We tell our clients much of the above on a daily basis – refreshing to see people are starting to understand QR codes.

    Also important with QR codes is the data inside the code. It’s vital that the information is **useful** to the person scanning the code – so for example, on a business card – links to information about the person – a downloadable contact – some social media etc etc.
    Nick – http://www.getqrky.com

  • Andrea

    Great article. After researching to find the best and most “usable” QR code generator, (to hopefully avoid the same sort of problems you mention above with users trying to scan it from my business card), I’ve decided to use snapmyinfo.com. Thanks!

  • http://www.e-ramo.net/ web solutions in egpt

    Great article , also this technology is very cereative when i print my code in my bussinis card and promote it on the internet also.
    thnx again 

Previous post:

Next post: