Compatibilidad retroactiva con navegadores antiguos

Administro un foro para personas afectadas por una enfermedad neurodegenerativa que funciona con Discourse. Mantengo el software actualizado siguiendo la lista de seguridad en Commit search results · GitHub y actualizando cada vez que hay un problema de seguridad. Sin embargo, esto tiene el efecto secundario no deseado de excluir a un número creciente de usuarios que tienen máquinas antiguas.

Ha excluido a una usuaria que cuida a su esposo y solo tenía acceso al foro a través de un iPad que ya no recibe actualizaciones de iOS/Safari y, más recientemente, a otra persona con un Chromebook antiguo que no puede actualizar Chrome a una versión compatible. Entiendo que exista una política de solo admitir las últimas versiones de los navegadores, pero cuando dispositivos fabricados hace solo unos años ya no reciben actualizaciones pero, por lo demás, son completamente funcionales, impedir el acceso a lo que es, para muchos, un salvavidas vital es extremadamente frustrante.

El encabezado del foro informa a estos usuarios que existe una versión con menos funciones que pueden usar, pero como el foro solo permite el inicio de sesión (debido a problemas de invasión de la privacidad que hemos tenido en el pasado) y la versión con menos funciones no permite el inicio de sesión, esto no es utilizable.

Idealmente, supongo que habría un flujo de actualizaciones de seguridad que no hiciera que los navegadores antiguos dejaran de funcionar o, al menos, una advertencia al actualizar de que ciertos navegadores dejarán de funcionar para que pueda advertir a los usuarios antes de aplicar la actualización.

Aquí hay algunas citas de nuestros usuarios al respecto:

“Me quedo allí para apoyar a otra esposa a través de mensajes privados, es tan angustioso que nunca sabrás el caos que causa… En serio estoy… rota :cry:

“Disculpa si sueno tan enojada… No publico desde que perdí a mi esposo hace 17 meses, pero todavía me conecto a diario y estoy llena de desesperación”

“Creo que puedo acceder al foro en la biblioteca local, pero es muy frustrante no tener acceso en casa”

“Quiero decir, puedo acceder a todos los demás sitios y bancos, etc., no hay problema allí y se actualizan constantemente”

“Entonces, probé tu sugerencia de descargar la aplicación y, desafortunadamente, no se instala. Indica que no es compatible con mi iPad. Sin duda, esto se debe a la versión de iOS (de nuevo).”

“¡Esto es realmente frustrante! No puedo permitirme reemplazar mi iPad y es lo único que me mantiene en contacto con esta comunidad”

“el foro es un salvavidas… me lo han arrebatado y sospecho que a muchos otros”

15 Me gusta

Esto es bastante trágico. Desafortunadamente, el desarrollo de Discourse parece centrarse siempre en avanzar, y un par de veces al año (me parece) hay algún tipo de cambio que deja fuera a otra oleada de dispositivos o navegadores antiguos.

Tu caso podría ser uno de esos en los que usar la versión estable ayudaría, un poco. Pero cualquier tipo de política de actualización te deja vulnerable al problema que ves. Y una política de no actualizar te deja vulnerable a usar el software antiguo.

No veo una solución, aparte de abandonar Discourse y pasar a otro software con una política mucho más generosa de soporte para dispositivos y navegadores antiguos. No sé cuál podría ser.

También existe la posibilidad de que estos dispositivos y navegadores antiguos sean inseguros. Pero eso podría importar poco si solo se utilizan como dispositivos de comunicación.

6 Me gusta

¿Es posible instalar un navegador de terceros? ¿En el iPad o en Chromebook?

Encontré esto para un iPad antiguo. También es posible que puedas instalar otros navegadores.

Download and install Google Chrome - iPhone & iPad - Google Chrome Help.

Aquí tienes un enlace para Chromebook que puede ayudar.

Top 5 Chromebook Web Browsers 2024 [Ranked & Reviewed] - Alvaro Trigo's Blog.

Pero estoy de acuerdo en que es lamentable no tener una compatibilidad retroactiva adecuada con dispositivos más antiguos. Me pregunto si tal vez se podría crear un plugin para abordar esto con casos de uso especiales como el tuyo.

