Tesler's Law
For any system there is a certain amount of complexity which cannot be reduced.
Read the original on lawsofux.com →
The scenario: searching for a flight on Velocair. Airports really do have IATA codes, fares really do have classes, and dates really do need parsing — that complexity can't be deleted. The only question Tesler's Law asks is: who deals with it — the customer, or our software?
🔍 What changed
- IATA codes still exist — but an autocomplete maps “ath” → “Athens (ATH)” so the software does the lookup, not the traveler.
- Strict DD/MM/YYYY input replaced by a forgiving parser: “12 Oct” and “next Friday” both work.
- Raw booking-class letters (Y, M, K, T…) translated into three plain-language fares; the mapping happens behind the scenes.
- Country calling code auto-detected instead of demanded, with a one-click override.
- Total system complexity is unchanged — it moved from the form fields into the code, where it's handled once instead of by every customer.
💼 Explaining it to stakeholders
“The complexity in flight booking is irreducible — airport codes, fare classes, and date parsing have to be handled by someone. Today that someone is every single customer, on every single booking, and they pay for it in errors and abandonment. If we move that work into our software, we solve it once and it's solved for everyone. Engineering absorbing a week of complexity so thousands of customers never see it is the best trade on our roadmap.”