Usability is an issue that many designers have to deal with when creating software interfaces. Many look to the ten usability heuristics created by Jakob Nielsen in the 1990s to help them solve the issue, but can such thinking be applied to bots? Let’s consider each in turn to find out.

  1. Visibility of System Status

This heuristic states that users should be kept informed of what is happening with a system at all times, which is a distinct challenge for bots due to the transient nature of messages. This makes it very difficult to provide constant updates while also allowing for the smooth flow of messages.

This issue can be countered by providing a system that allows customers to request system status information, while also ensuring speed in feedback. Bots need to be responsive to such requests, while also being able keep users informed on the progress made with such requests.

  1. A Match Between System and the Real World

At first glance it appears that bots meet this heuristic by their very nature, as they are able to communicate by using the user’s language and concepts that are familiar with them. However, a key issue with this is making it seem as though the conversation offered by bots is natural, which means they need to be able to understand language itself.

  1. User Control and Freedom

This heuristic states that users must be offered the freedom to undo and redo actions without having to deal with a complex dialog. Bots can meet this need by offering users the ability to delete and rewrite messages as needed while also making them aware of valid options.

  1. Consistency and Standards

This relates to the creation of platform conventions that put standards in place to help users understand what they can and can’t do. For bots, this means sticking to a single style of language at all times, allowing users to develop familiarity and not experience nasty surprises.

  1. Error Prevention

Design should consider the prevention of errors at all stages, rather than being created just to inform users of when they mess up. For bots, it must be assumed that errors will happen often, at first, due to a lack of precision in human dialog. Confirmation should be required from the user at all critical steps.

  1. Recognition Rather Than Recall

Users should not be required to memorise all aspects of their software use, so information should be made visible to aid in recall. Furthermore, system instructions must be reachable at all stages of the interaction.

For bots, this can be translated into providing concise messages that keep readers engaged. Many of the issues that bots face in this regard relate to users not reading messages, which often occurs when they are presented with walls of text.

  1. Flexibility and Efficiency of Use

The system should cater to inexperienced users while also providing facilities for experts to speed up interactions. This can be used in bot creation by offering users the option of asking for things to be retrieved via semantic questions or by entering simple commands to expedite the process.

  1. Aesthetic and Minimalist Design

Irrelevancy in design should be avoided as extra units of information compete with pre-existing ones, making those that are most useful less visible.

This is difficult with bots as there is a difference between the service being provided and the creation of relevant human interaction. Many users will start their conversations with bots in humanistic terms, often engaging in banter along the way. These interactions should not always be constricted by the need for conciseness, however, messages related to the actual service provided by the bot should.

  1. Help Users Recognise, Diagnose and Recover From Errors

This is simple enough in software and bot design. If an error is made, explain what it is in understandable language and how it can be reversed.

  1. Help And Documentation

This heuristic states that documentation should be easy to access and focused on helping users through specific tasks. This can be applied to the bot quite easily and it is likely that commands and questions will allow for help to be received during conversations in the future.

So What’s Relevant?

This results in six of Nielsen’s heuristics still being relevant to bot design, though the others can often be combined with these:

  1. Visibility of System Status – Users should be able to stay informed about system status at all times.
  2. User Control and Freedom – The bot should request information from users at critical junctures.
  3. Match Between System and Real World – Know your users and what they need.
  4. Help and Documentation – Provide access within the bot.
  5. Flexibility and Efficiency of Use – Provide means for users to accelerate their interactions.
  6. Consistency And Standards – Ensure the communication style remains consistent.