Purdue University Speed monitoring app with Haptic alert (PUSH)

V. K. Chaithanya Manam, Naixing Wang

Demo Video


Health & Wellness apps for Apple watch are very popular as people use them for their fitness by tracking the number of calories they have consumed and the number of calories they have burnt. Every user wants to maintain a speed range (lower limit and upper limit) so that he will run for a longer time with out being exhausted. Thus, during the running, user needs to look at his watch often to check whether he is in his permissible speed range or not. Looking at watch during running is often distractive and can reduce the performance of the user.

In this project we are building an app that tracks the users speed and when the user exceeds or fall below the permissible speed, it will send tactic signals to the user Apple watch. These tactic signals are different, so the user can know whether he is under or over the speed limits. User can either increase or decrease the speed based on these signals. User who uses our app do not have to worry about looking at the watch while running, user can put his full effort and concentration on running and thereby increasing his fitness levels.

Related work

There are many running apps available in the Apple store to download and use for Apple watch. The Nike+ Running integrates with the Nike+ app for iPhone to display relevant information for your ongoing run right on your wrist. On the Apple watch, it brings up with the basic time, distance, and pace metrics. It also provide a storage component built into the watch, which will allow the users to store there last runs. Strava differs from Nike+ by showing additional information such as elevation gain, and heart rate. In the Apple watch version, it also provide the basic information, such as time and distance. If you're a premium Strava user, the application will display your weekly progress toward a goal. Runtastic adds additional information of how many calories you have burned. In the Apple watch version, Runtastic has a couple more options for tracking, including mountain biking and Nordic skiing. The watch screen during your workout is to the point with duration, distance, and pace.

Among these health and wellness apps, running apps track the distance ran, speed and the amount of calories that are burnt. The tracking of the users distance works great as long as the iPhone GPS is on point. One major issue of these apps is that they have a little lag when the user lifted his/her wrist to check the status of his/her run, taking a good second to sync with the iPhone information.


The main motivation for our project is to provide seamless running experience to the users with the tactic signals. These different tactic signals will allow the user to adjust his/her speed without looking at the Apple watch, thereby increasing the efficiency and safety of the user.


PUSH is a motivational run-tracking app, which has following features:

A storyboard is a visual representation of the user interface, showing screens of content and the connections between those screens. In storyboard, we have add the buttons and the labels that are needed for our app.

After completing the storyboard, the next step is to complete the basic app flow. Xcode provides the Master-Detail app template, but we dont need all the ViewControllers, such as MasterViewController. Therefore, we delete MasterViewController.h and MasterViewController.m for simplicity. Next, we add the ViewControllers that we need and name them as ViewController and SpeedRangeViewController. These ViewControllers include all the properties and classes that will be implemented in our app. It will allow the app to update the location even if the user presses the home button to take a call or browse the net. This feature is very useful for us since it will guarantee the accuracy of the user location information.

We then record the location information of the user during the run. We use the Location Updates provided by Apple to implement this. The next step is to calculation the speed using the core location that is provided by iPhone. Core Location measures everything in the units of metric system. Therefore, we use the meters per second as the unit of speed. After calculating the speed, we need to build the connection between iPhone and Apple watch. We use WCSession to implement this feature. The WatchKit for Watch OS2 provide the access to the Taptic engine, which allows us to add haptic feedback. In our implementation, we use palyhaptic, which is included in the WKInterfaceDevice.

Figure 1 and 2 shows the interfaces on the iPhone when using PUSH. By tapping speed range, the user enter Figure 1. The user is supposed to enter the speed range in Min speed and Max speed. After entering the speed limits and tapping start, Fetching your location will pop up below. This indicates that the iPhone is starting fetching the user location.


Figure 1


Figure 2

We have tested our app and we found that tactic signal strength adjustment would be a good add-on feature in our app as different people skin has different sensitivity towards vibration. However, the present WatchKit doesn't provide this feature to adjust the strength of vibration.

Usability Study

As per Jakob Nielsen, we only need 5 users to do usability studies. So, we have choosen 5 users for usability study of PUSH app. Users details are as follows:

Usability Questions

  1. Please set 2.682 meter/sec (~ 6 Miles per hour) and 3.576 (~ 8 Miles per hour) as the speed limit. The motivation behind this question is to find out whether the user can find out how to set the speed limits easily. All the participants accomplished the task.
  2. Were you able to feel the vibration when you are above the maximum speed? The motivation behind this question is to find out whether the app feature is working as per expectations. All the participants were able to feel the vibration when they are above the maximum speed.
  3. Were you able to feel the vibration when you are below the minimum speed? The motivation behind this question is to find out whether the app feature is working as per expectations. All the participants were able to feel the vibration when they are below the minimum speed.
  4. Were you able to differenciate the two vibrations (one for above the maximum speed and one for below the minimum speed)? The motivation behind this question is to find out whether the app feature is working as per expectations. All the participants were able to feel the difference between the vibrations.
  5. Is the intensity of the vibration good enough to feel while running? The motivation behind this question is to find out whether the app feature is working as per expectations. 3 partcipants said that the vibration intensity is good and 2 said that it is a bit intensive.

Usability Rating Questions

We have asked users to rate the usability of our app based on the below questions on a scale of 1-5 (5 being excellent, 1 being bad).

  1. How easy is to learn using this app? (Learnability)
  2. Once learned will you be able to use this app more easily? (Efficiency)
  3. Assume that you have not used this app for 1 month and after that if you want to use this, will it be easy to use? (Memorability)
  4. Did you feel the app is error prone? (Errors)
  5. Please rate your overall satisfaction in using this app.(Satisfaction)

Figure 3 shows the average rating of our app.


Figure 3

Usability Problems Identifed

  1. There is no stop button to stop the app.
  2. Users are not able to change the metrics for the speed. By default it takes meters per second. Most of the users have converted their known speed range from miles per hour to meters per second.
  3. Users doesn't have a choice to choose what kind of vibration do they need.
  4. We have mentioned the speed as M/S. 2 users understood it wrongly and entered the values in terms of Miles per Hour instead of Meters per Second.
  5. When users started using our app for the 1st time, when they get the 1st vibration, they doesn't know whether it is due to crossing maximum speed or minimum speed. So they have to check their speed in the watch to understand this.


In this project we have built a running app that communicates with apple watch and sends tactic signals when user exceeds his speed range. With our app, user can concentrate on running which improves efficiency and safety of runner.

Future work

In future, we can provide an option for the user to set the range of heart rate during running so that he can reduce his weight efficiently and be fit. Currently, we need iPhone to record the location information. However, the future Apple watch may have its own GPS sensor, which will allow the user to run without his/her iPhone.

We can add the haptic feature to many existing health apps in the apple store so that it can provide a better user experience and satisfacton.