Advances in Computer Sciences

ISSN 2517-5718

Development of a Mobile Application for Testing the Effect of Vibration Feedback on Putting Performance

Courtney Semkewyc, Shradha Suresh, George K Hung*

Department of Biomedical Engineering, USA

Corresponding author

George K Hung
Department of Biomedical Engineering
Rutgers University
599 Taylor Road Piscataway, NJ 08854, USA

  • Received Date:19 November, 2018
  • Accepted Date:03 December, 2018
  • Published Date:05 December, 2018

DOI:   10.31021/acs.20181116

Article Type:   Research Article

Manuscript ID:   ACS-1-116

Publisher:   Boffin Access Limited.

Volume:   1.3

Journal Type:   Open Access

Copyright:   © 2018 Semkewyc C.
Creative Commons Attribution 4.0


Semkewyc C, Suresh S, Hung GK. Development of a Mobile Application for Testing the Effect of Vibration Feedback on Putting Performance. Adv Comput Sci. 2018 Nov;1(3):116


Many golfers have trouble with short putts. This could be either due to poor putting form, or they suffer psychologically from the yips. To reduce or potentially alleviate these issues, an application (app) was developed to provide vibration feedback for putter misalignment during the putting stroke. This was tested on three experimental subjects along with a control subject who did not receive vibration feedback. Five trials were conducted over a two-month period, where each trial consisted of 60 putt attempts. All experimental subjects showed an improvement in putting form, with both an increase in putts made, and a decrease in triggered vibration over the course of the trials. The average percentage of putts made for all three subjects improved from 25% to 50.6% over the five trials, while the average amount of vibration activation decreased from 35.1% to 32.2%. Conversely, the control subject showed a slight decline in performance through the five trials. The difference between the experimental group and the control was statistically significant (p<0.05). The results suggest that this app can be used by both novice and expert golfers to improve putting form by helping them maintain a straight putter swing path.

It has been estimated that up to 30% of serious golfers have experienced the “yips”, which refers to a nervous condition that results in an inability to create a smooth putting stroke [6-8]. The yips are characterized by jerks or spasms of the hand that occur during the stroke, and consequently pushes the putt to one side or the other. One of the means to remedy this problem is to use a putter that does not require coordination between the two hands. For instance, many professional players who suffer from yips used long putters, which is effectively a one-handed putter (although this has been banned for professional golfers since January 01, 2016). Others use specially-designed “counterbalanced” putters [7,8]. Another suggested remedy is to practice putting with the eyes closed [7,9].

Due to the importance of putting in the game of golf, many inventions have been developed to help golfers with their stroke [10]. These include: portable practice putting greens [11], guiding tracks for assisting the putting stroke [12,13], and gyroscopic attachments. Putting greens allow players to practice their putting virtually anywhere, and helps to promote proper muscle memory. The idea behind this invention is that the more practice a player gets, the more he or she will be able to mimic these motions out on the green [3]. Guiding tracks allow the golfer to receive visual and mechanical feedback regarding their putting stroke, and to train on the device to improve performance. A gyroscopic attachment assists the golfer in judging the positioning of the putter and in maintaining a straight line to the ball. The gyroscope will provide some resistance against moving the putter out of line, thus helping the player follow the ideal trajectory [14]. The limitation of this approach is the size and weight of the gyroscope, and the requirement of an electrical startup before each run.

A novel approach developed for this study involves the use of a smartphone to provide vibration feedback regarding deviations from proper stroke direction. Currently, there is no product on the market that provides alignment feedback through vibration in an easy-touse mobile application (app). This method provides instantaneous alignment feedback during the putting stroke, and allows the player to make appropriate adjustments to the putter face angle and stroke path. It also helps the player to concentrate more on maintaining the swing path and divert their attention from nervous issues associated with the yips. Moreover, even golfers who do not have the yips may benefit from vibration feedback to improve their putting performance.


Putter; Vibration; Yips; Angular Deviation; Android Studio


In the sport of golf, learning the proper putting technique is crucial for success. This is because putting accounts for nearly 40% of the total strokes taken in a round of golf [1]. Good putting technique relies on the ability of a player to line up a shot, and then execute a stroke without moving off line. This involves not only effectively reading the putt initially, but also swinging the putter at the perfect angle and having the proper posture. The shoulders, hips, knees, and feet must be positioned parallel to the “target line;” throughout the stroke, the forearms must be parallel to each other. In order to “read the putt,” the golfer must be able to analyze the green, such as how far away the hole is, whether the putt has to be made uphill or downhill, etc. and then use this information to make a good putt [2-4]. These are some of the many factors that can make putting extremely difficult, even for the most experienced players. Thus, even the slightest misalignment off the target line can cause the ball to miss the hole. Another problem that comes into play is that any breaks in the wrist or angular changes in the joints can result in the face of the putter not making contact with the ball at an angle perpendicular to the intended line of the putt, thus causing a missed putt. Indeed, it has been found that putter face angle is one of the most important factors in maintaining directional consistency in the stroke [5].

Advances in Computer Sciences
Figure 1: Experimental setup showing smartphone attached to the putter shaft and subject preparing to putt the ball to a hole (the further distance one) 6 ft away period



The scope of the present study involves young naive subjects who show relatively poor initial putting performance. Subjects were selected from the student population in the biomedical engineering department. They are required to have normal vision, normal eyehand coordination, in general good health, and are able to participate in this study over at least a 2-months period. Excluded from this study are those who do not fit into one or more of these criteria. A total of 4 subjects who are novices in the game of golf and ranging in age from 18 and 28 years of age participated in the study, and were randomly divided into an experimental group and a control subject. The subjects ranged in height and weight from 5’ 3” and 120 pounds to 5” 8” and 150 pounds. The experimental group, which is comprised of 3 subjects, received vibration feedback from a smartphone attached to the putter during the putting stroke. On the other hand, the control subject did not receive vibration feedback, while the equipment setup remained the same as that for the experimental group. All subjects provided written consent in accordance with the Rutgers Human Subjects Protocol, and the study was approved by Rutgers University Electronic Institutional Review Board (eIRB). Data regarding made/missed putts and the occurrence of vibration were recorded manually. The collected data were input into Excel files for analysis, and the results were displayed as bar graphs for comparison among different conditions.

Advances in Computer Sciences
Figure 2:(Top Panel) Button resets center reference position for detecting putting stroke deviation. (Middle Panel) Buttons for increasing or decreasing threshold delta value. (Bottom Panel) Displays current delta value period


The experimental setup is shown in Figure 1. It consists of wood platforms covered with artificial-green material. The subject’s starting putting location is positioned 6 ft from a standard 4-¼ inch hole (Figure 1).

A smartphone is attached to the shaft of the putter at the lower portion of the grip, and is oriented so that the plane of the face of the smartphone is parallel to the intended swing plane. The app is programmed within the Android Studio platform to use the geomagnetic rotation vector sensor of the smartphone to provide the angular orientation of the clubface relative to the line of the putt. A detailed description of programming using Android Studio has been provided by one of the authors (Hung) in a recent publication [15].

The app screen is shown in Figure 2. The top panel contains the "Set Center Position" button, which when pressed will show the actual angular value associated with the player's swing plane referenced to the geomagnetic rotation vector. This becomes the relative 0° for calculating putter path angular deviation. The middle panel controls the amount of deviation via the “Decrement” and "Increment" buttons. Any angle outside of the deviation range will trigger vibration by the smartphone. The value of the deviation range is shown in the bottom panel.

The format of feedback to the subject is that of a 50-msec-duration vibration whenever the putter angular deviation is beyond the threshold (see SENSOR DETECTION AND VIBRATION ACTIVATION under Programming Codes below). This provides the sensation of a continuous vibration when the angular deviation exceeds the threshold (the app allows for control over the angular threshold for vibration and the center reference oreintation of the putter). Whereas the threshold can be set over a range of values, we limited this to one setting (± 20°) based on preliminary tests as explained in the Discussion section

