Bots no WhatsApp — Uma visão orientada a Usabilidade

Henrique Gomes
Bots Brasil
Published in
9 min readAug 18, 2020

As interfaces conversacionais ganham mais relevância a partir da liberação da WhatsApp Business API que permite o desenvolvimento de Bots para o WhatsApp.

Portanto, a medida que as empresas começam a se estabelecer nesse canal, precisamos refletir em relação a usabilidade e como podemos usar os componentes de conversa disponíveis para se comunicar de uma maneira mais ágil e assertiva.

Nesse artigo falarei sobre as Heurísticas de Nielsen e como elas podem se aplicar para os Bots, utilizando exemplos de Bots no WhatsApp.

Jakob Nielsen é o guru da usabilidade. Em 1990 criou as 10 Heurísticas de Usabilidade. Tais heurísticas são usadas para avaliar interfaces de uma maneira rápida e fácil.

1. Visibilidade do status do sistema

O usuário deverá ser informado do que está acontecendo.

Essa heurística serve para que o usuário não fique desesperado. Imagina que o usuário peça por atendimento humano, o Bot informe que um atendente irá respondê-lo a partir de agora. Como o usuário sabe quando será atendido? Existe uma fila de atendimento? E se ele não for atendido nos próximos 10 minutos?

Os bots interagem através de uma conversa. E uma conversa é governada por alguns fatores:

1. Conversas são efêmeras: Uma mensagem de 1 hora atrás não tem o mesmo valor de uma mensagem que acabou de chegar.2. As mensagens antigas não são atualizadas: Não há garantias de que uma mensagem enviada há 1 hora atrás represente o estado atual do sistema.3. Os estados são limitados: Não podemos enviar uma mensagem por minuto atualizando o status do sistema, isso sobrecarregaria o usuário de informações.

Então, se temos um cenário em que o usuário precisa ser atualizado sobre o status do sistema, as mensagens que enviamos tem menos valor com o passar do tempo e não há garantia de que essas representam o real estado do sistema, como podemos satisfazer essa heurística?

O sistema deve permitir que o usuário pergunte sobre o status do sistema. E ainda, dar um feedback para o usuário sem sobrecarregá-lo de informação.

No exemplo abaixo, o Bot Preguiçoso apenas pede para o usuário aguardar… Já o Bots Brasil explica para o usuário por que ele deve aguardar:

Exemplo 1 — Visibilidade do Status do Sistema.

2. Equivalência entre o sistema e o mundo real

O sistema deve falar a linguagem do usuário, com palavras, ícones e conceitos familiares ao usuário, ao invés de termos técnicos que façam sentido apenas para desenvolvedores.

Agora que estamos desenhando interfaces de conversação, o melhor jeito de falar a linguagem do usuário, é de fato, falar a linguagem do usuário.

A dificuldade ainda é entender o que o usuário está falando. Não adianta dar uma resposta bonita para algo que o usuário não perguntou.

Nessa etapa, converse com a equipe responsável pelo atendimento, que está em contato constante com o usuário. As equipes de SAC costumam conhecer as dores do usuário e listar de cabeça quais perguntas ocorrem com maior frequência.
Saber como o usuário se expressa naquele contexto em que o Bot está sendo utilizado, como ele comunica suas intenções e quais palavras-chaves ele usa, é imprescindível para respondê-lo corretamente.

No exemplo abaixo, o Bot Preguiçoso pede para o usuário informar o SNID do celular dele… Mas, o que é SNID?
Já o Bots Brasil pede a mesma coisa, mas fala do mesmo jeito que o usuário falaria.

Exemplo 2 — Equivalência entre o sistema e o mundo real. O que é SNID?

Uma oportunidade é usar emojis que condizem com o mundo real e com a linguagem do usuário.

3. Liberdade e controle do usuário

Usuários frequentemente escolhem uma opção acidentalmente e devem ter a liberdade de voltar, ignorar ou avançar em qualquer etapa do sistema.

No mundo real não temos a opção de voltar ou ignorar uma conversa, embora adoraríamos essas opções para alguns casos.

No entanto, quando a conversa é com um bot, devemos permitir que o usuário pule diretamente para a tarefa que deseja realizar, avance para algum ponto da conversa ou volte e altere a sua resposta.

No exemplo abaixo, o usuário acessa por engano uma opção e em seguida tenta voltar… Sem sucesso.
Já o Bots Brasil permite que o usuário volte para o menu.

Exemplo 3 — Liberdade e controle do usuário

4. Consistência e Padrões

Os usuários não devem se perguntar se palavras, situações ou ações diferentes significam a mesma coisa.

Enquanto os padrões de design para interfaces de conversação ainda estão sendo criados (por exemplo, um comando universal para pausar o bot 🤔), podemos considerar essa heurística como uma consistência da linguagem que o bot usa para se comunicar e o tipo de estrutura do Bot, seja ele apenas navegável por menu, por processamento de linguagem natural ou um modelo híbrido.

No exemplo abaixo, o Bot Preguiçoso se refere ao número de série de três formas diferentes: SNID, serial number e número de série.
Lembrem-se: Os usuários não devem se perguntar se palavras, situações ou ações diferentes significam a mesma coisa.

Exemplo 4 — Consistência e padrões

5. Prevenção de erros

“Ainda melhor que uma boa mensagem de erro é um design cuidadoso que possa prevenir esses erros”.
Elimine as condições propensas a erros ou verifique-as e apresente aos usuários uma opção de confirmação antes de confirmarem a ação.

