Project Report WORKOUT FITNESS APP
Project Report WORKOUT FITNESS APP
Date: 17/04/2013
2
Introduction:
The purpose of this document is to outline how far I have come in my project. It will
compare what I set out to achieve and the aims I had at the start of the project to what I
actually accomplished with the project. This document will portray everything I have learned
throughout the project both academically and personally.
3
The Finished Product
For our project we designed a workout fitness application. We designed this app for the
Android 2.2 platform. This application allows the user to monitor their workout
performances. The user can choose which activity they are participating in i.e. ‘Walking’,
‘Running’ or ‘Cycling’. The number of requested signals from the GPS will be determined by
the activity. For each workout the user will be presented with the details of his/her workout
once they have finished. These details include the date, time, distance, duration, average
speed, and average pace and also it will give an estimation of the amount of calories burned
during the workout. The user can choose to save or delete the details after their workout.
Once the user chooses to save their workout the details will be stored in the local SQLite
database. The user can check all their previous workouts by going to the history page which
will provide them with a list of all the workouts to date. There is also an activity option
where the user can set up their profile. This profile will contain the users’ weight and height
which will in turn be used for calculating the calories burned during a workout. Also when
the user goes into the options page he will be given a choice of going to the workout
settings.
4
This is a snapshot of the front screen of our application. The user is presented with the
option of just starting his workout straight away without any frills. The start timer button is
only displayed if the user wishes to use a countdown on starting. The selected activity
button will display the last activity in which the user participated in. The options button will
bring the user to another page where the user can choose between setting their profile,
viewing their history of workouts or going into the workout settings. From the workout
settings’ activity the user has the option of setting distance or duration goals for
themselves. The front screen will also alert the user whether or not they have the GPS
tracking turned on or off.
5
This next screen shot is what the user sees once they choose to go into workout settings.
This is where the user can set targets for themselves which they hope to achieve in their
workout. Once the user chooses to set distance or duration goals, they will be alerted
through voice feedback when they have reached their target.
6
This is the screen presented to the user once they have completed their workout. As you
can see it provides all the relevant details you would need to know.
Also if the phone has an internet connection these details will be uploaded on to Google app
engine. Below is a snapshot of the workout statistics after being uploaded from the mobile
on to app engine.
7
We have set up a simple web site where the user can log on and check their workout stats
online if they so wish. The users’ workout statistics will be pulled from Google app engines’
data store as shown above. There is also a mechanism for the user to request friends with
other members who have also registered with the website.
8
Conformance to Specification and Design
When designing this application we wanted the user interface to be as simple and user
friendly as possible. So in our specification we came up with some simple user interfaces
and that’s what we stuck with. So the mock user interfaces are almost a carbon copy of the
finished product. Also we have listed a number of features which were core to the
application, some features which would be nice to have and also some features which
would give it the wow factor. The list of features which we came up with in our functional
specification is as follows:
Core Features:
1. Summary of Workouts
2. Average Speed mile/hr.
3. History of Workouts
Nice To Have:
1. Calories Burned.
2. Log for Calorie Budget.
3. Show Map of Run.
Wow Factor:
1. Voice feedback.
2. Upload Workout to Social Network site.
3. Set Goals.
4. Count down timer to start workout.
The features which we have implemented include all of the core features. Once the core
features were implemented, given the time that was remaining we chose some of the other
features from the nice to have column and the wow factor column. The features we chose
were to show the estimation of calories burned after a workout. We then set up included
the feature to allow user to set goals for themselves, i.e. duration or distance goals. Also we
included a countdown timer that alerts the user to go after a number of seconds. Also voice
feedback is included in our features which tells’ the user when they have achieved their
goals.
9
Our design document contained the three core java classes which are carrying out work
behind all the activities in the android project. These classes were implemented in much the
same way as specified in the design. All of the sample code from the design document was
put into the project. During the design I couldn’t foresee all the other activity classes which
would be needed to carry out the functionality of the project. There are numerous Android
activities and xml files which were needed to carry out the design of this project.
Review of Project
The user interface of the workout app is as expected from the functional specification. The
timer and GPS tracking are working as expected. The GPS is accurate of a workout to within
10 to 15 metres. Also the user has access to all of their workouts. Providing the mobile has
internet access, the users’ statistics for their workout will be uploaded to the server.
If starting this project again I would probably spend more time looking at android tutorials. I
would set aside a project notebook and make notes of everything new I learn in these
tutorials as it was quite common for me to revisit some of these tutorials at a later stage. It
definitely helped that I had created mock user interfaces for all the screens which would be
10
needed in my application as I was able to work off these to produce the actual user
interfaces of the project.
I would like to thank my supervisor Paul Barry for the help in designing and developing this
mobile app.
11