A best-selling word processor prohibits me from manually numbering paragraphs. It seems that whenever you combine a device, such as a clock, with a computer chip, you end up with something that is more difficult to use than its uncomputerized counterpart. Alan Cooper is on a mission to make computerized products and software easier to use. He shows how bad things are, why they are bad, the benefits of good design, and an approach for successful interface design. He feels that interface design encourages programmers to think that a user interface can be slapped on for superficial aesthetics after they write the bulk of the code.
Interaction design is much deeper and starts with the user's goals.
Many non-programmers create computer products, often in the guise of spreadsheets and databases and should be concerned about the design of what we produce. Cooper has been on both sides of interactive design. He is a programmer, and his projects include SuperProject and Microphone II for Windows. He is the father of Visual Basic and now heads Cooper Interactive Design. He has the utmost respect for programmers, being one himself, but points out that they rarely make good interactive designers.