Falta relativa de temas - estou perdendo alguma coisa?

Não tinha certeza de onde colocar isso, peço desculpas se pertence a outro lugar.

Primeiramente, espero que isso não pareça apenas uma reclamação. Essa não é minha intenção de forma alguma. Adoro e uso o Discourse, e implementei várias instâncias do Discourse para mim mesmo, clientes e amigos nos últimos 6 meses. A satisfação geral é alta, especialmente em termos de funcionalidade e customização nesse aspecto (componentes de tema, plugins, etc.).

Dito isso, durante o processo, notei definitivamente uma relativa falta de opções de temas em geral, especialmente em comparação, digamos, ao WordPress ou até mesmo a muitos outros sistemas de fórum. Ainda não encontrei um mercado de terceiros para temas, por exemplo, que muitos outros sistemas possuem. Aqui no Meta, muitos temas parecem ser bastante antigos, embora, felizmente, sejam frequentemente mantidos atualizados. A maioria deles também parece ser criada por um número muito pequeno de pessoas. Como contraponto, aqui está o diretório de ~150 temas do myBB (nem mesmo um dos concorrentes mais populares do Discourse):

O NodeBB parece ter um número similarmente menor de temas. :thinking:

Outro ponto é que, mesmo entre os temas disponíveis, não parece haver tanta variação. Agradeço que a maioria deles siga um design bastante “limpo”, e eu pessoalmente definitivamente não quero, por exemplo, uma aparência tradicional (SMF, vB, PHPbb, etc.), mas não consigo deixar de me perguntar se há uma limitação fundamental no que pode ser feito com o sistema de temas. Se for esse o caso, talvez não seja priorizado no processo de desenvolvimento, e eu posso entender isso se não houver muita demanda ou se for um problema difícil de resolver, mas seria bom saber, pelo menos.

Então, por que essas disparidades? O Discourse é bastante popular, não é? O ajuste de temas é simplesmente algo que a maioria dos administradores do Discourse não se importa muito? Ou eles geralmente são mais capazes de criar os seus próprios, então não há muito mercado para isso? E, se for esse o caso, seria uma situação de galinha e ovo (ou seja, a falta de recursos de personalização fáceis e disponíveis desencoraja mais administradores potenciais iniciantes que buscam opções de fórum)?

Para deixar claro, não estou dizendo que o myBB ou o WordPress são melhores; eu certamente prefiro o Discourse. Mas quero que algumas coisas melhorem aqui ao longo do tempo, então estou levantando isso mais como uma pergunta aberta e uma área de discussão potencial. Isso também se relaciona com um tópico ao qual contribuí (e preciso voltar a ele e dar sequência!) discutindo algumas coisas que a plataforma Circle pode estar fazendo “certo” (para uma certa classe de usuários). Continuo a ver coisas como uma interface “simplificada” como potencialmente benéficas para atrair novos usuários, e espero que tais coisas possam ser pelo menos parcialmente alcançadas usando o sistema de temas.

Também estou absolutamente disposto a pagar pelo desenvolvimento de temas quando necessário, e sei que há pelo menos algumas pessoas aqui no Marketplace que podem fazer isso. Estou realmente apenas querendo saber quais podem ser as razões para a aparente falta de opções e variedade de temas existentes, e se há recursos para temas que estou perdendo.

Obrigado!

12 curtidas

Olá, obrigado por levantar isso. É algo que tenho pensado ativamente há algum tempo.

Você está correto sobre a variação limitada, mas não se trata de uma limitação do sistema de temas. Criamos uma infinidade de temas personalizados muito diferentes para clientes hospedados; simplesmente não parece haver a mesma demanda por eles na comunidade de código aberto.

É algo de que temos consciência e que temos discutido internamente. Nossa equipe de design está trabalhando ativamente em algumas variações diferentes de temas e componentes de temas para adicionar ao assistente de configuração. Fiquem atentos!

14 curtidas

Maravilhoso, obrigado, isso é muito encorajador! Estou realmente curioso para ver se é, como especulei, uma questão de “ovo e galinha”, ou seja, assim que houver mais temas, vocês terão mais pessoas entrando para usá-los…

