Why is it that some computing systems appear simple and intuitive to use, while others confuse the users trying to work with them? For some software designers the interface is still seen as an add-on when the rest of the program has been written while human-computer interaction specialists consider programming the final task after numerous interface prototypes have been designed and evaluated. This book bridges the gap between the communities by showing how to design screens in a systematic way so that they are easy to understand and support the user interface efficiently. To do so, it draws on experience from programmers as well as usability specialists. Rather than just showing the reader how to design an interface, the book details how to actually make a fully functional interface putting theory into practice and showing the problems a designer faces when working in a real-world situation.