A method of measuring a path length using a handheld electronic device comprising acceleration sensors, the method comprising, using a processor for: sensing an acceleration of the handheld electronic device for a first dimension and an acceleration of the handheld electronic device for a second dimension while the handheld electronic device is translated over the path, thereby obtaining a first acceleration plot of the handheld device for the first dimension and a second acceleration plot of the handheld device for the second dimension; calculating a first path length from the first acceleration plot using a first integration procedure; calculating a second path length from the second acceleration plot using a second integration procedure, said first and second integration procedures comprising: a) identifying the start and end points of the movement, wherein the identifying comprising: i. determine values of velocity in a certain range; ii. obtaining weighted values of velocity in the certain range; iii. determining a quiet level, using an average window of a predefined time period on the weighted values of velocity; iv. determining, as a threshold, a defined percentage above or below the quiet level; v.assigning, based on the threshold, binary values to the values of velocity; and vi. determining, as the start and end points of the movement, a time of start and a time of end of a widest rectangular function for each of the first dimension and the second dimension; and b) integrating between the start and end points of the movement to find the path length; and calculating a final path length based on the first path length and the second path length. sensing an acceleration of the handheld electronic device for a first dimension and an acceleration of the handheld electronic device for a second dimension while the handheld electronic device is translated over the path, thereby obtaining a first acceleration plot of the handheld device for the first dimension and a second acceleration plot of the handheld device for the second dimension; calculating a first path length from the first acceleration plot using a first integration procedure; calculating a second path length from the second acceleration plot using a second integration procedure, said first and second integration procedures comprising: a) identifying the start and end points of the movement, wherein the identifying comprising: i. determine values of velocity in a certain range; ii. obtaining weighted values of velocity in the certain range; iii. determining a quiet level, using an average window of a predefined time period on the weighted values of velocity; iv. determining, as a threshold, a defined percentage above or below the quiet level; v.assigning, based on the threshold, binary values to the values of velocity; and vi. determining, as the start and end points of the movement, a time of start and a time of end of a widest rectangular function for each of the first dimension and the second dimension; and b) integrating between the start and end points of the movement to find the path length; and a) identifying the start and end points of the movement, wherein the identifying comprising: i. determine values of velocity in a certain range; ii. obtaining weighted values of velocity in the certain range; iii. determining a quiet level, using an average window of a predefined time period on the weighted values of velocity; iv. determining, as a threshold, a defined percentage above or below the quiet level; v.assigning, based on the threshold, binary values to the values of velocity; and vi. determining, as the start and end points of the movement, a time of start and a time of end of a widest rectangular function for each of the first dimension and the second dimension; and i. determine values of velocity in a certain range; ii. obtaining weighted values of velocity in the certain range; iii. determining a quiet level, using an average window of a predefined time period on the weighted values of velocity; iv. determining, as a threshold, a defined percentage above or below the quiet level; v.assigning, based on the threshold, binary values to the values of velocity; and vi. determining, as the start and end points of the movement, a time of start and a time of end of a widest rectangular function for each of the first dimension and the second dimension; and b) integrating between the start and end points of the movement to find the path length; and calculating a final path length based on the first path length and the second path length.