October 12, 2024
Designing for Real Constraints
Designing for Real Constraints
Most design advice assumes ideal conditions. Fast networks. Powerful devices. Reliable electricity.
But for billions of people—especially across Africa—these assumptions are false.
The Constraints Are Features
Building for constraint forces better design. When bandwidth is precious, every byte matters. When device power is limited, efficient code becomes non-negotiable. When the user might lose connectivity mid-task, offline-first features become essential.
These aren't limitations. They're design requirements that make products better for everyone.
What Changes
When you design for constraint:
Speed becomes critical
- A three-second load is unusable on 3G
- Caching and progressive enhancement aren't optional
- Every kilobyte of JavaScript has a cost
Usability improves
- Simpler interfaces work better on small screens
- Voice and SMS interfaces become more valuable
- Feedback loops need to be immediate
Battery and data
- Users think in data, not free connections
- Power consumption becomes a design metric
- Throttling isn't a special case—it's the baseline
The Future Isn't Different
The products built for real constraints in Africa will be used globally.
Progressive web apps, offline-first databases, lightweight frameworks—these started as African necessities. They became global best practices.
The lessons are clear: design for the 70%, not the 30%. Build for the worst case, not the best. Make products that work when conditions are real, not imagined.
That's designing with integrity.