Can Morphic & eToys be improved by "The Humane Interface" cognitive psychology approach?

Darius squeakuser at inglang.com
Thu Feb 20 01:22:35 UTC 2003


As long as we're reviewing how approachable Morphic is for the novice...




Here are some of Jef Raskin's ideas from his book "The Humane Interface" about


applying cognitive psychology to make user computer interactions more


efficient, consistent, and friendlier.


http://humane.sourceforge.net/home/index.html


___


It seems to me that some of these are accomplished very well by Squeak and some


could make the whole environment much more approachable for the naive. You can


find this summary listed here:


http://minnow.cc.gatech.edu/squeak/3026


and


http://wiki.osafoundation.org/bin/view/Main/HumaneUserInterface




Cheers,


Darius


___




* Whole Purpose is to Create


   - Remember: The whole purpose for using a computer is to create (usually


more information, more instructions, or a memory or experience in one's own


mind)




* Subconscious Finger Habits


   - Create, utilize, simplify, and support the user's subconscious typing and


mouse movement habits.




* Tool should Disappear from User's Attention


   - The use of the tool should disappear from the user's conscious awareness


or attention.




* Uninterrupted Concentration on Task


   - Only the tasks or the creation of content should be conscious in the


user's awareness. This allows uninterrupted concentration on the task.




* Capitalize on User Habituation


   - Make the habits that a user naturally forms when they interact with any


interface work for them instead of against them. Capitalize on user habituation


as much as possible.




* Instant-On


   - User should be able to do work immediately without waiting for the


computer to boot up.




* Never Lose Anything


   - Never lose anything by accident. Eschew "Save" for "Unlimited Undo".




* Never Interrupt the User's Attention


   - Never interrupt the user's attention/workflow unless absolutely necessary.


If a user's decision can be delayed, allow them to attend to the error message


when they are ready.




* Never Move the Data Input Focus


   - Never move the data input focus or click focus unless the user requests


it. (i.e. change menu entries just before user clicks on prior menu entry, or


bring up a dialog box while user is typing so that they press enter on the


dialog box rather than their text, or changing window focus while typing.)




* Non-Modal


   - The entire user interface should be non-modal including the command set,


the keyboard input, and the mouse button input. (Quasi-modes are OK.)




* Data Entry at Any Place and Any Time


   - Allow the typing of a command or data entry at any place and any time.


Allow the user to move the data to an appropriate place after creating it


rather than always navigating first to the data entry field and then entering


the data after that.




* Easily Move Any Unit of Data


   - Easily move any unit of data, block of data, range of data, or data


matching a criteria to any other physical storage place in the system or any


other data type.




* All Data Presented in a Searchable Liner Sequence


   - Represent all user-accessible data and user-created data in a searchable


liner sequence. Most users think in terms of a serial sequence of data


presentation rather than a matrix or multilink network of data representation.




* Shortcuts to Quickly Search Forward or Backward


   - Ability to easily LEAP (r) forward or backward to any data block or any


data type by an incremental, sequential search on content or data type label


with auto-completion of the search field.




* Unified Storage Structure


   - Only use "documents" for exchanging data with other systems or


applications. Keep all data in a shared, indexed, unified storage structure,


database, or image.




* Multiple Selection of Data for a Single Command


   - Allow the simultaneous multiple highlighting/selection of items for the


items to be operated on by a single command from the command line, key stroke,


menu selection, etc.




More information about the Squeak-dev mailing list