In adjusting the deviation range, there is a tradeoff among range magnitude, sensitivity, and responsiveness. A smaller range provides greater sensitivity, but also makes it more difficult to remain within the allotted deviation range. On the other hand, a larger range provides greater freedom of movement, but at the expense of providing insufficient feedback. Based on preliminary tests, it was determined that ± 20° (with a sensitivity of 2°) was the most effective value. The more experienced players may want a more fine adjustment, and can set the app to ± 15°, which provides increased sensitivity to alignment. Conversely, a novice player may want to start with a greater range so as not to trigger vibration excessively

Programming Codes

JAVA programming codes for two main components of the Android Studio software are provided below. The Screen Buttons Control code first registers the needed smartphone internal sensors. It then activates the on-click listeners for the 3 buttons whose functions have been described above. The SENSOR DETECTION AND VIBRATION ACTIVATION code activates the change detection attribute in the internal sensors. Upon change detection, the smartphone screenplane angle is compared with the center reference value to provide the resultant deviation angle. If the deviation angle is either greater than 20° or less than -20°, the smartphone vibration mode will be activated to alert the user that the deviation threshold has been exceeded

protected void on Create (Bundle saved Instance State) {
super.on Create (saved Instance State);
// Register the sensor listeners (only the ones needed for this application)
mSensorManager = (SensorManager)
accelerometer =
magnetometer =
// Find button 1 by association with specific button on screen layout
b1 = (Button) findViewById(;
// Find button 2 by association with specific button on screen layout
b2 = (Button) findViewById(;
// Find button 3 by association with specific button on screen layout
b3 = (Button) findViewById(;
// Activate On Click Listener for Button Pushed
// BUTTON 1 - Center Position
b1.setOnClickListener(new View.OnClickListener()
public void onClick(View v) {
Button b = (Button) v;
// Get Value of Actual Present Orientation
center1 = roll; // Represents absolute geomagnetic
angle of smartphone face plane (in deg)
// Once button 1 is pushed, center1 will represent the reference
angle for detecting deviation
// Text string for display
String ce = Float.toString(center1);
// Provide value of roll with 3 decimal point accuracy if (ce.
length() < 4)
s_ce = ce; else
s_ce = ce.substring(0, 5); b.setText(s_ce);
// BUTTON 2 - Decrement Alignment Angle
// Vibration deviation threshold +/- delta deg. (Nominally
set at delta = 20)
// Decrement will decrease value of delta.
b2.setOnClickListener(new View.OnClickListener()
{public void onClick(View v){
delta = delta + dec;
String de = Float.toString(delta);
String s_de = de.substring(0, 2);
} );
// BUTTON 3 - Increment Alignment Angle
// Vibration deviation threshold nominally set at +/- 20 deg.
// Increment will increase value of delta.
b3.setOnClickListener(new View.OnClickListener()
{ public void onClick(View v){
delta = delta + inc;
String de = Float.toString(delta);
String s_de = de.substring(0, 2);
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() ==
mGravity = event.values;
if (event.sensor.getType() ==
mGeomagnetic = event.values;
if (mGravity != null && mGeomagnetic != null) {
float R[] = new float[9];
float I[] = new float[9];
boolean success = SensorManager.getRotationMatrix(R, I, mGravity,
if (success) {
float orientation[] = new float[3]; SensorManager.getOrientation(R,
// orientation [0] = azimuth, orientation[1] = pitch,
orientation[2] = roll
// roll corresponds to plane of putter motion
// Multiply by 100 to result in degrees
float gain = 100;
float azimut = orientation[0] * gain;
float pitch = orientation[1] * gain;
roll = orientation[2] * gain;
String az = Float.toString(azimut);
String pi = Float.toString(pitch);
String ro = Float.toString(roll);
String s_az = az.substring(0, 5);
String s_pi = pi.substring(0, 5);
String s_ro = ro.substring(0, 5);
if ( (roll < center1 - delta) || (roll > center1 + delta)) { try {
// Vibrate when outside range
Vibrator v = (Vibrator)
} catch (Exception e) {
// Log roll information when within range
Log.i("Test", "CHECK + "Roll= " + s_ro +
"Center1 = " + center1);

Experimental Procedure

Prior to each experiment, the subjects were allowed to practice 10 putts (without vibration feedback) to a hole 6 ft away to provide a feel for the distance range and setup environment of the green. For the experiments, they were instructed to align the putt and naturally putt the ball toward the hole. Prior to the start of the experimental trial, the subject was instructed to press the “Set Center Position” button. This sets the present geomagnetic plane value to be the new center reference for the intended swing plane. Each trial consisted of 60 putt attempts, with a ½ min break after 30 putts to reduce any effects of inattention following the repetitive tasks. After each attempt, the subject reported whether vibration took place during the putting stroke. This, along with whether the putt was made or missed, was manually recorded. The subjects returned at approximately weekly intervals for a total of 5 sessions.


The data for each of the experimental subjects is shown in Figure 3A-C. Each trial was separated into 2 categories: made and missed putts and each category were further delineated into “vibration” and”non-vibration” modes. A composite of all the subject data is shown in Figure 4

Regarding performance in terms of putts made, Figure 3A shows the data for Subject 1 over the five trial period. Initially the subject made only 36.7% of the putts, with improvement the next week, and a slight decline in performance during the third trial. On the other hand, the next two trials showed a steady increase in performance with the subjecting making 48.3% of the putts in the final trial. The data for Subject 2 in Figure 3B begins with the subject making 53.3% of the putts in the first trial. The following two weeks resulted in lower percentage of made putts, but the final two weeks showed a significant increase in putts made, ending with 66.7% in the final trial. Figure 3C shows the data for the third subject. Again, following a similar trend to that of the first subject, initially the subject made only 31.7% of the putts, but by the fifth trial, the putts made increased to 51.7%.

Regarding the effect of vibration, initially the triggering of vibration for putts made for Subject 1 (Figure 3A) was 11.7%, and that for putts missed was 17.6%. The subject then exhibited less vibration for both putts made and missed over the next 4 trials. In the final trial, vibration for putts made was 5%, and for putts missed was 15%. Figure 3B shows the data for Subject 2. It can be seen that initially the vibration for putts made was 30%, and that for putts missed was 26.6%. The subject then showed a decrease in vibration for both putts made and missed ending with 10% vibration for putts made, and 13.3% vibration for putts missed. Figure 3C shows the data for Subject 3. It can be seen that initially vibration for putts made was 5%, and that for putts missed was 30%. The subject then progressed over the next four trials, decreasing the amount of vibration for both putts made and missed. In the final trial, vibration for putts made was 0% and for putts missed was 8.33%.

A composite graph of the average of all three subjects is shown in Figure 4. The numerical percentage values are shown to provide direct quantitative comparisons. The general trend was an improvement in performance over the 5 trials, with only the 3rd trial showing a slight decline in performance. But this could be explained by the fact that there was a 2 week spring-break interval between trials 2 and 3. Indeed, following that trial, performance continued to improve. With respect to vibration, there was a consistent decline over the 5 trials for all subjects for both made and missed putts.

Figure 5 shows the data for the control subject, who received no vibration feedback over the five trial period. The control subject began making 36.7% of the putts taken during the first trial, which is comparable to the 40.4% of putts made by the experimental group during the first trial. Whereas the experimental group began to progress and make more putts over the next four trials ending with 50.6%, the control subject demonstrated a slight decrease in putts made ending with 31.7%. Student’s t-test showed that for putts made, the experimental and control groups were significantly different (p<0.05).


Android Studio is a powerful tool for implementing a complex method for determining the absolute plane of motion in space [16,17]. With its built-in geomagnetic sensor, we were able to couple the smartphone face plane to the plane of the putter stroke. Also, the built-in vibration control provides instantaneous feedback to the user regarding deviation in the putting stroke. Moreover, Android Studio allows the programmer to design the screen layout, and permits the user to physically control the buttons, while displaying the relevant data values.

Our results show that the experimental subjects exhibited an overall upward trend in putting performance. This indicates that vibration feedback does indeed improve player performance, especially for those who struggle with putting. Moreover, the slight decrease in performance for the control subject indicates that the increase in performance for the experimental subjects could not have been attributed to the effect of repeated putting sessions.

Players who experience the yips or struggle with close range putts tend to move the putter off the proper stroke path [6-8]. This alteration can be due to sudden jerks, where the player turns the putter away from the normal line, causing them to miss the putt. The vibration feedback technique used throughout this project teaches players, regardless of whether or not they have the yips, to remain on a proper swing path, and alerts them to any movements that are off the target line. Indeed, vibration feedback can help them learn how to correct this deviation.

Advances in Computer Sciences
Figure 3: (A - Top) Results for Subject 1. The lower portion of each bar is response without vibration, while the upper portion is that with vibration. (B - Middle) Results for Subject 2. (C - Bottom) Results for Subject 3.
Advances in Computer Sciences
Figure 4: Composite plot of average for the 3 experimental subjects showing a general increase in putts made and decrease in putts missed over the course of the 5 trials. Conversely, occurrence of vibration for both putts made and missed showed a general decrease. Numerical value is for percentage of response. The detailed descriptions of the parts of the bar is the same as those given in Figure 3A

Advances in Computer Sciences
Figure 5: Control subject data showing slightly declining trend over the 5 trials.

After repeated use of this device, players can learn to maintain a more consistently straight swing path. This can be seen throughout the experimental trials as all three experimental subjects demonstrated an increase in putts made with a concurrent decrease in triggered vibration. This shows that the subjects were able to alter their putting stroke to follow an increasingly straight swing path, remaining on the normal line, and thus making more putts. The results also suggest that the vibration feedback technique could help more advanced players to maintain and fine-tune the proper putting path, thus making it an effective learning tool for all players.

It is interesting to note that all three subjects had a drop in performance during Trial 3. In the course of the experimental trials, there was a brief halt in the middle of the study due to spring break, giving the subjects a 2-week gap between Trial 2 and Trial 3. This break, although small, was enough to affect the results of all the experimental subjects. This drop was followed nevertheless by a general increase in performance over the final two trials. This demonstrates that it would be helpful to have regular weekly practice sessions.

In the development of the app, ±20° was chosen as the standard limit for triggering of vibration feedback. This is due to the fact that for novice players a threshold lower than 20° produced an over-sensitive response, leading to increased amount of vibration interruptions. This increased sensitivity would be a distraction to the subject and overrides any useful feedback information regarding alignment of the swing path. For a threshold greater than 20°, the response was not sensitive enough. At these greater angles, the subject could greatly deviate from the normal line of the putting stroke without triggering vibration feedback, thus leading to more missed putts, and poor putting form. Therefore, it was concluded that 20° produced the best sensitivity allowing for only small deviations from the normal line without too many interruptions

To determine the adequate number of putts for the trials, some initial tests were conducted on one of the subjects. To do this, one of the experimental subjects was instructed to continually putt until it was obvious that fatigue was setting in. During testing, it was found that the subject began to exhibit fatigue at about the 60th putt. Our test subject conducted 67 putts during this trial period, with a definitive difference taking place around shot 60 where the putts were missing farther from the hole. This allowed us to determine that 60 putts is the number at which a subject can putt without their performance deteriorating due to fatigue.


Many golfers suffer in performance on short-range putts. This has psychological issues associated with history of small mistakes that may compound over the years, as well as physical issues associated with increased muscular tension. The technique developed in this study provides a quantifiable method to improve performance where the player can practice with vibration feedback to provide a positive experience that could be translated onto the golf course. This is an area that can be explored in the future with players at all skill levels who have difficulty with short putts.