Introdução
Esse é um texto, de uma série, escrito com o objetivo de documentar o processo de redesign da plataforma Revisaê. Ele não tem o objetivo de ser um tutorial ou algo do gênero.
Outra consideração que considero importante trazer é que, apesar de ter interesse por temas como design de experiência de usuário, eu não sou um expert nesses temas, então comentários e correções são bem-vindas.
Entendendo o Revisaê
Para adentrar a proposta de redesign, faz-se necessário entender o projeto: O que é? como ele funciona? com quais tecnologias ele foi construído?
O que é e como funciona?
O Revisaê nasceu de uma ideia simples, vindo de uma amiga vestibulanda, que usava uma plataforma semelhante e que havia deixado de funcionar.
O uso da plataforma consiste em cadastrar o conteúdo que está estudando naquele momento, definir um ciclo em que você queira revisar esse conteúdo, por exemplo, daqui a 7 dias, depois daqui a 20 dias, depois daqui a 40 dias, etc., e então a plataforma exibe, na página inicial do usuário, os conteúdos que ela tem para revisar naquele dia.
As principais funcionalidades são cadastrar as disciplinas, criar revisões com base em ciclos pré-definidos e ver as revisões do dia e marcar como conteúdo revisado.
Cadastrar disciplinas
Criar Conteúdo para Revisar
Ver conteúdos a revisar do dia e marcar como revisados
Nesse último fluxo é importante perceber que, a contagem para conteúdos atrasados de revisão não é "resetada" para o momento atual. Isso é um problema de funcionalidade que deverá ser levado em consideração para ser reformulada durante essa jornada.
Outro ponto que deve ser levado em consideração é planejar melhor a questão dos ciclos de revisão permitindo ao usuário criar seus próprios ciclos e, principalmente, instruir o usuário sobre o funcionamento desses ciclos.
E do ponto de vista de tecnologia?
A plataforma foi construída utilizando React (com Vite) e as tecnologias serverless da suíte Firebase: FireStore para banco de dados, FireAuth para autenticação. A interface de usuário foi desenvolvida utilizando a biblioteca de componentes Chakra-UI.
Algum tempo após a construção inicial da plataforma, parte da aplicação foi coberta com testes, de unidade e de integração, utilizando o Jest com SWC.
Em termos de DevOps, como a aplicação utiliza-se de tecnologias serverless, não temos infraestrutura de back-end e o front-end é hospedado no serviço de Hosting do Firebase como um Single Page Application. Para o processo de deploy e execução de testes, além de merge de pull requests do dependabot (atualizações de segurança em bibliotecas utilizadas), existem workflows de CI/CD com o GitHub Actions.
Premissas
Esse projeto de redesign começou a ser planejado com base em algumas premissas que serão discutidas nesse tópico. Essas premissas poderiam ter sido elaboradas como heurísticas e, dessa forma, teriam sido melhores definidas dentro de áreas de design de experiência de usuário. Aqui, porém, as premissas tem um aspecto mais global que as heurísticas (como as de Nielsen, por exemplo).
Um dos motivos das premissas mais amplas ao invés de heurísticas bem definidas é que alguns temas ainda precisam de estudos, como a acessibilidade. Num passo, e num texto, futuro algumas "heurísticas" devem ser criadas para melhor direcionar esse processo como um todo.
Deve ser fácil de acessar
Por conta da facilidade de acesso, consideramos que opções de login via OAuth2 com providers de login social devem ser implementadas. A parte de autenticação do projeto é toda baseada no FireAuth, da suíte Firebase, facilitando esse processo.
Deve ser performático em todos os dispositivos
O projeto original foi construído baseado na biblioteca de componentes Chakra-UI e, por conta disso, em alguns momentos acontecem lentidões na interface, por exemplo ao abrir um modal.
Esse é um problema conhecido, e documentado, do Chakra-UI que acabamos não levando em consideração ao decidir pelo seu uso.
Deve ser construído com as melhores práticas de acessibilidade
No escopo desse projeto devem entrar estudos sobre as melhores práticas de acessibilidade para desenvolvimento web que devem ser implementadas na plataforma.
Concluir funcionalidades básicas
Devido ao fato de que a plataforma foi lançada, em produção, e "abandonada", algumas funcionalidades não chegaram a ser implementadas, como é o caso de funcionalidades relacionadas a criar, editar e deletar os ciclos de notificação. Algumas issues estão abandonadas no GitHub:
As coisas devem fazer sentido
Esse é um outro tema que irá ficar bastante abrangente pois os itens relacionados a ele ainda serão pensados. Mas funcionalidades como os ciclos de revisão não estão claros. Assim, dentro do projeto de redesign devem ser estudadas e elucidadas as questões relativas a todas as funcionalidades da plataforma.
Nesse ponto, é importante levar em consideração, também, pontos como prevenção e notificação de erros, fluxos de navegação, etc.
Conclusão
No próximo texto dessa sequência, serão descritas algumas heurísticas, baseadas em heurísticas já conhecidas, como as heurísticas de Nielsen, que devem ser utilizadas para direcionar o processo de redesign da plataforma.
Top comments (0)