When shopping in retail stores, you often get the feeling that you are paying a premium in order to touch and feel the products you wish to buy. Wouldn't you like to be able to scan a product barcode, and instantly get competing prices from online retailers, and online product reviews, so that you can tell whether you would save money by purchasing the product on-line rather than in-store.
This proposed Windows 8 app offers functionality to scan and read product barcodes, translate these into EAN/UPC codes, and compared against the same item for sale in on-line retailers, such as Amazon. The app would also have details of your home address, and therefore should be able to calculate shipping costs and delivery times, so that the user can choose whether any cost saving is worth the waiting for the courier to deliver the product, rather than buying the product there and then in the shop.
UPC barcodes are used throughout the USA, Canada, UK, Australia and New Zealand, and are reasonably well standardised, meaning that regardless of the retail outlet visited by the user, the lookup should be accurate and trustworthy.
Many UPC barcode lookup services do exist, one of the more popular services is that offered by Amazon, as documented in their API: (http://docs.aws.amazon.com/AWSECommerceService/2011-08-01/DG/ItemLookup.html). This can be tied into their product feed API, providing prices, product data, and customer reviews. Of course, being a comparison shopper app, it is envisaged that multiple online marketplaces will be queried for the same product, to give a comprehensive list of available purchasing options.
Most Windows 8 Tablet PCs come equipped with a webcam or camera, allowing the capture of images, which can then be processed using OCR to convert this into a string of digits, which can then be fed into online barcode databases.
Using the code
As per Amazon's API documentation, a UPC barcode can be decoded using a call in the following format.
AWSAccessKeyId=[AWS Access Key ID]&
Which returns the response in an XML format.