Sunday, February 27, 2011

Status Update #4


 Current status:
What did you work on this week?
     We set up the MediaWiki website on our local computers and started playing with it and adding information to it. We are retrieving info/articles from Wikipedia and NYTimes, which we will eventually manipulate with a classification algorithm. We met with Dr. Caverlee, who was very helpful regarding different classification algorithms and also recommended us to scope down our goals, as we are working on a very big project and we are only two people. We continue to compile info.

What problems did you run into?
      We believe it is not possible to incorporate information retrieval code with the MediaWiki site, which means we will have  two websites. One to hold the wikis and one to display our info and results. Also, the NYTimes API doesn't give us the complete article but only their first paragraph, which is not ideal. 

What is the current overall project status?
        The project is on its way and we are working hard to make sure we don't fall behind.

What new ideas did you have? These ideas can be beyond the scope of this semester.
       We are know aware of the fact that we will probably need two different websites to make out idea work. We are also dividing all the info in two major sections: environmental and human rights/social justice.
      
The look ahead:
What is planned for next week?
       Have the website displaying the information we are retrieving from Wikipedia, NYTimes, and our own wiki whenever the consumer enters the name of a company. Parse and make sense of all the information we have in order to feed it into a classification algorithm. Start looking into the phone app. Meet with our mentor, Dr. Gill.
         

Friday, February 18, 2011

Status Update #3



Current status:
What did you work on this week?
       Carla did a lot of reading on the API’s we will need in order to extract information about companies and make sense of it. She  also started coding the extraction of NYTimes info from articles. Jaideep did some research on MediaWiki and how to use it in order to set up our website with it.  We have also been compiling info from companies in order to be able to trace back a specific product to its company. We have been organizing as well and selecting milestones we will like to achieve by the end of each week. Finally, we determined which software do we need and sent an email to Chris about it.

What problems did you run into?
      The only problem we ran into is that the software needed was not installed on the lab computers. Also, Jaideep has been really busy with interviews and that has slowed us down.

What is the current overall project status?
        I think the idea of what we want is pretty establish already. Also, the research made has been very helpful. We believe next week will be a very productive one.

What new ideas did you have? These ideas can be beyond the scope of this semester.
       This week was mostly about making sure all the resources we need are in place.
      
The look ahead:
What is planned for next week?
       Crawl the web with a couple API’s (probably NYTimes and BBC) and extract the information we will need. Set up the website with MediaWiki. Meet with Dr. Gill and Dr. Caverlee.

What received feedback will you be incorporating in the future?
          Nothing yet. 

Friday, February 11, 2011

Status Update #2: Week 1 Progress


This week, we allowed ourselves to gain familiarity with the technologies we will be using. Since we have never used these technologies and the development platform before, we thought it would be a better idea to look at the syntax and a few examples before we started coding.

The details are as follows:
  • Downloaded and played around with the windows phone developer tools.
  • Downloaded and tried a few small simulations on windows 7 phone emulator.
  • We were able to download Microsoft XNA studio and silver light, but we haven't really looked into it since developing the website is our top priority. So we are currently focusing on the tools that we will need to develop the website.
  • Downloaded the Microsoft Web Developer for designing the website using Microsoft technology. Since we have always used JavaScript and CSS to develop websites, it'll take a couple of days to familiarize ourselves with ASP.NET and other Microsoft technologies used for developing websites.
  • We have purchased the domain to host our project - www.ethicheck.info

Plan for next week:
Since the website development remains the top priority, we would like to have .NET server up and running. We will start working on the web development and we also plan to start working on the search algorithm, and we'll focus on crawling various databases using the different APIs.

Thursday, February 10, 2011

Team Proposal

Introduction and Motivation:
Which project has your team chosen?

EthiCheck

Why do you want to work on this project?

Global business currently operates without effective accountability. This has led to a proliferation of unfortunate and unethical business practices, like sweatshops, child labor, and reckless environmental destruction. Without an easy way to access information about these business practices, consumers are unable to effectively align their purchasing decisions to their beliefs, and this may cause consumers to support businesses practices that they may not wish to support.

Explain the importance of your proposed design.

We believe consumers have begun to demand better production practices and transparency. The markets for fair trade, organic, ethical and environmentally friendly products are major growth markets, and have held steady even through the recent economic downturn. As consumers demand more products that meet their values, the market will change to meet that demand as socially irresponsible businesses lose customers to more responsible businesses. This could potentially shape the future of business practices.

