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
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.
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 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.
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.