Propietarios de foros Discourse: ¿Están interesados en aplicaciones móviles nativas?

Eso es interesante si se piensa en la cantidad de aplicaciones envoltorio de WordPress que hay.

@Aa7 Me cuesta pensar en las ventajas, pero estoy abierto a escuchar las ideas de la gente, por supuesto. Me gusta que menciones que el enfoque en el usuario frente al administrador es inteligente.

¿Quizás ofrecer un servicio de publicación con marca blanca podría ser una puerta de entrada para esto? La razón por la que lo digo es que la persona que lo hacía en su momento (me escapa el nombre) ya no lo hace.

O quizás construirlo a partir de un análisis de la experiencia de usuario (UX) del tema móvil. He notado que un puñado de personas desactivan el tema móvil y usan la versión de escritorio completa en mis foros… así que eso podría ser una pista.
Además, Google en ocasiones ha reclamado que algunas áreas táctiles son demasiado pequeñas.

1 me gusta

Apple definitivamente ha sido inconsistente al hacer cumplir sus políticas.

Entonces, primero ¿vas a reconstruir todo el frontend en una aplicación? Creo que estás subestimando enormemente la complejidad y la cantidad de trabajo que hay que hacer allí.

Y luego, cada vez que haya una actualización incompatible de Discourse, tendrás que:

  • darse cuenta de ello
  • averiguar qué está sucediendo
  • adaptar tu código
  • enviar la aplicación para su revisión y pasar por un proceso de aprobación incierto y posiblemente largo
  • esperar a que los usuarios del foro se enteren de que hay una actualización y que hayan actualizado la aplicación en su teléfono

¿Cuánto tiempo tardaría esto? Supongo que entre un día y tres semanas. ¿Quizás cinco semanas, si te toca estar de vacaciones?

Mientras tanto, dependiendo de tu proceso, o bien

a) el foro no puede actualizarse, lo que podría exponer problemas de seguridad
b) el foro no puede usarse a través de la aplicación

No creo que esto vaya a funcionar.

Creo que este es el problema principal que debemos resolver: encontrar la funcionalidad clave que hará que Apple apruebe estas aplicaciones envoltorio, y luego utilizar el enfoque de aplicaciones envoltorio.

10 Me gusta

Sé que dije que una actualización de la aplicación seguiría, pero el desarrollo de nuevas versiones ocurre de forma abierta. Cualquier adaptación puede ocurrir al mismo tiempo que estos cambios. Además, Discourse es una base de código madura. Si fuera algo tan joven como Talk (no es una comparación justa), donde la API cambia con frecuencia, no creo que lo considerara.

En cuanto a notar los cambios y mantenerse al día, sostengo que esto es un trabajo de tiempo completo.

No he estimado realmente el trabajo. Llevo aproximadamente 13 años en el desarrollo de software; espero no cometer un error grave si tomo medidas concretas para trabajar en esto.

1 me gusta

La mayoría de los sitios ejecutan pruebas con éxito, lo que significa que siempre estarás persiguiendo la compatibilidad en lugar de prepararte para los lanzamientos.

2 Me gusta

Me interesaría una aplicación nativa de Discourse.

1 me gusta

Lo cual es bastante irónico, considerando que no ofrecen notificaciones push para Safari móvil…

3 Me gusta

¿No son las «ventajas» sobre todo para quienes gestionan los sitios o servicios y no para los usuarios? Cuando tienes una aplicación, tus usuarios están un poco más «captivos»: abren la app y se encuentran en un entorno cerrado, en lugar de estar en un navegador web donde pueden ir a cualquier sitio en cualquier momento. Tienen un icono que lleva directamente a tu aplicación, en lugar de otro marcador hacia tu sitio (si es que tienen uno; quizás en algún momento olviden tu URL). Además, por lo general existe la posibilidad de recibir notificaciones push cuando una aplicación está instalada, incluso si el usuario no la ha abierto durante un tiempo.

Es sutil, y de hecho hay argumentos que indican que esto no es cierto o que se podría hacer casi lo mismo sin una aplicación. Pero al principio, ¿no fueron los proveedores quienes impulsaron la instalación de sus aplicaciones (aunque realmente no aportaran nada a los usuarios), en lugar de que fueran los usuarios quienes lo solicitaran? (Los usuarios lo aceptaron y se acostumbraron a esta forma de hacer las cosas en algún momento, y quizás ahora es lo que piden, aunque no sepan realmente por qué. Tal vez ahora les resulte más cómodo).

4 Me gusta

Creo que sí.

Actualmente uso la aplicación oficial de Discourse y no se me ocurre nada que le falte (salvo las notificaciones push para mi sitio y algunos otros). Me gusta.

Lo único más que realmente deseo es que tenga el nombre y el logotipo de mi comunidad, por la razón…

Es mi caso. A la gente le resultan agradables los dispositivos de propósito único. En un teléfono, lo conviertes en un dispositivo de propósito único abriendo una aplicación.

Exacto. Es frustrante.

5 Me gusta

Así que analíticas. No es algo malo.

Lo siento, no te entiendo. ¿Podrías explicarlo, por favor?

Por curiosidad, ¿qué foro administras? Gracias.

Permíteme ampliar lo que ha dicho @Stephen.