Na verdade, isso levanta uma pergunta que você também pode responder: como vocês medem a “demanda por temas na comunidade de código aberto”? (ou o interesse em geral de não-clientes) E quando vocês dizem “a comunidade de código aberto”, vocês querem dizer qualquer pessoa que não hospede com o Discourse oficial? Por exemplo, aqueles na Communiteq são considerados parte disso?

5 curtidas

Não há uma medição concreta, apenas evidências anedóticas baseadas em solicitações como a sua e na natureza dos temas que estão sendo criados por pessoas que não fazem parte da nossa equipe.

Sim, é isso que quis dizer. Qualquer pessoa que não seja um cliente pagante nosso.

6 curtidas

Você tem algum exemplo desses que possa compartilhar, a propósito? Eu adoraria poder ver mais do que é possível.

2 curtidas

Claro. Estes não são todos os que fizemos, mas demonstram algumas possibilidades diferentes.

https://forum.uipath.com/
https://forum.asana.com/
https://forums.babypips.com/
https://community.ring.com/
https://answers.netlify.com/
https://community.anker.com/
https://discuss.hashicorp.com/
https://discourse.aurelia.io/
https://forum.figma.com/categories
https://github.community/
https://community.nulab.com/
https://chatterbug.com/community/
https://community.greythr.com/
https://community.automationcloud.net/
https://forum.diffblue.com/
https://forums.woot.com/
https://swapd.co/
https://community.atlasobscura.com/
https://forum.bonsaimirai.com/
https://community.wirexapp.com/categories
https://discuss.codecademy.com/
https://discuss.circleci.com/
https://www.wer-weiss-was.de/

18 curtidas

Basta visitar a página de clientes; é para isso que ela serve: https://www.discourse.org/customers

3 curtidas

Agradeço pela indicação. No entanto, bastante dessas opções são bastante “padrão”, e nada na página de “clientes” diz explicitamente para mim: “criamos esses temas personalizados muito diferentes para todos esses sites”, que é exatamente o que eu estava procurando. Em outras palavras, essa página parece ser, compreensivelmente, mais sobre quem está usando o Discourse e menos sobre o quão único é o uso ou design deles, ou que a equipe do Discourse especificamente fez trabalho de temas para eles. Honestamente, acho que isso poderia ser uma categoria ou filtro adicional legal para essa página: clientes para os quais vocês fizeram trabalho personalizado de design/tema.

De qualquer forma, consigo apreciar que as informações estão lá para as pessoas analisarem e encontrarem o que possam estar procurando, e sou grato ao @HAWK por ter tomado o tempo de destacar alguns casos específicos que atenderam mais diretamente ao meu interesse expresso.

6 curtidas

OK! Parece que você tem necessidades muito específicas. Você pode considerar contratar alguém para ajudá-lo a atendê-las e agilizar sua experiência.

4 curtidas

Concordo totalmente. Estamos atualizando isso para mostrar opções de design mais diversas.

8 curtidas

Você já viu as mais de 150 entradas em Search results for '#theme' - Discourse Meta? Muitas delas oferecem mudanças significativas na funcionalidade. Há apenas cerca de 40 itens em Search results for '#theme-full' - Discourse Meta, e alguns deles realmente alteram bastante a aparência das coisas.

Uma razão pela qual não existem centenas de temas é que não há um mercado dedicado a eles. Acredito que isso ocorra porque muitos desenvolvedores são grandes defensores do código aberto. Em certo sentido, isso é uma bênção, pois não incentiva milhares de pessoas a criarem temas triviais na esperança de que alguém as pague por isso.

Na maioria dos casos, se há algo que você sabe que deseja, pode perguntar no canal Marketplace.

3 curtidas

Não tenho certeza se isso realmente tem algum efeito sobre a quantidade de temas ou a disposição de outras pessoas em criá-los, mas, apenas pela minha própria experiência, a estrutura do HTML e das classes CSS do Discourse não é muito bem arquitetada para facilitar ou tornar mais eficiente a criação de temas.

Se você deseja fazer alterações de tema apenas com CSS, na maior parte elas estarão fortemente acopladas ao markup e às classes do fórum (que o tema não possui, a menos que você também modifique o HTML), e ajustes simples frequentemente exigem mais trabalho do que deveriam. Por exemplo, porque não há um seletor único para eles. (Por exemplo, a linha que separa as postagens em um tópico não é, na verdade, uma única borda; ela é dividida entre o componente do avatar e o corpo da postagem. Você não pode simplesmente ajustá-la, pois precisa levar em conta vários outros elementos que interagem com ela de maneiras não óbvias.)

