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.

References