Estou criando este tópico para documentar minha jornada enquanto tento transformar o Discourse em uma plataforma mais visual, com rolagem contínua — algo mais próximo da experiência de navegação oferecida por Reddit, X e Facebook.
Usarei este tópico para compartilhar o que estou tentando, o que funciona, o que não funciona, os componentes que estou usando e quaisquer problemas que encontrar. Espero que também ajude qualquer outra pessoa interessada em usar o Discourse para algo além de um layout de fórum tradicional.
O ponto de partida para este projeto foi a regra 90–9–1.
Ela sugere que, na maioria das redes sociais, blogs, etc.:
-
90% dos usuários navegam e consomem conteúdo principalmente.
-
9% ocasionalmente reagem, curtem, compartilham ou comentam.
-
1% criam ativamente a maior parte do conteúdo.
Obviamente, os percentuais exatos variarão entre comunidades, mas o princípio permanece relevante: a maioria dos visitantes são leitores, não contribuidores.
O Discourse é excelente em atender aos 9% e aos 1%. Ele é construído em torno de discussões, respostas e participação ativa. No entanto, quero torná-lo igualmente atraente para o grupo muito maior que simplesmente quer abrir o site e navegar por conteúdo fresco e interessante.
O que estou tentando construir
Quero usar o Discourse para criar um feed mais visual e contínuo (doom scrolling), semelhante ao do Reddit, X ou Facebook.
A experiência idealmente se pareceria com algo assim:
-
Abrir a página inicial e ver imediatamente um feed de tópicos relevantes.
-
Rolar continuamente de um tópico para o próximo.
-
Visualizar o conteúdo do tópico sem abrir uma página separada.
-
Ver imagens, vídeos e trechos diretamente no feed.
-
Curtir, marcar como favorito ou responder quando algo chamar sua atenção.
-
Mover automaticamente o conteúdo já rolado para fora do caminho.
-
Voltar mais tarde e ver tópicos novos ou não vistos, em vez da mesma página inicial toda vez.
-
Personalizar gradualmente o feed usando categorias, tags e tópicos com os quais o usuário interage.
Algumas pessoas podem chamar isso de “doom scrolling”, mas é também simplesmente a forma como um número enorme de pessoas consome conteúdo online hoje em dia. Elas podem ler dezenas de publicações sem nunca comentar, mas ainda assim são usuários genuínos que geram visualizações, compartilham links e potencialmente retornam todos os dias.
Por que construir com o Discourse?
O Discourse já fornece a maioria das partes difíceis:
-
Contas e perfis de usuários
-
Categorias e tags
-
Curtidas, favoritos e notificações
-
Níveis de confiança e moderação
-
Criação de tópicos e respostas
-
Rastreamento de lido e não lido
-
Tópicos sugeridos e relacionados
-
Um sistema maduro de plugins e componentes de tema
O que parece faltar é um feed projetado principalmente em torno de descoberta e consumo passivo. (obviamente, o Discourse não foi projetado para ser assim)
Onde estou até agora
- Comecei com o incrível tema Redditish do @awesomerobot, que tive que fazer um fork para poder editar vários aspectos, como a remoção da barra lateral personalizada. Também editei bastante o CSS para projetá-lo do jeito que queríamos.
- Habilitar as Visões Aninhadas foi essencial, pois isso cobre o estilo necessário para esse tipo de site.
- Criei e adicionei um menu rolável no estilo YouTube que mostra todas as categorias e links personalizados. Usei Links Personalizados de Navegação Superior para personalizar e adicionar links.
- Um modal de pré-visualização de tópico era essencial e comecei a projetar isso, mas a lenda @Don construiu uma versão melhor, que pode ser encontrada aqui
- Uma barra lateral direita em cache estática em todos os lugares era essencial, então comecei com blocos de barra lateral direita e depois criei um componente de tema para exibi-lo nos tópicos, etc.
- Usando links de cabeçalho personalizados (ícones), adicionei um “Criar uma Publicação” no cabeçalho para tornar o container mais limpo.
- Imagens em publicações centralizadas com um fundo desfocado para ficar mais arrumado (semelhante ao Reddit)
- Definir trechos de tópicos para 150 caracteres e exibi-los entre o título e a imagem nos cartões de tópico era essencial (semelhante ao Facebook e X)
Os próximos passos seriam um feed dedicado que poderia:
-
Começar com conteúdo recente de um período definido, como os últimos 14 dias.
-
Priorizar tópicos de categorias e tags que o usuário segue.
-
Misturar tópicos populares ou em alta para descoberta.
-
Registrar quando um tópico foi genuinamente visualizado ou rolado.
-
Reduzir a prioridade de tópicos visualizados sem ocultá-los permanentemente.
-
Permitir reações e respostas diretas a partir do feed.
Isso não substituiria as listas de tópicos tradicionais ou discussões. Seria uma maneira adicional de descobrir e consumir o mesmo conteúdo do Discourse.
Siga a jornada
Continuarei atualizando este tópico à medida que o projeto evoluir, incluindo os componentes que testo, as mudanças que faço e os obstáculos com que me deparo.
Também ficaria interessado em ouvir de qualquer pessoa que tenha tentado algo semelhante, especialmente em relação a:
-
Se os dados existentes de rastreamento de leitura poderiam suportar isso.
-
Como um feed poderia funcionar para usuários anônimos e recém-registrados.
-
Quanto de personalização poderia ser alcançada sem introduzir um algoritmo de recomendação complexo.
-
Se as pré-visualizações contínuas de tópicos criariam problemas de desempenho significativos.
O objetivo é reconhecer que os 90% silenciosos são uma parte importante de uma comunidade e dar a eles uma experiência projetada em torno de como eles realmente usam a internet.
O site de teste que usarei para este projeto é