Estados vazios no SaaS: o que a tela conseguiu verificar?
Na rotina de uma distribuidora fictícia, a ausência de produtos na tela de reposição só é útil quando o sistema explica o que conseguiu consultar.
Uma pessoa abre a tela de reposição de estoque antes de falar com os fornecedores. Onde costuma encontrar os produtos que precisam de compra, aparece “Nenhum item encontrado”. Ela fecha a tela e segue o dia. Pode ter tomado a decisão certa. Também pode ter deixado de comprar um produto que acaba naquela tarde.
Considere esse exemplo fictício de um SaaS usado por pequenas distribuidoras. A frase parece simples, mas deixa uma dúvida importante: o sistema consultou o estoque e confirmou que nada precisa de reposição? A pessoa está olhando apenas uma categoria? Os dados de uma das unidades ainda não chegaram?
É nesse momento que um estado vazio deixa de ser apenas uma escolha de interface. O que o produto diz quando não mostra registros interfere no trabalho que acontece fora dele. Para quem constrói um SaaS, vale cuidar dessa mensagem com a mesma atenção dedicada à tabela cheia.
O que a tela realmente conseguiu verificar
No nosso exemplo, a distribuidora acompanha duas unidades. A tela reúne produtos cujo saldo ficou abaixo do mínimo definido pela equipe. Se a consulta terminou, abrangeu as duas unidades e usou os dados disponíveis mais recentes, “Nenhum produto abaixo do estoque mínimo” descreve o resultado com clareza.
Ainda assim, a frase precisa de contexto. Um complemento como “Duas unidades consultadas. Estoque atualizado às 9h12” ajuda a pessoa a entender o alcance daquela resposta. Esse horário deve representar a atualização dos dados usados na consulta, e não apenas o instante em que ela abriu a página.
Essa é uma proposta para o produto fictício, não uma regra de que toda tela precisa exibir um relógio. A informação faz sentido porque a decisão de compra depende da atualidade do estoque. Em outra tela, o contexto necessário pode ser o projeto, a loja ou o período selecionado.
O ponto de partida é descobrir o que a aplicação sabe antes de escolher as palavras. Se ela recebeu apenas uma lista vazia, sem conseguir distinguir uma consulta concluída de uma integração indisponível, o trabalho começa no comportamento do sistema.
Quando um filtro muda o significado de zero
Imagine agora que, na véspera, a pessoa selecionou a categoria “Embalagens”. O filtro foi mantido, mas aparece longe da área em que ela procura a lista. Na manhã seguinte, nenhuma embalagem precisa de reposição. Outros produtos, porém, já estão abaixo do mínimo.
“Nenhum item encontrado” permite uma leitura ampla demais. “Nenhuma embalagem precisa de reposição nas unidades selecionadas” preserva a relação entre o resultado e a consulta. Deixar o filtro visível perto da mensagem e oferecer “Ver todas as categorias” torna a próxima ação compreensível.
O botão também precisa cumprir a promessa com precisão. Se ele remove o filtro de categoria, pode manter as unidades escolhidas. Apagar todas as preferências da tela obrigaria a pessoa a reconstruir uma consulta que, em parte, ainda era útil.
O Carbon Design System distingue estados sem dados, respostas a ações do usuário e situações de erro. Essa separação ajuda a evitar que uma única mensagem e um único botão tentem resolver causas diferentes. Aqui, a resposta mais útil está no próprio contexto da busca.
Enquanto a consulta não terminou
Há outro caminho para a mesma tela: a pessoa muda de unidade e a nova consulta leva alguns segundos. Se o produto mostra imediatamente a mensagem de lista vazia, anuncia uma conclusão antes de receber o resultado.
Uma indicação de carregamento pode comunicar a espera sem ocupar a página inteira. Se a interface conserva os registros anteriores durante a atualização, precisa deixar claro a qual unidade eles pertencem. Caso contrário, a pessoa pode interpretar dados antigos como resposta ao filtro que acabou de selecionar.
Vale observar a transição completa. Quando a consulta termina sem registros, a espera dá lugar à mensagem correspondente. Quando falha, o produto explica que não conseguiu consultar o estoque. Quando retorna dados, a lista reaparece. Cada chegada tem uma consequência diferente para quem estava aguardando.
Esse cuidado inclui quem usa leitor de tela. A orientação do W3C sobre mensagens de status explica como atualizações como uma busca em andamento ou sem resultados podem ser comunicadas por tecnologias assistivas sem receber foco. A mudança precisa ser percebida sem obrigar a pessoa a procurar novamente onde estava trabalhando.
A parte que faltou também muda a resposta
Voltemos às duas unidades. A consulta de uma delas terminou; a outra está indisponível. A parte recebida não contém produtos abaixo do mínimo. Nesse cenário, afirmar que nenhuma compra é necessária seria extrapolar a informação disponível.
Uma resposta mais cuidadosa seria “Nenhum produto abaixo do mínimo na unidade Centro. Não foi possível consultar a unidade Norte”. Se o produto permite continuar trabalhando com o resultado parcial, a limitação deve permanecer junto dele. O resultado da unidade Centro, sozinho, não permite concluir que o estoque das duas unidades está em dia.
Também é possível manter a última consulta bem-sucedida, desde que ela esteja identificada como anterior. Essa escolha depende do uso do produto. Na reposição, a pessoa talvez consiga adiantar parte do trabalho; em uma operação que exija informação atual, continuar pode não ser adequado.
O SAP Fiori recomenda explicar a causa da ausência de conteúdo e indicar uma ação relevante quando ela existe. No nosso exemplo, tentar novamente a consulta da unidade Norte é mais útil do que oferecer a criação de um produto ou mandar a pessoa alterar filtros.
Um teste que começa com a decisão do cliente
Para revisar uma tela assim, escolha uma decisão real que alguém toma a partir dela. Depois, prepare versões em que o resultado está vazio, filtrado, aguardando resposta ou incompleto. Mostre cada situação separadamente a uma pessoa que conhece o trabalho e pergunte o que ela faria em seguida.
A pergunta permite observar algo mais importante do que a preferência por uma frase. Se ela entende uma falha de consulta como ausência de demanda, ainda existe um problema. Se identifica o filtro e consegue ampliar a consulta sem perder o contexto, a tela está ajudando.
Depois da mudança, comentários como “o estoque sumiu” merecem ser lidos junto da unidade escolhida, do filtro e do estado da consulta. Preserve apenas o contexto necessário para investigar, sem recolher desnecessariamente dados de clientes ou fornecedores.
Nem todo resultado vazio precisa estimular outra ação. Quando a informação é suficiente e a tarefa terminou, a pessoa pode simplesmente seguir o dia. O bom estado vazio permite que ela faça isso sabendo o que foi verificado e o que ainda continua em aberto.
