''The Humane Interface: New Directions for Designing Interactive Systems'' by JefRaskin

http://ec1.images-amazon.com/images/I/41CCT7BWHQL._BO2_OU01_AA240_SH20_.jpg

Publisher: Addison-Wesley Professional; 1st edition (March 29, 2000)
 ISBN 978-0201379372, ISBN 0201379376
 http://rchi.raskincenter.org/ 

(See also Jef's official site at http://rchi.raskincenter.org/ where he was putting his ideas into effect in TheHumaneEnvironment, later renamed ArchyProgram.) Note: As of 10/11/2012, raskincenter.org is no longer in existance.  I turned to the Wayback machine, but there are no backup's due to a robots.txt file.  Jef is gone, and now his final work has disappeared.  :(

There are some theoretical foundations in the book: GOMS analysis and some cognitive psychology stuff on attention loci, etc.

Some of the points of the book:

People develop habits. '''Habits are good''' because then you can
focus on other tasks. Thus, '''asking for confirmation is bad'''
because users will develop a habit of confirming the command, or the
interface will be obnoxious to use. Thus, commands must be undoable.
Furthermore, adaptive user interfaces are bad, if the adaptation
interferes with habits formed.

'''Modes are bad''' because they cause errors, even when there is an
indicator for the mode. That's because people will focus on the task,
not on indicators. This applies also for hardware (powerswitches are
bad) and applications (restarting an application should put you back
where you left it, not in another mode). '''QuasiMode''''''s are good''' --
pressing a key to activate a mode (such as Shift, Control, Alt, or
Meta) is good, because the touch required provides feedback on the
mode. Therefore LeapMode is good.

'''Monotony is good.''' If there is only one way of doing things,
then people develop habits and feel secure and in control. If there
are too many choices, it is difficult to teach, and difficult to use
because you have to decide ''how'' you will do something.

'''Customization is bad''' because people tinker too much with the
system. There is no proof that after customization, people are more
productive. Furthermore, the software is harder to test, and harder
to debug. And there is no reason to believe that users will be better
usability engineers than the authors of the software. Plus a lot of
choice makes the system non-monotonous (see above).

'''Icons are bad''' because as soon as you have more than a very small
number of them, they need explaining again. Therefore, stick to texts.

'''The Zooming Interface''' is something to replace applications,
desktop, browsers, etc. All of the content is displayed on an
infinite virtual plane. As you zoom closer, documents can be edited.
See ZoomableUserInterface.

'''Filesystems are bad.''' Instead, just provide an interface where
the user can type text. If not the zooming interface, then perhaps
the old CanonCat interface -- one huge text with document separation
characters. If it is easy to select text and print it -- ie. it is
easy to mark the text between two document markers -- then files are
not useful. Consider the hassle of learning the importance of files,
directories, filenames, etc. when all the user wants to do is type
text and print it.

''For which an old fashioned pencil(with built-in eraser) and paper pad will suffice''

''And which if you want to store it for later recovery, you can merely scan it and write down the place and name of where you put it in your day-timer (or even put it there).''

----
Related: DontModeMeIn, NewOsFeatures, KillerUserInterface

CategoryBook CategoryInteractionDesign