Principles of Effective User Interface Design

Command and Natural Languages

Command languages represent text-based interaction where the user types commands instead of selecting from menus.

Basic Goals of Language Design

  • Precision and compactness
  • Ease of writing and reading
  • Fast learning and simplicity (to reduce errors)
  • Easy retention

Higher-Level Goals

  • Match real-world tasks and be convenient for user tasks
  • Compatible with existing notation
  • Flexible for both novices and experts
  • Expressive and visually appealing

Programming Languages

Programming languages must represent user tasks, support communication, and work well with system processing and display. Types include object-oriented, scripting, and query languages.

Commands vs. Menus

  • Menu users: Recognize options (easier).
  • Command users: Recall and initiate actions (harder but more powerful).

Effective Command Languages

These are designed around user tasks with a meaningful structure. They allow abbreviations, provide feedback for correct commands, offer error messages for mistakes, and may provide prompts similar to menus.

Common Design Errors

A common error is including too many commands or objects. This can overwhelm users, lead to more bugs, slow down the system, and require more documentation.

The Design Process

  1. Study user tasks and list actions/objects.
  2. Map these to interface actions.
  3. Identify user groups and frequency of use.
  4. Prioritize main users.
  5. Ensure destructive actions are reversible.
  6. Plan error messages and allow shortcuts, macros, or customization for experts.

Command Organization Strategies

  • One command per task: Simple and good for small systems, but bad if there are too many commands.
  • Commands plus arguments: For example, COPY fileA fileB. This is flexible but can become complex or confusing.
  • Tree structure: Action → Object → Destination. This is organized and scalable.

Metaphors and Structure

A good metaphor helps with learning, problem-solving, and retention. A bad metaphor (one that is too computer-based) confuses users. Structure improves the understanding of tasks, system concepts, and syntax.

Consistent Argument Ordering

Using the same order for arguments leads to faster performance (IMPORTANT).

Symbols vs. Keywords

  • Symbols: Short but hard to learn.
  • Keywords: Longer but easier to understand.

Abbreviations and Search Operators

Experts often use abbreviations such as mkdir, cd, ls, rm, and pwd. However, inconsistency in abbreviation styles can be a problem. Common search operators include:

  • AND: term1 term2
  • OR: term1 OR term2
  • +term: Must include
  • -term: Exclude
  • ~term: Synonyms
  • Number range: 1..10
  • “phrase”: Exact match

Specificity vs. Generality

The best commands are infrequent and discriminating, making them easy to remember and unique. Commands that are too general or common can be confusing.

Abbreviation Strategies

  • Truncation or vowel dropping
  • First and last letters
  • First letters of words
  • Standard abbreviations or phonics

Scenario Rules and Logic

  • If user must remember commands: Use command language.
  • If many options: A menu is better.
  • If expert speed is needed: Use command language.
  • If system is too complex: Reduce commands or improve structure.
  • If errors are common: Improve feedback and messages.
  • If arguments are confusing: Enforce consistent order.
  • If users are confused: Use a better metaphor or keywords instead of symbols.

Default Logic: Commands are powerful and flexible but require memory; menus are easier but limited. Flow to Remember: User task → Choose command structure → Apply syntax/arguments → System gives feedback → User corrects if needed.

Menus, Forms, and Dialog Boxes

The goal is to organize menus, forms, and dialogs to be sensible, clear, memorable, and task-relevant.

Single Menus

  • Binary: Yes/No choices.
  • Mnemonic letters: Keyboard shortcuts.
  • Radio buttons: Single selection.
  • Button choice: Multiple-item menus (choose one) or multiple-selection checkboxes (choose many).

Feedback: Use highlighting or checkmarks; gray out unavailable items.

Menu Types and Indicators

  • Pull-down: Top bar, always accessible.
  • Pop-up: Appear on click or tap.
  • Toolbars/Palettes: Icons for quick actions.
  • Indicators: A triangle indicates a submenu; an ellipsis (“…”) indicates a dialog box.

Menus for Long Lists

  • Scrolling menus: Partial list with a scroll bar.
  • Combo boxes: Menu combined with typing.
  • Fisheye: All items visible with focus near the cursor.
  • Sliders: For numeric ranges.
  • Alphasliders: For large datasets.
  • 2D menus: Multiple columns for faster selection.

Embedded Menus and Multiple Menus

Embedded menus (hotlinks) are inside text or graphics, allowing context-based selection and reducing clutter. Multiple menu structures include:

  • Linear: Step-by-step wizards (good for novices).
  • Simultaneous: Multiple menus at once (flexible).
  • Tree structure: Hierarchy for fast retrieval if logical.
  • Menu maps: Overview of the structure.
  • Acyclic/cyclic networks: Used in complex systems but can confuse users.

