Interaction Design Section   Living Section   About Bruce Tognazzini
Interaction Design Section   Living Section   About Bruce Tognazzini
Ask Tog, September, 1998

The Complexity Paradox

My friend Harry Vertelney recently reminded me of Larry Tesler's law of Conservation of Complexity. Simply put, one cannot reduce the complexity of a task. One can only shift the burden. Harry draws the relative complexity among the user's, application programmer's, and OS programmer's domain thusly:

This might illustrate the relative complexity shared by each during the days of MS-DOS. With the advent of the modern-day GUI, the complexity chart shifted:

The web, with it's original primitive "OS," returned us to an era that looked something like this:

(With the advent of more powerful tools--DHTML, JavaScript, Java--it is shifting back to more closely resemble the apportionment of traditional GUIs.)

What's wrong with this picture?

If the original browsers shifted so much complexity toward the user, why were those original pages so easy to use? For the same reason that computers, in the late 1970s, were easy to use even though they heaped almost all complexity on the users: Neither one really did anything, so there wasn't much complexity involved.

2nd Order Effects

In my 1996 book, Tog on Software Design, I presented Tog's Law of Commuting: "The time of a commute is fixed. Only the distance is variable." Translation? People will strive to experience an equal or increasing level of complexity in their lives no matter what is done to reduce it. Make the roads faster, and people will invariably move further away.

Combine Tesler's Law of Conservation of Complexity with Tog's Laws of Commuting and you begin to see the 2nd order effect that we must anticipate in the future. If people will insist on maintaining equal complexity, yet we reduce the complexity people experience in a given task, people will take on a more challenging task.

How does that explain the skewed proportions of the original web "OS"? The tasks were dead-simple, so even though accomplishing them was made more difficult through lack of error-checking, invisible navigation, etc., the overall complexity was no more difficult than for a far more complex task domain accomplished in a more powerful OS:

Pure HTML Interface

GUI Interface

Bottom Line

Given that people will continue to want the same level of complexity in their lives, given that we will continue to reduce the proportion of complexity of any given function that we expose to the user, we may expect that the difficulty and complexity of our own tasks, be they at the application or OS level, will only increase over time. That has certainly been the case so far--we've gone from simple memo writers and sketchpads to document processors and PhotoShop. And we may assume that's only the beginning.

100 years from now, we could draw this chart at two different scales. If we drew it scaled down so the full complexity would show on this page, the USER column would be so small as to have disappeared. If we drew it full-size, so the user column retained its current width, the end of the chart just might be in the next county.

Seems to me we're going to be gainfully employed for at least for the next 100 years. After that, we might have to look around.


Don't miss the next action-packed column!
Receive a brief notice when new columns are posted by sending a blank email to

return to top

Contact Us:  Bruce Tognazzini
Copyright Bruce Tognazzini.  All Rights Reserved