Saturday, August 12, 2017

User Interface Design & its golden rules

User Interface Design & its golden rules 

  •  Introduction :
    • User interface design creates an effective communication medium between a human and a computer.
  • The following are the three golden rules for user interface design.
    • (1) Place the user in control
    • (2) Reduce the user’s memory load
    • (3) Make the interface consistent


  • (1) Place the user in Control. 
    • As a designer, you may be tempted to introduce constraints and limitations to simplify the implementation of the interface. 
  • The result may be an interface that is easy to build, but trying to use.
  •  Mandel defines a number of design principles that allow the user to maintain control: 
    • Define interaction modes in a way that does not force a user into unnecessary or undesired actions. 
    • Provide for flexible interaction 
      • Because different users have different interaction preferences, choices should be provided. For example, software might allow a user to interact via keyboard commands, mouse movement, a digitizer pen
  • Allow user interaction to be interruptible and undoable. 
    • When involved in a sequence of actions, the user should be able to interrupt the sequence to do something else (without losing the work that had been done). 
    • The user should also be able to “undo” any action. 
  • Streamline interaction as skill levels advance and allow the interaction to be customized. 
    • Users often find that they perform the same sequence of interactions repeatedly. 
  • Hide technical internals from the casual user. 
    • The user should not be aware of the operating system, file management functions, or other arcane computing technology. In essence, the interface should never require that the user interact at a level that is “inside” the machine (e.g., a user should never be required to type operating system commands from within application software)
  • Design for direct interaction with objects that appear on the screen.
    • For example, an application interface that allows a user to “stretch” an object (scale it in size) is an implementation of direct manipulation.
  • (2) Reduce the User’s Memory Load
  • The more a user has to remember, the more error-prone the interaction with the system will be.
  • It is for this reason that a well-designed user interface does not tax the user’s memory.
  • Mandel defines design principles that enable an interface to reduce the user’s memory load…
  • Reduce demand on short-term memory.
    • The interface should be designed to reduce the requirement to remember past actions, inputs, and results. This can be accomplished by providing visual cues that enable a user to recognize past actions, rather than having to recall them
  • Establish meaningful defaults :
    • The initial set of defaults should make sense for the average user, but a user should be able to specify individual preferences. However, a “reset” option should be available, enabling the redefinition of original default values.
  • Define shortcuts that are perceptive.
    • When mnemonics are used to accomplish a system function (e.g., alt-P to invoke the print function), the mnemonic should be tied to the action in a way that is easy to remember (e.g., first letter of the task to be invoked)
  • The visual layout of the interface should be based on a real-world metaphor (Symbol / Image).
    • This enables the user to rely on well-understood visual cues, rather than memorizing an hidden interaction sequence.
  • Disclose information in a progressive fashion :
    • The interface should be organized hierarchically. That is, information about a task, an object, or some behavior should be presented first at a high level of abstraction. More detail should be presented after the user indicates interest with a mouse pick. [Similar like combo box control.]
  • (3) Make the Interface Consistent :
    • The interface should present and acquire information in a consistent fashion.
      • (1) All visual information is organized according to design rules that are maintained throughout all screen displays,
      • (2) Input mechanisms are constrained to a limited set that is used consistently throughout the application,
      • (3) Mechanisms for navigating from task to task are consistently defined and implemented.
  • Mandel defines a set of design principles that help make the interface consistent.
  • Allow the user to put the current task into a meaningful context.
    • Many interfaces implement complex layers of interactions with dozens of screen images.
    • It is important to provide indicators (e.g., window titles, graphical icons, consistent color coding) that enable the user to know the context of the work at hand.
  • Maintain consistency across a family of applications :
    • A set of applications (or products) should all implement the same design rules so that consistency is maintained for all interaction.
    • If past interactive models have created user expectations, do not make changes unless there is a compelling reason to do so.
    • Once a particular interactive sequence has become a standard (e.g., the use of Ctrl + S to save a file), the user expects this in every application he encounters.
    • A change (e.g., using Ctrl + S to invoke scaling) will cause confusion.



4 comments: