Use a simple interface

A car’s steering wheel lets a driver steer without knowing how the mechanism moves the wheels. It exposes the control the driver needs and hides the machinery behind it.

An email app works similarly: you click Send without needing to know how the message travels across the internet.

When hidden details matter

A good abstraction makes a task easier without hiding information people need. An abstraction leaks when a hidden detail still affects the user. For example, a weak internet connection can delay an email after you click Send.