Melhorei meu web app para gamificar e metricar minha gestão do tempo e controle de tarefas (I'm Tasking) 🎮
Olá a todos, estou de volta! 😊
Introdução
Me motivei tanto com esse projeto que decidi expandir e também fiquei muito feliz com os feedbacks obtidos em uma outra publicação que fiz aqui no TabNews (https://www.tabnews.com.br/rodrigoborges/pitch-desenvolvi-um-web-app-para-metrificar-o-tempo-nas-minhas-atividades-e-gamificar-isso), no privado e em outras redes sociais. A ideia do projeto era fazer algo simples, e ainda é, mas quis dar uns improvements pois sentia que estava faltando alguns pontos importantes: mais elementos de gamificação, uma função loop que realmente funciona e uma funcionalidade para verificar quem está trabalhando no mesmo momento que você e até stalkear 👀 (mas só o nome tá?! nada da tarefa em si).
Aprendi muito nesse processo e brinquei muito tanto com o backend quanto com o frontend. Por exemplo, estou usando SQLite para armazenamento dos dados por motivos de facilidade, rapidez e funciona bem para esse tipo de aplicação.
Outro ponto que quis sempre testar na prática são os Server Sent Events (SSE) (é uma tecnologia push de servidor que permite que um cliente receba atualizações automáticas de um servidor por meio de uma conexão HTTP), que no meu caso faz muito mais sentido que usar WebSocket - preciso apenas de comunicação de um lado só e não dos dois. Estou usando para justamente receber constantemente do servidor quem está trabalhando no momento.
O que tem de gamificação agora?
Em jogos temos tanto elementos gráficos, animações, efeitos sonoros, competitividade, como conquistas e objetivos. Portanto, decidi incluir alguns desses elementos:
- Animações nos elementos ao abrir a tela (isso torna mais suave e tira um pouco a ideia de um web app, parece algo mais nativo - pelo menos eu acho)
- Sons de notificação
- Sistema de conquistas
- Emojis ao invés de icones em alguns pontos
- Ranking top 50 com todos os usuários
Por exemplo, antes eu testei um recurso de ao clicar em qualquer atividade no histórico de atividades, abrir um modal e poder compartilhar que você realizou aquela tarefa em X tempo e ganhou Y pontos. Mas isso não tava completo, era apenas um teste. O que eu decidi agora é poder compartilhar suas conquistas, ou seja, você ganhou uma conquista X, pode ir na sua lista de conquistas, clicar nela e compartilhar esse grande feito! Falando em compartilhar, é possível fazer isso em várias redes sociais agora, pela própria aplicação.
Meu objetivo com esse projeto
Sempre tive vontade de ajudar os outros de alguma forma, noto que muitas pessoas acabam diariamente ficando desmotivadas e fazendo muitas coisas ao mesmo tempo, gerando estresse e mais ansiedade. Esse projeto visa tentar ajudar a controlar o foco em uma atividade só, metrificar isso (para saber quanto tempo em média é seu foco - tempo de atividade) e trazer motivação para isso com elementos de gamificação.
O que mudou da versão anterior?
Você pode conferir nesse link: https://imtasking.squareweb.app/changelog (lá expliquei cada feature e bugfix realizado)
Importância de feedbacks
Fico muito grato se puderem testar, encontrar bugs, sugerir melhorias e enviar feedbacks no geral, tanto por aqui (nesse post) quanto lá na aplicação no botão flutuante no canto inferior direito quando está logado!
Parece um projeto muito interessante e promissor! Você pensa em desenvolver um aplicativo mobile para ele?
Cara, excelente projeto, já estou utilizando e te agradeço pelo objetivo que ele se propõe a fazer pois foi muito assertivo para mim e meu problema de concentração e motivação.
Precisar de ajuda, pode contar comigo.
Aproveito a deixa e gostaria de deixar uma sugestão que sempre tive vontade de implementar em alguma aplicação que pudesse me ajudar com a produtividade: "Um sistema de ofensivas como o do duolingo".
Como experiência pessoal, posso dar um feedback positivo sobre esse tipo de sistema, pois ativa uma necessidade diária de praticar para não perder a ofensiva e acaba que impulsiona o usuário a praticar mesmo que seja o mínimo necessário.
Outra sugestão seria nomear os intervalos despendidos para que possa ser possível quantificar quantas horas foram trabalhadas em quais tarefas (isso deveria ter a opção de tornar público ou tornar privado).