- The Design of Everyday Things, by Donald A. Norman (Basic Books, 1988 and 2002). Norman explores the design of everyday things -- light switches, doors, telephones, cars, and some computers. Along the way he delves into principles useful to user interfaces as well as trying to develop a better understanding of users.
- The Humane Interface: New Directions for Designing Interactive Systems, by Jef Raskin (Addison-Wesley, 2000). Jef was the chief designer of the Apple Macintosh and ushered in the current desktop metaphor.
- The GUI Design Handbook, Susan Fowler and Victor Stanwick.
This book is now out of print but is available on the web at http://www.fast-consulting.com/desktop.htm. It gives an overview of many different kinds of user interface components with guidance on what they are good for, how they are commonly misused, and helpful design guidelines. Not tied to any particular api.
- Designing from both sides of the screen, by Ellen Isaacs and Alan Walendowski (New Riders Publishing, 2002). Ellen is an interaction designer and Alan is a software engineer. They team up to explain in very clear and readable language how they designed a instant messaging system. They illustrate basic principles very concretely.
- GUI Bloopers: The Don'ts and Do's for Software Developers and Web Designers, by Jeff Johnson (Morgan Kauffman, 2000). This book compiles a lot of wisdom in an easily accessible format. It's illustrated with both positive and negative examples