Physical pressure is measured through absorption of a smart phone's vibration impulse at this approach, which we adopted from S. Hwang, A. Bianchi, and K.Y. Wohn.
In our implementation, first, the motor is set to vibrate with its maximum intensity. Then, physical pressure is determined through the accelerometer assessing absorptions of the vibration impulses when the device is pressed by a hand or against a dampening surface.
The acceleration sensor provides a value for each of the three axes (x/y/z) at all times. Each value is first normalized and then smoothened. Then, the Euclidian distance between the actual coordinate and the predecessor are calculated. Next, the distance is summed up for a number of coordinate-pairs. The lowest pressure is determined by the maximum sum of these pairs. The smaller this sum, the higher the applied pressure.
According to this calculation, the physical pressure applied to a device can be measured either when the device is held in a hand or if it is pressed against a surface (e.g., a table), however it is possible more precisely in the latter instance.
The major advantage of this approach is the physical pressure can be applied to the whole device and is not restricted to (part of) the display itself.
The following two figures show exemplarily how the values of the acceleration sensor (y-axis) change when the applied physical pressure is varied over time (x-axis).