ENGR 103 - Spring 2016
Freshman Engineering Design Lab
Freshman Engineering Design Lab
A Pill in Time Application: “Pillify”
Final Report
Date Submitted: May 10, 2016
Submitted to: Dr. Richard Knight, knightr@coe.drexel.edu
Emmanuel
Oyekanlu, eao48@drexel.edu
Group Members: Luke Hanner,
lah364@drexel.edu
Mercedes
Wesner, mew344@drexel.edu
Katherine
Bagdon, kjb343@drexel.edu
Abstract:
The
purpose of this Freshman Design Project is to make people’s lives easier who
have to take multiple prescriptions each day. An Android application has been
created which will allow users to input their specific medications, along with
when they must be taken. The purpose of this is that the user will receive a
notification when it is time to take their medication, but this will occur
through the application instead of overcrowding the built-in phone calendar.
With no prior Android application coding experience, many hours of researching
and learning how to use the program has been involved. Often times, figuring
out how to get the program to do exactly what was intended was a challenge.
Even when there were specific visions and plans for a part of the application,
the code to make it work was not always easy or even possible to produce.
Overall, the process to create this application included researching, coding,
testing, and debugging. These four steps have been continuously repeated
throughout the entire course of this project. In the end, the final deliverable
is a functioning Android application which reminds users when to take their
medication.
1 Introduction:
1.1
Problem Overview
This
project is directed towards people who must take many different medications at
various times each day. Due to the large number of prescription consumers, who
live very busy lifestyles, an application to help these people remember when to
take them will be very useful. Often times, people have different pills for
different days along with varying times for each one, and even time increments
before or after a meal. When there are so many different specifications,
storing all of this information in an already built-in calendar or reminder
application can be time-consuming and overcrowding.
1.2 Existing
Solutions
A
solution to this current problem is to create an application specifically for
daily medications. This will make it easier for the user to keep track of all
of them, along with freeing up their calendar and reminder applications for
other necessary purposes.
1.3 Project
Objectives
There
are a few different goals for this project, the main one being to make these
people’s lives easier by creating an application to remind them when to take
their medication. The user will be able to create an account which will store
all of their saved information in the application. It will have specific places
for them to add the different types of medications, the days and times when
they need to be taken, and the amount of pills in a bottle. The application
will be coded in a way that there will be different notifications for different
features. The first kind of notification will be just a simple reminder when to
take a medication if the user puts in a specific day and time. Another option
is if a medication has to be taken before, after, or with a meal. In this case,
unless the user eats the same meal at the same time every day, there will be a
notification sent at the beginning of the day to remind them to take these pills
later. Then, when they are eating their meal or getting ready to, they can sign
onto the application and press a preset timer to remind them when to begin to
eat or take their pills. The last type of notification is relating to the user
input of the number of pills in the bottle. The application will notify the
user when their pills are getting low so they know when to order more.
2
Technical Activities:
|
|
|
.
|
The prescription data is stored in encrypted
user files on the device itself. In the Add Prescription code, the variable
values are saved into a file on the device for simplicity, response speed, and
reduced battery usage. If the data was stored on a webserver, like the login
information, then the user would be required to have an internet connection the
entire time they used the app. The reminders would also use a large amount of
battery life, as the app would have to poll the database every minute to fetch
the reminder times.The Login information input by the user is transferred to and
stored on a SQL database hosted by 000WebHost. When the user first registers,
the user information data is first stored as variables in the Java code of the
application, where it is encoded into a JavaScript Object
Notation (JSON) [2] format so that it can sent to the server. The Java code
then calls a PHP file [3] located on the server, which allows for the passing
of the data into the SQL database table. When the user logs into the app, the
Java code calls for a different PHP file, which returns the data as a JSON
object, which is then converted back into usable data.
The final app is a convergence of separate
parts on a shell that allows easy navigation to all the parts. The parts were
converted into .apk files imported into the project, all conforming to the
shell manifest settings.
2.2 Project
Budget
When creating an app, it can be done without spending any
money at all. If the created app wants to be submitted to Android to be added
to the Google play Store, some money will need to be spent. In order to submit
an app, the creator must become a registered Android Publish which costs a $25
fee. In order to create a basic app, such as the one in this project, this will
be the only money involved.
In addition to this cost, there is also
the cost of labor. Although the group is completing the work for free
because it is a project, actual developers for an app would get paid a
substantial salary to undertake this project. According to [1] the
average payment for an app developer is about $17.00 per hour and the group has
put in upwards of fifty hours combined, so this would cost $850.00 or more.
3
Results:
When breaking the results down
into quantitative and qualitative aspects, this project currently does not have
many quantitative results but it does show qualitative results. As the
application is completed, more quantitative outcomes will present themselves
because it will be able to run on actual Android devices. When this
happens, the run time and size of the application will be determined and from
there it can be decided how useful and plausible it is. Currently, the
qualitative results have each part of the application running smoothly but
separately, so the next step is to begin putting it all together. The
application does not have many numbers that accompany it because it is composed
entirely of coding. Once the application is fully completed and working all
together, there will be more solid data to display.
Each completed page of the
application have been continuously tested throughout the process and have been
displaying positive results. The entire application has not been combined yet,
though, therefore has not been tested as a whole. Once all of the pages are
merged into one, the final application will be tested and the results will be recorded.
The final deliverable of this
project is an application that will allow users to put their prescription
information in so they can receive a notification as to when to take those
medications, which has been the objective since the beginning. The different
features of the application will make it possible for people to easily input
their information without having to clutter up their mobile calendar.
Throughout the development
process each piece of the application has been tested in the Android Studio
software, and the final product will also be ran with that program. This
is how the final results will be shown, in order for the application to be
successful it must run fully without any issues.
4
Discussion:
The relevance of these results show that the
work on the application is not yet complete but making great progress.
Although this is obvious without trying to evaluate the results, it is
clear that it is extremely important to finish the application in the next two
weeks. Once it is all completed, it will be possible to measure its final
performance. This must be done in order to understand how well the application
runs all together so it can be evaluated and tweaked. The most important part
of finalizing this application is to make sure it at least works with basic
functions. All new programs have some issues which is why there are updates
always being made in order to improve the bugs. In the future, the application
software can be continuously enhanced making it run smoother.
In terms of knowing whether this program
will make people’s lives easier, it will simply depend on how well the final
product runs. If the application operates without major problems, it will
without a doubt make life easier for people that have many prescriptions to take.
Even if it does not work perfectly initially, throughout the development
and enhancing processes the application will continue to improve. The main goal
is to create a program that is functional and then continually make progress on
it after it is complete.
5
Future Work:
In
the next few weeks, even though there has been tremendous progress made so far,
there is a great deal of work to still be done. The final product is one
application with many different pages and features, but each page has been
created separately up to this point. In order to result in one fully
functioning application, there must be a main page which the user can navigate
to the other pages from. This will be done by formatting a menu page which
connects to each already made page. That is the last main part of this project
that needs to be completed. Once that is done, the application will just need
to go through one last testing and debugging process. This last test should not
take too long though, considering each page has been tested throughout the
entire process.
6
References:
[1]
S.S.Sriparasa. (2013, October). JavaScript and JSON Essentials (1st ed.)
[Book]. Available:
http://www.(http://site.ebrary.com/lib/drexel/detail.action?docID=10789466)
[2] S.Suehring, J.Valade. (2013, March). PHP, MySQL, JavaScript & HTML5 All-in-One For
Dummies (1st ed.) [Book]. Available: http://www.(http://site.ebrary.com/lib/drexel/detail.action?docID=10674812)
[3] S.Suehring, J.Valade. (2013, March). PHP, MySQL, JavaScript & HTML5 All-in-One For
Dummies (1st ed.) [Book]. Available:
http://site.ebrary.com/lib/drexel/detail.action?docID=10674812
No comments:
Post a Comment