Design thinking em pequena escala

Eu vinha querendo aprender Flutter há alguns meses, mas ainda não tinha conseguido encontrar tempo para isso. Depois de concluir o curso que estava fazendo, finalmente vi uma oportunidade. Meu pai também me deu uma boa ideia para um projeto de aprendizado: um gerenciador simples de ordens de serviço. Basicamente, é uma lista de tarefas com recursos extras.

Comecei o projeto conversando com alguns amigos sobre como eles organizam o próprio trabalho e, em seguida, esbocei algumas ideias iniciais. O plano inicial era organizar as ordens de serviço em um quadro Kanban, com abas para listar materiais e serviços. Apresentei a ideia a alguns usuários em potencial, mas eles não gostaram muito da proposta. Na opinião deles, a solução era desnecessariamente complicada.

O primeiro protótipo, com uma tabela kanban e múltiplas abas.

O primeiro protótipo

Talvez um dos princípios fundamentais do Design Thinking seja tratar cada etapa do projeto como um protótipo. Isso significa buscar feedback a cada mudança. Seguindo essa abordagem, continuei explorando diferentes ideias, fazendo ajustes e apresentando cada nova versão aos usuários.

Em uma das iterações, as ordens de serviço eram exibidas em uma grade, enquanto a ordem selecionada ficava aberta em um painel menor, à direita da tela.

Outro protótipo, agora exibindo as ordens de serviço em grade.

Protótipo com visão em grade, usando o Material 3 design system da Google.

Os usuários prontamente apontaram que o mais importante para eles eram as ordens de serviço em aberto, e não a grande quantidade de ordens já concluídas. Eles também consideraram que a função do botão grande de adicionar não estava muito clara. Era hora de voltar à prancheta.

A versão final do design deu mais destaque ao formulário da ordem de serviço, limitando a lista a uma pequena parte da tela. O botão de adicionar também passou a ter um rótulo mais claro, deixando sua função mais evidente.

Protótipo mais recente, com um formulário grande e botões com texto.

Protótipo mais recente no tempo da escrita deste estudo de caso.

Após cada reformulação do design, realizei uma avaliação heurística do aplicativo, implementando mudanças para adequá-lo às diretrizes de usabilidade.

Entre as mudanças mais relevantes, destaco a alteração das cores das ordens de serviço na lista para indicar quais estão em aberto, além de um pequeno ícone de marca de verificação para sinalizar serviços concluídos e um ícone com duas marcas de verificação para indicar os serviços entregues.

Também implementei atalhos de teclado para permitir que usuários experientes trabalhem com mais agilidade. Incluí atalhos básicos e amplamente utilizados, como ctrl + n para criar uma nova ordem de serviço e ctrl + s para salvar.

Além disso, adicionei a possibilidade de desfazer a exclusão de peças e materiais, oferecendo aos usuários uma forma de reverter essa ação destrutiva. Também incluí caixas de diálogo de confirmação ao excluir uma ordem de serviço ou fechar o formulário principal com alterações não salvas, reduzindo a probabilidade de erros por parte dos usuários.

Um dialogo de alerta confirmando a exclusão de uma ordem de serviço. O botão de confirmar exclusão é vermelho, e o botão de cancelar verde-azulado.

Diálogo de alerta de exclusão. Repare em como o botão de confirmar exclusão é vermelho, e o botão de cancelar, mais proeminente.

O aplicativo foi desenvolvido com o Flutter SDK, utilizando um banco de dados SQLite e o Riverpod para gerenciamento de estado.

O desenvolvimento continua em andamento, com planos de adicionar novos recursos para atender às necessidades de outros prestadores de serviços, além de profissionais de reparo e manutenção.