QR on business cards?

I thought it might be cute to put a QR code on the back of our business cards, but from what I can see, that's just totally impractical...

There is some suggestion out there in teh googles that if you stuff vCard data into a QR code, it will work, but it sure doesn't work worth shit in i-nigma, which seems to be the only game in town as far as iPhone QR readers go. I have only been able to produce vCards that it will accept that have a single phone number in them, and no "organization" field, so that's useless for a business card related to, you know, a business. For this to be useful for my purposes I'd need ORG, EMAIL, URL, and 5 TEL fields with labels so you know what the numbers are.

Then there's this more compact "MeCard" format, which seems to also have some kind of stunted, remedial support, and that appears to also support exactly one phone number. Srsly?

Am I right in my conclusion that this just can't be made to work at all?


Update, Dec 7, 2010:

I've reported a bug against i-nigma, for what it's worth. If your QR scanner doesn't do the right thing with this QR code, which contains a simplified version of this VCard, please submit a bug report to the author! The "right thing" means:

  1. Include the Company Name;
  2. Include all 6 phone numbers;
  3. Give each of those phone numbers the proper label, e.g., "Infoline" and not "Other";
  4. Preserve the order in which the phone numbers appear in the vCard, e.g., "Infoline", "Manager", "Restaurant", etc.;
  5. Include both postal addresses
  6. ..with labels
  7. ...in the right order.

If your QR code reader and/or VCard importer don't do all of these things, that is indisputably a bug. Please report it.

Tags: , , ,

