Falta relativa de temas - ¿me estoy perdiendo algo?

No estaba muy seguro de dónde publicar esto, disculpen si pertenece en otro lugar.

En primer lugar, espero que esto no parezca simplemente una queja. No es mi intención en absoluto. Me encanta y uso Discourse; de hecho, he implementado múltiples instancias de Discourse para mí mismo, clientes y amigos durante los últimos seis meses. La satisfacción general es alta, especialmente en cuanto a funcionalidad y personalización (componentes de temas, complementos, etc.).

Dicho esto, en el proceso he notado definitivamente una relativa falta de opciones de temas en general, y especialmente en comparación con, por ejemplo, WordPress o incluso muchos otros sistemas de foros. Aún no he encontrado un mercado de terceros para temas, algo que muchos otros sistemas sí tienen. Aquí en Meta, muchos temas parecen bastante antiguos, aunque afortunadamente suelen mantenerse actualizados. La mayoría también parecen ser creados por un número muy reducido de personas. Como contrapunto, aquí está el directorio de unos 150 temas de myBB (ni siquiera uno de los competidores más populares de Discourse):

NodeBB parece tener un número similarmente bajo de temas. :thinking:

Otro aspecto es que, incluso entre los temas disponibles, no parece haber mucha variedad. Agradezco que la mayoría se mantengan en un diseño bastante “limpio”, y personalmente no deseo, por ejemplo, un aspecto tradicional (como el de SMF, vB, phpBB, etc.), pero no puedo evitar preguntarme si existe una limitación fundamental en lo que se puede lograr con el sistema de temas. De ser así, quizás no sea una prioridad en el proceso de desarrollo, y lo entiendo si no hay mucha demanda o si es un problema difícil de resolver; pero sería bueno saberlo al menos.

Entonces, ¿por qué estas disparidades? ¿Discourse no es bastante popular? ¿Acaso el ajuste de temas no es algo que la mayoría de los administradores de Discourse les importe mucho? ¿O es que generalmente son más capaces de crear sus propios temas, por lo que no hay mucho mercado al respecto? Y si es así, ¿se trata de un círculo vicioso (es decir, la falta de recursos de personalización fáciles y disponibles desalienta a más administradores potenciales novatos que buscan opciones de foros)?

Para ser claro, no estoy diciendo que myBB o WordPress sean mejores; de hecho, prefiero claramente Discourse. Pero sí deseo que algunas cosas mejoren con el tiempo, por lo que planteo esto más como una pregunta abierta y un área de discusión potencial. Esto también se relaciona con un tema al que contribuí (y necesito retomar y seguir!) discutiendo algunas cosas que la plataforma Circle podría estar haciendo “bien” (para cierto tipo de usuarios). Continuo viendo cosas como una interfaz “simplificada” como potencialmente beneficiosas para atraer nuevos usuarios, y tengo la esperanza de que tales cosas puedan lograrse al menos parcialmente mediante el sistema de temas.

También estoy absolutamente dispuesto a pagar por el desarrollo de temas cuando sea necesario, y sé que hay al menos algunas personas aquí en Marketplace que pueden hacerlo. Solo quiero conocer las razones posibles de la aparente falta de opciones y variedad de temas existentes, y si hay recursos para temas que me estén pasando por alto.

¡Gracias!

12 Me gusta

¡Hola! Gracias por plantear esto; es algo en lo que he estado pensando activamente desde hace un tiempo.

Tienes razón sobre la variación limitada, pero no es una limitación del sistema de temas. Hemos creado un montón de temas personalizados muy diferentes para clientes alojados; simplemente no parece haber la misma demanda en la comunidad de código abierto.

Es algo de lo que somos conscientes y que hemos estado discutiendo internamente. Nuestro equipo de diseño está trabajando activamente en algunas variaciones diferentes de temas y componentes de temas para agregarlos al asistente de configuración. ¡Mantente atento!

14 Me gusta

¡Genial, gracias, eso es muy alentador! Tengo mucha curiosidad por ver si, como especulé, es un problema del “huevo y la gallina”, es decir, una vez que haya más temas, ¿obtendrán más personas que los utilicen…?