1 me gusta

Y sin embargo, esos son Safaris, AFAIK. Pero de todos modos, esos no pueden pasar la prueba de Discourse porque ese resultado proviene de iOS.

3 Me gusta

¿Entonces instalo un navegador de terceros como Chrome o Firefox y lo uso en lugar de Safari? ¿No?

2 Me gusta

Esos no son navegadores reales con sus motores. Se puede describir como si fueran más bien solo apariencias.

3 Me gusta

No entiendo. ¿Se disculpa usted diciendo que Google Chrome o Firefox, etc., no son las versiones legítimas de esos navegadores en iOS? ¿Simplemente un navegador Safari rediseñado?

2 Me gusta

Más bien como un motor rediseñado de Apple, pero el resultado final es muy similar. Apple está limitando mucho su entorno.

4 Me gusta

Eso es realmente desafortunado, pero con Apple no es sorprendente. Recuerdo que Microsoft intentó algo similar en Windows 95 limitando el rendimiento de los navegadores de terceros (bueno, tal vez no exactamente lo mismo) en la época de Netscape (ahora conocido como Mozilla Firefox). Microsoft fue duramente golpeada por ello en los tribunales y por los desarrolladores web.

2 Me gusta

No sería ideal. Pero, ¿podría usarse una idea como la de usar algún tipo de navegador web como intermediario? ¿Algo parecido a cómo la gente usa Tor?

¿Quizás como una capa de compatibilidad en este caso?

1 me gusta

Apple exige que todos los navegadores en iOS utilicen Apple WebKit.

Supongo que el código fuente de Discourse podría ajustarse para permitir el inicio de sesión y, aun así, hacerlo de solo lectura (ya que parece ser necesario para evitar que aparezcan en el navegador cosas que no podría manejar).

5 Me gusta

Es una lástima que Apple tenga la intención de obligar a sus clientes a actualizar. Android puede ser un problema a veces, pero hay opciones disponibles.

Me alegro de no haberme visto atrapado en el ecosistema de los dispositivos de Apple. Y es probable que sea demasiado complicado para los usuarios en este caso intentar instalar un sistema operativo Linux en sus dispositivos antiguos. Ya que Apple no es realmente muy fácil de usar.

3 Me gusta

Bueno, el problema de compatibilidad retroactiva se discute con bastante frecuencia y no es viable. Solo lectura con funcionalidad limitada es lo único que ofrece Discourse cuando los navegadores/SO han llegado al final de su vida útil/soporte.

Si alguien puede codificar tal capa, está bien, pero estoy totalmente seguro de que CDCK no la soporta. Es un poco como hacer jailbreak en los móviles de Apple :wink:

2 Me gusta

@codev ¿cuáles son los requisitos mínimos del navegador para “con todas las funciones”, actualmente? (Disculpe, no estoy seguro de dónde se publica esto)

3 Me gusta

Bueno, ahora que tenemos la parte oficial de ‘criticar a Apple’ y de ‘son lo peor’ del hilo ilustrada, tengo curiosidad sobre cuál es la política de compatibilidad retroactiva admitida. La mayoría, si no todos, los equipos de producto publican su política de compatibilidad retroactiva, y algunos son más generosos que otros. Afortunadamente, la tecnología avanza y, desafortunadamente, esto pone una fecha de caducidad a la vida útil de la mayoría de la tecnología.

Con respecto al problema que planteó @codev, también tengo curiosidad, ya que estaba a punto de implementar Discourse, sin embargo, tengo la posibilidad de que algunos usuarios tengan dispositivos antiguos. Como insinuó @Ed_S, puede que sea algo que deba considerar, para buscar en otro lugar.

Personalmente, utilizo tecnología de más de 5 años y tengo familiares con dispositivos un poco más antiguos. No creo que esté solo en eso. Para crédito de Apple, su hardware es sólido (lo que significa que generalmente sigue funcionando bien más allá del software que se admite) y, en general, ofrecen una cobertura generosa para la compatibilidad retroactiva.

