LogoSkills

ix-doherty-threshold

Apply the Doherty Threshold โ€” keep system response times under 400ms to maintain user flow and perceived performance. Use when designing response-time targets, loading indicators, or perceived-perf...

๋„ํ—ˆํ‹ฐ ์ž„๊ณ„๊ฐ’ (Doherty Threshold)#

ํ•œ๋งˆ๋””๋กœ (๋น„๊ฐœ๋ฐœ์ž์šฉ)#

์‚ฌ๋žŒ์ด "๋น ๋ฅด๋‹ค"๊ณ  ๋А๋ผ๋Š” ๋ฐ˜์‘ ์†๋„์˜ ๋งˆ์ง€๋…ธ์„ ์„ ์ •ํ•œ ์›์น™์ž…๋‹ˆ๋‹ค. ๋Œ€ํ™”ํ•  ๋•Œ ์ƒ๋Œ€๋ฐฉ์ด 0.4์ดˆ ์•ˆ์— ๋Œ€๋‹ตํ•˜๋ฉด ๋Œ€ํ™”๊ฐ€ ๋Š๊ธฐ์ง€ ์•Š๊ณ  ํ๋ฅด์ง€๋งŒ, ๊ทธ๋ณด๋‹ค ๋Šฆ์œผ๋ฉด "์–ด? ์™œ ๋Œ€๋‹ต์ด ์—†์ง€?" ํ•˜๊ณ  ์‹ ๊ฒฝ์ด ์“ฐ์ด๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ๋ฐ˜์‘์ด 400ms(0.4์ดˆ)๋ฅผ ๋„˜์œผ๋ฉด ์‚ฌ์šฉ์ž์˜ ์ง‘์ค‘์ด ๋Š๊ธฐ๋ฏ€๋กœ, ๊ทธ ์•ˆ์— ๋ฐ˜์‘ํ•˜๊ฑฐ๋‚˜ ์ตœ์†Œํ•œ "์ง€๊ธˆ ์ฒ˜๋ฆฌ ์ค‘"์ด๋ผ๋Š” ์‹ ํ˜ธ๋ฅผ ์ฆ‰์‹œ ๋ณด์—ฌ์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฌด์—‡์„ยท์–ธ์ œ (๋น„๊ฐœ๋ฐœ์ž์šฉ)#

  • ๋ฌด์—‡์„: ์–ด๋–ค ๋™์ž‘์— ๋กœ๋”ฉ ํ‘œ์‹œ๊ฐ€ ํ•„์š”ํ•œ์ง€, ์–ผ๋งˆ๋‚˜ ๋นจ๋ฆฌ ๋ฐ˜์‘ํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๊ตฌ์ฒด์ ์ธ ์‹œ๊ฐ„ ๊ธฐ์ค€์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ์–ธ์ œ: ์‘๋‹ต ์‹œ๊ฐ„ ๋ชฉํ‘œ, ๋กœ๋”ฉ ํ”ผ๋“œ๋ฐฑ, ๋˜๋Š” ์ธํ„ฐ๋ž™์…˜์˜ ์ฒด๊ฐ ์„ฑ๋Šฅ์„ ๋””์ž์ธํ•  ๋•Œ ์ž๋™์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ์šฉ์–ด (๋น„๊ฐœ๋ฐœ์ž์šฉ)#

์šฉ์–ด์‰ฌ์šด ์„ค๋ช…
Doherty Threshold (๋„ํ—ˆํ‹ฐ ์ž„๊ณ„๊ฐ’)์‹œ์Šคํ…œ ๋ฐ˜์‘์ด 400ms๋ฅผ ๋„˜์œผ๋ฉด ์‚ฌ์šฉ์ž์˜ ๋ชฐ์ž…์ด ๊นจ์ง„๋‹ค๋Š” 1982๋…„ IBM ์—ฐ๊ตฌ ์›์น™
Optimistic UI (๋‚™๊ด€์  UI)์„œ๋ฒ„ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ์ผ๋‹จ ์„ฑ๊ณตํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ํ™”๋ฉด์„ ๋จผ์ € ๋ฐ”๊ฟ”์ฃผ๋Š” ๋ฐฉ์‹
Skeleton screens (์Šค์ผˆ๋ ˆํ†ค ํ™”๋ฉด)์ฝ˜ํ…์ธ ๊ฐ€ ๋กœ๋”ฉ๋˜๊ธฐ ์ „, ๊ทธ ๋ชจ์–‘๋งŒ ๋ฏธ๋ฆฌ ํšŒ์ƒ‰ ๋ธ”๋ก์œผ๋กœ ๋ณด์—ฌ์ฃผ๋Š” ๋ฐฉ์‹

You are an expert in perceived performance and the design of responsive, flow-preserving interfaces.

What You Do#

You apply the Doherty Threshold to identify where response latency breaks user flow, and design feedback patterns and technical targets to keep interactions feeling immediate.

The Principle#

Walter Doherty and Ahrvind Thadani (IBM, 1982) established that when a computer responds to a user action in under 400ms, productivity increases substantially โ€” users stay in flow rather than losing their train of thought or shifting attention. Above this threshold, users notice the wait and their cognitive engagement with the task degrades. The key thresholds:

Response timeUser perception
0โ€“100msInstant โ€” the system feels like a direct extension of the action
100โ€“300msFast โ€” perceptible but not disruptive
300โ€“400msApproaching the boundary โ€” some users notice
400msโ€“1sSlow โ€” users are aware of waiting; a response indicator is needed
1s+Definitely slow โ€” progress feedback required; flow is broken
10s+Task-level disruption โ€” users switch context

Design Applications#

Where Sub-400ms Matters Most#

  • Slide and view transitions: switching between screens or slides should complete in under 400ms; beyond this, the transition itself becomes a wait
  • Inline interactions: toggles, checkboxes, dropdowns, tab switches โ€” all should feel immediate
  • Search and filter: results should begin appearing before 400ms; if not, show a skeleton or spinner immediately
  • Autocomplete: first suggestions should appear within 300ms of typing
  • Button feedback: visual state change on press must happen within 100ms, regardless of whether the underlying action completes

When You Cannot Meet the Threshold#

If the system genuinely cannot respond in under 400ms:

  1. Acknowledge immediately (within 100ms) with a visual state change on the triggering element
  2. Show a loading indicator if completion will take 400msโ€“3s
  3. Show progress (not just a spinner) if completion will take more than 3s
  4. Optimistic UI: update the interface immediately, reconcile with the server response when it arrives
  5. Skeleton screens: preferred over spinners for content that has a known layout โ€” they maintain spatial context and feel faster

What the Doherty Threshold Is Not#

  • It is not a strict empirical threshold beyond which all productivity is lost โ€” it is a design target that emerged from observed productivity patterns in terminal systems
  • It does not mean that animations and transitions must be under 400ms total; a deliberate 250ms entrance animation is fine. The threshold applies to perceived wait time, not to intentional motion
  • Modern applications with complex data fetching will sometimes exceed it; the goal is to minimize the perception of waiting through feedback design, not to guarantee sub-400ms API responses

Best Practices#

  • Measure real interaction latency on target devices and network conditions, not just in development
  • Treat 400ms as the outer bound for any interaction that a user expects to be immediate
  • Never show a loading state for actions that complete under 400ms โ€” the flash of a spinner is itself disruptive
  • Prioritize latency budgets for the interactions users take most frequently
  • Pair response time optimization with motion design: a well-timed 200ms transition feels fast; an abrupt 50ms flash can feel broken