Areas of Science Computer Science
Sociology
Difficulty
Time Required Long (2-4 weeks)
Prerequisites None
Material Availability This Computer Science Project requires the use of a computer with Internet access. An Android device is helpful but not required.
Cost Very Low (under $20)
Safety No issues

Abstract

How can you motivate students and teachers to make positive changes in their school? Why not try using what is in everyone's pocket—a smartphone! With this project you'll try your hand at harnessing the power of crowdsourcing and mobile technology by creating an app that motivates users to change their school for the better. Do not worry about the app creation, the MIT App Inventor tool makes that part easy; the instructions provided here will lead you through it step-by-step. Will your crowdsourcing strategy work? There's only one way to find out!

Objective

Follow simple steps to create your own mobile app and find out if crowdsourcing can be an effective way of cleaning up a school.

Share your story with Science Buddies!

I did this project Yes, I Did This Project! Please log in (or create a free account) to let us know how things went.

Credits

Sabine De Brabandere, PhD, Science Buddies

Cite This Page

General citation information is provided here. Be sure to check the formatting, including capitalization, for the method you are using and update your citation, as needed.

MLA Style

De Brabandere, Sabine. "Can You Crowdsource a Better School Environment?" Science Buddies, 22 Jan. 2021, https://www.sciencebuddies.org/science-fair-projects/project-ideas/CompSci_p052/computer-science/can-you-crowdsource-a-better-school-environment?from=Newsletter. Accessed 7 May 2021.

APA Style

De Brabandere, S. (2021, January 22). Can You Crowdsource a Better School Environment? Retrieved from https://www.sciencebuddies.org/science-fair-projects/project-ideas/CompSci_p052/computer-science/can-you-crowdsource-a-better-school-environment?from=Newsletter


Last edit date: 2021-01-22

Introduction

Tired of seeing your school with wind-blown trash on the grounds, graffiti on restroom doors, and grimy lockers? Do the students seem to ignore the problems? How could you grab their attention? How could you motivate them to fix up the school and keep it clean?

First, let's investigate why a clean and tidy school matters. Research has shown that people are more productive, feel safer, and behave more kindly in clean environments, making them better places to live for all of us (see Figure 1). Clean environments also encourage people to take the necessary actions to keep things clean. Reasons enough to take the first step in making your school clean and welcoming!

Children riding scooters on a sidewalk
Figure 1. Research has demonstrated that a clean environment encourages positive, kind behaviors.

Recently, scientists and managers have managed to accomplish huge jobs by crowdsourcing. They outsource, or pass on, parts of their tasks to the general public answering an open call to action. The reasons that motivate people to participate in a crowdsourcing campaign can include their desire to contribute in ways that make them feel good about themselves, or a desire to use their knowledge of a specific subject, worldview, or spiritual belief to contribute to a large-scale project (something larger than they could do on their own). The prospect of a prize, recognition, or personal advantage can also be motivational.

In this project, you will explore whether or not you can use crowdsourcing to perform the cleanup task at your school. You will do this by creating an app that harnesses the power of crowdsourcing. The word app is the abbreviation for application software. It refers to a self-contained computer program designed to run on a mobile device like a smartphone or tablet. But do not worry, there is an easy way to build apps even if you have had no programming experience. Anyone, regardless of their experience level, can build an app using App Inventor, a simple programming tool developed by the Massachusetts Institute of Technology (MIT).