Project Plan:
Provide a general overview of your development tasks and their breakdown.

The project will be divided into two major parts: the website and the phone application. For the first part of the project we will focus on the website, its development, and the database. We will also look into several API’s in order to crawl different websites for useful information. Later in the semester we will concentrate on the phone application and that will mainly be a simplified version of the website with a barcode scanner capability.

Provide the answers to any project-specific questions.

➢ How will the application be used? Include a user scenario that provides insight into the application's functionality.

The phone application is design to be use on-the-go so it will have a simple interface and will be easy to use. A person could go to a supermarket and scan the barcode of the product and the tool would recommend to buy or not depending on the algorithm. On the other hand, the website would have more extensive information on companies and would allow people to add information as well.

➢ What will be the main affordances of the mobile application?

The mobile application will be as simple and easy to use as possible in order to give the consumer a better experience. It would allow barcode reading or typing and would give back less information that the website.

➢ How will people add information and interact with the EthiCheck website?

It would work as a wiki in the sense that people would be able to add any type of information related to the social responsibility of a company. The information will need to be somehow checked before going live. Also, they could just search for any company/product and the information would be populated. We could also divide the information entered into the system into different categories.

➢ Where will the information on various companies be gathered from?

The information could come from several sources:
- Web: crawling specific websites utilizing different API’s to extract relevant information and process it.
- Ourselves: our team going online to websites and dumping as much data into the system as possible
- Input from companies themselves: get companies to fill out their own info and then invite their supporters and critics to come and edit it
- Wiki: later on the common user would be able to input information into the system

➢ How will you construct the algorithm for determining the social responsibility of a company?

We will probably use a classification algorithm (NaïveBayes.)

• Explain initial architecture and its components.


We will use MediaWiki to build our website and we have already bought a domain name (ethicheck.info.) A main theme for our project is information storage and retrieval. The algorithm that we will have to use to crawl wikipedia, NY Times etc. to retrieve the relevant information is a part of the data mining technology. We will be programming in C#.NET, and we might have to use PHP to design the website and tools like Silverlight and Microsoft XNA framework to design the app. Designing the website is our primary concern at this point.

Team Bio:
For each team member, list relevant prior coursework, experience, and programming languages/toolkits that qualify you for this project.

Jaideep - I have never worked on the .NET framework or used PHP. But, I do have some familiarity with these languages. However, I had taken the information storage and retrieval class last semester and I have a rough idea about the algorithms and APIs to be used. Since we will be crawling databases to search for information and then store it on our database, we will need to know about databases. I had taken the intro class in databases and I think that knowledge might come in handy.

Carla - As Jaideep, I also took the information storage and retrieval class and as a final project I worked on a small subset of EthiCheck. I have also taken the intro class to databases, which I think will come in handy. I am actually not familiar with C# or the .NET framework, but I look forward to learning them. I have also always been very interested in social responsibility and I am an officer in two social justice organizations on campus. I think this experience allows me to think about the tool from the consumer perspective and not only from the programmer perspective.

Research Benefits:

Intellectual Merit - How important is the proposed activity to advancing knowledge and understanding within its own field or across different fields? To what extent does the proposed activity suggest and explore creative and original concepts?

We are not aware of any commercially available tool with the same focus as our idea. There are a few websites that provide rankings of companies and products based on their social practices. However, these websites have different missions from our own and do not provide the user accessibility component and the wiki style that makes our idea unique.

Broader Impact - How well does the activity advance discovery and understanding while promoting teaching, training, and learning? How well does the proposed activity broaden the participation of underrepresented groups (e.g., gender, ethnicity, disability, geographic, etc.)? To what extent will it enhance the infrastructure for research and education, such as facilities, instrumentation, networks, and partnerships? Will the results be disseminated broadly to enhance scientific and technological understanding? What may be the benefits of the proposed activity to society?

Our project aims to have a broader impact in several ways. In particular, by addressing several of the Millennium Development Goals of the UN. Here is how we envisioned the benefits of our project based on that:

1. Environmental Sustainability - Our product will help ensure environmental sustainability by promoting ethical products and providing consumers with the means to demand companies to be ethical by exercising their purchasing power.
2. Global Partnership – By demanding ethical companies the consumers will be shaping the future of business practices for the better and potentially improving millions of lives in many different countries around the world.
3. Gender Equality/ End Poverty and Hunger – The envisioned final goal of the project is to facilitate a chain of events that could somehow improve the life of people around the world that are affected by unethical practices.

