by mikepk on March 12, 2010
By far the best way to read QR codes is to use a smartphone with a barcode reader (there are a ton of them for the iPhone in the app store), but what if you don’t have a smartphone?
There are many people who either do not have a smartphone or don’t already have a barcode reader application. When I created SnapMyinfo, one of my original goals was to enable QR code reading for a larger number of people, making these 2d barcodes more useful. I’ve moved snapmyinfo in some new directions lately, but I still maintain the goal of making these barcodes more accessible.
It’s my belief that lowering the technical barrier to using these optical barcodes, even if the decoding method is sub-optimal, will increase their usage, exposure, and adoption. This led me to create a way to read these 2d barcodes without a smartphone. What I’ve built is an email-based QR code decoder that works on photo attachments. Initially this decoder only worked with snapmyinfo-specific QR codes but recently I’ve removed that restriction to start testing general QR codes. The only requirements are that your mobile phone have a camera and be able to send email or photo text messages to emails (e.g. verizon picture messaging). This includes many of the so-called “feature” phones that allow sending text messages to emails.
How do I use it?

- Take a photo of the QR barcode you want to decode. It’s best to leave some white space around the barcode and try to keep the image sharp. (pull away if you have to)
- Send the photo to the address shown via email or text message.
- Wait for the response
This is still test software, so I make no guarantees at the moment, but it should work. The more examples of different devices, their picture, email and text characteristics will help me refine and solidify the decoder.
I’m opening this up so people can test it and let me know their experiences with it. I know I need to improve the formatting for text messages and I’ll work on it as I get example text messages.
I’m still working out kinks in the system so I’d love feedback.
by mikepk on March 11, 2010
SnapMyInfo now has a simple page to allow you to generate QR codes to experiment with. There seems to be growing interest in these kinds of two dimensional barcodes, so I thought it would be fun to allow you to generate barcodes based on arbitrary text and not just snap codes.
This isn’t the internal SnapMyInfo Barcode generator. While surfacing the internal barcode generator used by SnapMyInfo wouldn’t have been too hard, I often tweak the generator and didn’t want people to have to depend on this external service if I ever decided to modify the barcode output in any way. While poking around the Google Charts API a few months back, I noticed they now have support for generating QR codes. This page is basically a simple front end for generating QR codes using Google’s service. Simply input any text you want (up to 512 characters) and you’ll get a barcode image in return. These barcodes contain text but by using certain text patterns you can tell some barcode readers to do special things with them.
Barcodes as Physical Links
If you create a barcode comprised solely of a URL, including the ‘http://’ like http://snapmyinfo.com/ many barcode readers are designed to interpret the barcode as a link. That means they will, if a web browser is available, automatically take you to the site contained in the barcode.
Telephone numbers
Starting the text with the prefix TEL: instructs the barcode reader that this is a phone number. In many cases a smartphone will dial the number contained in the barcode when it is decoded.
Automatic Email
You can embed an automatic email message in a QR barcode. I’ve found this to be relatively uncommon, but the pattern is SMTP:[email address]:[subject]:[message]. Some barcode readers treat this pattern in a similar way to the ‘mailto’ url protocol in web browsers, creating an email in the smartphone’s email application ready to send.
Example: SMTP:support@snapmyinfo.com:Hello:Greetings to SnapMyInfo
Automatic SMS
SMSTO:7812189522:Greetings to SnapMyInfo!
This one also isn’t as common, but you can create a barcode with the following pattern: SMSTO:[cell number]:[message].
For example, the barcode to the right sends an SMS to TenZeroLab. If your smartphone’s barcode reader understands SMSTO then the barcode will automatically create a text message.
vCard
The barcode can contain a “vcard” as well. vCards are a standard format that’s often used for sharing contact information. This isn’t something you’d typically type directly into a barcode generator, but it does work. A typical vcard in a barcode might look like the following:
BEGIN:VCARD
FN:SnapMyInfo
N:;;;;
ORG:SnapMyInfo
EMAIL;TYPE=INTERNET;TYPE=WORK:support@snapmyinfo.com
END:VCARD
Boston Massachusettes!
Sometimes the vcard standard is also used to embed geographic coordinates in the QR code as well. The pattern looks the same except that a GEO: heading is included with latitude and longitude values.
BEGIN:VCARD
N:;Boston, MA
GEO:-71.059773;42.358431
END:VCARD
Others
There are a few other text patterns that are interpreted by various barcode readers not included in the above list, but these seem to be the most common.
I’m curious how people will experiment with this and what fun and interesting uses people will find.