Adventures in App Development

In early 2011, our team set out to add a vital addition to the Free2Work application: product scanning.  This addition is intended to provide our research to users when they need it most—while they shop.  Before we could build this new feature, we had to answer a variety of complicated technical questions, each with a complicated solution. 

We began by identifying how our app’s functionality differed from other apps with similar purpose.  Unlike most normal barcode scanning applications, our app needed to connect each individual scan to information that we had created.  Linking our assessments, news stories, industry summaries, and factoids to the product a consumer was holding required a multistep search process.   

To begin, we needed to locate a robust source of barcode information to search against. We presumed that a variety ofrobust data sources existed, allowing us to map our information to specific products Universal Product Codes (UPCs).  Through hours of research, consultation with experts, and testing, we discovered two constraints that we had to overcome:  first, there is no central database that provides every products UPC code that exists.  Second, at times, UPCs can be connected to multiple products.  As UPCs are not exact identifiers, there was no way for us to recognize whether the product a consumer scanned was a bottle of Vitamin Water or a Dragon Ball Z doll with the same UPC.  

To capitalize on the amount of correct returns we could provide our users, we ended up choosing to search against Amazon.com, as it was the most robust and accessible source of UPC information.  The Free2Work app functions by sending a scanned barcode to Amazon.com to see if Amazon can identify the product and brand that produces it. If it identifies the product and brand, then we search our database to see if we have an assessment for that brand or information for the industry.  If we can answer either of these questions, we are able to provide the user with the brands-specific scorecard or industry-related information.

In our testing, however, we discovered that only 65% of scans will return useful information to us.  The remaining 35% of barcodes will not be recognized by Amazon.  Moreover, at times, multiple products will be associated with the same barcode.  We realized that the complexity of barcode datasets was an opportunity—and an opportunity that could be realized if we were able to harness the power of our app users effectively.  The next question we had to answer was obvious:  how?

Given the gap in available data and that a UPC may be associated with multiple products, we knew that not every scan would produce a straight-forward return, and that the app user was best suited to validate the information we returned to them.  Therefore, we created a series of validation steps that allowed the user to confirm whether or not the information we were providing them was consistent with the product they had scanned.  Any time an app user scans a barcode, we present to them a list of products connected to that UPC.  Sometimes that means we present one product.  Other times, we present multiple products.  The app user is best situated to tell us whether or not they are holding a bag of Kettle Chips or a copy of The Berenstain bears

After selecting the appropriate product, we log this information for the purpose of improving the accuracy of the app and reducing the need for consumer validation.  Whenever validation is required, the “Help Us Out” function allows the app user to input their information to improve future returns.  Additionally, this valuable information is fed back to our research team, so we can further learn about where the product was produced, what materials are within the product, and if a certification system—like fair trade—is used.

 

Finally, we needed to determine what information we would be able to provide to our app users, when they did get an accurate return.  At the beginning of 2011, we began a process that greatly improved our evaluation tool.  We improved our assessment tool by analyzing the three different levels of production based on what industries they operate within and what inherent risks exist in their supply chain.   Then, we modified the assessment process to include over 60 questions to gain a more comprehensive understanding of how industries manage their supply chain (To learn more about our evaluation process watch this video). These drastic modifications made the assessment tool a much more in-depth and accurate tool for assessing companies. 

We work diligently to ensure our information is as accurate as possible, meaning any one assessment can take up to three months to complete and requires up to 20 hours of effort. To date, we have evaluations for around 20,000 products produced by over 300 brands—a number that pales in comparison to the amount of products any consumer might scan. 

In addition to these evaluations, we also focused our research and analysis on seven industries known to be ethically problematic, and provided app users with this information.  If you, as a consumer, were to scan a product outside one of those industries, we would not be able to provide you with any relevant assessments.  Therefore, we labored to create a variety of data points including product grades, industry news, factoids, and industry summaries.   If we don’t have a grade for your favorite brand, we are still able to tell you what we do know about the industry. 

Our team has worked hard to create an app that tells consumers the Story Behind the Barcode of the products they purchase—an impressive feat for a group of people that are more likely to major in human rights than computer science.

-Kilian Moote

Senior Director for Free2Work