Pessoalmente, isso significa que estou disposto a fazer apenas alterações muito mínimas que não tentem mudar muita coisa, pois ficaria preocupado que atualizações futuras do fórum quebrariam minhas modificações e seria difícil descobrir como corrigi-las.

9 curtidas

Sim, a borda acima das postagens é um bom exemplo… Acredito que a forma como o markup está estruturado tem mais de 5 anos e pode até ser um resquício de um layout padrão diferente.

A mudança na borda não parece exigir uma grande refatoração, mas teríamos que mexer em uma quantidade considerável de CSS e HTML para chegar lá, porque o container pai de topic-avatar e topic-body não tem a largura correta para a borda… e se alterarmos a largura do container pai ou introduzirmos outro container, isso exigirá mais alterações, e essas alterações podem exigir suas próprias mudanças… e de repente você estará refatorando todo o container da postagem. Depois de fazer essas alterações, teremos que acompanhar nossos clientes durante a transição e atualizar os temas que criamos… então pode ser um processo bastante árduo.

Embora eu gostaria de poder fazer algo assim e dar por encerrado:

.topic-post {
  border-top: 1px solid red;
}

…isso consumiria muito tempo e quebraria os temas existentes para chegar lá. E, comparativamente, um seletor extra não é quase tão difícil quanto refatorar o markup:

.topic-avatar,
.topic-body {
  border-top: 1px solid red;
}

Embora, é claro, ao começar a multiplicar as vezes em que você precisa fazer algo assim, pode se tornar frustrante. Trabalho com temas do Discourse todos os dias, então entendo isso!

Dito tudo isso… definitivamente queremos atualizar o markup da lista de tópicos e da página de tópicos em um futuro próximo. Abandonamos o suporte ao IE11 no ano passado, então podemos estruturar as coisas de forma mais simples, permitindo aproveitar melhor os recursos modernos de layout do CSS, como Flexbox e Grid. Isso também facilitará a realização de alterações mais drásticas no layout.

Também começamos a usar mais propriedades personalizadas do CSS desde que abandonamos o IE11, e isso pode simplificar o estilo, junto com mudanças maiores na base. Em vez de ter dois elementos separados para estilizar, podemos fazer algo como:

.topic-post {
  --border-color: red;
  .topic-avatar,
  .topic-body {
    border: 1px solid var(--border-color);
  }
}

e então um tema poderia fazer:

.topic-post {
  --border-color: green;
}

tl;dr: ouvimos você! e estamos pensando em como podemos reduzir essas barreiras também!

24 curtidas

Gosto muito de
https://community.automationcloud.net/
e
https://forums.babypips.com/t/what-annoys-you-most-in-forex/70821/549

Ótimo para me inspirar quando eu atualizar meu fórum no verão.

7 curtidas

Uma observação adicional: muitas vezes há limitações contratuais com clientes corporativos que literalmente nos impedem de discutir esses clientes e essas personalizações, do ponto de vista legal. É lamentável, mas o que se pode fazer? Precisamos manter o negócio funcionando e pagar os salários das pessoas que trabalham aqui. Tenho uma opinião muito forte sobre isso; é minha obrigação manter as coisas funcionando no Discourse para que nossa equipe possa colocar comida na mesa e sustentar suas famílias com uma fonte de renda confiável. :woman_shrugging:

A boa notícia é que essas personalizações extensas acabam, com o tempo, sendo incorporadas ao código-fonte de código aberto. Mas isso leva tempo.

12 curtidas

Como estou trabalhando em vários projetos Discourse, principalmente para outras pessoas, as necessidades são bastante variadas, assim como os orçamentos. Mas estou absolutamente mantendo o desenvolvimento personalizado em mente e usaria com prazer onde os recursos permitirem.

Excelente! Fico feliz em saber que você também vê a necessidade disso.

De fato vi! Os Componentes de Tema são uma das minhas coisas favoritas no Discourse e faço uso extensivo deles. Mas a estética central e a “facilidade de uso”/“limpeza” do sistema permanecem bastante semelhantes na maioria deles.

