13 / GESTURE PHYSICS
Pull to Refresh
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
Task: Pull the content down and release past the threshold.
NAIVE
Pull down
- Inbox synced
- New comment
- Weekly digest
- Deploy passed
- Invoice paid
pull0px
threshold—
armedFALSE
THOUGHTFUL
Pull down
- Inbox synced
- New comment
- Weekly digest
- Deploy passed
- Invoice paid
pull0px
threshold80px
armedFALSE
Play with the values
80px
0.5
How it works
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.