Content Organization and Item Order

Group related items, ensure no overlap, and cover all possibilities using familiar terminology. Follow a natural sequence (time, numeric, physical); otherwise, use alphabetical order, grouping, or place the most frequent/important items first.

Menu Layout and Fast Navigation

Use clear titles, consistent wording, and concise phrasing. Highlight keywords and use proper formatting. Support experts with keyboard shortcuts, bookmarks, and customizable toolbars.

Form Fill-In Design

Used for entering large amounts of data, these resemble paper forms. Design should include clear titles, logical grouping, a clean layout, and consistent labels. Ensure easy cursor movement (TAB/mouse) and mark required fields.

Dialog Boxes

A mix of menus and forms, dialog boxes show options and previews before applying changes. Design should be consistent, include clear OK/Cancel buttons, and be placed near relevant content.

Audio Menus and Small Screens

Audio menus are voice-based and require users to remember options. Small screen menus must focus on speed, responsiveness, and simple navigation.

Scenario Rules and Logic

  • If many choices: Use menus.
  • If user is a novice: Use linear/wizard.
  • If expert: Use shortcuts/toolbars.
  • If large data entry: Use form fill-in.
  • If need preview/options: Use a dialog box.
  • If too many items: Use scrolling, combo, or fisheye menus.

Default Logic: Menus rely on recognition; forms provide structured input; dialogs combine both. Flow to Remember: Organize tasks → Choose menu type → Structure items → Enable navigation → Support input → Give feedback.

Emotional Interaction and Cognitive Aspects

Emotional interaction involves designing interfaces based on how users feel to improve the user experience.

Emotional Design Model

  • Visceral: Look, feel, and sound (the first impression).
  • Behavioral: Usability (how it works).
  • Reflective: Meaning, personal value, and culture.

Expressive and Annoying Interfaces

Expressive interfaces use emoticons, icons, animations, and sounds to convey state. Examples include loading spinners or GPS spoken messages. Conversely, annoying interfaces (like Microsoft Bob or Clippy) cause frustration by being intrusive or making wrong assumptions.

Affective Computing

Systems detect and respond to emotions using AI via cameras (facial expressions), biosensors (skin response), or motion sensors. For example, Affdex detects six emotions: happy, sad, fear, anger, surprise, and disgust.

Cognition Modes

  • Experiential (Fast): Automatic, intuitive, and low effort (e.g., driving).
  • Reflective (Slow): Effortful, thinking, and creative (e.g., designing).

Attention and Memory

Attention depends on clear goals and salient information. Design should highlight important info and avoid clutter. Memory involves encoding; more attention leads to better recall. Recognition is always easier than recall.

Design Implications for Memory

  • Do not overload memory.
  • Use recognition (menus/icons).
  • Organize information using categories, tags, and colors.
  • Provide multiple retrieval paths.

Scenario Rules and Logic

  • If design should feel good: Use emotional design.
  • If system gives feedback: Use an expressive interface.
  • If users are annoyed: Simplify or remove intrusive features.
  • If detecting emotion: Use affective computing.
  • If user must think hard: Use reflective cognition.
  • If memory is an issue: Use recognition, not recall.

Default Logic: Good design supports both emotions and cognition. Flow to Remember: User feels → Interface responds → User processes → User acts → System adapts.

Direct Manipulation Principles

Direct manipulation involves interacting directly with visible objects on the screen instead of typing commands.

Examples of Direct Manipulation

  • Word processors: WYSIWYG (What You See Is What You Get) with immediate results and reversible actions.
  • Spreadsheets: Changes propagate instantly.
  • Spatial data: Maps and layouts using graphical representations.
  • Video games: Physical actions with immediate results and no syntax.
  • CAD: Manipulating real objects digitally.

Three Principles of Direct Manipulation

  1. Continuous visual representation of objects and actions.
  2. Physical actions (click, drag) instead of complex syntax.
  3. Rapid, incremental, and reversible actions with immediate results.

Advantages and Problems

Advantages: Easy to learn, intuitive, and encourages exploration. Problems: Bad for vision-impaired users, can hide info, and screen size limits (occlusion).

Icon Design and 3D Interfaces

Icons and text together work best. Icons should have familiar representations and stand out from the background. 3D interfaces are useful for medical or design tasks but can be harder to navigate than 2D. 3D design should use shadows carefully, minimize navigation, and keep text readable.

Scenario Rules and Logic

  • If interacting with visible objects: Use direct manipulation.
  • If immediate feedback is needed: Use direct manipulation.
  • If expert speed is needed: Command-based may be better.
  • If icons are unclear: Add labels.

Default Logic: Direct manipulation is intuitive and visual but limited by screen space. Flow to Remember: Show object → User acts → System responds immediately → User sees result → User can undo.