De hecho, eso plantea una pregunta que quizás también puedas responder: ¿cómo miden la “demanda de temas en la comunidad de código abierto” (o el interés en general por parte de quienes no son clientes)? Y cuando dicen “la comunidad de código abierto”, ¿se refieren a cualquier persona que no aloje con Discourse oficial? ¿Por ejemplo, ¿aquellos en Communiteq se consideran parte de eso?

5 Me gusta

No hay una medición concreta, solo evidencia anecdótica basada en solicitudes como la tuya y en la naturaleza de los temas que están creando personas que no forman parte de nuestro equipo.

Sí, eso es lo que quise decir. Cualquiera que no sea un cliente pagador nuestro.

6 Me gusta

¿Tienes algún ejemplo de estos que puedas compartir, por cierto? Me encantaría poder ver más de lo que es posible.

2 Me gusta

Claro. Estos no son todos los que hicimos, pero muestran algunas posibilidades 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 Me gusta

Simplemente visita la página de clientes; para eso está: https://www.discourse.org/customers

3 Me gusta

Agradezco la indicación. Sin embargo, bastante de lo que mencionas es bastante “estándar”, y nada en una página de “clientes” me dice explícitamente “creamos estos temas personalizados muy diferentes para todos estos sitios”, que es precisamente lo que estaba buscando. En otras palabras, esa página parece estar, comprensiblemente, más enfocada en quién usa Discourse y menos en lo único que es su uso o diseño, o en que el equipo de Discourse realizó específicamente trabajo de temas para ellos. Honestamente, creo que podría ser una categoría o filtro adicional agradable para esa página: clientes para los cuales realizaste trabajo de diseño o temas personalizados.

De todos modos, puedo apreciar que la información está disponible para que la gente la revise y encuentre lo que pueda estar buscando, y estoy agradecido con @HAWK por tomarse el tiempo de señalar algunos casos específicos que se ajustaron más directamente a mi interés expresado.

6 Me gusta

¡Perfecto! Parece que tienes necesidades muy específicas. Podrías considerar contratar a alguien para ayudarte a cubrirlas y agilizar tu experiencia.

4 Me gusta

Totalmente de acuerdo. Estamos actualizando eso para mostrar opciones de diseño más diversas.

8 Me gusta

¿Has visto las >150 entradas en Search results for '#theme' - Discourse Meta? Muchas de ellas ofrecen cambios significativos en la funcionalidad. Solo hay ~40 elementos en Search results for '#theme-full' - Discourse Meta, y algunos de ellos sí realizan cambios bastante importantes en la apariencia.

Una razón por la que no hay cientos de temas es que no existe un mercado para ellos; creo que esto se debe a que muchos desarrolladores son grandes defensores del código abierto. En cierto sentido, esto es una bendición, ya que evita que miles de personas sientan el deseo de crear temas triviales con la esperanza de que alguien les pague por ellos.

Principalmente, si sabes que quieres algo, puedes preguntarlo en Marketplace.

3 Me gusta

No estoy seguro de si esto realmente afecta la cantidad de temas o la disposición de otras personas para crearlos, pero solo por mi propia experiencia, la estructura del marcado HTML y las clases CSS de Discourse no está muy bien diseñada para un diseño de temas fácil o eficiente.

Si deseas realizar cambios en el tema solo con CSS, en su mayoría estarán estrechamente acoplados al marcado y las clases del foro (que el tema no posee a menos que también modifiques el HTML), y los ajustes simples a menudo requieren más trabajo del que deberían, por ejemplo, porque no hay un selector único para ellos. (Por ejemplo, la línea que separa los mensajes en un tema no es realmente un solo borde; está dividida entre el componente del avatar y el cuerpo del mensaje. No puedes ajustarlo simplemente, ya que debes tener en cuenta varios otros elementos que interactúan con él de maneras no obvias.)

