“Your Fitness Companion”: ARunning Planner and DiaryInterim Report Submitted for the MEng in Computer Science January 2018 by FarahSherif Mahmoud Soliman Aly Word Count: 1371 Table of Contents 1 Introduction.
32 Aim and Objectives. 43 Background. 53.1 “Your Fitness Companion” 53.2 Operating System.
. 64 Designs. 74.1 UseCase Diagram.
. 74.2 Class Diagram.. 84.3 UI Design. 95 Project Management Review.
. 10AppendixA: Time Plan. 11AppendixB: Task List 12AppendixC: Ethics Checklist 13AppendixD: Play Store Search Results. 14References. 15 1 IntroductionThis report will be presenting the design and development of a runningplanner and diary application. The aim of this project is to make a program that will be usable byeveryone no matter their fitness level, from beginners to professional runners.
This software will collect information by carrying out a heuristic evaluationto be completed by the user. It will then analyse the gathered information toget to know the user’s potential and generate a suitable workout for them tofollow. Their workout routine will also change over time in order to get themto improve. The information collected about their performance will be collectedand stored and will be displayed to show their progress.This application will need to be friendly and compliant to provide theuser with the best possible experience. For starters, the title of the projecthas been switched from a running planner and diary to “Your Fitness Companion”to be a bit more amiable.
The rest of this report will be contain the background to give an ideaof what this project will be, what it will provide and a description of thetechnology that will be used as well as more details about the application. Theaims and objectives that will be accomplished in order to get a working,user-friendly software as the outcome will also be presented in this report. Thedesign of the application will be explained to give a more in-depth view using UnifiedModeling Language diagrams and a description of the UI design. This report willalso provide a project management review to summarise the progress of the projectso far as well as the changes made to stick to ensure the development of a workinggood-quality deliverable as well as appendices and references.
2 Aim and ObjectivesThe aim of this project is to provide a convenient, friendly simplephone application that will aid the user with their fitness workout and improvetheir health by keeping up with their progress and telling them how to enhancetheir routine. Objective 1 – Getting the user’s details The user will be asked to provide their age, weight, height and previousrunning experiences. These details will help determine whether their beginnersor advanced runners. Objective 2 – Generating a suitable workout Based on the user’s information provided carried out, the software willgive the user a suitable workout plan over a 10-week period. This workout willalso needed to evolve over time to help the user improve their performance. Objective 3 – Store the user’s progress An SQLite data base will be put in place to store the user’sinformation. Objective 4 – Data display The user will see their progress by being provided with the totaldistance they’ve ran and whether they met the suggested amount or not. They’llalso may be able to see their progress in a table or maybe a chart showing theevolution of their speed since they started using the application.
Objective 5 – Graphical User Interface The GUI needs to be friendly and simple to provide the best interactionwith the user. From the main menu, they will be able to choose to start theirrun, see the other suggested workouts, their progress, their details andinformation about health. Secondary Objective 1 – GPS Tracking Instead of manually entering the distance they’ve taken on their run, aGPS system may be implemented in order to track the user’s path and will beused to calculate their speed and show a map of the path they’ve taken. Secondary Objective 2 – Personal AccountsEssentially, only one user can use the application on one device andtheir information is only stored on that device; but with a personal accountusing an email and a password, the user’s data can be kept on a server andtheir information can be downloaded on different devices if they decide toswitch phones. Secondary Objective 3 – Reward SystemAs the user begins to prove and work towards reach their goal, a seriesof “trophies” maybe earned in order to motivate them after a significantprogress. For example, they can earn trophies for losing weight, after asignificant improvement or for entering their data after their workout for 10consecutive days.3 Background3.1 “Your Fitness Companion” “Increased popularity ofsmartphones has great potential to assist individuals in making healthy changesto their behaviour” (Yoganathan and Sangaralingam, 2013).
Therefore, making a fitness app that fits the needs of the user will bepivotal to their everyday life. What the runner need is not only an applicationthat will provide them with daily workouts, but to also continuously improvethat workout for them over time. Onanother note, fitness apps have become very popular and are on the rise. “Accordingto new research from mobile analytics firm Flurry, now part of Oath, health andfitness app usage in the US has been a sharp uptick over the past few year,growing by 330% between 2014 and 2017” (Chadha, 2017).
Making a good fitnessapp is guaranteed to be a success since they currently have a great clientbase. Thereare hundreds of running apps on Android devices. With a quick scroll throughthe Play Store, three of the most highly rated running apps for Android appear tocurrently be Strava, Google Fit and RunKeeper (screenshots can be seen inAppendix D). Stravais designed for the advanced runners. It lets the runner set their own workoutregime in a way with a goal tracking feature. The runner sets a time, distanceand segment goal and their progress is tracked on the go. It also connectsrunners to each other so they can compare their performances with each other.
Although it has a personalised coaching and live feedback to motivate the user andlive fitness feed showing, its membership is expensive with goal trackinglimited to premium members and the user has less control over what gets shared (Bavishi,2017). RunKeeperis designed for runners who are aiming for example to work towards a 5K ortraining for a marathons. It provides routes to be taken before starting theexercise and provides training plans designed by professional fitness coaches.
It provide paid upgrade version “RunKeeper Go” where you can compare dailyworkouts (RunKeeper, n.d.). GoogleFit is to Android what Apple Health is to iOS. It tracks multiple fitnessactivates and aggregates with other popular fitness apps. It can bring togetherfitness, nutrition sleep and weight information from other apps like Nike+,Strava, RunKeeper and can be synced with Android Wear gadgets. It’s efficientas it keeps track of everything and not just specifically running and is goodfor all runners no matter if they’re beginners or advanced runners (Bavishi,2017). “YourFitness Companion” is similar to RunKeeper the most.
It will comply with therunners needs by giving them training routines fit for them who are not onlyfit for them considering their past running experience by also will help themimprove over time. It will show their performance and keep track of theirchanges as they enter more information. Secondary features, like GPS trackingin Runkeeper and personal accounts, may be added later on. 3.
2 Operating System Acompetition over the iOS and Android operating system has been well knownworldwide. Android currently owns the largest sales in the market. As you cansee in the table 1, it’s dominating the market shared with 86.1% in quarter 1of 2017. Operating System 1Q17 1Q17 Market 1Q16 1Q16 Market Units Share (%) Units Share (%) Android 327,163.6 86.
1 292,746.9 84.1 iOS 51,992.5 13.7 51,629.5 14.8 Other OS 821.
2 0.2 3,847.8 1.1 Total 379,977.3 100.0 348,224.
2 100.0 Table 1:Worldwide Smartphone Sales to End Users by Operating System in 1Q17 (Forni andMeulen, 2017) Android phones are superior in terms of popularity with iPhones comingnext. Android also provides a simpler access to hardware components which willgo a long way with the making of this software. Over the beginning of the development, a debate was going on about whichsoftware to use to create the application. Between Visual Studio, AndroidStudio and Xamarin, Android Studio is the software that is being used todevelop this project. As for languages, Java is the official languageof Android development and is supported by Android Studio. Android Studio isalso a good choice of software as it provides a visual designer as well asgiving suggestions which will be very beneficial and helpful during thedevelopment of the application. Nevertheless, to me, Java is an unfamiliar languageso learning it over the upcoming months will be critical to the development ofthis project.
Data storage is essential to get this application running. It will beused to store the user’s data and the different workouts they’ll be given.Without it, once the application is closed, all the data will be lost. AnSQLite database will be used for this task. It can store preferred objects asit can divide them into types and using each variable as a column in a table. Itis also the native database on Android devices and is lightweight (Tamada, 2011).
It can be designed to work with custom objects like the workout routines thatwill be put in place. 4 DesignsThe design of the application is still in progress. Therefore, all thesediagrams and pictures will show how the design is so far, but it is stillsubject to change as the project moves forward and more obstacles are met ormore ideas come to mind to be developed. 4.1 Use Case Diagram A Use Case Diagram shows the relationships between the actors and theuse cases within a system. They are used duringthe analysis phase of a project to identify system functionality (Rumbaugh et al., 1999).
The Use Case diagram presentedin figure 1 shows a user’s journey once they open the application and navigatethrough the options available. This diagram shows how simple the actions availablewill be made for the user. No actions are linked to each other, all the actionsare separate and can only be done through the homepage (view figure 3).This diagram also highlight the importance of the SQLite database forthe functionality of the application. It is the core of the software as afterevery action, the database is accessed so that the information can be saved forthe user so that is stored and still be available even after the application isshut down. Figure 1: Use Case Diagram 4.2 Class Diagram “The purpose of the class diagramis to show the types being modeled within the system. In most UML models thesetypes include: a class, an interface, a data type and a component” (Bell, 2004).
The class UML in figure 2 presents the main classes and their components. There will be multiple workoutsfor the user in order to match their progress. Different styles will be offeredand the difficulty will vary with time. This variation will go from a week tothe next automatically but it can also be done by the user if they wish to pickanother workout. They’re presented in the “SuggestedWorkout” class. Eachworkout will have an ID, a name, the time the user needs to run, the time theuser needs to walk as rest, the total time (running time and rest timecombined) and the distance they will run. These can be used to calculate theaverage speed the user can achieve.
The “DoneWorkout” class willbe the workout chosen by the user. The user can being their run, pause inbetween or end their run. They will enter the time in minutes and the distancein meters they took in order for their speed to be calculated.The “User” class isresponsible for actions that effect the users’ data.
It contains their name,age, past running experience (whether they’re beginners or experienced runners),weight in kilograms and height in centimeters which can then be used tocalculate the BMI of the user which since the weight alone doesn’t provide thetotal health picture beyond just needing exercise to lose weight. It can providemore insight for the user about their health. “Knowing your BMI is important. For example, if your BMI istoo high, you may be at an increased risk for many chronic health problems.These include high blood pressure, type 2 diabetes, coronary heart disease,stroke, gallbladder disease and osteoarthritis. It may also raise your risk forendometrial, breast and colon cancers” (Griffith, 2013). Figure 2: Class Diagram 4.
3 UI Design The prototype user interfaceis designed in Microsoft PowerPoint. It makes the design process quicker as it iseasily done using shapes for the buttons and text boxes for the applicationname. Figure 3.a is the first prototype of the home screen design and figure 3.bis the first prototype of the “Your Details” section. Thecolour chosen for the background and the buttons is a light colour with thetext being of a dark colour so that it can be more visible and easy to read offit. The button, text size and font will be kept consistent in order to maintaina simple clean presentation that won’t cause any struggle to the user. Figure 3a: Home Screen Prototype Figure 3b: UserDetails Page Prototype (Accessedby clicking the “Your Details” button) Asthis is a prototype, once the feedback from the users is received, changes willbe made to accommodate to the tester’s remarks.
For example, the users may askfor different friendlier colours or claim that they are unable to read the textas the size is too small. This will help detect more errors and deal with themearlier in the design process. It will also help improve the user interface designby taking any user’s suggestion. 5 Project Management Review Unfortunately, due to unplanned events and other deadlines, the progresson this project has been quite highly disturbed. As the second semester begins, the module MobileDevices and Applications will begin and will offer more techniques and helpwith this project.
A new time plan has been set to catch up with the delay. Itcan be found in Appendix A. Each task has been given an estimate duration.
Itis more flexible than the previous time plan. Two tasks have been madesecondary as they are not critical for the overall functionality of the app,this will also provide more time to be able to focus on the primary objectivein order to have a functional application by the deadline. Once the primaryobjectives are achieved, the work on the secondary objectives may begin ifthere is enough time to spare.
This time plan aims to focus on the primaryobjectives. If the development is way behind the time plan, the secondaryobjectives can be cut out. This project involves collection of some personal information from theusers and also getting their feedback on the app. They will be using theAndroid Emulator in Android Studio in order to give their opinion. “The Android Emulator provides almost all thecapabilities of a real Android device.
Each instance of the emulator usesan Android Virtual Device (AVD) to configure its size, form factor, Androidversion, and various hardware characteristics” (Android Developer, n.d.). Toeffectively test the app, an AVD that models an Android phone will be createdso it can support the app.An ethics checklist has beenmade in order to avoid any risks or to find ways to counter any risks met alongthe way, it can be found in Appendix C.Since the tester will beproviding their personal information, an ethics form will be made for them tofill out before testing, ensuring that their identity will remain anonymous andtheir personal information will be protected. Appendix A: Time PlanPrevioustime plan: Currenttime plan: Appendix B: Task List # Task Name Description Duration (days) 1 Initial Report Write the initial report deliverable. 8 2 General Quick research about types of running training, which type for which level of experience.
More in depth 8-10 research research about what software and languages will be used. 3 Java Learning Java is used no matter which software will be used to program. Due to the lack of knowledge of that 107 language, it will take some time to learn as well ask questions and get more informed. 4 Setting Up The user is asked to enter their details to calculate some values. They will need to enter their gender, 11-14 Heuristic age, height, weight, how often they can work out. They will also be asked if they have any health issues or Evaluation prior injuries.
5 Analysis of The user’s input will need to be analysed in order to give them a suitable workout. Their BMI will also be 19-21 Heuristic calculated using their age, height and weight inputs. Evaluation 6 Generate Using the analysis of the evaluation, a workout will be provided for the week for the user. Judging by their 30 Suitable level and the analysis, it will tell them what type of running training to do, for how long and how far.
Workout 7 Suggest If the user doesn’t like the workout provided, a second one will be available for them. 5 Alternative Workout 8 Store User’s It will need to store the user’s data even when they close the application. A database may be needed to 17-21 Progress do so. 9 Interim report Write the interim report deliverable. 14 10 Personalised A listed calendar will be shown to the user on which they can click on the day and see what they did that 12-17 Calendar day. 11 GUI Simple and friendly.
Provides easy communication to the user and a more pleasant experience. 31 12 Testing Users will try the app and give their feedback. 31 13 Improvements After getting the test results, improvements will be made to take care of any errors and maybe add new 38-40 features. 14 Final Report Write the final report deliverable. 15 Appendix C: Ethics Checklist Risk Severity (L/M/H) Likelihood (L/M/H) Significance (Sev.
x Like.) How to Avoid How to Recover Data loss H M HM Keep multiple backups Reinstate from backups Failure of SVN H L HL Use other providers like Box Always keep an update accessible version of the SVN on hand. Software not available H H HH Get the needed software on my personal laptop Time management H H HH Follow the schedule and keep up to it, make sure Ask for help from supervisor and tutor when needed. Focus on the main objectives to produce a working deliverable. Strava Google Fit RunKeeper Appendix D: Play Store Search Results ReferencesChadha, R, 2017, Fitness App Usage Grows by Leaps and Bounds online. Available: https://www.
emarketer.com/Article/Fitness-App-Usage-Grows-by-Leaps-Bounds/1016486 Accessed 11 January 2018. Yoganathan, D and Sangaralingam, K, 2013, Persuasive Technology for Smartphone Fitness Apps online,University of Singapore. Available: http://aisel.aisnet.org/cgi/viewcontent.cgi?article=1185&context=pacis2013 Accessed 12 January 2018.
Bavishi, R, 2017. Top 10 Running Apps for Android(updated 2017). online. Available at: https://www.
runningshoesguru.com/content/top-10-running-apps-for-android/Accessed 16 Jan. 2018. RunKeeper, (n.
d.). Everyone. Every run.
online Available at: https://runkeeper.com/#where-to-start-moduleAccessed 16 January 2018. Griffith, D, 2018. Why You Need to Know Your BMI.
online Available at: https://www.aarpmedicareplans.com/aarpoptum/why-you-need-to-know-your-bmiAccessed 21 January 2018. Tamada, R, 2011. Android SQLite Database Tutorialonline. Available at: https://www.
androidhive.info/2011/11/android-sqlite-database-tutorial/Accessed 16 January 2018. Forni, A and Meulen, R, 2017, Gartner Says Worldwide Sales of Smartphones Grew 9 Percent in First Quarter of 2017 online. Available: https://www.gartner.com/newsroom/id/3725117 Accessed 13 January 2018.
Rumbaugh, J., Jacobson, I. and Booch, G., 1999. TheUnified Modeling Language Reference manual.
Reading, Massachusetts:Addison-Wesley, pp.492-494. Bell, D, 2004, UML Basic: The Class Diagramonline.
Available at: https://www.ibm.com/developerworks/rational/library/content/RationalEdge/sep04/bell/ Accessed 20 January 2018. Android Developer, (n.d.
). Android Emulator onlineAvailable at: https://developer.android.com/studio/run/emulator.html Accessed 18 January 2018.