greenBean

Final Report

Kevin Merritt
Pallavi Damera
Justin Pai
Rick Chen
Blake Thomson


Problem description

People want to be greener, but they don't know how to accomplish such a difficult and abstract goal. Many people are unaware if their shopping practices are particularly harmful to the environment. And even those who are aware seldom feel like they have the knowledge or power to shop with less environmental impact. This need not be so, particularly in the domain of foods, where there is a wealth of product information available in the form of certifications, logos, ingredients, and reviews.

Solution Overview

What is greenBean? greenBean is a mobile application that acts as a single resource for shoppers to find information on products they want to purchase, or have already purchased. In order to track a user's purchasing history, greenBean is tied to one or several "club card" accounts, which automatically keep track of items the user purchases. greenBean decodes and compiles a wealth of product information to rate food items with a score of 0 to 5 beans, based on the factors of ingredients, packaging, manufacturing, and travel costs. By creating a uniform and easy to understand scoring system, greenBean guides shoppers into making smarter and greener purchases.


Tasks

Task 1: Search (Easy)

You are at the grocery store and want to buy granola, but you are not sure which brand is the best deal. You would like to compare many different types of granola based on price, but are also curious about how the different brands of granola differ in their greenBean score. Search for granola and choose the brand that you would like to buy.

This searching task involves just a few clicks and should be familiar to anyone who has looked up products using a computerized system before.

We chose this task because an important goal for greenBean is the ability to acquire product information for the purposes of comparison and awareness, and not all products have barcodes.

Task 2: Scan and Compare(Medium)

You are at the grocery store and need to get laundry detergent. You found Kirkland detergent but want to evaluate how environmentally friendly it is. Scan the product bar code to look up Kirkland Detergent details and to help you decide if it is the type of detergent worth buying.

Users familiar with self check out machines in grocery stores should be able to understand the concept of using a program to scan an item. However, it may require the user to learn a new procedure, thus it is harder than searching for a product using keywords.

We chose this task because an important goal for greenBean is the ability to acquire product information for the purposes of comparison and awareness, and scanning barcodes has the potential to be a faster, more accurate way to query for this information.

Task 3, greenBean Score History: Difficult

You notice that your average greenBean score for this month is very low, and you want to know why your score is so low. Navigate your shopping history to investigate the cause of your low score, in order to get better scores in the future.

This task is difficult because it requires the user to have an accurate mental model of the greenBean scoring system The user must understand that the average score shown on the home screen is simply an average of the scores of all the items purchased since the beginning of the current month. This task ends when the user feels like they understand the reason for their low score, but the task does not lead the reader on how exactly to gain this understanding.

We chose this task because an important goal for greenBean is the ability to change shopping habits based on a user's awareness of his/her personal environmental impact as a result of their shopping decisions.


Scenarios





Which evaluation technique was most valuable to your prototypes and why?

The evaluation technique that was most valuable towards the improvement of our prototypes was the on-line usability study. From this study, we learned two important things about greenBean:

1) Users do not understand what a greenBean score means, or what the usefulness of the "Check My Score" screens is.

2) The many issues surrounding the ability to filter and choose food products to avoid were not solved with our first revision to the prototype, so it is revealed that this feature is not a core goal for greenBean.

These two conclusions led to the re-thinking of our tasks to better emphasize the core goals of greenBean. During this process, an idea was introduced to store shopping history as individual shopping trips, which in turn could display the items purchased during that trip. By restructuring greenBean's shopping history in this way, the application was more able to live up to its ultimate goal of changing shopping behavior.

Final Functionality

Home Screen

Search


Search Results

Search Sort

Product Detail

Trip History

Item History

Store History

Trip Detail

Scanning


What was left unimplemented?

For the latest version of the interactive prototype, several features that would be a part of the completed application are still missing. The current prototype does not connect to a database of any kind, and therefore it has only static, limited product information. Because of the lack of a backing database, Wizard Of Oz techniques were used to enable the successful completion of the first two tasks. Specifically, entering any search term when searching for a product brings up a listing of different types of Granola, and scanning any product bar code brings up the product details for Kirkland Detergent. Furthermore, while portions of the product detail screen are filled with the correct data, a substantial portion of the information on this page is hard-coded to correspond to Kirkland Detergent.

Also, the application is unable to store new data based on shopping history. This is because there is no connection to any "club card" database, which is how the application would track new shopping trips. This is why there is also no interface for a user to input their "club card" account information, simply because this task seemed unimportant, and does not have an impact, compared to the three described earlier. The previous quarter's team did some preliminary work on this interface which can be seen below.

Tools we used

The tools available for the creation and design of the user interface for Android applications are very early, and mostly not worth using. One such tool, DroidDraw, is intended to assist in creating the XML files that Android applications use to define layout of interface widgets, colors, and text. While initially useful to learn the basics of this XML format, DroidDraw became clumsier to use than manually writing these XML files by hand. The process of creating and modifying these XML files was painful, because in order to accurately test them, the entire application had to be compiled and installed onto a device or emulator.

On the other hand, the development environment for creating the Java code needed for the underlying structure of the application was helpful, and the ability to test the application on an emulator even before we received devices was extremely useful. The prototype in progress which worked in the emulator immediately worked on the devices once we got them. Overall, the Android platform is incredibly easy to write code for, but the documentation and tools needed to make it an all-star platform are still very young.

Lastly, SVN was used to control the many iterations of the prototype as three group members were writing code. Although it may have been a little difficult to set up and learn how to use at first, this technology was helpful in maintaining the consistency of the prototype, and served as a useful tool for comparisons of prototypes of different revisions.