Interaction Design

Definition

User interaction is a broad approach to designing how people use digital products enable user to achieve their objectives in the most simple and logical approach possible; it encompasses elements like aesthetics, motion, sound, content, space, emotion and context to name a few.


Elements

  • 1D: Words
    For Interaction Design, words should be meaningful, simple and concise. Button labels/text links should communicate actions or a clear direction for navigation.
  • 2D: Visual representations
    Graphic elements like images, typography, and icons to assist words in conveying information to users. When in doubt, always add words to visual elements for more clarity.
  • 3D: Physical objects or space
    This takes into consideration the physical object or tool used to communicate during the user’s interaction; also, the space in which the interaction is happening in provides context to how a user may choose to interact with objects or tools.
  • 4D: Time
    Animation, video and sounds provides feedback to user’s interaction and can enhance their experience. Time spent interacting with our product is also a consideration — look for ways to inform progress, complete contextual micro-interactions and resume interactions in a later time.
  • 5D: Behavior
    How products are used, their actions, mental models and goals are part of the behavioral impression. Even short- and long-term emotional reactions play a role in the perception of a product’s ease-of-use.

Source: Interaction Design Foundation



Interaction Design Principles

7 Principles & Best Practices

1. Mode of Interaction

Define how users interact with the interface — what input mechanism to use (mouse, finger, stylus) and what interaction triggers to employ best (clicking, gesture, or indirect trigger like voice).


2. Visibility

Visibility aids user awareness about the interface elements and their functions. The size and placement of elements should enable clear interaction so users can effectively & efficiently accomplish their tasks.


3. Affordance

Give users clues about interaction behavior & how to use it through the trigger attributes, appearance and additional information when needed.


4. Constraints

Limit the range of interaction possibilities to simplify the interface and guide user exploration. Constraints can also help with preventing users making mistakes.


5. Mapping

Establish clear relationship between what user can control and the effect/output they have on the system. If affordance provides visual clues, mapping provide more specific cues (or signals)  to help users anticipate what the outcome of their specific actions would produce.


6. Feedback

Clearly communicate to users when action has been taken and what has been accomplished. In error prevention, system feedback can also take a form of warning (before user commits to an action) and a guide to inform what the mistakes are and how to recover from them.


7. Consistency

Leverage similar operations, elements and patterns throughout the experience. Consistency reduces cognitive load as it incorporates familiar formats and standards so users can quickly learn how to use the products based on their knowledge & experience using other products.


Sources: Medium and Usability.gov


Design Patterns & Interaction Guidelines

Buttons

General Guidelines

Buttons should be used to identify important actions.

There should be only one primary button on each page or dialog. Avoid using too many buttons on one page. If there are many actions, identify which ones are less important and stylize them as a tertiary button.

Component Variations

Primary – The most important action on the page

Secondary – Less important actions

Tertiary – Utilized when an action needs to be available, but there might be too many buttons being used or there is space restrictions.

Button Group – Used to create toggles between actions where only one can occur at a time.

Button Group With Dynamic Text

Visual Variations

With Icon

With Counts

Disabled

Success

Danger

Organization

Primary buttons should appear to the right and secondary to the left if they are paired together.

Labeling and Icons

Keep the text in a button short and use action verbs such as “Save,” “Enter,” or “Delete.”

Icons can help indicate common actions. Use buttons that utilize just icons sparingly, especially with less common actions. In addition to icons, buttons can contain counts or additional information to convey more meaning.

Accessibility Guidelines

Buttons should have a focus state.

Screen readers handle links and buttons different. It is important to make sure you aren’t use links as buttons and vice versa.

Checkboxes

General Guidelines

Checkboxes are utilized by users to communicate a selection. Checkboxes can occur as a single selection, in a list of options, or in a data table row.

Users should be able to select an option by clicking the button or the label.

Do not use a checkbox for turning a feature or mode on or off. Instead use a toggle.

If there is a list and the user can only make a single selection out of a list, use a radio button instead.

Component Variations

Single checkbox – Used for a binary input

Checkbox Group – Used for a user to communicate one or more selections.

Select All/Deselect on grid – Used to select or deselect multiple checkboxes within a data table.

Accessibility

Dropdown/Select

General Guidelines

A dropdown is used when a user needs to provide input.

You should use a dropdown when a user needs to select one value when there are between five to fifteen options.

If there are less than five options, please use radio buttons. The only exception might be if the dropdown is grouped with another input field. Like choosing AM or PM next to a time field.

If there are more than fifteen options, utilize our component where the user is able to filter for a value. A good example is the “Content with filters” or “Autocomplete” InputGroup in Prime-Ng.

Component Variations

Standard Dropdown – One where you select a single value out of a list

Filterable Dropdown – The dropdown becomes a field where a user can start typing and filtering the options below.

Multiple Select Dropdown – Utilize checkboxes to all the user to select multiple.

Accessibility Guidelines

Make sure the dropdown is labeled appropriately.

Date Picker / Calendar

General Guidelines

This input component is used when a user needs to enter in a date and/or time.

There are scenarios where it might make more sense to allow people to type in the date (especially if it for just a month and/or year) and provide validation.

If the user is looking to search for dates within the near future or past, then it makes more sense to use the date picker.

Internationalization Considerations

There are seven common variations on how dates can be presented to users. It is important to capture the users preferences or their location to more accurately format the date for them.

Component Variations

Basic – Select a single date

Min-Max – Select a date and then apply all dates before or after

With Time- Includes the option to select a time

Multiple Days – Select multiple days that do not have to be consecutive (like the range or min-max requires)

Text Input Fields

Utilized to provide an input area where a user can enter in content

General Guidelines

Allow the input field to be the size of the expected amount of text to be entered.

Avoid using this for something longer than one line (for longer content, use a text area). Also avoid using this when inputted values can be expected like dates or items from a list. Instead use the date picker or a dropdown for those.

Provide validation to help users submit the correct content.

Input fields should be labeled.

Component Variations

Short Text Input

Long Text Input

Text Input With Character Count

Accessibility

Make sure order is identified and ordered using HTML

Provide validation within close proximity to the input field. Not on other areas of the page.

Avoid placeholder text as that can confuse screenreaders.

Radio Buttons

General Guidelines

This input component is used when a user can only select one value out of a list between two to five options. For longer lists, use a dropdown. For shorter lists, consider a checkbox. Consider a dropdown if you wish to provide a user the option of selecting none of the options.

A radio button should always have a default selection.

Component Variations

Basic

Accessibility

List items vertically.

User proper labels and attributes.

Slider

General Guidelines

A slider is generally used when a user can select a number value out of a range of options greater than fifteen. If less than fifteen, consider using a dropdown menu or other options. Text inputs might be considered if the range of options gets into the hundreds and thousands of options.

A sliders is also good to use when the range is more important than necessarily an exact numerical value.

Component Variations

Basic – Where the slider represents the total

Range – Where the sliders represent the minimum and maximum.

Examples

Pattern Examples

Sign In + Register

Modals

Globalization

Grid
  • Coming soon
Future Content
  • Content Creation
  • Messaging
  • Complex Table
  • Media upload / Gallery
  • Installation
  • Toolbar/Tool palette
  • Search
  • Touch Interface
  • Voice