Wednesday, October 26, 2011

Using QR Codes to Share Contact Information

I recently saw a QR code at the entrance to a local hobby store here in town and decided to see what would happen if I scanned it with my camera. Since I already have a QR reader app on my phone, I fired it up and took the shot. I was startled to see that my phone now had a contact screen showing the contact information for the store, hours, website, etc. It was pretty cool, especially since the store is a local store that has nothing to do with high technology.

Since then, I've decided to get ready for CA World by seeing how hard it would be to put my own contact information into a QR code. Then I could paste the QR code onto my badge and quickly and easily share my contact information with other people at the convention. It took a while and I learned a little bit, but here are the results:

The best place I've found to generate a barcode was (surprise, surprise) Google. They have a chart API that you can use to build charts and display them on web pages. Very cool. As it turns out, all QR codes are really just text. You start by embedding contact information in a very simple markup (popularized by NTT DoCoMo), then pasting that into the QrCode chart type.  Tweak the parameters and you end up with a nice little code that can be read by most scanners.

The trickiest part is to format the text using the markup language.  For example:
MECARD:N:Stuart Weenig;URL:http://stuart.weenig.com;

would result in this QR Code:


In order to embed more information into the code, just add fields.  For example, you can add one or more telephone numbers.
NameN:Designates a text string to be set as the name in the phonebook. (0 or more characters) When a field is divided by a comma (,), the first half is treated as the last name and the second half is treated as the first name
Phone NumberTEL:Designates a text string to be set as the telephone number in the phonebook. (1 to 24 digits)
Video Phone NumberTEL-AV:Designates a text string to be set as the videophone number in the phonebook. (1 to 24 digits)
E-mailEMAIL:Designates a text string to be set as the e-mail address in the phonebook. (0 or more characters)
MemoNOTE:Designates a text string to be set as the memo in the phonebook. (0 or more characters)
BirthdayBDAY:Designates a text string to be set as the birthday in the phonebook. (8 digits) The 8 digits consist of the year (4 digits), month (2 digits) and day (2 digits), in order.
AddressADR:Designates a text string to be set as the address in the phonebook. (0 or more characters) The fields divided by commas (,) denote PO box, room number, house number, city, prefecture, zip code and country, in order.
URLURL:Designates a text string to be set as the homepage URL in the phonebook. (0 or more characters)
NicknameNICKNAME:Designates a text string to be set as the nickname in the phonebook. (0 or more characters)

Another idea I had was to tape a QR code on the back of my phone. So that in case it gets lost, someone can at least know who it originally belonged to. This would also make it easier to share contact information with just about anybody.