These goals would essentially be affected by the public demand for global business to be ethical and environmentally friendly regardless of where they are doing business.

Hardware and software components:
What hardware will you be using out of the supplied list for this project? Justify your selection.

Our project does not focus on hardware. Since it's a website, it can work on any computer that has a web browser. As far as the phone app is concerned, we will be using a windows 7 based phone. However, we could simulate our code on the windows 7 phone simulation software which is downloadable from the Microsoft website. Thus, there won't be any need of any dedicated hardware components for the development of this project. In case the need arises a team member owns a windows 7 phone, which we can use to test our code once it is complete.

What additional hardware is desired by your project team? Justify your selection. Make sure that your project can function without these additions as they may not be obtainable.

Since all our hardware requirements are already met and since the software we will be using is freely available, we don't think that we will encounter any issues as far as the availability of hardware or software is concerned.

What software libraries/toolkits will you be using for this project? Justify your selection.

For designing the website we will either use PHP or JavaScript with CSS whichever we find convenient to use. All the software and toolkits that we will be using are open source and can be downloaded for free. Among these ones are Windows Phone developer tools, Windows Phone 7 Emulator, and Microsoft Expression Blend 4. For the development of the phone app we will need .NET framework, silverlight, and we may or may not use XNA framework.

Thursday, February 3, 2011

Status Update #1


Team Members
Carla Villoria and Jaideep Balekar

What did you work on this week?

  • Formed Team
  • Found some resources (information databases) that we will be needing to implement this app.
  • Designed a sample screenshot of the program


What problems did you run into?
Since almost no one has worked on similar projects before, there are very limited resources available. There are some existing databases, but unfortunately we can not access it and import all the information. We will have to manually perform checks for individual brands and gather the information. This might take up a lot of time and labor.

What is the current overall project status?
The project is currently in the pre-planning stage. We are currently working on gathering the information and resources that we'll need.

What new ideas did you have? These ideas can be beyond the scope of this semester.

Both the phone app and the website would give a recommendation on whether to buy/use a product/service along with a “goodness” score based on our classification algorithm. However, it would also provide information about the company to indicate how our recommendation was derived and to give the user the opportunity to make a more informed decision on his/her own. Also, if our recommendation were a “no buy” because we believe the company is unethical, then we would recommend a similar but ethical product that the consumer could buy. We also discussed having several categories, for example: human rights, the environment, social justice, etc, to make it more specific for each person, as someone might care more about child workers than environmental damage or vice versa. Another thing we could implement is some sort of labels like “made in United States”, “produced locally”, “international headquarters”, etc. 


Look ahead
Plans for next week


  • Extend and elaborate the initial proposal and finish the full project proposal.
  • Continue researching about the resources that we will be needing.
  • Research about the technologies and development platform that we will have to use.

Initial Proposal

Global business currently operates without effective accountability, and this has led to a proliferation of unfortunate and unethical business practices, like sweatshops, child labor, and reckless environmental destruction, which are supported and even demanded by the consumer’s search for low prices. However, we strongly believe that most people would choose not to buy from unethical companies if they knew about their practice. EthiCheck aims at providing this type of information. We believe tools like this have the power to change the future of business practices for the better.

EthiCheck would be a phone app and a wiki-based website that would expose the ethical and environmental impacts of companies to consumers in the most accessible, actionable way. This will allow consumers to quickly make small decisions regarding whether to buy a product or not based on their values. Both the phone app and the website would give a recommendation on whether to buy/use a product/service based on our classification algorithm along with a “goodness” score. However, it would also provide information about the company to indicate how our recommendation was derived and to give the user the opportunity to make a more informed decision on his/her own. Also, if our recommendation were a “no buy” because we believe the company is unethical, then we would recommend a similar but ethical product that the consumer could buy. We also discussed having several categories, for example: human rights, the environment, social justice, etc, to make it more specific for each person, as someone might care more about child workers than environmental damage or vice versa. Another thing we could implement is some sort of labels like “made in United States”, “produced locally”, “international headquarters”, etc.

There are several challenges on this project. Mainly, building a good database of current and relevant information about the social responsibility of companies around the world. Secondly, developing a good algorithm in order to accurately determine whether a company is ethical or not (or more likely gradients of that). Third, implementing it as a wiki so people from around the world can add information. Lastly, incorporating a barcode reader in our application so customers can just take a picture of the barcode of a product in order to get the information.