Introduction

Designed by Cara Bradley and Olivia Johnson

This app uses MIT App Inventor 2 programming language.

Name of App: Safe Start

Elevator Pitch: After much consideration regarding current problems within our society, we have developed Safe Start, an app designed to analyze an individuals Blood Alcohol Content (BAC) level and notify an appropriate party if the users level is too high to drive. The app also consists of informative facts and statistics to inform the user of appropriate alcohol consumption. This app falls under the educational or utilities category in the play-store. This app is designed for individuals over the age of 21, however, anyone can access the app for safety reasons. This app is extremely useful because the user can calculate a BAC estimation based on the amount of beverages and body weight of the individual. SafeStart will send a warning message to a pre-set contact if the user is not capable of safely driving home. This app is strictly helpful guidance regarding the information needed to predict a BAC level. If the user is well over the legal limit, a message will be sent to another SafeStart user. This contact information can be updated at any time and will always be saved. This app is similar to BAC tracking apps, however, it is different because it offers facts and statistics as well as the ability to send a message to another user if an individual is in potential danger. Overall, SafeStart is an intuitive, informative, and helpful app that looks to improve public safety. If you drink alcohol, you should do your civic duty and use SafeStart.

Design of App: Original Design vs. Updated Design

a. Original Design

 

b. Updated Design

Category of App: This app falls under the educational and utilities category in the play-store. This is an extremely useful app designed to give an estimate of BAC level and drinking facts to the user.

Intended Audience: This app is designed for individuals over the age of 21, however, anyone can access the app for safety reasons. SafeStart will not require a birthdate entry to use in the case that someone is genuinely interested in tracking their BAC.

How the App Differs From Other Apps

  • This app is similar to BAC tracking apps. Comparatively, Safe Start is better because it offers facts and statistics as well as it has the ability to send a message to another user if an individual is in potential danger. This difference will set SafeStart apart from other apps because it is very intuitive and focuses on the overall safety of all users.

Components Required to Build App

  • This app will be designed with many visible and non-visible components. The visible components will have major user interface components like; an image, label, text-box, button, etc. The non-visible components will include; variables, Tiny-web DB, procedures with parameters, sequence, selection, and repetition blocks.

Final App Distribution and Download for Users

Click for .AIA file

Click for .APK file

Barcode

Design of App

Storyboard

  1. The user opens Safe Start and the home screen appears.
  2. The user can pick any of the buttons to continue to the next screen.
  3. The user will click the button “Settings” and input a contact cell phone number.
  4. The user will then type out a text message they wish to send to that contact if their BAC is over the legal limit.
  5. After the user has completed this step, the user will click the button “Return.”
  6. The user will then click the button called “Facts About Alcohol Consumption”
  7. The user will read the facts and statistics of alcohol consumption in the United States.
  8. The user will click the “Return” button to go back to the home screen.
  9. Once the user has been drinking, they will re-open the app and the information will be saved.
  10. They will click on the “BAC Estimator” and will analyze their estimated BAC based on weight and number of drinks.
  11. The user will look at their options and if BAC level is too high to drive, the user can contact a friend.
  12. Once the user presses the button, a pre-set message will automatically be sent to the saved contact.
  13. The use will make the safe choice of using Safe Start.

Code Functionality

  1. Distinct Points
    1. This app had an incremental and iterative development process. Originally, we wanted there to be a notifier if the BAC level was too high. We realized it would be more socially useful if the user could contact a friend if their BAC level was too high. We had to set up a texting feature from the device with a message for the user to choose from. This coding allows the user to pre-set a message and send it when their BAC level is too high. We decided that implementing a “settings” page would allow the user to save the contact info and send the message. This app also had the main emphasis on estimating the users BAC level. It was imperative to find a formula to estimate the BAC level. We had to research what factors affect someones BAC level. Then, we created a chart to help the person understand their estimated BAC level. We used body weight and the number of drinks to estimate the BAC level. If the BAC is too high, the user can click a button to send the message to a pre-assigned contact.
  2. Algorithm
    1. Safe Start is a intuitive app that requires multiple algorithms to make the app easy to use. During our coding, we experienced two points where we needed to create algorithms. This first image describes an algorithm when the user inserts contact information into the “settings” page. We had to define a procedure and send the text message to a contact. This contact also needed to be saved so when the user opened the app, the contact would still be there. We used a TinyWebDB to save the contact information. These two algorithms show our thought process when designing Safe Start. We created these specifications that allow our app to function properly. Specifically, these two abstractions allow the message to be sent to a contact.
  3. Abstraction
    1. Safe Start also has many abstractions that we have created. We wanted to make our app efficient and easy to use. It is pivotal to reduce complexity and increase efficiency. The first abstraction was the virtual screens. These screens make it easy for the user to navigate between the four different screens: home screen, BAC estimator, fact sheet, and settings page. This abstraction is unique because it simplifies the code while maintaining the ease of access for user interface. By defining a procedure to set all screens off, we can then code when “buttonScreenBAC” click to turn on (true). The user does not realize this process when navigating through the user interface. The user thinks that different screens are opening, when in reality it is a virtual screen. This abstraction allows the coding to be extremely efficient. The second abstraction coincides with the first. This abstraction shows the difference in virtual screens when one button is clicked. In addition, we used abstraction to make the BAC estimator easy to use. The user will look through their weight and number of drinks to find their estimated BAC level. By simply clicking that level, an pre-set automated text will be sent. This abstraction makes it extremely efficient for the user to quickly send a text. This coding also makes it more efficient for us because we can simply program it for each BAC level button.
  4. Citations
    1. We used Google, YouTube, the help of Professor Lake and the TA’s. We also researched information using the Mobile CSP course website and MIT App Inventor website. We used two websites to help us research facts regarding alcohol consumption. These websites are: 1) http://www.brad21.org/ and 2) https://www.cdc.gov/motorvehiclesafety/impaired_driving/impaired-drv_factsheet.html

Market Testing Report:  

Click for Market Testing

 

Video Demonstration of App:

Click for Youtube video