Using App Inventor you can easily create apps for Android devices. Android is a type of mobile operating system, created by Google, popular on many smartphones and tablets (its main counterpart is Apple's iOS). The settings of your device can tell you which operating system your device uses. App Inventor apps only run on Android devices. But you do not need an Android device to create an app with App Inventor. You can use any computer to create your app and a free downloadable emulator (which mimics the operating system of one computer on a different computer) to test it. The users of the app—the crowd you would like to deploy —will need to have an Android device to run the app, however.

Before you start coding, you need to form an idea of how your app will work and what it is supposed to accomplish. Computer software engineers call this set of descriptions the user requirements. First, imagine what your crowd might look like: a small group of peers; individuals attending the school; who, exactly? What is their age range? Once you have identified your target crowd, brainstorm on what might motivate this group to contribute: a point system; a fun activity; social prestige; a good feeling about contributing to a bigger cause? Do you see a potential for a success story? What will the app look like? What will the app do so it fulfills the task of cleaning up the environment as well as the users' need to be entertained and motivated? How will the user interface look?

If this is still a little vague and you do not have an idea of what the user requirements of your app will be, do not worry. The Procedure will guide you through creating a school-cleanup crowdsourcing app where users earn points for performing cleanup actions and then store all entries in a table residing on the Web. Once you have built this basic app, you can pursue several rounds of improvements or changes to customize the app and make it the best product you can. Then you can test it out in the real world and see if your app can actually motivate a crowd of users to improve your school!

Terms and Concepts

  • Crowdsourcing
  • App
  • App Inventor
  • Android
  • User requirements
  • User interface
  • Variables
  • List
  • Spreadsheet
  • Executable
  • Source

Questions

  • Is it important to have a good idea of who the users will be, as well as where and when the app will be used, before you start building it? If so, why and where in the design process would you use this information?
  • If you ask students what would motivate them to participate in a school-cleanup, what do you think they will answer?
  • Quality control (having the cleanup tasks done well) can be a challenge when you use crowdsourcing. Do you expect quality to be a limiting factor for the job performed or the data collected during your school cleanup?

Bibliography

News Feed on This Topic

 
, ,

Materials and Equipment

  • Computer with access to the Internet. For more information on system requirements, please visit Setting up App Inventor 2. Scroll down to the end of the page to find the system requirements.
  • (Optional): Android phone or tablet. This is recommended, but not required, for testing your app.
  • (Optional): Volunteer(s) who could test your app.

Experimental Procedure

Note: This engineering project is best described by the engineering design process, as opposed to the scientific method. You might want to ask your teacher whether it's acceptable to follow the engineering design process for your project before you begin. You can learn more about the engineering design process in the Science Buddies Engineering Design Process Guide.

Getting Started

Before you embark on building your school cleanup crowdsourcing app, you need to perform a couple of small tasks: First set up your computer and Android device or emulator and then work through a couple of tutorial apps to become familiar with App Inventor 2. This section will walk you through the tasks. Don't get discouraged; once you get App Inventor running on your computer, you will probably finish the first two projects in less than an hour!

  1. Follow the instructions listed on this App Inventor setup page to prep your computer and Android device or emulator to use the App Inventor.
  2. Have a quick look at the Designer and Blocks Editor overview page.
  3. Now, use the introductory TalkToMe Text-to-Speech App project available from the Beginner Video Tutorials page to build the TalkToMe app. You will learn:
    1. How to create a new project;
    2. How to connect your computer with your device;
    3. How to use the design mode to design your app;
    4. How to use the block mode to add functionality;
    5. How to code a button; and
    6. How to use the text-to-speech block.

    Note that what an app does is often referred to as its behavior in computer language. The blocks editor is where you code the behavior of your app. The user interface, or how the user interacts with the device, is specified in the design mode.

  4. Before you build your next app, save your project using the Save project command found in the Project drop-down menu, as shown in Figure 2.
Screenshot of the start menu in the MIT app inventor at appinventor.mit.edu

A screenshot from the program MIT app inventor shows menu options that allow projects to be saved. At the top of the app window a drop-down menu labeled "Project" can be selected to reveal a menu item labeled "Save project" or "Save project as…".


Figure 2. The Project drop-down menu enables you to save a project, so you can come back to it at a later time.
  1. Use the Extended TalkToMe project available from the same page to learn some more basic programming skills like:
    1. How to open and alter an existing project;
    2. How to ask information from the user and store it in a variable; and
    3. How to use variables.

    As a programmer, you will frequently want your program to "remember" information like a value, word, or sentence. For example, if your program requests information from the user, or if it calculates a value, you will want to remember it somewhere so you can use it later. The way your program remembers things is by storing them in variables. In essence, variables are placeholders; they can hold information and be overwritten by new information. Before you can use a variable in a program, it needs an initial value. In this project, the user provides the initial value by typing in text.

  2. You can save this project under a different name using the Save project as... command found in the Project drop-down, as shown in Figure 2.
  3. Before you embark on your own project, create the Magic 8-ball app. This will help you get more comfortable with MIT App Inventor and teach you:
    1. How to build and use a list;
    2. Display a random entry from the list;
    3. Respond to an event;
    4. How to package your app, so it stays on your phone when you disconnect from the Internet.

    A list is a tool that can be used to store multiple pieces of information at once. You can see it as an ordered series of variables. Lists are used to store related data. As you learn to program, you will soon realize lists are commonly used and very handy.

Set the User Requirements for Your Crowdsourcing App

As mentioned in the Introduction, this science project will walk you step by step through building a school-cleanup crowdsourcing app. It will enable you to get an app working in record time. Do not worry if you do not understand all the terms and concepts mentioned in the user requirements below. They will become clear as you go through the project and gain familiarity with MIT App Inventor and spreadsheets. Once you have this basic app working, you will be in a better position to pursue iterations of changes to personalize the app and make it your own design and vision. Or, you can take the skills you learned and make any other app you like from scratch.

Below are the basic user requirements for the school-cleanup crowdsourcing app. Remember, once you get the basics working you can circle back and customize it to be just right for you and your audience. Requirements:

  1. The app lets users enter cleanup actions on an Android devise.
  2. For each cleanup action, users enter the following mandatory information: their name, the type of action, and whether it is completed. Users have the option to leave comments in a comment field.
  3. The user interface looks similar to the user interface displayed in Figure 3.
Screenshot of a cleanup project form made in the MIT app inventor at appinventor.mit.edu

A cropped screenshot shows an example form made for a school cleanup app which was created in the MIT app inventor. Four fields are required to submit the form: name, cleanup action, cleanup status and comments. A submit button is located at the bottom of the form.


Figure 3. A simple design for the user interface of the school-cleanup crowdsourcing app.
  1. The app returns an Incomplete entry pop-up message in case any of the mandatory fields were left blank. The pop-up can be closed, enabling the user to complete the entry and submit it again.
  2. Extension: Users earn points for each action entered. The app keeps track of the user's points:
    1. The points starts at 0 each time the app is restarted.
    2. Each cleanup entry will earn the user 5 points.

    (Note: This simple approach will let you gain familiarity with MIT App Inventor. Once you have done that, you can expand your app to do other things, like keeping track of point results of previous sessions or differentiating point rewards per cleanup-action category. More suggestions are in the Enhance Your App section, below.)

  3. With each cleanup entry submitted, the app will:
    1. Create a pop-up window with the following information:
      1. thank-you message with the data added to the spreadsheet, and
      2. if applicable, the user's new score.
    2. Optional : Return a spoken funny note, encouragement, or nice-to-know fact around environmental issues with each entry. The app picks this note at random from a list of return messages.
    3. Return a "Please try again" message in case the app could not add the data to the table.
  4. The app stores data for each entry in an spreadsheet residing on the Web. We will refer to this spreadsheet as the School-Cleanup Table.
    1. Each user will have edit permission to the School Cleanup Table. This is needed so users can add entries to the table.
    2. Only a restricted number of people will know the link to the School Cleanup Table and be able to work directly with the data.
  5. The app stores the following data for each entry in the School Cleanup Table:
    1. Date: text or date field, formatted month/day/year hours:minutes:seconds.
    2. Name: open text field.

      Note: You might change this to a drop-down list if you would like to make the app a contest between classes. A drop-down ensures that each entry uses the exact same format, enabling easy selection and filtering of your table later.

    3. Cleanup action: drop-down list with the items of your choices. Possible choices could be:
      1. "Trash removal"
      2. "Washing equipment (e.g., lockers, tables, benches)"
      3. "Reporting graffiti"
      4. "Reporting broken equipment (e.g., leaky faucet)"
      5. "Other" .

      Users will reflexively be looking for the items in the list. Influence their behavior by choosing items you feel most need attention.

    4. Status: A drop-down list. Suggested choices:
      1. "Completed"
      2. "Needs attention— please specify in comments"

      This will enable the app to collect data that can be passed on to the school repair service.

    5. Comments: open text field.

Build the Spreadsheet and Script

Practice making a Google spreadsheet and using a script to add data to the spreadsheet.

  1. If you are new to Google Sheets, the "How to use Google Sheets" in the Bibliography will help you get started, or ask a friend or teacher to explain how to create and change a Google Sheet document, and how to set its read and write permission.
  2. Once you are somewhat familiar with Google Sheets, try the HOWTO: Create a Google Apps Script Web App bound to a Spreadsheet, steps 1–8. This will help you write and execute a Google App script that adds a line of data to a spreadsheet. Figure 4 shows how to extract the spreadsheet ID from the spreadsheet URL.
finding the spreadsheet id of a google spreadsheet with url
Figure 4. The spreadsheet ID of a Google Sheet spreadsheet—the highlighted part— is part of the spreadsheet URL.
  1. The spreadsheet you will need to create first should have four columns: "name", "pizza", "drink", and "comment". Create a new Google Sheet with these column headings, then create a Script Web App that adds one line to this table. An example of the code is listed below. Remember to save the script after each change and deploy it before testing a change!

    Function doGet(e) {
    var ss = SpreadsheetApp.openById("<PASTE YOUR SPREADSHEET ID HERE>");
    var sh = ss.getSheetByName("Sheet1");
    var name = e.parameter.name ;
    var pizza = e.parameter.pizza ;
    var drink = e.parameter.drink ;
    var comment = e.parameter.comment ;
    sh.appendRow([name,pizza,drink,comment]);
    return ContentService.createTextOutput("Success: " + name + ", " + pizza + ", " + drink + ", "+ comment + " added");
    }

Build the App

  1. Get a jump start—build the Pizza Party App.

    Storing data in a table on the Internet is not a task for the beginning app inventor. To give you a jump start, follow the tutorial to build a pizza-ordering app. Afterwards, we will give you instructions on how to change the pizza-ordering app to a school-cleanup crowdsourcing app.

    1. Navigate to Pizza Party with Fusion Tables for App Inventor 2.
    2. Use the green button on the page to download the source code and save the Pizza_Party_MIT_2016.aia file on your computer. (Note that you can find a brief explanation of the term source code in the section entitled Package and Share Your App, below.)
    3. Load the code in App Inventor:
      1. Open App Inventor and select the Project drop-down from the top menu bar.
      2. Select Import project (.aia) from my computer... as shown in Figure 5.
      3. Navigate to your stored .aia file and load the Pizza Party source code.
      4. You will see the user interface Screen 1 in the designer mode and associated code in the block mode appear. A warning message will inform you that App Inventor no longer supports Fusion Tables. Do not worry, the explanation below will show you how to change the app to use Google Sheets instead.
    4. Use the Save project as ... function to save this app under a different name.
Screenshot of the project menu in the MIT app inventor at appinventor.mit.edu

A screenshot from the program MIT app inventor shows menu options that allow projects to be imported. At the top of the app window a drop-down menu labeled 'Project' can be selected to reveal a menu item labeled 'Import project' from my computer ...'.


Figure 5. The Project drop-down menu enables you to load the source code of a project by loading an .aia file stored on your computer.
  1. Link your Pizza Party app to the spreadsheet you just created.
    1. First add a "Web" component by dragging the "web" component from the palette-connectivity menu to your phone display. Figure 6 shows where to find this component.

      The Web component is listed under the connectivity list in the Designer mode of app Inventor.
      Figure 6. Find the "Web" component in App Inventor in the designer view under "Connectivity".

    2. With your Pizza Party project open in App Inventor, navigate to the block mode. The first few lines of code initialize three global variables: TABLE_URL, TABLE_ID, and SERVICE_ACCOUNT_EMAIL (seen Figure 7). These variables allowed you to make a connection to Fusion Tables, and as such, these are no longer needed. Change the TABLE_URL variable to read SCRIPT_URL. Then, paste the URL of the Google script you created the in section Build the Spreadsheet and Script point 3 in the argument as shown in Figure 8. Finish by deleting the TABLE_ID and SERVICE_ACCOUNT_EMAIL variables. Because the spreadsheet ID and the sheet name are hard coded in the script, the URL to the script is sufficient to connect to the spreadsheet.

      Blocks initializing the global variable TABLE_URL, TABLE_ID, and SERVICE_ACCOUNT_EMAIL. The variables are cross out.
      Figure 7. The blocks initializing the global variables associated with Fusion Tables are no longer needed.

      Example blocks initializing the ScriptURL variable to the URL of the Google Script macro create earlier.
      Figure 8. Block initializing a global variable that holds the script URL.

    3. Next, adjust the blocks that add data to the spreadsheet. To do so, you need to re-write the InsertDataInTable function. Figure 9 shows how to code this block. It first creates a string containing the script URL appended with the four parameters. The function RemoveSpace is needed to replace all spaces in the text passed along as parameters by the symbol "%20", which reflects the way the script wants to receive the parameters. At the end of the block, a function that resets the form is called. This ensures all fields are clear before a new order can be placed.

       Illustration of the blocks  that make up the InserDataInTabe function. call the Google Script  with four parameters, the username, the pizza choice, the chosen drink and the comment.  A function first replaces the spaces in the text by 20% so the script adds the data correctly to the datasheet.
      Figure 9. Block that calls a web-based script with four parameters. A function RemoveSpace is used to replace all spaces by "%20" in the parameters.

    4. Add the block shown in Figure 10, it ensures the response of the script is displayed on the user screen.
       Block that displays the response received after executing the script.
      Figure 10. Block that displays the call to the WEB1 URL response on the user screen.

  2. Go back to the designer mode and delete the FusiontablesControl1 and WebViewer1 components.
  3. Test your Pizza Party app.

    After giving a pizza order entry on your phone or tablet, do you see it appear in the spreadsheet? If not, try these troubleshooting tips:

    1. A couple of areas in your app can commonly contain errors:
      1. Incorrect script URL or spreadsheet ID.
        Solution: Recheck and correct the script URL (in App Inventor) and/or the spreadsheet ID (in the script)— see section Build the Spreadsheet and Script, above.
      2. Incorrect permission to execute the script URL.
        Solution: Check and correct the script permission settings.
      3. The column names in the spreadsheet differ from the column names used in the Pizza Party app.
        Solution: Compare your spreadsheet column headings carefully with the ones used in the Pizza Party app. You can find the headings used in the app in the Web1.URL argument string. The column headings associated with the block shown in Figure 9 are: "name", "pizza", "drink", and "comment". Note that the names of the columns in your spreadsheet table need to match exactly the ones used in your app code, so pay attention to the details here.
      4. The column types in the spreadsheet differ from the column types used in the arguments.
        Solution: to start, format all columns in the spreadsheet to contain strings and test the code. Then, if you need to save some data in a different format, change one column at a time and check after each change.
      5. Parameter(s) contain space(s). If you are able to add a line of data when all parameters are single words, but not when some contain multiple words, there is probably an issue with your "RemoveSpace" function.
        Solution: Check the RemoveSpace function. The segment " " should contain exactly one space.
        If your error message provides you a clue to one of these common mistakes, check that part and try again. If your error message does not give you any clue, check all of the above carefully.
    2. If all of the above fail, try step 4a, above, one more time. If you still have no success, contact the MIT App Inventor Forum. Look there for existing help for your issue; if need be, post a question yourself.
  4. Add an extra column before the others with the data/time to your spreadsheet, change the script so it reflects this addition, and adjust the InsertDataInTable function as shown in Figure 11. Test the new code before moving on.

    Illustration of how to use the Clock component to get a time-stamp. A formatting function is used to receive the date and time in a legible form.
    Figure 11. Block to call a web-based script with five parameters, the first one being a date/time field.

  5. Once you have the Pizza Party app running, go through the code and adjust it step by step, implementing the school-cleanup app requirements. Make sure to test your altered app after every step and save it as a new, working version, so you can come back to it if needed. Save your current working app under a new name, like "School_Cleanup_Version1."
  6. As a first step, change the user interface to reflect your school-cleanup app. You will do this in the design mode of your project.
    1. In the Properties section of each list picker component, change:
      1. the questions on the list picker label;
      2. the entries of the lists;
      3. display color of your list picker label.

      Note that as you go through the code in block mode later, you will come across a few more places where you will need to change the text displayed on the list picker labels. You can change these as you come across them.

    2. Change the names of the list pickers to reflect your new school-cleanup app. This will make your code more readable. Figure 6 shows you how to change the name of a component.
    3. Test your app and debug it where needed.
    4. Save your app as version 2.
Screenshot of component properties in the MIT app inventor at appinventor.mit.edu

A screenshot from the program MIT app inventor shows the properties listed to the right of a component. Components are found on the left side of the MIT app inventor page in a side bar. The components can be renamed and there is a button at the bottom of the left side bar labeled 'rename' which will save any changes made.


Figure 12. App inventor enables you to rename a component easily.
  1. Change the name of your spreadsheet and the names of the columns in your spreadsheet.
    1. Go to your spreadsheet and rename it to "School Cleanup Table"
    2. Change the column names "Pizza" and "Drink" to reflect your new app. Possible descriptive names could be "Action" and "Status."
    3. In your app, navigate to the block mode. Look for the InsertDataIntable query block and change the parameter names to reflect your new column titles. Figure 13 can help with this task.
    4. Test your app and debug it where needed.
    5. Save your app as version 3.
The block that calls the script with 5 parameters, where the parameters 'pizza' and 'drink' are circled.
Figure 13. To enter data in spreadsheet, the names of the parameters passed along to the script need to match the column names in the spreadsheet. "Date," "Name," "Pizza," "Drink," and "Comment" are the column names in this example.
  1. It is optional, but recommended, to change the names of global variables.
    1. In block mode, pick one variable at a time (like the global variable "pizza") and replace it consistently throughout the code to a name that reflects the new content (like "action").
    2. Test your new code thoroughly before you start changing a second global variable (like "drink").
    3. Test thoroughly again; adjust where needed.
    4. Save your app as version 4.
  2. Change your confirmation and incomplete submission messages.
    1. Look through the code in block mode. Identify the incomplete submission messages and change them to reflect the new app.
    2. Test if your new messages appear well.
  3. Code the actions to be taken after each submission.
    1. Look for the block shown in Figure 10 to identify the event happening just after submitting an entry to the spreadsheet.
    2. Recode the block and/or the script to display a thank-you message after each entry.
    3. Keep in mind you will add code in the next step to display the user's new points.
    4. Optional: Add code so the app returns a spoken message picked at random from a list of return messages. Look back at the Magic 8-ball tutorial from the Getting Started section to determine how to code this feature.
    5. Test if your new messages appear well and change the code where needed.
    6. Save this version as version 5.
  4. Add code to keep track of the user's points. You do all of this in block mode.
    1. Add a new global variable to keep track of the score.
    2. Initialize the variable as you open the app.
    3. Add points to the variable each time an entry is submitted.
    4. Display the score together with the thank-you message after each successful entry.
    5. Test your app; adjust it where needed.
    6. Save your app as version 6.
  5. Thoroughly test your app.
    1. Make a list of all the possible scenarios you can think of. The list below can get you started:
      1. All fields nicely filled in.
      2. Name field left blank.
      3. Name field text with uncommon characters.
      4. Very long comment message.
      5. Users accessing from phone or tablet.
      6. A second user (other than yourself) using the app.
      7. Etc.

      (Note: Going over the user requirements might help you complete the list.)

    2. Test all the scenarios listed above. Even though some scenarios may not yield valid entries in the table, the app still needs to handle the issue appropriately with a clear return message to the users.
    3. Make changes or improvements where needed.
    4. Make sure to rerun all test scenarios after you have implemented changes.
    5. Save your app as version 7.

General note: The method presented above is just one way of coding your school-cleanup app. You may discover totally different ways of writing the code that work just as well— or even better! Can you explore App Inventor and come up with a different way to write the program?

Enhancing Your App

The steps above complete a school-cleanup crowdsourcing app. You can now let your imagination run wild. What did you envision for your app? Here some questions to get you started:
  • What motivates your target users? Can you implement this in your app?
  • What entertains your target users? Can you implement this in your app?
  • Can you add some just-for-fun features to the app? Should it be more game-like?
  • How can you improve the aesthetics of the user interface?
  • What is in it for the school? What will motivate the principal or school personnel to allow phone use in the school?
  • How will the school-cleanup data table be used?

If you can, talk to your target users and school personnel, show them your current app, and listen carefully to their feedback. This will guide you in making improvements that have the biggest impact.

  1. Some changes you might consider are listed below.
    1. To encourage users to perform the longer cleanup actions like washing tables, let them earn more points for performing those actions.
    2. Turn it in to a game, and add a time component to help make it more competitive and motivation immediate action.
    3. Keep track of the score when users log out so they can add to it next time. Hint: You might need the TinyDB component of App Inventor to implement this feature.
    4. To encourage users to continue the next day, record the time of their last entry together with their score. Give extra points when a new entry occurs— for example, after one day.
  2. Each improvement iteration should consist of the following steps:
    1. Specify the change or improvement in your user requirement.
    2. Implement the changes.
    3. Test your new app.

    The following page will help you understand the Engineering Design Process.

  3. Consult the Bibliography to find additional links to MIT App Inventor tutorials and libraries. They can be a great source of inspiration and help.

Package and Share Your App

Decide on how you would like to share your app. You will want to share your app with the users in executable form, which means it can be installed and run on other Android devices. You can also share the source code (the text listing of commands for an executable program or app) so other people can copy it on their computer, open the project into App Inventor under their account, and work on changes if they wish to. There is also the option to distribute your app on the Google Play Store.

The directions on sharing and packaging apps on the MIT App Inventor site will guide you through the process.

Evaluate the Impact of Your App

Go back to your fusion table and look at the data. Graph how many open reports there are about needed school improvements versus closed events (successfully solved cases) over the period of time people used your app. What does the data show? Did the crowdsourcing app work? Did the school environment improve?

.

If you like this project, you might enjoy exploring these related careers:

Log in to add favorite
Career Profile
Computers are essential tools in the modern world, handling everything from traffic control, car welding, movie animation, shipping, aircraft design, and social networking to book publishing, business management, music mixing, health care, agriculture, and online shopping. Computer programmers are the people who write the instructions that tell computers what to do. Read more
Log in to add favorite
Career Profile
Any time there is more than one person in a room, there is potential for a social interaction to occur or for a group to form. Sociologists study these interactions—how and why groups and societies form, and how outside events like health issues, technology, and crime affect both the societies and the individuals. If you already like to think about how people interact as individuals and in groups, then you're thinking like a sociologist! Read more


Variations

  • Create an app for a phone or tablet that increases awareness of environmental issues or prompts users to live a more sustainable lifestyle, such as an app that facilitates carpooling, walking, or cycling to school.
  • Transform the school cleanup into a neighborhood cleanup. What adjustments would be needed? How will you motivate people from your neighborhood?
  • Could you add an option where users email you before and after pictures of their action? Can you enable them to upload pictures on the Web and add the link in your spreadsheet?
  • Create a duo of apps. The first one would enable users to enter locations needing cleanup in spreadsheet, including the geographic coordinates of that site. The second would be a scavenger hunt-type cleanup game where gamers need to find the location given the longitude and latitude (which the app can retrieve from the spreadsheet created by the first app) before being able to perform the cleanup action.
  • Can you create phone apps for other areas in life where one could be useful, like apps for personal health, apps helping researchers collect data, or apps enhancing your social life?
  • For a lower-level App Inventor project, check out the Science Buddies Project Idea Staying Healthy with Personal Medicine Apps.

Share your story with Science Buddies!

I did this project Yes, I Did This Project! Please log in (or create a free account) to let us know how things went.

Ask an Expert

The Ask an Expert Forum is intended to be a place where students can go to find answers to science questions that they have been unable to find using other resources. If you have specific questions about your science fair project or science fair, our team of volunteer scientists can help. Our Experts won't do the work for you, but they will make suggestions, offer guidance, and help you troubleshoot.

Ask an Expert

Related Links

News Feed on This Topic

 
, ,

Looking for more science fun?

Try one of our science activities for quick, anytime science explorations. The perfect thing to liven up a rainy day, school vacation, or moment of boredom.

Find an Activity
Free science fair projects.