09 Pull to Refresh. 9 of 95.
09/GESTURE PHYSICS/9 of 95
Pull to Refresh
Resistance tells your finger how far is far enough.
The problem
Without resistance, a pull either triggers instantly by accident or gives no sign of how far you must go to refresh.
The solution
Drag has rubber-band resistance and only commits when pulled past the threshold.
Experiment
Play with the values
80px
0.5
How it works
- Dragging down from the top is the gesture, and it should not feel like free scrolling.
- Further pull meets diminishing resistance, so distance costs more as it grows.
- The pull distance is compared with a commit threshold.
- Past the threshold the refresh arms, which is usually shown by the indicator changing.
- Release either commits the refresh or springs back if the pull never armed.
Seen in
Mobile feeds
Timelines refresh only when you pull decisively past the arming point, not on a stray tug.
Email inboxes
A resisted pull with a clear threshold prevents accidental syncs from small scrolls.
Dashboards
Data views reload on an intentional over-pull, with a spring-back if you release early.
Chat apps
Pulling to load history feels physical, communicating progress toward the commit point.