Why not just use a single code for bluetooth/wifi hand shaking? Wouldn't that be more efficient by any metric and almost as compatible? What device has a solid camera and no wireless communication?
User confusion and the fact that high quality camera tech and OCR aren't exactly cheap.