Why Some Barcode Readers Don't Work with Barcodes on an iPhone Screen

My friend Russel Cheng told me about an interesting free iPhone app yesterday:

CardStar 2.1

Like many interesting apps, it is based on a simple useful idea: Let people keep all of the retail store loyalty card numbers in a single iPhone app that can display barcodes for retail store clerks to scan and accept. The problem is that this did not work for Russel in local Safeway stores for the two times he tried it. There wasn’t a line during the second attempt, so the Safeway clerk was happy and willing to make a couple of attempts to scan and read the barcodes on the iPhone’s screen.

So, we tested a couple of ideas that you can see in the video embedded above.

1. Visual check the barcodes on the Safeway card and the iPhone. They looked identical.

2. Use a smartphone as an optical scanner that “reads” a photo image of the iPhone screen. In the video above, we used Daniel Inoshita’s Droid Eris. It was able to report the barcode correctly.

3. Use an active laser barcode reader that shines a laser on the surface and reads the reflected information. You can see in the video that this worked (beeped) with the physical card but not the iPhone screen.

So, the problem is not the CardStar app. The problem appears to be the interaction between an “active” laser barcode reader and the iPhone’s reflective display surface. If you have problems with any of these kind of barcodes on a screen, the type of barcode reader is likely to be the cause.