Para mí personalmente, esto significa que solo estoy dispuesto a realizar cambios muy mínimos que no intenten alterar demasiado, ya que me preocuparía que futuras actualizaciones del foro rompan mis cambios y sería difícil rastrear cómo solucionarlos.

9 Me gusta

Sí, el borde superior de las publicaciones es un buen ejemplo… Creo que la forma en que está estructurado el marcado tiene más de 5 años y podría incluso ser un remanente de una disposición predeterminada diferente.

El cambio de borde no parece requerir una reestructuración masiva, pero tendríamos que modificar una cantidad considerable de CSS y HTML para lograrlo, ya que el contenedor padre de topic-avatar y topic-body no tiene el ancho correcto para el borde… y si cambiamos el ancho del contenedor padre o introducimos otro contenedor, eso requiere más cambios, y esos cambios pueden requerir sus propias modificaciones… y de repente estarías reestructurando todo el contenedor de la publicación. Una vez que realicemos esos cambios, tendremos que acompañar a nuestros clientes durante el proceso y actualizar los temas que hemos creado… por lo que puede ser un proceso bastante arduo.

Aunque me gustaría poder hacer algo como esto y darlo por concluido:

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

… tomaría mucho tiempo y rompería los temas existentes para lograrlo. Y, en comparación, un selector adicional no es tan difícil como reestructurar el marcado:

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

Aunque, por supuesto, si empiezas a multiplicar las veces que tienes que hacer algo así, puede resultar frustrante. Trabajo en temas de Discourse todos los días, ¡así que lo entiendo!

Dicho todo esto… definitivamente queremos actualizar el marcado de la lista de temas y de la página de temas en un futuro próximo. Dejamos de dar soporte a IE11 el año pasado, por lo que podemos estructurar las cosas de manera más sencilla, lo que nos permitirá aprovechar mejor las funciones modernas de diseño con CSS como Flexbox y Grid. Esto también facilitará la realización de cambios de diseño más drásticos.

También hemos comenzado a utilizar más las propiedades personalizadas de CSS desde que dejamos de dar soporte a IE11, y eso puede agilizar el estilo, junto con cambios subyacentes más importantes. En lugar de tener dos elementos separados para estilizar, podemos hacer algo como:

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

y luego un tema podría hacer:

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

tl;dr: ¡te hemos escuchado! ¡y estamos pensando en cómo podemos reducir estas barreras también!

24 Me gusta

Me gusta mucho
https://community.automationcloud.net/
y
https://forums.babypips.com/t/what-annoys-you-most-in-forex/70821/549

Son una gran fuente de inspiración para mí cuando actualice mi foro en verano.

7 Me gusta

Una nota adicional: a menudo existen limitaciones contractuales con clientes empresariales que nos impiden literalmente hablar de esos clientes y de esas personalizaciones desde una perspectiva legal. Es lamentable, pero ¿qué se puede hacer? Tenemos que mantener el negocio y pagar los salarios de las personas que trabajan aquí. Es algo en lo que creo firmemente; es mi obligación mantener todo funcionando en Discourse para que nuestro equipo pueda poner comida en la mesa y criar a sus familias con una fuente de ingresos fiable. :woman_shrugging:

La buena noticia es que estas personalizaciones extensas acaban filtrándose gradualmente al código de código abierto con el tiempo. Pero lleva su tiempo.

12 Me gusta

Dado que estoy trabajando en varios proyectos de Discourse, la mayoría para otros, las necesidades son bastante variadas, al igual que los presupuestos. Pero tengo absolutamente presente el desarrollo personalizado y lo utilizaría encantado donde los recursos lo permitan.

¡Excelente! Me alegra saber que también ves la necesidad de ello.

¡Efectivamente, los he visto! Los Componentes de tema son una de mis cosas favoritas de Discourse y los uso extensivamente. Pero la estética central y la “facilidad de uso”/“limpieza” del sistema se mantienen bastante similares a pesar de la mayoría de ellos.

