I wouldn't have thought it was possible to get an iPhone to capture barcodes clearly, but Occipital has done it with a new $1.99US iPhone app called RedLaser [App Store]. Why capture barcodes? One good use is to find better prices for a product. Scan a product in the store, then RedLaser captures the barcode and does a quick Google or Amazon search to give you quick price comparisons.
I tried the app at a bookstore and my local Best Buy and was surprised how well it worked. You need pretty good light to capture a barcode, which is an issue with the iPhone camera, not the RedLaser software. You need to hold the camera steady. The best way is by holding down the button to take the picture, then release when you are steady.
RedLaser gives you the option to try again, and guides you on how far the camera needs to be away from the barcode. Then RedLaser instantly goes out to the internet and gets you the price comparisons.
In practice I had some misses. The camera wasn't at quite the right distance, or I was a bit shaky holding it. In most instances, however, I was able to get the barcode and see the price comparisons I was looking for. It's also important that the camera not be tilted in relation to the barcode. Try to keep everything lined up. And the app will not work at all unless you have an internet connection. It would be nice if it could store the barcodes, then go out and identify them when you have a good signal.
You also get the ability to mail your product list to yourself or a friend to read it on a bigger screen when you get home.
The clever technology in the app is able to sharpen the image a great deal, making the iPhone camera a feasible platform for this app. When you take the picture the barcode will look pretty fuzzy, but after a couple of seconds of processing it looks quite good, which is the magic that RedLaser accomplishes.
I'd expect this will work fine for most people, but there are some negative comments at the iTunes store as well, largely, I suspect, from people who couldn't hold it steady, had bad light, or glare falling across the barcode. When I eliminated those issues, it seemed to work fine.
Note: This app only recognizes US and UK UPC and EAN barcodes. It works works best on standard-sized barcodes, but I had success with some smaller ones as well.
Here's are some screen shots of RedLaser in action: