I am implementing a list view on a touch screen.
I want to implement iPhone-like behavior, where you can scroll through the list by dragging any part of the list with your finger.
The hard part is the inertia. When you let go with your finger, the list must continue to scroll in the same direction. It must initially scroll at the same velocity, but decelerate to a resting state, as if it was slowing down due to friction. I guess the effect should be like sliding a playing card on a polished surface.
Given that I want this to be close to real-world physical behavior, what should be the formula for deceleration (the points per second per second)?
Is deceleration to be a constant, or will this be some more complex formula, taking as parameters the initial velocity and duration?
(This might actually be more a physics question than a UI question).