Pedir uma confirmação do usuário ou apresentar a oportunidade de refazer sua ação é imprescindível em todas tarefas críticas de um sistema. No caso de uma conversa, você pode apenas perguntar para o usuário: “Tem certeza que deseja parar de receber as novidades?”

No exemplo abaixo, o usuário agenda uma consulta através do Bot Preguiçoso e em seguida tenta cancelar… Sem chances, já está marcado!
Já o Bots Brasil confirma a ação antes de marcar a consulta.

Exemplo 5 — Prevenção de erros

6. Reconhecimento ao invés de memorização (ou relembrança)

Minimize a carga de memória do usuário, tornando objetos, ações e opções visíveis. O usuário não deve ter que lembrar informações de uma parte do diálogo para outra.

Em um site, essa heurística poderia ser satisfeita através de Breadcrumbs, que é um tipo de navegação estrutural que serve para o usuário não se perder ou saber como chegou até ali:

Home > Informática > Monitores > Todos os monitores > Produto

Em uma conversa, pode ser um pouco mais complicado deixar o usuário ciente de todas as opções e ações que ele pode tomar, a todo momento. Lembre-se, temos que evitar a sobrecarga de informações.

O WhatsApp ainda não liberou uma biblioteca de componentes gráficos, mas menus pertinentes e carrosséis serão nossos aliados nesse cenário, com esse tipo de mensagem estruturada ajuda o usuário reconhecer as ações que pode tomar.

Esse artigo explica detalhadamente como podemos melhorar a usabilidade de uma interface usando o reconhecimento do usuário ao invés da memorização.

No exemplo abaixo, o Bot Preguiçoso não mostra para o usuário quais opções ele tem em determinada etapa do fluxo.
Já o Bots Brasil, utiliza uma lista para mostrar quais ações o usuário pode tomar naquela etapa do fluxo.

Exemplo 6 — Reconhecimento ao invés de relembrança.

7. Flexibilidade e eficiência de uso

O sistema deve ser ágil para os usuários experientes e flexível para os usuários leigos. E ainda, permitir automatizar tarefas frequentes.

Enquanto um usuário pode digitar: “Oi, boa noite! Tudo bem com vocês? Gostaria de fazer um pedido de pizza”, outro usuário pode apenas falar: “Pedir pizza”.
As duas mensagens são consideradas como a mesma intenção.

Nos exemplos abaixo, apesar das diferentes formas de expressar a mesma intenção, o Bot responde da mesma forma:

Exemplo 7 — Flexibilidade e eficiência de uso

Além disso, o sistema precisa fornecer atalhos para agilizar o uso dos usuários mais experientes.

No exemplo abaixo, o Bots Brasil de Pizza permite que o usuário refaça um pedido, assim ele não precisa digitar pedido, endereço e forma de pagamento novamente.

Exemplo 7.1 — Flexibilidade e eficiência de uso

8. Estética e Design minimalista

Os diálogos não devem conter informações irrelevantes ou raramente necessárias. Cada unidade extra de informação em um diálogo compete com as unidades relevantes de informação e diminui sua visibilidade relativa.

Se o usuário perguntar: “Como vai você?” — Seu Bot vai fazer alguma piada sobre a vida, tentar retomar o usuário para o contexto em que ele é especialista ou os dois?

Temos que distinguir o conteúdo (a informação) que o bot transmite e a maneira que ele o faz (a persona). O conteúdo deve ser sempre minimalista, porém a maneira que o bot exibe depende da sua persona.

No exemplo abaixo, temos um ótimo exemplo de como ignorar essa heurística:

Exemplo 8 — Estética e Design minimalista

9. Auxiliar usuários a reconhecer, diagnosticar e se recuperar de erros

Mensagens de erro devem ser expressas em linguagem simples (sem códigos), indicar precisamente o problema e sugerir de forma construtiva uma solução.

Caso o usuário tenha inserido uma informação incorreta ou executado uma ação inexistente, ajude-o a identificar o erro e principalmente a corrigi-lo.

No mundo dos Bots, essa é a saudação. A saudação é uma mensagem de erro e ela precisa indicar o problema e sugerir como o usuário pode continuar sua interação.

No exemplo abaixo, o Bot Preguiçoso demonstra uma evasiva preguiçosa.
Já o Bots Brasil explica para o usuário que não entendeu o que o usuário escreveu e em seguida, lista os assuntos que pode ajudar o usuário.

Exemplo 9 — Auxiliar usuários a reconhecer, diagnosticar e se recuperar de erros

10. Ajuda e documentação

Mesmo que seja melhor se o sistema puder ser usado sem documentação, pode ser necessário fornecer ajuda e documentação. Qualquer informação desse tipo deve ser fácil de pesquisar, focada na tarefa do usuário, listar as etapas concretas a serem executadas e não ser muito grande.

A documentação deve ser acessível através do próprio bot. Enquanto não temos uma convenção para tal, disponibilize através de um botão em um menu persistente ou através de uma intenção.

O exemplo abaixo mostra um possível formato de documentação dentro do Bot no WhatsApp.

Exemplo 10 — Ajuda e documentação

As heurísticas de usabilidade são passíveis de interpretação e cada uma delas tem inúmeras formas de serem satisfeitas e/ou avaliadas. Acredito que, em breve teremos diversas interpretações e até formas melhores de aplicar na prática do que as exemplificadas neste artigo.

Esse artigo foi escrito baseado na apresentação criada para o Meetup Heurísticas de Usabilidade para Bots da comunidade Bots Brasil, disponível aqui.

Além disso, usei diversas referências desse artigo (em inglês), que além de citar e refletir sobre as heurísticas, faz uma avaliação heurística de 3 bots norte americanos.

Outras referências:

--

--