Como desarrollador de plugins, puedo decirte que mantener el código actualizado para que sea compatible con el núcleo no es una tarea trivial y requiere una estrategia cuidadosa. Los plugins suelen mantenerse al día con la rama tests-passed. Podrías optar por una rama más lenta, pero eso significa que tus clientes también lo estarán. Eso está bien, pero necesitarás un margen de tiempo para actualizar tu aplicación después de cada versión estable. Eso implicará mucho trabajo y podría provocar retrasos significativos en las actualizaciones para los clientes.

Al igual que con los plugins, siempre existe el riesgo continuo de que algo se rompa tras un cambio lo suficientemente importante en el núcleo.

Afirmas que el núcleo de Discourse es estable. Quizás más que al principio, pero echa un vistazo cuidadoso al repositorio; sí evoluciona (aunque gran parte de ello puede deberse a la aplicación web). Solo observa cuántos commits hay a diario. Mira el número de PR abiertos. Toma un solo archivo, por ejemplo Topic.hbs, y considera cómo vas a mantener el ritmo solo con eso. Incluso se desaconseja hacer un fork de la base del núcleo de Discourse precisamente por este desafío. ¿Y esto será una reescritura nativa?

¿Usarás solo su API? Entonces bien, pero ¿cómo implementarás alguno de los plugins populares? Algunos de ellos tienen cambios visuales significativos, la mayoría de los cuales utilizan monkey-patching con, por ejemplo, JQuery o plugin outlets, los cuales no podrás reutilizar si te vas por la vía nativa. ¿Vas a reimplementarlos con código nativo?

Los plugins son solo la punta del iceberg. Lo que propones es presumiblemente el alcance completo de toda la funcionalidad del frontend para el usuario. Todo esto necesitará pruebas. Y casos de prueba. Simplemente, wow.

¿Y qué tamaño tiene tu equipo? De nuevo, echa un vistazo a cuántos desarrolladores están haciendo commits al núcleo. Añade la población de autores de plugins que estén dentro del alcance. Eso te da otra métrica para dimensionar la magnitud del desafío.

Necesitarás una velocidad que iguale las versiones de Discourse (!), o todos tus clientes empezarán a sentir que se les está frenando el acceso a nuevas funciones.

Tendrás que justificar cada hora que dediques y recuperar eso en ingresos (y eso está bien, necesitas poner comida en la mesa como el resto de nosotros).

Pero, en cualquier caso, creo que podrías intentarlo con el objetivo de hacer una demostración. Yo empezaría con «solo» la aplicación principal. Eso te dará rápidamente una idea de lo grande que es la tarea. O simplemente cuenta todas las llamadas a la API que necesitarás soportar.

Estoy seguro de que ya lo has pensado todo. No quiero ser negativo al respecto, pero estás proponiendo una cantidad seria de trabajo, y de manera continua y brutalmente implacable.

¿Qué tal si miras la aplicación oficial y ves qué puedes hacer con ella?

13 Me gusta

Para ser justos, no creo que esto sea un problema para una aplicación que sea código nativo en lugar de “solo” una vista web de un sitio.

3 Me gusta

Eso es cierto y hay muchos ejemplos de implementaciones nativas de aplicaciones web por ahí. Por ejemplo, Facebook (aunque su aplicación web es lamentable). Una implementación completamente nativa probablemente no corra riesgo. Son las aplicaciones ‘envueltas’ las que apuntarían. Edité mi publicación.

3 Me gusta

También he barajado la idea de desarrollar una aplicación completamente nativa (soy desarrollador de iOS de profesión). La basaría en la API HTTP (¿pública?) de Discourse. ¿Existe alguna garantía sobre la estabilidad de la API o si está versionada de alguna manera, para evitar que versiones antiguas de la aplicación fallen de forma inesperada?

2 Me gusta

Las comunidades que invierten en la aplicación nativa pueden seguir nuestra rama lenta (también conocida como “estable”). Además, no cambiamos las APIs con frecuencia; son muy estables.

7 Me gusta

La aplicación podría basarse en la API REST de Discourse, que debería ser bastante estable. Luego, podría tener cualquier interfaz de usuario/experiencia de usuario que desee, quizás incluso diferente a la de la aplicación web (esto podría ser mejor o podría ser peor). Si el autor de la aplicación elige cualquier otro enfoque (no estoy seguro de si es siquiera posible), se encontrará con el problema que describes.

2 Me gusta

Sí. Que se vea diferente pero coherente podría ser visto positivamente por algunas personas, pero probablemente solo si fuera una aplicación a la que se pudieran agregar múltiples instancias, como la aplicación oficial. Sin embargo, eso no es lo que a mucha gente le interesa. Imagina que la aplicación personalizada de tu sitio tuviera un estilo completamente diferente al de tu sitio. No sería bueno.

Y no puedo imaginar que alguien estaría muy satisfecho con una aplicación que no admitiera todas las funciones de su sitio. Así que los plugins comienzan a ser un problema desde el principio.

4 Me gusta

Estoy de acuerdo, esto podría ser la parte complicada. Una aplicación nativa podría terminar luciendo peor que el contenedor web si no se admiten los complementos. Un primer paso sensato sería admitir los complementos más populares y, con el tiempo, añadir soporte para más.

4 Me gusta