Food Oracle combines the functionality of a handheld mobile device with the available data storage of a web-based application. The mobile app is being developed for use on Android devices and requires that they have an inbuilt camera. Using the handsets’ camera as a barcode reader, the application retrieves product information using a REST interface. The web application was created using Ruby on Rails with Twitter Bootstrap.

The goal of the project is to provide consumers with all of the information pertaining to the product being scanned. This should include ingredients, nutritional values, dietary type, and supply chain information for all types of food & drink as well as pharmaceutical products.

Products can be easily added to the web app via browser access, whilst the REST service provided remote access using either json or xml

In this shot we can see the application making use of the ZXing barcode scanner library on an HTC Desire – Android Phone

During the development various third party barcode scanning libraries have been tested including ZXing and Scandit. Naturally the third party libraries I looked at needed to support Android but I also took consideration to the fact that the completed app will likely be ported to iPhone so cross-platform availability was another factor.

As well as the barcode reader Scandit also provide a web-based API for retrieving product information, however it seemed to be too limited for the goals of this project. I would’ve liked to retrieve data from Barcoo but they do not seem to provide an external API. Ideally this is the sort of thing that should be provided by the FSA.