|
|
|
|
Google Hacks
| The Design and Analysis of Computer Algorithms... by Aho, Hopcroft and Ullman -- One of the classics -- a readable and practical textbook with dozens of problems and projects. Great as a reference to basic data structures and algorithms, too! |
Code Complete : A Practical Handbook of Software Construction
|
Debugging the Development Process : Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams
|
| About Face : The Essentials of User Interface Design
|
Writing Solid Code |
The Art of Human Computer Interface Design Edited by Brenda Laurel Addison-Wesley Publishing Company 1990 You start to mature as a programmer when you realise that users do not look on your software in the same way you do. All those elegant algorithms and tricky handling of variables behind the scenes are simply invisible to them. To the average person the user interface IS the software. So we had better understand clearly what works and why, so we can sell more of our creations to more people. The 48 articles in this book cover the range of thinking from why have an interface at all to the use of guides to help the user find their way through a mass of information. While the screen has been the main location of interaction between people and computers, this book also has a section looking at additional means such as gestures, voice or video. Authors of articles in this collection include Brenda Laurel, Alan Kay, Donald A. Norman, Nicholas Negroponte, Timothy Leary, Michael Chen and Howard Rheingold. There are a couple of pages of pictures of the authors, and enough references listed to keep you reading for years if you want to explore further. It is the sort of book you keep dipping in to figure out where you are going, or where other programmers are going. One of the articles I keep going back to is "Building User Centred On-line Help" by Abigail Sellen and Anne Nicol. It has a list of questions that users ask:
The answers to these are different in various kinds of software. This is the sort of thinking that has lead to tool-tips, wizards, navigation button bars and similar new ideas. So the book is very much the base for work that is currently going on around us. Human-computer interface design is a new discipline that has grown to meet felt needs. Hopefully under the influence of books like this the future of software creation will see the end of the interface as a separate and secondary item. It aims for more than just teaching engineers to be sensitive to their users' needs and capabilities. The interface is the contact surface between two entities. We are surrounded by them in everyday life. A steering wheel is our interface between driver and car. A door knob is our interface to a building. The knob sticks out and its shape and placement are oriented to our hand. We will open the door. Sometimes you will meet a different door. You may be scanned by a video camera and some unknown agent will open the door from an invisible place. The interface reflects the possible functions that can be performed and the power or control of those who are interacting. This book will assist you in answer the fundamental question that all software creators are trying to answer: what does the user want to do? How can I make it possible for them to do what they want? |
|
Recommend this page to a friend
| |