Graceful Degradation
Design Principles
Build for the best case, but make sure it still works when parts fail.
In practice
Graceful degradation is progressive enhancement approached from the other end: design the full experience for modern, capable environments, then ensure that when a feature is unsupported or a resource fails, the interface falls back to something usable rather than breaking. A video with a poster, a map with an address, an app that still reads without scripts.
Questions
What is Graceful Degradation?
Graceful degradation is the practice of designing systems that continue to function acceptably when components, features or capabilities are unavailable.
Why do you use Graceful Degradation?
Everything fails sometimes — networks, scripts, browsers, APIs. Designing the failure state is designing for reality.
How do you use/apply Graceful Degradation?
Identify each dependency, design what happens when it is missing, provide fallbacks — static content, alternative controls, clear messages — and test by breaking things deliberately.
When do you use Graceful Degradation?
For every feature that depends on something you do not control.
Who uses Graceful Degradation?
Developers and product designers responsible for reliability.