El software y los marcos de seguridad avanzan constantemente, y cada vez más en estos días, lo que requiere actualizaciones, ya que muchas cosas son interdependientes. Compro el argumento de actualizar por seguridad, sin embargo, dejar de admitir una versión particular de algo porque ya no se está “distribuyendo” no significa que no haya usuarios que todavía utilicen la tecnología.

Si alguien va a argumentar: “Oye, necesito dar soporte a clientes con navegadores no SSL de 1993”, estoy de acuerdo en que eso es absurdo. Sin embargo, si decimos que solo puedes usar algo que se lanzó como N-1 (digamos, solo distribuido en los últimos 18 meses), bueno, no todo el mundo se actualiza cada 6 meses.

Firefox, por ejemplo, proporciona ESR (versiones de soporte extendido) para plataformas más antiguas. Eso es genial para Firefox y para las personas que necesitan ESR. Sin embargo, se vuelve irrelevante si los proveedores, por ejemplo, Discourse, no admiten algo debido a un número de versión de navegador tonto que no coincide con su cadena de versión mínima predefinida / codificada. Si hay marcos requeridos, eso es una cosa; si es simplemente “la versión 1 no es igual a 2”, pero por lo demás funciona, entonces es realmente desafortunado. He estado viendo cada vez más esta falta de interés en admitir cosas anteriores. Es una tendencia decepcionante. Los ingenieros de hoy nacidos a finales de los 80 y durante los 90 han crecido en una cultura donde “uno siempre debe actualizar”.

Sé que me he desviado aquí, gracias por la licencia artística. No quiero perder de vista la consulta original de @codev. Es importante, especialmente donde Discourse proporciona un propósito tan significativo en la comunicación y la comunidad.

4 Me gusta

Probablemente puedas programar una versión muy simplificada de la interfaz de usuario que permita iniciar sesión, mensajes directos y, probablemente, responder a través de la API de Discourse y servirla desde un subdominio diferente (¿o desde el mismo hallazgo, con algunas reglas inteligentes de nginx?)

De esta manera, todavía tienes una funcionalidad muy básica para dispositivos antiguos y te mantienes al día con el funcionamiento interno de Discourse.

3 Me gusta

Ok, encontré esto (con respecto a mi pregunta)

“Discourse está diseñado para los próximos 10 años de Internet, por lo que los requisitos mínimos del navegador son altos”.

No estoy seguro de entender el mensaje, a menos que Discourse se esté desarrollando dentro de una máquina del tiempo. Esperaría que la mayoría de los usuarios en 2030 no estén usando el producto hoy. Quizás me estoy perdiendo el punto.

EDITAR:
@Canapin, ¿cuál es la política de soporte del navegador? ¿Estable actual - 2 (N-2), o N-1, o solo “último”?

Las preocupaciones de seguridad se destacan aquí (más preocupación por parte del usuario que específica para el uso de Discourse, estoy seguro), realmente no puede haber algo que Discourse requiera que no sea compatible con las bibliotecas JS principales que no han cambiado mucho en 6 años. Incluso Gmail a través del navegador web en estos dispositivos más antiguos funciona bien, sin problemas. Preocupaciones de seguridad aparte, ya anotadas aquí.

4 Me gusta

Hola @codev,

Ojalá pudiera darte la bienvenida a nuestra comunidad en mejores circunstancias.

Me temo que mis palabras sonarán huecas en respuesta, pero entiendo la frustración que sientes.

Existe un problema inherente al proceso de evolución del software, y la gente a menudo dice: “Su software ya no es compatible con mi teléfono, pero este software similar sí lo es; ¿por qué?”. Desafortunadamente, no hay una respuesta fácil.

Apreciamos que tu comunidad esté sufriendo. Podemos ver claramente la angustia y el dolor de tus miembros ante la perspectiva de ser cortados de su sistema de apoyo.

Tener que ir a la biblioteca para usar la computadora no es un sustituto en absoluto para acceder a tu red de apoyo cuando y como la necesites, así como la diferencia entre usar un espacio público y compartir y contribuir desde la comodidad y privacidad de tu propio hogar.

Esto nos preocupa dado que nuestra misión es facilitar la discusión en línea para todos y preservar esa discusión a largo plazo.

