A glaring problem with the iPhone's camera is its inability to focus closer than ~1 foot away. Some aftermarket solutions help fix this problem such as the iClarifi by Griffin Technology. This case for the iPhone 3G allows you to slide a little macro lens over the camera to take closeup pictures, and is also handy for scanning barcodes for use with apps like snapr.net.
I've got a 2G iPhone and a limited budget and wanted in on this barcode-scanning fun as well. I googled some things and was inspired by this, but it wasn't quite what I wanted. I finally came up with the following cheap (free) solution.
What you need:
-a disposable camera. You can get these from most any photo counter, for processing they just crack the film out and will recycle the rest. They'll usually give you a handful of cameras for free if you tell them you're doing a project.
-a flathead screwdriver or something else to pry the camera case open.
-a flexible iPhone case. Not necessary, but you've gotta mount the lens somehow. I got a case for $5 at 5 Below.
Step 1: Assess the Salvaged Disposable Camera
Salvaged cameras will be in various states of disassembly, but almost any camera will do. The Kodaks seem to be more plentiful and they have more plastic that we can use for mounting, as you'll see later. All we need from the camera is the viewfinder lens that is closest to your eye when you're taking a picture. The camera contains other lenses, including a slight telephoto lens, but I've found this one is the best for barcode scanning purposes.
WARNING!!! These cameras have a large capacitor for the flash which can give you a very damaging shock if you touch it. Stay away from the circuit board or you may get injured. The people at the photo place will probably warn you about this as well. You should probably wear safety goggles for this project.
Also, do NOT press the "flash" button before you start to take apart the camera, or you can be sure that you've made the project a lot more dangerous than it needs to be.
Step 2: Crack It Open
Insert the screwdriver or prying tool into the top of the camera, carefully push toward the viewfinder, and twist. Depending on the type of camera, you may need to press a little catch or peel away some stickers first.
Step 3: Remove the Lens
Again, we want the lens that would be up against your eye if you were taking a picture. In some cameras like the Kodak, the whole viewfinder setup is one piece of plastic, consisting of two lenses and a connector. If so, we want the flatter lens so we can manipulate this plastic to end up with the lense we want. I cracked off the other lens by covering it with a rag, applying pressure with my fingers and rocking the lens back and forth until it snapped off.
If you're using a different type of camera, such as the Fuji shown, the lens may be one piece that slides out. This is good too, but may be harder to mount to your case.
Step 4: Testing the Lens
Hold your lense over the iPhone's camera. Notice that when you switch to your camera app, objects closer to the lens are much clearer. Using the snappr.net app, you can actually scan barcodes effectively!
In the first set of pictures, without the lens, the barcode is blurry and will not work with snappr.net app. In the second set, with the lens applied, the barcode scans fine.
Note that even with the macro lens it takes some finagling to get the barcode to be recognized by the app. It's not perfect, but is really promising. Also, some books have huge barcodes and don't work so well with this lens.
Step 5: Mounting the Lens (temporarily)
If you just have a tiny lense at this point, simply slide it into your iPhone's case so it covers the camera.
This is the simplest method, but you'll need to slide the lens out of the way for taking normal shots. It can also slide around and you could lose it. I recommend a more permanant system as shown in the next step.
Step 6: Mounting the Lens (more Permanently)
You can see I've massaged my lens quite a bit. I bent the good lens so it was flat, cracked off the other lens, then shaved it down a bit with some wire snips. I then drilled two small holes in the arm and used an exacto knife to connect the holes, making one slot. I also snipped the arms of a paper fastener. I'd have liked to have a smaller one but I used what was at hand. I then poked a tiny hole in the case as seen on the ridge. (by the way, I got the case at 5 below for $5 so not worried about it too much).
Next slide the fastener through the lens and case hole and spread the paper fastener's wings so they curl into the case. Put a piece of transparent tape over it to discourage scratching the iPhone (you could use something industrial but I wanted to keep up the clear case effect). Now just slide the lens over the camera whenever you want to use the macro!
I'd like to have mounted the lens inside the case and cut some of it away, but I thought I'd quit while I was ahead.
Also note that the app SnapTell (AppStore link) is pretty fantastic-- it basically bypasses barcodes and does image recognition on pictures you take of objects. Basically a Shazam for products. Right now it's only for CDs, DVDs, and games, but can you imagine what either of these technologies could do for grocery shopping!?