CPSC X82: Mobile Device Programming Using iOS

Project Overview (Assignment X1)

Due 11:59 pm, November 2, 2016

(Submit through handin.)

Project # / App Name: Clemson Life Logic App

Team Members (first name is Team Leader): Dillon Gorsen, Evan Peaire

Project Description:

Target audience

The target audience for this app will be the students of the Clemson Life Program, as well as the professors, mentors, and parents who would normally help these students make logical decisions

Target device

The target device will be an iphone 6 and up.

One paragraph summary of what your app will do

According to the presentation given to us by the Clemson Life team, one common problem that many of the students in the clemson life program suffer from is their ability to make logical decisions in everyday situations. The purpose of this app will be to provide students in the Clemson life program personalized audio visual guides to assist them when these situations arise. The purpose of this is to maximize the applications functionality, without the need to leave the application for any reason. In addition to the iOS application, there will also be a web portal designed and created to allow employees of the Clemson Life program to author new guides as they deem fit. Each situation will have to be authored specifically for a student to keep them personalized. Each situation will be comprised of personalized steps consisting of either: images with audio, video, maps, or phone calls. If the step is composed of images with audio or videos, the author must upload those files. If the step involves phone calls, or directions, the author must select the appropriate phone numbers and addresses associated with the students as shown in the schema below. There will be one external database containing every situation that is authored through the web portal. The external database will be used to maintain the internal databases within each student’s phone, allowing these guides to be updated at any time, and accessed with or without an internet connection.

Benefits

This app will benefit both the students of the Clemson Life program, as well as those who interact with them on a day to day basis. The application will assist the students with their sequential processing, thus increasing their independence and flexibility in their everyday lives.

Brief description of any artifacts (if any) residing on the device

N/A

List additional devices required by app (sensors, etc.)

N/A

Schema of external database

The External database is setup with seven different entity types: User, Associated_Address, Associated_Phones, Guardian_Student, Situation, Situation_Step, Situation_Tags, Group. Users encompass all users of the app, both students and Clemson Life employees, with a boolean to differentiate between the two. For all intents and purposes, User can be viewed as student, because they will be the ones using the app. The guardians will be those capable of logging on to the online authoring tool. Associated_Address is used to allow guardians to assign multiple addresses to each student (i.e home, work, campus building). Associated_Phone is used to allow guardians to assign multiple phone numbers to each student (i.e mom, dad, brother, sister). Guardian_Student relates the guardians to the students, as it is a many to many relationship. Situation contains the situation name, description and grouping of that specific situation, as well as the username of the user for which that situation was created. Each situation has to be highly customizable to meet the needs of the different students so it is necessary to have the username field. Situation_Step is used to represent the steps that comprise any given situation. It contains an id, name, type (image, video, phone call, directions), description, variable (filepath to image/video, phone number, or address), index (to keep in order) and a situation_id to relate it back to a specific situation. Situation_Tags will be used so that the student can search situations by keywords. Groups are going to be used to organize situations by types.

Schema of local database

The internal schema is set up very similarly to the external schema. This is because the internal database will pull the necessary task and information the the student that is currently signed in on the device. This includes all task that have been specifically designed for them and the steps that need to be taken to help the student through the situation. It does not however hold the student_guardian table because the student has no use for that information. The internal database also holds all of the extras, such as images and audio clips, that are connected the the steps. These are important to store because the student needs to have access to these even if the device is not connected to the internet.

Storyboard Sketch (use separate pages):

Opening page:

This will show the student the different options available for them to choose from when they need help making a decision. The pictures are big and easy to read so the student will have no trouble finding the right task.

Step Screen:

This screen will change depending on the step. Sometimes there will be a video and sometimes a picture. The play button under the picture will allow the student to hear a recorded message of the prompt so that they can respond with yes or no. The buttons are also big and easy to see and select. If the user hits no, then the next step will appear, and if yes is selected a completion of task message will appear and return them to the home screen.

If the user hits no:

The next step is presented to the student if they select no.

Task Completed:

Once the user hits yes, the task is completed and they return to the home screen.