AI UX patterns

HAX guidelines

Definition

Microsoft's 18 Guidelines for Human-AI Interaction: design rules for AI features, grouped by when they apply, from first use to long-term use.

The HAX guidelines are 18 design guidelines for AI features, published by Saleema Amershi and colleagues at Microsoft in the CHI 2019 paper Guidelines for Human-AI Interaction. Microsoft maintains them, with design patterns and examples, in the HAX Toolkit.

Where they come from

The authors consolidated more than 150 AI-related design recommendations, then tested them in several rounds, including a user study with 49 design practitioners who tested them against 20 popular AI-infused products. The paper groups them by when they apply as "Initially" (G1-G2), "During interaction" (G3-G6), "When wrong" (G7-G11) and "Over time" (G12-G18).

The 18 guidelines

Wording below is from Microsoft's HAX Design Library.

Initially

  • G1. Make clear what the system can do. Help the user understand what the AI system is capable of doing.
  • G2. Make clear how well the system can do what it can do. Help the user understand how often the AI system may make mistakes.

During interaction

  • G3. Time services based on context. Time when to act or interrupt based on the user's current task and environment.
  • G4. Show contextually relevant information. Display information relevant to the user's current task and environment.
  • G5. Match relevant social norms. Ensure the experience is delivered in a way that users would expect, given their social and cultural context.
  • G6. Mitigate social biases. Ensure the AI system's language and behaviors do not reinforce undesirable and unfair stereotypes and biases.

When wrong

  • G7. Support efficient invocation. Make it easy to invoke or request the AI system's services when needed.
  • G8. Support efficient dismissal. Make it easy to dismiss or ignore undesired AI system services.
  • G9. Support efficient correction. Make it easy to edit, refine, or recover when the AI system is wrong.
  • G10. Scope services when in doubt. Engage in disambiguation or gracefully degrade the AI system's services when uncertain about a user's goals.
  • G11. Make clear why the system did what it did. Enable the user to access an explanation of why the AI system behaved as it did.

Over time

  • G12. Remember recent interactions. Maintain short-term memory and allow the user to make efficient references to that memory.
  • G13. Learn from user behavior. Personalize the user's experience by learning from their actions over time.
  • G14. Update and adapt cautiously. Limit disruptive changes when updating and adapting the AI system's behaviors.
  • G15. Encourage granular feedback. Enable the user to provide feedback indicating their preferences during regular interaction with the AI system.
  • G16. Convey the consequences of user actions. Immediately update or convey how user actions will impact future behaviors of the AI system.
  • G17. Provide global controls. Allow the user to globally customize what the AI system monitors and how it behaves.
  • G18. Notify users about changes. Inform the user when the AI system adds or updates its capabilities.

How to apply them

  • Do use them as a heuristic review, as the authors did: go guideline by guideline and note where an AI feature applies or violates each one.
  • Do map them to concrete UI. In a meeting-notes summariser, G2 could be a note that summaries can miss action items, G9 an inline edit on each bullet.

Common mistakes

  • Treating G11 as a demand for full technical explanations. The user needs access to an explanation, which can be short and partial (see explainability).
  • Applying G13 without G16 and G17, so people see the product change but can't tell why or switch it off (see personalization controls).

Sources

  1. Amershi, S. et al. (2019). Guidelines for Human-AI Interaction. CHI 2019, Glasgow
  2. Microsoft HAX Toolkit: HAX Design Library (the 18 guidelines)
  3. Microsoft HAX Toolkit: Guidelines for Human-AI Interaction

Browse the full AI UX glossary