Excelente, gracias por esta perspectiva. No soy muy hábil con CSS, ciertamente no lo suficiente como para sentirme seguro al afirmar que la arquitectura de Discourse (o de cualquier herramienta) podría ser mejor en lugar de que sea simplemente mi falta de comprensión lo que limita las cosas. Es bueno saber que hay margen de mejora aquí.

Esto es realmente bueno de escuchar. Puedo apreciar la dificultad que implica una reestructuración de las cosas, y cómo un cambio propuesto, aparentemente pequeño, puede necesariamente dar lugar a muchos otros. Me alegra que, a pesar del desafío, exista un impulso interno para mejorar las cosas con el tiempo. Y de paso, ¡gracias por todo el trabajo que haces con los temas y los componentes de tema! Uso frecuentemente tus creaciones. :slight_smile:

Gracias por los ejemplos. ¡El de BabyPips es particularmente impresionante e interesante!

¡Exacto! Cuando pregunté si había algún ejemplo que “pudieras” compartir, estaba insinuando que entendía este hecho, pero me doy cuenta de que puede no estar claro o explícito.

Estoy absolutamente a favor de que Discourse, como empresa, gane dinero, y entiendo todo lo que conlleva eso, incluidos los acuerdos de confidencialidad (NDA), posibles acuerdos de exclusividad para ciertas características personalizadas y más. El hecho de que las personalizaciones se filtren al código de código abierto es testimonio de que lo están haciendo bien, y lo aprecio.


¡Gracias a todos por sus aportaciones! Ahora me siento tanto más claro en la comprensión de por qué las cosas pueden ser como son en la actualidad, como más esperanzado de que las cosas mejorarán para aquellos que estén más cerca de mi nivel de habilidad, caso de uso y presupuesto en el futuro. Eventualmente, me encantaría ver un ecosistema/comunidad/mercado próspero de temas de terceros, y pagaría encantado, por ejemplo, 50 dólares por un tema personalizado y agradable, como yo y muchos otros hacemos frecuentemente en el mundo de WordPress (y otros sistemas de CMS/foro).

Reconozco que hay posibles problemas con este enfoque, así como muchos temas “basura”. Pero después de 15+ años de personalizar CMS, temas y plugins de compra, y compararlos con los presupuestos que he obtenido para el desarrollo personalizado completo de diseños y características similares, estoy seguro de que hay un lugar valioso para este tipo de ecosistema. Lo veo como algo que se sitúa por debajo de las opciones comerciales personalizadas completas que ofrece Discourse (donde el costo es una barrera) y “por encima”/junto con el enfoque de código abierto totalmente DIY (donde la habilidad y el tiempo son barreras). En mi experiencia con otros sistemas que funcionan de manera similar, este “camino intermedio” ha permitido buenos resultados en un tiempo razonable para aquellos con presupuestos/habilidades/plazos más limitados (esto es básicamente cualquier pequeña empresa, autónomo, etc. con el que haya trabajado).

19 Me gusta

¡Aprecio mucho la forma reflexiva en que lo planteaste! Veré si puedo enviarte algo pequeño en agradecimiento; mensaje privado en camino :wink:

11 Me gusta

En su mayoría, si es algo por lo que cobraría 50 $, simplemente lo hago gratis. :slight_smile:

5 Me gusta

Efectivamente, creo que muchas personas lo hacen, y eso es algo positivo. Pero la idea, por supuesto, es que en un mercado podrías tener a 10, 50 o 100 personas pagando esos 50 dólares, y entonces se vuelve más significativo. De todos modos, parece funcionar en el contexto de otras plataformas. No es que prefiera pagar en lugar de recibir algo gratis, pero tampoco espero que se realice un trabajo más profundo y desafiante sin compensación.

No sé necesariamente cuál es la mejor manera de manejar todo esto. Principalmente, solo conozco el resultado general que espero ver: una mayor disponibilidad de temas, componentes, etc., más profundamente personalizados, para permitir un mayor uso de Discourse en más contextos (donde su uso sea apropiado).

8 Me gusta

Una plataforma de resolución de problemas en Discourse es algo que he considerado, pero primero estoy intentando lanzar otro proyecto. :slight_smile:

6 Me gusta