We live in a bubble. We work all day on high-spec machines, plugged into high-speed connections and use the latest cut of our favourite web browser. The real world isn't like that.
Taking just network connection as one example. It's no longer as simple as online-versus-offline.
- Connected to a high speed fibre connection via wifi every few minutes for less than a minute (the London underground)
- In a region where the cost of using the local network is so high the user has chosen not to be connected.
- Connected to a weak wireless signal where only a small number of requests are successful.
- Using a connection where only a subset of websites are blocked (an airport or in China - it's possible to make your website nearly unusable in China by poorly integration of a Facebook widget)
- Device prefer to connect to wifi hotspots that require logins, even when they have perfectly good mobile connections.
Whilst the web is slowly reaching ever more remote locations - wifi on planes and underground - the amount by which we depend on it is growing even faster.
As developers we need to do a better job.