Excelente, obrigado por essa perspectiva. Não sou muito habilidoso com CSS, certamente não o suficiente para me sentir confiante ao dizer que a arquitetura do Discourse (ou de qualquer ferramenta) poderia ser melhor, em vez de ser apenas minha falta de compreensão que limita as coisas. É bom saber que há espaço para melhoria aqui.

Isso é realmente bom de ouvir. Posso apreciar a dificuldade envolvida em reformular as coisas, e como uma única mudança proposta, aparentemente pequena, pode necessariamente levar a muitas outras. Fico feliz que, apesar do desafio, haja um impulso interno para melhorar as coisas ao longo do tempo. E de passagem, obrigado por todo o trabalho com temas e componentes de tema que você faz! Faço uso frequente de suas criações. :slight_smile:

Obrigado pelos exemplos. O da BabyPips é particularmente impressionante e interessante!

De fato! Quando perguntei se havia exemplos que você “pode” compartilhar, eu estava implicando um entendimento desse fato, mas percebo que pode não estar claro ou explícito.

Sou absolutamente solidário com o Discourse como empresa fazendo dinheiro e entendo tudo o que vem junto com isso, incluindo NDAs, possíveis acordos de exclusividade para certas funcionalidades personalizadas e muito mais. O fato de as personalizações acabarem chegando ao código de código aberto é testemunho de que vocês estão fazendo certo, e eu aprecio isso.


Obrigado a todos pela contribuição! Agora me sinto tanto mais claro em entender por que as coisas podem ser como são no momento, quanto mais esperançoso de que as coisas melhorarão para aqueles mais próximos do meu nível de habilidade, caso de uso e orçamento no futuro. Eventualmente, adoraria ver um ecossistema/comunidade/mercado próspero de temas de terceiros, e pagaria com prazer, por exemplo, $50 por um tema bonito e personalizado, como eu e muitos outros fazemos frequentemente no mundo do Wordpress (e de outros sistemas de CMS/fórum).

Reconheço que existem problemas potenciais com essa abordagem, além de muitos temas “lixo”. Mas depois de 15+ anos personalizando CMSs, temas e plugins prontos, e comparando-os com os orçamentos que obtive para desenvolvimento personalizado completo de designs e funcionalidades semelhantes, estou confiante de que há um lugar valioso para esse tipo de ecossistema. Vejo isso como algo situado abaixo das opções comerciais totalmente personalizadas que o Discourse oferece (onde o custo é uma barreira) e “acima”/ao lado da abordagem totalmente DIY de código aberto (onde habilidade e tempo são barreiras). Na minha experiência com outros sistemas que funcionam de forma semelhante, esse “caminho do meio” tem permitido bons resultados em um tempo razoável para aqueles com orçamentos/habilidades/prazos mais limitados (isso é basicamente toda pequena empresa, autônomo, etc. com quem já trabalhei).

19 curtidas

Agradeço a forma cuidadosa como você abordou o assunto! Vou ver se consigo te enviar uma pequena coisa em agradecimento, mensagem privada chegando :wink:

11 curtidas

Na maior parte dos casos, se for algo pelo qual eu cobraria US$ 50, eu simplesmente faço de graça. :slight_smile:

5 curtidas

De fato, acho que muitas pessoas fazem isso, e isso é algo positivo. Mas a ideia, é claro, é que em um marketplace você pode ter 10, 50 ou 100 pessoas pagando esses US$ 50, e aí isso se torna mais significativo. De qualquer forma, parece funcionar no contexto de outras plataformas. Não que eu prefira pagar a ter algo gratuito, mas também não espero que trabalhos mais aprofundados e desafiadores sejam feitos sem remuneração.

Não sei necessariamente qual é a melhor maneira de lidar com tudo isso. Principalmente, eu só conheço o resultado geral que espero ver: maior disponibilidade de temas, componentes, etc., mais profundamente personalizados, para permitir um uso mais amplo do Discourse em mais contextos (onde seu uso seja apropriado).

8 curtidas

Um marketplace de resolução de problemas no Discourse é algo que considerei, mas tenho outro projeto que estou tentando lançar primeiro. :slight_smile:

6 curtidas