Nosotros, al igual que tú, estamos frustrados porque la gente no puede usar dispositivos hasta que literalmente se caigan a pedazos. Sin embargo, los dispositivos de caja negra como los iPhones deben seguir siendo compatibles y actualizados por el proveedor o son activamente peligrosos de usar. Notamos que Apple solo está proporcionando actualizaciones muy limitadas para las vulnerabilidades más graves de iOS 12 en este momento y Safari está desactualizado desde hace años.

Discutimos estas decisiones críticas en profundidad internamente. Hacemos todo lo posible para apoyarlos el mayor tiempo posible hasta que se convierta en un desafío tecnológico que sería inmensamente complicado de mantener con el tiempo. No es fácil equilibrar estas decisiones para asegurarnos de que funcionen mejor para la mayoría de las comunidades sin sacrificar nuestros estándares de seguridad o facilidad de uso.

Desafortunadamente, cualquier elección como esta tiene inconvenientes, y tu mensaje es un ejemplo doloroso y honesto de los problemas que esperamos evitar tanto como sea posible.

No podemos deshacer nuestros pasos por completo, pero continuaremos discutiéndolo internamente. Discourse ya no funcionará en algunos dispositivos, y esto volverá a suceder a medida que pase el tiempo. Tenga en cuenta que ya hemos extendido nuestro soporte para IOS 12 por un año e hicimos todo lo posible para advertir a los usuarios que el soporte pronto sería eliminado.

La pregunta sigue siendo: ¿Cómo ayudamos a resolver este problema para tus miembros que necesitan acceder y participar en tu foro?

¿Puedes empezar por ayudarnos a comprender el desglose del uso de dispositivos (con información específica del modelo) en tu comunidad, lo mejor que puedas?

9 Me gusta

Oficialmente,

Discourse soporta las últimas versiones estables de todos los principales navegadores y plataformas:

  • Microsoft Edge
  • Google Chrome
  • Mozilla Firefox
  • Apple Safari

Adicionalmente, nuestro objetivo es dar soporte a Safari en iOS 15.7+.

De What is Discourse? | Discourse - Civilized Discussion

Para ampliar estas palabras, añado que “Discourse soporta esta versión del navegador o superior” no significa necesariamente que una versión anterior de este navegador no funcionará. Simplemente no está garantizado y puede dejar de funcionar en algún momento.

6 Me gusta

La última línea:

Además, nuestro objetivo es dar soporte a Safari en iOS 15.7+.

Implica entonces al menos N-1, o incluso N-2 (en el caso de iOS) ya que la última versión es 16.3.x.

El problema con esta declaración de soporte es que potencialmente aliena a toda una clase de usuarios que tienen clientes “técnicamente compatibles”, sin embargo, Discourse no se compromete a probarlos. Como señala @Canapin, “Simplemente no está garantizado y puede dejar de funcionar en algún momento”, esa es una forma de decir, úselo bajo su propio riesgo. Eso también es diferente a que la aplicación web verifique la versión del cliente y utilice un elemento de interfaz de usuario para comunicar que no es compatible. O peor aún, limitar la funcionalidad que de otro modo “simplemente funcionaría”, excepto que ya no recibe pruebas de control de calidad o de regresión y se está descontinuando en nombre de “nadie está probando esto ahora ni tiene ancho de banda para hacerlo”.

Si fuera posible dar soporte a N-2 en la mayoría de los casos donde sea aplicable, hay una buena posibilidad de dar soporte a cerca del 80% de la base de usuarios potenciales de “clientes web”. Para N-2, en el caso de iOS, esto significaría dar soporte a Safari 14 / iOS 14.

Si la palabra “soporte” es una palabra desencadenante, entonces si fuera posible permitir N-2 con la advertencia si experimenta algún problema, actualice a un cliente compatible, muchas cosas todavía “simplemente funcionarían”, tal vez no dentro de la experiencia más preferida (renderizado de UI, etc.), pero al menos no se le impediría usar algo. Después de todo, es un tablón de anuncios, no Microsoft Office 365. (¡sin ofender al equipo de Discourse!)

3 Me gusta