If you're a tech savvy, computer aware person, you probably spend a bit of time doing tech support - helping friends and families with general PC problems . You've probably experienced the kind of guru-like awe and reverence that you're viewed with when you quickly solve a problem by breezing through a thousand unrelated options. For us nerds, it's not so hard - just a case of knowing the behavior, and the conventions, allows us to pick our way through even completely foreign application with relative ease. For the rest of the world, Computer use is something of a dark art. User interfaces are complicated. Designing such complexity for an untrained human to use is really hard. Of course, Software Engineers are frequently not great at it, which doesn't help. Jan Miksovsky's post , (via The old new thing ), got me thinking about an old idea I had to try and visualize the complexity of a user interface. I call them 'decision trees' ( I apologize in advance ...