beatrunner Mobile App ECE4007 Senior Design Project Section L05, beatrunner Team Project Advisor, Dr. Arthur Koblasz Oren Levy, Team Leader Marc Smith Marvin Howard Lakshmi Baddam Submitted February 20, 2011
Table of Contents Executive Summary...iii 1. Introduction.... 1 1.1 Objective.... 1 1.2 Motivation. 2 1.3 Background....2 2. Project Description and Goals... 3 2.1. Music Manipulation... 4 2.2 Instantaneous Performance Data 4 2.3 Workout History 5 3. Technical Specification... 5 3.1. Audio Specifications... 5 3.2 Application Specifications. 6 3.3 Heart Rate Monitor Specifications 6 4. Design Approach and Details. 7 4.1 Design Approach... 7 4.1.1 ios SDK... 8 4.1.2 Graphical User Interface... 10 4.1.3 Target Heart Rate and Calories Burned.........12 4.1.4 Special Cases: Notifications and Interrupts...... 14 4.2 Codes and Standards...... 14 4.3 Constraints, Alternatives, and Tradeoffs....15 5. Schedule, Tasks, and Milestones.....16 6. Project Demonstration......17 7. Marketing and Cost Analysis....18 7.1 Marketing.....18 7.2 Cost Analysis... 19 8. Summary... 21 References... 22 Appendix 1... 24 beatrunner(ece4007l05) ii
Executive Summary beatrunner is an ios operating system compatible workout tool that manipulates music to motivate the user to achieve his/her target heart rate. It also serves as a workout organizer and performance view tool that allows the user to analyze and compare his/her workout performance. The app provides the user with three workout options: cardio, fat burning and cross training. The user may customize the warm up, workout, and cool down time durations. He/she may also select a customized playlist to play during his/her workout. All workouts completed using the beatrunner app will be available for the user to view in the app s Workout Summary folder. Each workout s summary includes the date, time, distance, calories burned and user s peak heart rate. beatrunner requires the user to own a Polar WearLink + Transmitter Bluetooth heart rate monitor in order to retrieve the user s heart beats per minute (BPM). The music manipulation algorithm will use the user s BPM to vary the tempo of a song in order to encourage the user to reach his/her target heart rate zone. The three axis accelerometer in the ios mobile device will work as a pedometer and will be used to calculate the distance ran in a workout. The user may select a customized play list to play during his/her workout. The beatrunner app is required to be submitted for review to Apple Inc before being sold in the App Store. Once Apple Inc approves it, the app will be published in the App Store and will be available to all ios mobile device users to download at the cost of one dollar per download. Although, there are many available apps that provide workout tools to users, the selling point of the beatrunner app will be the fact that it is the only app that changes the tempo of the user s songs. beatrunner(ece4007l05) iii
INTRODUCTION With many apps available in the ios operating system mobile market, apps centered on workout productivity are becoming increasingly popular. Users choose the most effective application that best fits their workout needs which provides accurate calculations designed to maximize workout potential. A recent study conducted proves that listening to music boosts weight loss and helps people work out regularly. A similar study concluded that people who jogged while listening to music covered 24% percent more distance than joggers who did not listen to music [9]. The beatrunner application (app) is a workout motivational workout app that serves as a workout organizational tool for users. The beatrunner app is compatible with ios based mobile devices and provides three workout options for the user and varies the tempo of songs in the user s play list in order to encourage the user to reach his/her target heart rate zone. Once the workout is complete, the app provides a workout summary to allow the user to evaluate his/her performance. The design team is requesting funding of $79.75 to develop the beatrunner app. 1.1 Objective Motivational App The main objective is to create a motivational app that will encourage users to reach their target heart rates during their workouts. The beatrunner app changes the tempo of the music in the user s ipod playlist in order to motivate the runner to reach his/her target heart rate. Performance Viewer and Workout Organizer App All workouts completed using the beatrunner app will be available for the user to view in the app s Workout Summary folder. Workout statistics such as workout type, time, distance, calories burned and peak heart rate during a particular workout will be saved. The user may beatrunner(ece4007l05) 1
retrieve each workout s information by date to analyze and compare his/her workout performance. User-friendly App The beatrunner app provides easy navigation features, minimizes user error, and provides customization ability to users. Easy navigability between tabbed windows in the app will be accomplished using navigation keys. The app will be designed to be as simple as possible by minimizing the number of user inputs required. An example of this is not giving the user the ability to type out number strings and providing drop down selection menus instead. Minimizing the amount of data inputted by the user will prevent user-introduced bugs from occurring. Also, the user will be able to choose a customized playlist from his/her itunes library to play during a workout. 1.2 Motivation Similar to other apps, the beatrunner app serves as a workout organizational tool that allows the users to retrieve workout history to evaluate their performance over time. However, unlike these apps, the beatrunner app varies the music tempo to encourage the user to achieve his/her target heart rate. The target user for the beatrunner app is an ios mobile user who: Owns a Polar WearLink + Transmitter Bluetooth (Polar WL) heart rate monitor Uses music as a motivator to workout Needs a portable workout organization tool 1.3 Background There are two main tools in the beatrunner app: the music manipulator and the workout organizer. The beatrunner app can be compared with the following two applications: beatrunner(ece4007l05) 2
Nike BOOM is an ios app that serves as a workout organizer tool allowing the user to choose his/her workout type [6]. The user may choose a play list, workout length, and warm up and cool down times. When the user progresses through a workout in the Nike BOOM app, he/she is given vocal cues recorded by prominent athletes and coaches throughout the workout. Repacer is a non-ios, PC based music manipulation application that requires the user to individually import songs on his/her computer and adjusts each song s tempo to create a mp3 playlist file [7]. It also creates smooth mixes from the provided tracks by combining them in a user defined order. The Nike Boom app does not manipulate music, and the Repacer cannot be used as a portable workout organizer. The beatrunner app combines the functionalities of the two applications by providing a portable workout organizer with an added heart rate monitor functionality that manipulates the user s music instantly to encourage him/her to reach a target heart rate. 2. PROJECT DESCIPTION AND GOALS The beatrunner app will serve as a workout tracking and motivating tool for users. The prototype will consist of a Polar WL heart rate monitor and an iphone 4 mobile device. The beatrunner iphone app has three main goals to motivate the user to maintain a consistent workout regime: Provide music manipulation Provide instantaneous performance data during a workout Organize each workout s information in a Workout Summary folder beatrunner(ece4007l05) 3
2.1 Music Manipulation The beatrunner app will manipulate songs to motivate the user to reach his/her target workout. Before beginning a desired workout, the user will be required to select a playlist of songs in the beatrunner app. The music will be manipulated during each workout using music algorithms. Music manipulation will be achieved with two goals: Slow down or speed up songs using the heart-rate monitor data Provide a smooth transition between song 2.2 Instantaneous Performance Data During each workout, instantaneous performance data will be displayed in the app in order to keep the user informed of what he/she has accomplished at a point in the workout. Five main workout statistics will be displayed as performance data: Elapsed time Distance ran Current heart rate Target heart rate Calories burned 2.3 Workout History Each workout will be saved in a Workout Summary folder to allow the user to view and analyze his/her overall workout performance. Each workout summary file will contain five statistics: beatrunner(ece4007l05) 4
Date of workout Workout time Distance ran Calories burned Peak heart beat count 3. TECHNICAL SPECIFICATIONS 3.1 Audio Specifications Table 1 lists the audio specifications for the BeatRunner app. The audio sampling frequency will be set to 44.1 khz, which is the industry standard for audio encoding. Audio will be played back in stereo, meaning the user can listen to two independent audio channels. During a particular workout, if the user is under his/her target heartbeat or over his/her target heartbeat, the song will be speed up or slowed down respectively. In order to achieve this, the audio sampling frequency is deviated by maximum of 20% to speed up the song or a minimum of -20% to slow down the song. Also, in order to provide a smooth transition between songs for the user, the time latency between songs will be 0 sec. Table 1 - Audio Specifications Feature Audio Sampling Frequency Audio Output Specification 44.1 khz Stereo (2 Channel) Maximum pitch deviation 20% Latency between songs 0 sec beatrunner(ece4007l05) 5
3.2 Application Specifications Table 2 describes Apple s hardware specifications for the ios operating system. The three axis accelerometer will work as a pedometer and will be used to calculate the distance ran in a workout. There will be four push buttons used: two push buttons to control the app s audio volume, one push button to navigate back to the home screen from the app, and one to lock the device while the app is running. The Multi Touch Screen Display is required for the user to communicate with the app using touch gestures. The beatrunner app will be compatible with mobile devices running on ios operating system 2.0 or later. Table 2 - Application Specifications Feature Used iphone inputs Specification 3 axis accelerometer Multi Touch Screen Display 4 Push Buttons Supported operating systems ios 2.0 or later Compatible Mobile Devices iphone (Original,3G,3GS,4) ipod Touch (2nd generation and later) ipad 3.3 Heart Rate Monitor Specifications The (Polar WL) heart rate monitor specifications are depicted in Table 3. The Polar WL uses a Panasonic CR 2025 battery and will be paired to an ios mobile device and will transmit the user s heart rate via Bluetooth connection. When first pairing the Polar WL with the beatrunner, the user must input the pin code: 0000. For best results, the user must first wet the electrode areas of the strap, then he/she should tightly secure the Polar WL around the body and under the user s chest muscles. The Polar WL heart rate monitor transmits two characters per beatrunner(ece4007l05) 6
heartbeat and four bits represent each character. Therefore, there will be eight bits received per heartbeat. An abnormally fast heartbeat is 220 BPM and will require approximately two Kbpm. The maximum throughput for Bluetooth is 3 Mbps, which is sufficient to transmit heart beat data. The distance between the Polar WL and the mobile device should not exceed 30 ft. The user is required to carry both the mobile device and the Polar WL, so this is easily achieved. Table 3 - Polar WL Specifications Feature Specification Battery Type Panasonic CR 2025 Average Battery Life 150 hrs Pin code 0000 Operating Frequency for Bluetooth Maximum Throughput for Bluetooth Maximum Range for Bluetooth 2.4 GHz 3 Mbps 30 ft 4. DESIGN APPROACH AND DETAILS 4.1 Design Approach The beatrunner app will be built using the ios software development kit (SDK) developed by Apple. The ios SDK contains frameworks and Xcode tools that will be utilized in the beatrunner app design. beatrunner(ece4007l05) 7
4.1.1 ios SDK Frameworks Frameworks in the ios SDK are directories that contain a dynamically shared library and the resources (such as header files and images) needed to support the library. Frameworks are divided into 4 layers, which will be utilized to implement functionalities in the beatrunner app: Cocoa Touch Layer - UI Kit Media Layer Media Player Core Services Layer Core Motion Core OS Layer External Accessory The Cocoa Touch Layer s UI Kit will be used for event handling. For example, when the user clicks the BEGIN WORKOUT button depicted in Figure 4 on page 10, the UI Event class in the UI Kit will be utilized to detect the click and launch the Current Workout screen displayed in Figure 5 on page 11. The Media Player framework in the Media Layer provides access to the user s ipod library in the mobile device and support for playing tracks and play lists. It will be utilized to allow the user to select a customized play list before a workout (see Figure 4) and pause, skip and play songs during his/her workout (see Figure 5). The Core Motion framework in the Core Services Layer will be utilized to retrieve data from the mobile device s accelerometer in the form of a force vector. For each vector, the x, y and z values range between -1 and 1, where a 1 represents a strong force in the forward direction and a -1 represents a strong force in the backwards direction with respect to the mobile device s screen. A foot step will be detected by taking the dot product of all three directions and finding when the derivative equals zero. The External Accessory framework in the Core OS Layer will be utilized to communicate with the beatrunner(ece4007l05) 8
heart rate monitor connected to the mobile device wirelessly using Bluetooth. Tools Three Xcode tools will be utilized to design, create, debug, and optimize the beatrunner app. The beatrunner code will be written in Objective-C and is created and compiled in the Xcode integrated development environment (IDE) tool. The IDE will be used in conjunction with the Simulator tool to test the app s user interface (UI) prior to uploading to a mobile device. Figure 2 illustrates the Xcode IDE tool s data flow. Once the app is downloaded to a mobile device, the remote debugger in the IDE will be utilized to manage breakpoints set while developing the app. The Interface Builder (IB) will be utilized to customize and create the app s screens, depicted in Figures 3, 4, 5 and 6, visually. GUI components such as buttons, navigation keys, labels and drop down menus will be constructed and customized using IB. Figure 2. Xcode IDE Tool. Critical Paths The beatrunner app will be built using a modular approach. With this design method each critical aspect of the project can be implemented separately and integrated together. This modular approach allows the designers to work individually and test individual modules beatrunner(ece4007l05) 9
separately before being implemented in the final product. The modules are the key critical path items that are required for the development process to proceed. The modules include: The heart rate monitor and Bluetooth connectivity Using the accelerometer as a pedometer Changing the tempo of the music Overall graphic user interface 4.1.2 Graphical User Interface Figure 3. Settings Screen Mock up. Outlined boxes represent selection buttons. Figure 4. New Workout Screen Mock up. Outlined boxes represent selection buttons. Before the user begins the workout, he/she must update the Settings Screen shown in Figure 3. This screen contains user defined variables such as weight, age and resting heart rate which is required to calculate valuable statistics for the app such as the target heart rate. The beatrunner(ece4007l05) 10
Smart Songs feature will allow the user to turn on/off the app s music selection algorithm. To verify that the Bluetooth heart rate monitor is connected to the mobile device properly, the user will be prompted to select his/her heart rate monitor from a list of paired devices. This screen will also contain a link to the app s About section, which will contain information about the beatrunner s developers, the current app version, as well as a product update history. The New Workout Screen is displayed when the user loads the beatrunner app on the mobile device and is depicted in Figure 4. The user will select his/her workout type from the following 3 categories: Cardio, Fat burning, or Cross training. The user will then be required to set his/her desired warm up, workout, and cool down times. Next, the user may select a customized play list from his/her ipod music folder or play all the songs on his/her ipod. Once all fields have been properly filled out, the BEGIN WORKOUT button will be enabled for use. Figure 5. Workout Status Screen Mock up. Outlined boxes represent selection buttons. Figure 6. Workout Summary Screen Mock up. Outlined boxes represent selection buttons. beatrunner(ece4007l05) 11
As soon as the BEGIN WORKOUT button is pressed, the app will navigate to the Workout Status Screen, depicted in Figure 5. The user will be able to view his/her current work out details. The details include amount of time since the workout was started, the distance ran, current heart rate, target heart rate, and calories burned. The application will display the song currently playing, and will allow the user to play/pause the workout or skip to the next song. The app will change the New Workout button displayed at the bottom of the screen to read Workout Status in order to allow the user to navigate between screens during his/her workout. The Workout Summary screen depicted in Figure 6 will allow the user to examine each workout he/she has completed. This feature will allow the user to view the quality of his/her workouts in order to monitor his/her performance and set workout goals over time. The user will be able to navigate to the Workout Summary screen if he/she is currently working out. However statistics for the current workout will not be available in this screen until after the workout is complete. The app will always load the most recently completed workout by default when this screen is accessed; the user may then select a workout from a list of previous dates. Statistics will include warm up, workout, and cool down times, total distance ran, number of calories burned, peak heart rate, and workout type. 4.1.3 Target Heart Rate and Calories Burned Figure 7. Example of a full workout. beatrunner(ece4007l05) 12
The beatrunner app will require the user to input his/her age, resting heart rate, and choose from three workouts. All three workouts take the shape of the graph in Figure 7 where the x axis is time and the y is heart rate. The only difference between the three workouts is the target heart rate (THR) zone. The maximum heart rate (MHR) for the user will be determined by the app by subtracting the user s age from 220 [2]. The target heart rate for each workout is calculated using the Karvonen method. The Karvonen method uses the resting heart rate (RHR) to find the THR using the Equation 1. THR = (MHR-RHR) * intensity + RHR Equation 1. The THR zone is found by obtaining the THR for the upper and lower percentage of the workout. For a fat burning workout, the target heart rate zone is between 60% and 70% intensity. A cardio workout has a THR zone between 70% and 80% intensity. A cross-training workout has a THR zone between 80% and 85% intensity. When the user begins the warm up, the music will be sampled at a rate comparable to the user s warm up heart rate. The sampling rate will linearly increase with time, encouraging the user to reach his/her target heart rate zone based on his/her desired workout. The calories burned during a workout will be determined using Equation 2 considering the user s age in years, weight in pounds, average heart rate (AHR) and elapsed workout time [2]. Calories burned will not be calculated during warm up and cool down due to the high variance between the resting heart rate and target heart rate. Calories Burned = (0.2017 *age + 0.09036 * weight + 0.6309 * AHR - 55.0969) * elapsed time / 4.184 Equation 2. beatrunner(ece4007l05) 13
4.1.4 Special Cases: Notifications and Interrupts Bluetooth Detection It will be the user s responsibility to attach a Polar WL heart rate monitor to the mobile device. The application will verify that there is at least one Bluetooth device attached. If the user is in the New Workout Screen depicted in Figure 6 and there is no Bluetooth device attached, the BEGIN WORKOUT button is will be disabled and changed to ATTACH A BLUETOOTH DEVICE. Software Interrupts If the user decides to either answer, decline or ignore a phone call while the app is running, the workout and songs will both be paused and automatically restarted when the call is ended. When a text message is received the app will not be affected. Hardware Interrupts When the app is running and the user presses the lock or home key, the workout and music continues uninterrupted. Battery Outage In case of a battery outage during a user s workout, all current workout statistics will be lost and will not be saved in the Workout Summary folder. 4.2 Codes and Standards The beatrunner is designed to work on the Apple s ios operating system. The app is written in Objective-C and is created in the Xcode integrated development environment (IDE). The app is developed using frameworks and resources provided by the OS SDK for developers. The beatrunner app has to be approved by Apple Inc before marketing it in the App Store. It beatrunner(ece4007l05) 14
is required to be submitted as a fully functional app, and cannot be submitted as a trial, demo or beta version app. 4.3 Constraints, Alternatives, and Tradeoffs An alternative approach to using the hardware available in an ios mobile device is creating an embedded device which will perform the same operations as the beatrunner app using an Arduino microprocessor. The Arduino would be equipped with an MP3 shield, which stores songs on a MicroSD card and plays the music. Instead of using Bluetooth, the Arduino approach would require the use of proprietary Polar wireless communication ICs to read the user s heart rate. The functionalities in the beatrunner app such as workout selections and user options would be programmed into the Arduino microprocessor in C/C++. Also, GUI elements and the multi touch screen display will be not available with the Arduino and would have to be replaced with push buttons. The hardware approach would have resulted in manufacturing costs for the final product; however, since the beatrunner app is software driven, it will be available for users to download after development and approval from Apple Inc. The beatrunner app uses the ios SDK which provides frameworks and classes that interface with the mobile device s hardware. In the Arduino approach the developers are required to use data sheets in order to determine detailed pin assignments and address information to interface with hardware. A downside to developing an ios based app as opposed to prototyping on an Arduino is that the user must purchase an ios compatible device in order to have access to beatrunner. Developing the beatrunner app for all other mobile phone platforms was considered, however, every platform requires specific protocols, and the app would have to be reconstructed for each operating system. beatrunner(ece4007l05) 15
5. Scheduled Tasks and Milestones Over the next three months, several steps are vital to the completion of the beatrunner app. Table 4 depicts the major milestones and task to be accomplished in italics and bold print respectively. The programming process will begin upon conclusion of the proposal. The beatrunner project will be completed in modules by dividing each task among the team members to reduce redundancy and utilize time efficiently. The first step will begin with the construction of the user interface. Afterwards, the programming of the heart rate monitor, accelerometer, and the music manipulation will commence simultaneously. Once completed, all modules will be combined for integration and simulation. The final product produced will be demonstrated and presented at the end of the semester. Appendix 1 provides a more detail account of responsibilities and difficulties as well as a Gantt chart showing the overall schedule of events. Table 4 - Schedule of Task and Milestones Task Name Duration Start End Proposal 6 Days 2/14/11 2/21/11 Turn in Proposal 0 Days 2/21/11 2/21/11 User Interface 12 Days 2/21/11 3/8/11 Construct Screens (GUI) 0 Days 3/8/11 3/8/11 Heart Rate Monitor 9 Days 3/9/11 3/18/11 Interfacing w/ iphone 0 Days 3/11/11 3/11/11 Abstract Data from packets 0 Days 3/15/11 3/15/11 Accelerometer 16 Days 4/9/11 4/29/11 Develop Pedometer Algorithm 0 Days 4/15/11 4/15/11 Music Manipulation 21 Days 3/9/11 4/5/11 Develop Tempo Adjustment Algorithm 0 Days 4/5/11 4/5/11 Integration 7 Days 4/6/11 4/13/11 Combine Modules 0 Days 4/13/11 4/13/11 Demonstration 5 Days 4/29/11 5/5/11 Demo 0 Days 5/5/11 5/5/11 FINAL PRESENTATION 0 Days 5/5/11 5/5/11 beatrunner(ece4007l05) 16
6. PROJECT DEMONSTRATION The beatrunner app will be demonstrated at Georgia Tech in the Van Leer W200 lecture hall. The prototype will consist of the Polar WL heart rate monitor and the iphone 4 mobile device equipped with ios version 4.2.1. The beatrunner app will be downloaded to the iphone 4 device prior to the demonstration. During the demonstration, the iphone will be connected to a projector via Apple s Composite AV cable in order to display the screen to the audience and output the audio to the external room speakers while the app is running. Then the user will: Strap on the Polar WL device on his/her chest Load the beatrunner app on the iphone by pressing the app icon Demonstrate how to link the heart rate monitor to the iphone Enter his/her weight, age, resting heart rate Turn on the Smart Song feature and select the Polar WL device Choose one of the three workouts Select warm up, workout, cool down times to be 5 minutes each Select a playlist and press the BEGIN WORKOUT button Place the iphone in his/her pocket and begin running in place After the workout is complete, the user will navigate to the screen displaying the estimated calories burned, estimated distance ran, and peak heart rate on the workout summary screen. During the demonstration, the project specifications will be validated by running the app. The audience will hear the 0 second transition between songs and the 20% tempo adjustment. beatrunner(ece4007l05) 17
7. MARKETING AND COST ANALYSIS 7.1 Marketing Apple has created a market place, App Store, where app developers can sell their applications directly to customers. There are several other workout apps in the App Store similar to beatrunner. The Nike+ app is pre-installed into all ios based devices. This app requires the user to own an ipod Sport Kit [8], which comes with a wireless sensor acting as a pedometer. There are four workout types available in Nike+: Basic, Time, Distance, and Calorie. Similar to the beatrunner app, Nike+ informs the user about the time, distance and calories burned during his/her workout. However, Nike+ differs from the beatrunner because it does not manipulate music or the user s heart rate into the workout routine. Walkmeter is another popular app available in the App Store for $4.99. It is similar to the beatrunner the app, as it provides information about distance, time, and speed; however the performance statistics are visually portrayed in the form of a graph. Because this app uses a GPS signal to track the user s location, it is not compatible with the ipod Touch and the first generation iphone as they lack the GPS feature. Like the Nike+ app, Walkmeter neither tracks the user s heart rate and nor provides support for music. Unlike most apps on the market, beatrunner does not support GPS functionality, but no other app incorporates and manipulates music to encourage the runner to reach his/her target heart beat. An annual study found that 49.6% of Americans workout at least 30 mins, three times a week. In the year of 2010, there were 39.989 million iphone sales [1]. Assuming that 49.6% of iphone users engage in some form of workout activity, it can be concluded that the beatrunner will be marketable to 19.834 million iphone users. beatrunner(ece4007l05) 18
7.2 Cost Analysis The total development cost for a prototype of the beatrunner app is $56,908.22. The equipment cost for the prototype will be $79.95 for Polar WL heart rate monitor. The development costs are depicted in Table 5 on the next page. The hourly labor wage was set to $41.27 and takes fringe benefits and overhead costs into account; the total labor cost amounts to $56,828.27. The music manipulation module will require the highest number of labor hours as it requires integration with the heart monitor module. The pairing will result in critical debugging and syncing of both modules in order to integrate, adjust, and control the music tempo. The beatrunner app is required to be submitted for review to Apple Inc before being sold in the App Store [8]. Once Apple Inc approves it, it will be published in the App Store and will be available to all ios mobile device users to download at the cost of one dollar per download; therefore, there will no production costs incurred. Apple demands 30% of the revenue share for any app sold in the App Store ; Apple and beatrunner s developers will receive $0.30 and $0.70 per app respectively. Taking into account the large number of workout apps already available in the App Store, 125,000 beatrunner apps are expected to be downloaded from the App Store over a five year time period. At one dollar per app, the expected total revenue is $125,000; the developers and Apple Inc receive $87,500 and $37,500 respectively. After subtracting the development cost from the revenue, the net profit is $68091.76; Developers and Apple Inc will earn a profit of $47,664.23 and $20,427.53 respectively. beatrunner(ece4007l05) 19
Table 5 Development Cost Project Module Labor Hours Labor Cost Equipment Cost ($) Total Module Cost ($) USER INTERFACE 0.00 2971.44 Screen display coding 20 825.40 GUI action events coding 14 577.78 Play-list selection coding 13 536.51 Workout options coding 25 1031.75 HEART RATE MONITOR (HRM) 4413.30 HRM detection via Bluetooth 10 412.70 79.95 Beats per minute display coding 30 1238.10 Code debugging and Testing 20 825.40 GUI interfacing 45 1857.15 ACCELORAMETER 0.00 4952.40 Pedometer Algorithm 20 825.40 Code debugging and Testing 50 2063.50 GUI interfacing 50 2063.50 MUSIC MANIPULATION 0.00 24762 Tempo adjustment coding 300 12381 Code debugging and Testing 200 8254 GUI interfacing 100 4127 INTERGRATION 0.00 19809.60 Integrate all modules 80 3301.60 Demo Preparations 100 4127 Lecture/Group Meetings 300 12381 TOTAL LABOR 1377 56828.27 TOTAL PARTS COSTS 79.95 Project Cost 56908.22 beatrunner(ece4007l05) 20
8. SUMMARY Currently, the design group is getting familiarizing with the ios SDK using Dave Mark s ios programming book. The book provides useful examples that allow each member to enhance his/her programming ability using the iphone SDK. Orders have been submitted to lab supervisors for the approval of the purchase for an Apple computer to increase productivity among the group. The Polar WL heart rate monitor ordered has arrived and initial testing with the device has started. beatrunner(ece4007l05) 21
REFERENCES [1] E. Quinn. (2010, May 14). The Warm Up - How To Warm Up Before Exercise [Online]. Available: http://sportsmedicine.about.com/cs/injuryprevention/a/aa071001a.htm [Accessed February 4, 2011] [2] M.Mulrooney. (2010, January 31). How to Calculate Heart Rate With the Karvonen Method [Online]. Available: http://www.livestrong.com/article/78034-calculate-heartrate-karvonen-method/ [Accessed February 20, 2011] [3] K. Flegal. (2010, January 13). Prevalence and Trends in Obesity Among US Adults,1999-2008 [Online]. Available: http://jama.amaassn.org/content/303/3/235.full?ijkey=ijkhq6ybjn3oo&keytype=ref&siteid=amajnl s [Accessed February 18, 2011] [4] B. Dolan. (2011, January 20). Study: 42 percent of U.S. uses a smartphone [Online]. Available: http://mobihealthnews.com/6178/study-42-percent-of-u-s-uses-asmartphone/ [Accessed February 18, 2011] [5] Nike. Nike+ [Online]. Available: http://www.nikeplus.com [Accessed February 18, 2011] [6] Apple. Nike BOOM [Online]. Available: http://itunes.apple.com/us/app/nikeboom/id381439239?mt=8 [Accessed February 18, 2011] [7] A. Viklund. Workout Music Studio: Unleash the Power of your Music! [Online]. Available: http://www.bestworkoutmusic.com/repacer.html [Accessed February 19, 2011] [8] Apple Inc., Library, [Online]. Available: http://developer.apple.com/library. [Accessed:Feb 05, 2011]. beatrunner(ece4007l05) 22
[9] Listening To Music When You Work Out Helps Your Fat Loss., Manvfitness, [Online]. 2010, http://www.manvfitness.com/559/listening-to-music-makes-you-fitter-helpslose-body-fat-what/ [Accessed February 20, 2011] [10] Are Americans Exercising Less?, WebMD. [Online] Available: http://www.webmd.com/fitness-exercise/news/20100121/are-americans-backing-offexercise [Accessed February 20, 2011] beatrunner(ece4007l05) 23
Appendix 1 - Table A1 Gantt Chart Details Task Name Duration Start End Difficulty Responsible Proposal 6 Days 2/14/11 2/21/11 Turn in Proposal 0 Days 2/21/11 2/21/11 Milestone Team User Interface 12 Days 2/21/11 3/8/11 Construct Screens(GUI) 3 Days 2/21/11 2/23/11 Milestone Team Develop Screen Navigation 6 Days 2/24/11 3/3/11 Medium Team Functionality 9 Days 2/24/11 3/8/11 Hard Lakshmi Heart Rate Monitor 9 Days 3/9/11 3/18/11 Connect w/ iphone 3 Days 3/9/11 3/11/11 Milestone Marc Abstract data from packets 3 Days 3/12/11 3/15/11 Milestone Marc Display data in GUI 3 Days 3/16/11 3/18/11 Medium Lakshmi Accelerometer 16 Days 3/9/11 3/29/11 Develop Pedometer Algorithm 6 Days 3/9/11 3/15/11 Milestone Oren Display info info in GUI 10 Days 3/16/11 3/29/11 Medium Lakshmi Music Manipulation 21 Days 3/9/11 4/5/11 Determine BPM 7 Days 3/9/11 3/16/11 Hard Marvin Song Choice Algorithm 14 Days 3/17/11 4/5/11 Hard Marvin Tempo Adjustment Algorithm 14 Days 3/17/11 4/5/11 Milestone Team Integration 7 Days 4/6/11 4/13/11 Combine all Modules 7 Days 4/6/11 4/13/11 Milestone Team Test & Debug 6 Days 4/14/11 4/21/11 Fix Errors & Simulation 6 Days 4/14/11 4/21/11 Hard Team Final Presentation 8 Days 4/20/11 4/29/11 Prepare Presentation 8 Days 4/20/11 4/29/11 Medium Team Present 0 Days 4/29/11 4/29/11 Milestone Team Final Demonstration 5 Days 4/29/11 4/5/11 Prepare Demonstration 5 Days 4/29/11 4/5/11 Medium Team Give Demo 0 Days 5/5/11 5/5/11 Milestone Team Final Report 0 Days 5/5/11 5/5/11 beatrunner(ece4007l05) 24