69 Responses:

  1. wds says:

    Just out of curiosity, does it work with the android QR readers?

  2. Lee Maguire says:

    I'm using QuickMark 4 on the iPhone, which seems to support both vCard and meCard.

    • jwz says:

      Does it do anything sensible with this (from this)?

      MeCard is, as far as I can tell, syntactically incapable of representing more than one phone number.

      • meza says:

        Despite the escaping of : in the url, it's perfect with my Android

        • jwz says:

          Can you email me a screen shot of what it actually put into your address book?

          • meza says:

            give me a moment

          • wds says:

            Barcode-scanner on android 2.1 doesn't pick up any phone numbers, everything else (name, address) seems to come through fine.

            Don't have a screenshot app handy right now (it's not built-in like on iPhone).

            • Phil says:

              A little playing around with qrencode suggests that Barcode Scanner under Android doesn't like the item grouping for the phone numbers.

              Noodling around the bugzilla, it looks like this may be because BS is written for Android 1.5 and above, and it's only in Android 2.0 that contact APIs exist to add multiple phone numbers with tagged names. There's a beta release with more functionality for 2.0+ phones, but no-one will have it, so that's no use.

              If you edit the vcard you have to eliminate the groups and generate a qrcode from it, then you'll get something that has multiple phone numbers, but assigns arbitrary tags to them (home, mobile etc etc), which mostly counts as a great big fail, but is better than nothing at all.

              Screenshots + vcards / qrcodes available if you want 'em.

          • Lee Maguire says:

            Oh dear, on the iPhone it can read the text but doesn't recognise it as a vCard. Probably only supports 2.1, on the basis that 3.0 is too verbose for the medium? All software sucks, etc.

      • meza says:

        Got the issue, didn't realize at first sight. You can get the phone to show more phone numbers, but as long as you stay with the stock labels (types).
        Never got to think about such use, but I see your point. I guess vCards are for a different purpose. I'd do separate vCards for all departments and having the org field say DNA and hope that all sane phone os' can search through all fields...

      • Lee Maguire says:

        meCard does seem to be capable of representing multiple numbers, at least using the QuickMark app to generate a code using the imported vcf. But the labels are dropped... as with the vCard 2.1 it generates. (You can only differentiate using the TYPE presets HOME,WORK,CELL,etc - so suboptimal for your purposes.)

      • RedLaser on the iPhone barfs on this one, either comes up with random numbers or a random product.

      • Anonymous says:

        I've gotten the AT&T Code Scanner app to read at least one vCard QR, but that one causes the whole app to crash. Nice.

      • Sean Conner says:

        Using i-nigma 3.07.01, it was able to pull up the information (the colon in the URL was escaped for some reason) but I was able to add it as a contact. The contact name ended up being "3.0" but it did import the phone number, email address and mangled URL into my contacts.

      • Jake Nelson says:

        Upon further inspection, that vcf file doesn't give me any phone numbers at all when I open it, either.

        Looks like none of the formats going around allow arbitrary labels for phone numbers.

        Just making the QR code a link to a file appears to be the done thing, odd as that seems.

        • DFB says:

          Why wouldn't having a link to an editable file be better than having a hardcoded file? The more phone numbers you have, the more likely one of them is going to change some day.

          • jwz says:

            Because copying a physical business card into your address book should not require a functional internet connection. This should be obvious.

            It is not a bug if the numbers that are printed on the card in text match the numbers that are printed on the card in binary encoding, even if those numbers have since changed.

            • DFB says:

              Linking to the file must be popular because so many things can change, meaning that a physical business card isn't necessarily a functional one. For example, even if you've taken steps to make sure that your phone numbers never change, you could fall in love with someone who wants to get married and hyphenate your names.

              • jwz says:

                I think the chances of my corporation getting married and hyphenating are slim.

                But, hey, who knows what post-Singularity corporate personhood will be like.

      • Art Delano says:

        All these apps were run on the iPhone 4:

        2DCodeMe: Successfully reads the text in the QR, doesn't let you do a thing with that text.
        Barcodes: Can't read the QR. Looks like the problem here is that Barcodes doesn't deal well with photographs of the LCD screen.
        i-nigma: Reads the QR, parses the vCard data, files you as: First name: "3.0"; only logs main phone number, booking email, homepage (with backslashed colon).
        iTagCode: Similar to 2DCodeMe, it reads the text, doesn't let you do anything with it.
        QRReader: It reads the text, lets you share it as text. Presumably you could email it to yourself and the email app would parse the vCard data, but that's too much work.
        ScanLife: Recognizes the vCard, correctly logs the name, email, and address, but none of the phone numbers.
        AT&T Scanner: Falls over and dies the moment it locks on the QR.

        These are all apps I grabbed more or less at random a few months ago and had never gotten around to deleting. Some of the apps others are using in this thread sound more functional.

  3. meza says:

    I'm expecting a shipment of business cards enhanced with qr. The readable info is only my name and email address. The other data is encoded on both sides of the card. Despite the fact that it looks much more awesome without all the writings, it can act as a filter to get only the dedicated people calling you... Be in dna on the 13th of Dec and I'll show you.

    uhm. For the qr in your post...
    I have lost the game.

  4. Have you considered just hacking around the stupid broken readers by instead embedding an URL to a vCard file? Would make the code smaller too - and, plus, it means you can keep it up to date.

    Incidentally, I tried reading this with BeeTagg on Symbian, and it failed. I suspect that the code is too dense for my phone's somewhat crappy camera. (I'll have to try with a different reader when I get time later)

    • jwz says:

      Considered and rejected, because that offends me with its stupidity.

      • There are benefits to using the URL scheme though. Also with URLs you can create smart redirects that understand the limitations of the particular device scanning the contact info and "do the right thing" for them.

  5. Why don't you just print http://domain.com/vCard.vcd? I've never seen the point of QR codes.

    • LunaticSX says:

      That's a level of abstraction that would ensure almost no one will use it.

      Here's the point of QR codes: They're read by the camera on your smartphone->which holds your address book->which is auto synchronized to your computer and/or your webmail addressbook "in the cloud."

      One click, no typing anything.

      To do the same trick with a URL to a vCard, you'd need to either manually enter that URL into your phone's browser and hope that your phone does something intelligent with a vCard loaded from some random web page (anyone know what iOS and Android do? I don't.), or download that tiny file on your computer, find it on your hard drive (unless you have a helper app set up for .vcf files; but since pretty much no one loads .vcf files from random web pages, they won't know if they have a helper app set up), drag it into your mail client, and then synchronize it with your smartphone. If your only mail client is web-based...uh, I dunno. Maybe you could download the file, then send it to yourself in an e-mail, open that e-mail in your webmail client, and then click on it as an attachment.

      Thankfully, QR codes on business cards aren't going exist even as long as program listings in early-80's computer magazines (anyone else remember the Cauzin Softstrip reader? http://en.wikipedia.org/wiki/Cauzin_Softstrip). NFC tech is coming in Android's Gingerbread release, and rumored to be coming in the next iPhone. NFC chips (RFID) are going to get embedded in business cards soon enough, cheaply enough, so all you'll need to do is wave your smartphone over a card, or wave the card over your phone, and it'll suck up all the info without needing that ugly QR code block. Since the Japanese pioneered both QR codes on business cards and NFC on mobile phones (Osaifu-Keitai) I'm surprised they haven't already merged them together like this (at least there's no mention of it on Wikipedia).

      • Here's the level of abstraction that ensures nobody uses QR codes.

        What is that splotch on the card?
        Oh a QR code.
        Wait, I don't have a QR code reader.
        Install QR code reader.
        Position everything, snap picture.
        Hope that the phone handles it correctly and knows that it's a vCard.

        It's nice in theory but I sometimes wish that companies would just type the fucking URL out that.

        I like the idea. I have never seen it working very well.

        • LunaticSX says:

          Yes, it's currently much more interesting in theory than in practice. At least in the U.S.

          In Japan the phones come pre-loaded with QR code software, and most everyone recognizes them and knows what to do with them.

          The codes are still ugly, though.

          Except when they're not: There's software that will let you encode the data in such a way that you can made the QR code look like a little picture or icon of something.

          One wonders why everyone doesn't just get a business card scanner. ...aside from the expense, poor OCR software, hard-to-scan cards, an extra gadget on the desk taking up a USB port, and less-than-pressing need for it for the majority of people. Ok, never mind.

          • Art Delano says:

            > There's software that will let you encode the data in such a way that you can made the QR code look like a little picture or icon of something.

            The QR Code standard allows varying levels of error correction. If you do it right you can deliberately insert a large amount of noise and the code will still scan. The more you decorate the tag, though, the less data you can embed. Google "Design QR" if you want to see a lot of examples that mostly look the same in their differences.

            On the other hand, Microsoft Tag/HCCB uses color as data values, but I don't think it has any reason to exist other for reinventing something somebody else did in a way that makes it harder to use and sketchier to implement.

        • I tried to get around this issue by creating an email decoder. People without a reader (or a feature phone) would be able to snap a pic and send it to a decoder address. Still turned out to be too much of a hassle for most people. (Plus the people with "feature phones" tend not to be the kinds of people to try new techy things).

      • jwz says:

        What do you want to bet that whatever RFID-based "standard" that the telcos agree on ends up similarly crippled with some 1980s "any 32 upper case characters you want" limitation?

  6. David Glover says:

    *Scans code...*

    Goddamnit. >:(

  7. violentbloom says:

    My friend made some, which point to her address... Only to be totally wacked she letterpress printed them. They were awesome!

  8. Jake Nelson says:

    My droid reads both the one here and the contact one fine. Regarding the first: you bastard. Regarding the second: Wish I could screencap it, but no idea how. Translates to name, email, address, and website fields with an "add to contacts" button for that. I see 1985-11-22 in the raw data, but it doesn't import that. No phone number. The website has the : after http escaped, and thus the link doesn't work.

    • jwz says:

      Alas, I don't characterize "it left out all of the phone numbers" as "fine".

      • Jake Nelson says:

        Hm, fair point. I'm used to a lot of these kinds of things not scanning at all (especially off of a monitor), is the thing...

        The thing I notice is that it doesn't even show up in the blob of unformatted data it shows as a preview... makes me wonder, but I don't know enough about QR codes at the moment to go anywhere with that.

  9. Mike Fisher says:

    NeoReader on my iPhone correctly read the rickroll.

    • As did BeeTagg on my iphone.

    • Ditto on the droid, but no joy on the vcard. Appears to parse it correctly but not know what to do with it, and hands it off to the browser.

      My old not-so-smart phone knew what to do with vCards. What are smartphone platforms so retarded about their core job of being, you know, comms devices?

  10. Optiscan for iPhone took this and got the contact information (screenshots): 1 and 2.

    Also, you've got some kind of quotation mark-smartener in the preview that tried to change the quotation marks in my first link to curly marks.

  11. Also a word of warning on decoders. I noticed in my testing that iNigma redirects all scanned QR links through some kind of tracking site. I didn't see that disclosed on any of their materials so it made me wary.

  12. OK I'm reposting this cause I think it got moderated or /dev/null'd (apology if it gets double posted).

    First a disclosure: I built a site / product with the intent of exploring this exact space (snapmyinfo.com). I didn't get a lot of interest / traction (this was a 1.5 years or so ago) so I put the project on the back burner (it's still live, but just haven't spent any time on it in a looong time).

    Having said all that, I wrote several blog posts about the challenges of using QRcodes on business cards. The solution I settled on was using hyperlinks + email as the delivery channel since most phone email programs understand what to do with vcards.

    Overcoming the limitations of QR biz cards

    How to create QR code biz cards

    I also explored different ideas with the technology, one thing I played with was a bookmarklet to display the QR for any website (to quickly load the same page on your phone).

    And the most ambitious part of the project was building a live augmented reality decoder that could understand the QR codes I was generating and overlay contact information on a live video stream

    Anyway, a friend pointed me to this post so I thought I'd contribute to the conversation. Sorry for the link bombing, but just seems like I covered some of these topics and I thought you guys might be interested in the AR aspect of it too.

  13. Cody Woodard says:

    The entire right side of my business card is one giant QRCode. It looks really cool.

  14. Otto says:

    The only app I know able to scan vCard based QR codes on the iPhone is Quickmark 4.

  15. antifuchs says:

    On the iPhone, I use OptiScan, and it seems to handle your QR code with multiple phone numbers fine. Gives me 4 "other" phones, 1 work fax, one "other" booking@ email, one "other" web site, a birthday, and a "work" address.

    Unfortunately, OptiScan costs money ($1.99), and its picture-taking UI is complete crap. How they could screw up the simple act of taking a picture is beyond me. But at least it works.

    Added bonus: I always mistype it as either "OptiScab" or "OptiScam".

    • antifuchs says:

      Ah, and it picks up the text from your rickroll, too.

    • jwz says:

      Yeah, leaving out all of the labels on the phone numbers, so you can't tell what they are, is also not what I would call "fine".

      • Otto says:

        The iPhone itself doesn't support any sort of "non-standard" labels on phone numbers at all, does it?

        • LunaticSX says:

          Sure does. Tap the label when entering a phone number in iOS. Scroll to the bottom of the list of labels that comes up and tap on "Add Custom Label."

          Custom labels for phone numbers has been there since v1.0 of the iPhone OS.

          • Otto says:

            Yep, that doesn't exist on my iPhone 3GS. The label can be changed, but there is no "Add Custom" anything there. Just a list of the standard labels. Mobile, home, work, home fax, work fax, pager, assistant, car, company main... And that's it.

            • LunaticSX says:

              Strange then that I've got custom phone number labels in my iPhone address book that date back to when I got a 1st gen iPhone with iPhone OS 1.0 on it.

              In fact I don't think I've edited any custom phone number labels or added any new ones since I first set up my original iPhone.

            • tkil says:

              Yep, that doesn't exist on my iPhone 3GS. The label can be changed, but there is no "Add Custom" anything there. Just a list of the standard labels. Mobile, home, work, home fax, work fax, pager, assistant, car, company main... And that's it.

              Just to check, did you try scrolling the "Label" screen down? On my iPhone (Gen1, OS v3.mumble), the first screen is all the standard ones (mobile, iPhone, home, work, main, home fax, work fax, pager, other), but there's another page with my custom labels on it (in my case: address, conf call, customer service, other, "Add Custom Label").

              As with others, I have a hard time believing that they removed this feature.

              If I end up by the Apple Store anytime soon, I'll see what the latest versions do...

              • Otto says:

                Unless you can tell me how to get to this magic screen, I have no idea what you're talking about.

                I go to the contacts, edit a contact, click the label, try to scroll down the list, but there is no "Add Custom Label". There is not even an "other" in point of fact. No pages, no nothing.

                • LunaticSX says:

                  The labels you listed previously, "Mobile, home, work, home fax, work fax, pager, assistant, car, company main," aren't even the default set of labels on an iPhone. The default set is "mobile, iPhone, home, work, main, home fax, work fax, pager, other."

                  What street market in China did you say you got your iPhone at? :)

                  Seriously, though, if you really can't find the custom labels I suggest you go into an Apple Store and ask.

                  Also, if you're on a Mac, I'd suggest trying to go into Address Book, changing a label on a contact's existing number (or add a new number), change its label to something custom, and then re-sync your iPhone. Maybe something got "stuck" somehow and the absence of any previously set custom labels is keeping the UI for adding or editing more from showing up.

                  • Otto says:

                    It is the default set of contact types on a 3GS. Look at the bloody screenshot if you don't believe me:

                    I'm not just inventing this stuff, you know.

  16. i-nigma is a horrible, horrible, useless piece of crap. Just about any other QR-scanning app for the iphone is a better choice: "barcodes" in particular seems to work well, and is free. (It got your rickroll, although going from screen -> iphone camera -> QR scanner is always a mug's bet, and I had to try a few times.)

    • Aw hell, nevermind: it decodes your vcard QR, but does nothing at all useful with it. Carry on.

    • jwz says:

      inigma is ugly as hell, and snoops on every URL you load, but it is really good at recognizing the QR codes themselves. Usually it has managed to scan the code before my brain tells me the phone is even properly aimed at it. I just tried "Barcodes", failed to scan a code five times in a row, and promptly deleted that app.

  17. Jason says:

    As others have said, on Android, the scanner I use (with the highly-original name "Barcode Scanner") was able to parse the easy bits, but not the phone number labels, making it less than useful. If you're willing to do some experimenting with labels, the Android address book supports the following, which it may be able to suck in easily.

    * Home
    * Mobile
    * Work
    * Work Fax
    * Home Fax
    * Pager
    * Other

    There's also a Custom option, but if that worked your vCard would presumably be getting stuffed into a bunch of custom number types.

    • Jake Nelson says:

      I poked around with Google's QR generation (part of the Chart APIs on Google Code), and none of the labels except home and work translated on vCards.

      Including vCards exported by Google Contacts (which oddly doesn't let you set Custom labels like the Android contacts).

      I've been using Google Goggles to do the scanning. All Android QR readers use the ZXing library to interpret them, though.

      (God, I sound like a Google fanboy. It's just what's handy, dammit!)

  18. Chris D says:

    Google's iPhone app has the "visual search" ability, which reads QR codes. It escapes the colon in the URL but gets all the other information, and has the ability to add to contacts, populating all the right fields. (your vcard does not seem to include a phone number, however.)

    • jwz says:

      If you think this doesn't include a phone number, then what you just said is, "Google's iPhone app is worthless, too."