By the end of this lesson you can
- Explain why systems must always show what is happening.
- Choose the right feedback for different response times.
- Design feedback for success, progress and failure.
The idea
Every action should get a response. "Visibility of system status" is the first of Jakob Nielsen's usability heuristics: keep people informed about what is going on, through appropriate feedback within reasonable time.
Response times
- Under about 0.1 seconds: feels instant. Just show the result.
- About 1 second: people notice the delay but keep their flow. A subtle indicator helps.
- Over a few seconds: show progress, ideally with an estimate, and let people do something else or cancel.
Types of feedback
- Immediate: button press states, toggles changing.
- Progress: spinners, progress bars, skeletons, step counts.
- Result: success messages, updated content, toasts.
- Failure: clear errors with recovery steps.
Optimistic updates
For actions that rarely fail, such as liking a post, the interface can update immediately and quietly undo if the server fails. This feels fast, but needs a clear message when it does fail.
Why it matters in real projects
Without feedback, people repeat actions (paying twice), abandon tasks they think failed, or lose trust. Good feedback makes products feel fast and reliable, even when they are not. It is one of the cheapest ways to improve usability.
A realistic example
An online form submits silently and takes four seconds. People click "Submit" again, creating duplicate applications that staff must clean up by hand.
The designer changes the button to a loading state with "Submitting…" and disables repeat clicks, then shows a confirmation page with a reference number. Duplicate submissions virtually disappear, and fewer people phone to check their application arrived.
Step by step
List actions
List every action on a key flow.
Measure timing
Estimate or measure response times.
Choose feedback
Pick immediate, progress, result and failure feedback for each.
Prevent repeats
Block duplicate submissions while processing.
Design failures
Write clear error and retry messages.
Test on a slow connection
Throttle the network and try the flow.
Common mistakes
Mistake No feedback during waits.
Instead Show progress for anything over about a second.
Mistake Success messages that vanish too fast.
Instead Give people time to read, or keep a persistent result.
Mistake Optimistic updates that fail silently.
Instead Tell people when an action did not work.
Check your understanding
Choose an answer, then check it. There is an explanation either way.
Practice exercise
Exercise · about 45 min
Feedback map
Map feedback for a checkout flow.
Steps
- List every action.
- Assign feedback by response time.
- Design loading, success and failure for payment.
- Test on a throttled connection.
Deliverable
A feedback table and designed states for payment.
Self-assessment
Tick each item when it is true of your exercise. Be honest; this is for you.
4 items
Summary
- Always show what the system is doing.
- Match feedback to response time.
- Design progress, results and failures.
- Optimistic updates need failure handling.
Further reading
Third-party sources, chosen for reliability. They open in a new tab.
- 10 usability heuristics for user interface design (opens in a new tab)Nielsen Norman Group
- Response times: the 3 important limits (opens in a new tab)Nielsen Norman Group
Your notes
Marking complete updates your course and roadmap progress.