Novas melhorias: testando novo algoritmo de ranking (3 versões disponíveis) 🎉
Fala turma, como vocês estão? 😍 nos últimos dias eu estou acessando mais o TabNews como leitor do que produtor por conta de toda preparação aqui nos bastidores para lançamento do projeto, volta do canal e início da produção do curso. Cometi o erro de fazer várias coisas ao mesmo tempo e até tive um "downtime" na minha imunidade, os Membros da Turma sabem pelo vídeo de sexta 😂 mas está tudo bem e sob controle 🤝
Bom de qualquer forma, como leitor, preciso dizer que claramente hoje o TabNews é o local que eu mais gosto de acessar , tanto pelas publicações que vocês estão fazendo, quanto por ter a garantia de que tudo que eu ler vai ter valido a pena de alguma forma. Com essa "regra" parece que foi removido um peso das minhas costas que eu nem percebia que eu tinha ao acessar outros lugares. Quando acesso algum outro lugar, como YouTube por exemplo, eu levanto as minhas defesas, mas nem percebia, sabe? Vocês também sentem isso? Seja por conta do meu cérebro tentando me proteger do que a plataforma pode fazer comigo, seja por conta dos conteúdos que estão lá dentro tentarem fazer alguma coisa com a minha percepção... e aqui eu não preciso me proteger disso e é ótimo, vamos tentar ao máximo proteger isso.
Então muito obrigado a todo mundo que está publicando conteúdos e todo mundo que está também qualificando eles. Está realmente tudo muito massa!
E sobre a parte do desenvolvimento da plataforma e melhorias, já se passaram 21 dias desde a última publicação de melhorias e apesar da Milestone 5* já ter sido tecnicamente finalizada, o desenvolvimento continua e com alguns ajustes muito importantes e eu vou listar eles abaixo:
1) Novo algoritmo de Ranqueamento
O aprendendofelipe desenvolveu uma nova estratégia para fazer o ranking dos conteúdos Relevantes que está atualmente na Home. O algoritmo anterior era muito próximo do Recentes, uma vez que itens novos tinham um peso muito grande, mas agora é dado uma chance muito maior para itens que se destacaram dentro de 1 semana.
O algoritmo se baseia em janelas (que são faixas de conteúdos) e a tabela abaixo mostra as janelas do algoritmo que está hoje em produção e que foi extraída desse comentário:
rank_group | Janela \ Tamanho | Reservados | Máximo | Saldo mín. | Idade máx. |
---|---|---|---|---|---|
0 | top_one | 1 | 1 | 13 | 7 dias |
1 | top_three | 2 | 3 | 7 | 2 dias |
2 | top_1_hour | 3 | 6 | 1 | 1 hora |
3 | top_6_hours | 9 | 15 | 2 | 6 horas |
4 | top_1_day | 15 | 30 | 1 | 1 dia |
5 | top_3_days | 30 | 60 | 1 | 3 dias |
Todos | ranked | - | - | 1 | 7 dias |
Então analisando as primeiras linhas, o grupo 0
fica reservado para 1
conteúdo com mais de 13
TabCoins e que foi publicado dentro de 7
dias, por isso o nome do grupo é top_one
. O grupo 1
chamado top_three
reserva 2
itens que possuem no mínimo 7
TabCoins e que foram publicados dentro de 2
dias... e por aí vai. Caso você tenha acesso ao repositório do TabNews, é possível ler a query* que monta essa lista, é muito massa!
E conversando com o aprendendofelipe, uma preocupação minha foi que, para quem acessa diariamente o TabNews, a Home ficou com muitos conteúdos stale, parados. Isso pode causar o efeito Zipf (vídeo), dificultando a competição de conteúdos novos (mas também relevantes) e com isso diminuindo a reciclagem de conteúdos na Home, principalmente na primeira posição que é a mais importante.
Mas o massa é que através do algoritmo do aprendendofelipe é possível controlar o comportamento de uma forma muito melhor do que o algoritmo passado, tanto que bolamos mais duas versões para vocês testarem conosco. Inclusive, o aprendendofelipe fez páginas especiais para mostrar eles rodando em produção:
- Algoritmo atual: https://tabnews-git-beta-tabnews.vercel.app/
- Algoritmo Beta1: https://tabnews-git-beta-tabnews.vercel.app/relevantes_beta/Beta1
- Algoritmo Beta2: https://tabnews-git-beta-tabnews.vercel.app/relevantes_beta/Beta2
Vocês nos ajudam a acompanhar o comportamento entre as versões e ao longo da semana? Para se certificar que você está acessando os dados mais recentes, sugiro dar alguns refreshes nas páginas para o backend revalidar o conteúdo e gerar um novo estático.
Em paralelo, você pode encontrar a query com as janelas dessas versões beta nesse arquivo* e inclusive você pode sugerir ou implementar outras janelas. E isso que está sendo massa de desenvolver esse algoritmo, não vamos esconder nada e a própria comunidade tem o poder de lapidar para o que for melhor para todos nós 🤝
Agora vou rapidamente comentar outros 2 Pull Requests que estão em andamento:
2) Página do usuário mostrar também as respostas
Isto está sendo feito por 33gustavo33 através desse PR* onde a ideia é, na página exclusiva do usuário, ao invés de só listar as publicações root
(as que aparecem na raiz do TabNews), listar também as respostas que esse usuário fez dado que todo conteúdo aqui possui valor concreto. Nós inclusive chegamos no estágio onde algumas respostas possuíam mais valor concreto que a própria publicação raiz, o que é simplesmente sensacional!
3) Ajuste de bug na resposta
Isto está sendo ajustado por Rafaelb4rros através desse PR* e irá consertar um bug onde, ao publicar uma resposta, se você navegar entre as páginas que usam o componente Link
(ou seja, que não fazem um "hard refresh" da página), a caixa com esta nova resposta será transportada junto de forma errada. É um glitch visual (que não afeta os conteúdos no backend), mas que poderá confundir o usuário por pensar que uma resposta foi colocada em outra publicação.
Conclusão
Não sai da minha cabeça que o TabNews irá se tornar o "Blender dos conteúdos de tecnologia" (ou o Godot), pois de passo em passo, semana a semana, ano a ano, sem correria, iremos lamber/lapidar o projeto e a nossa postura ao ponto de não ser mais possível nos ignorar por estarmos de fato mudando como as coisas são feitas na internet 🤝
⚠️ O repositório Open Source do TabNews ainda está em Modo Privado. Caso queira receber um convite para participar, leia esta publicação.