Soy un usuario habitual de un foro de Discourse y suelo tener muchas pestañas abiertas con numerosas discusiones. El problema es que, cuando Discourse detecta una actualización, aparece la misma ventana emergente en cada pestaña. Hacer clic en “Actualizar” en una pestaña no actualiza las demás (al menos en Firefox 87/macOS), por lo que el foro sigue preguntándome lo mismo una y otra vez.
El segundo problema es que, sinceramente, es un detalle que no me importa. Sé que os enorgullece vuestro proceso de lanzamiento y que hay un ingenioso mecanismo de ServiceWorker para realizar las actualizaciones. Pero no es algo que me afecte con la urgencia que implica esta ventana emergente. Por lo general, ni siquiera puedo decir qué ha cambiado. No siento la necesidad de dejar todo lo que estoy haciendo para actualizar inmediatamente. Si estas actualizaciones son realmente urgentes y críticas por motivos de seguridad, deberíais indicarlo explícitamente o, simplemente, actualizar sin preguntar.
La ventana emergente exige una decisión de mi parte, pero no me proporciona ninguna información ni contexto para tomarla, ni justificación alguna para presentarla como una interrupción urgente.
Ya existe tecnología previa que utiliza el mensaje menos intrusivo “Por favor, actualice la página” en otras aplicaciones de una sola página (Single Page Application).
Si estás usando activamente el sitio, esta alerta nunca aparece. Nosotros interceptamos la transición.
Solo aparece si las cargas de JavaScript han cambiado y han pasado varias horas desde la actualización.
No es práctico para nosotros crear un sistema que diga que el usuario X no le importa la actualización Y. La actualización Y puede incluir una corrección para un flujo de trabajo crítico del usuario X.
Entiendo que puede ser frustrante si tienes un sitio en el que eres extremadamente activo, si estás acumulando pestañas y este se actualiza varias veces al día.
Supongo que, en resumen, entiendo tu frustración, pero no estoy seguro de que existan cambios sencillos que podamos implementar para mejorar la situación en tu caso de uso.
Estoy de acuerdo en que esta ventana emergente de notificación es confusa. Por lo general, cuando la veo, mi primer pensamiento es que hay nuevo contenido para ver. Pero en realidad es Discourse lo que se actualiza, no que haya nuevas publicaciones listas para ser revisadas.
¿Existe alguna forma de actualizar Discourse sin pedirle al usuario que tome una decisión al respecto?
El problema es que es posible que estés en medio de algo.
Quizás… si estás en una pestaña en segundo plano… y no tienes un editor abierto con un tema diferente… y podemos mantener la posición del desplazamiento… y podemos garantizar que no lanzaremos un ataque de denegación de servicio distribuido en los sitios debido a una actualización (con tiempos de espera escalonados y aleatorios).
Se complica; probablemente estemos hablando de días de trabajo para asegurar que una actualización transparente sea segura.
Además… los sitios que implementan con frecuencia verán un aumento en el tráfico, ya que obligaríamos a cargar versiones intermedias.
Ok, tal vez podemos mejorar el problema que estoy describiendo con solo un cambio de texto, algo como: ‘La aplicación que impulsa este sitio se ha actualizado.’
Veo este popup todo el tiempo, cuando se actualiza la aplicación. Me pregunto si es porque yo también mantengo varias pestañas abiertas. Sospecho que esto es un comportamiento de usuario avanzado y también es raro: los sitios no se actualizan con tanta frecuencia a menos que estén a la vanguardia. Así que tal vez toda esta pregunta no es lo suficientemente importante como para dedicar mucho tiempo a ella.
Pero el texto podría mejorarse para explicar un poco mejor qué está pasando. Acabo de crear una solicitud de extracción para proponer…
Este sitio acaba de recibir una actualización de software. ¿Obtener la versión más reciente ahora?
Creo que va por buen camino, pero para mí (si no supiera de qué se trata) suena un poco como si tuviera que descargar e instalar algo, lo que podría desanimar a algunas personas.
Este sitio acaba de recibir una actualización de software. ¿Recargar para ver la versión más reciente?
Sí, es un buen punto. Supongo que las personas que no se dan cuenta de que el sitio en el que están es una aplicación se confundirán con la referencia al software. Casi suena como una situación de phishing.
La queja del OP es legítima. Me la encuentro todo el tiempo; el comportamiento no es intuitivo y no queda claro en absoluto qué sucederá al seleccionar ACEPTAR o CANCELAR. Es una rareza de Discourse a la que me he acostumbrado con los años y ya no me preocupa. Es la primera vez que veo a alguien más quejarse de esto. Es un problema, pero solo afecta a usuarios avanzados en sitios como meta que se actualizan con frecuencia, por lo que empiezo a pensar que menos es más. No creo que necesitemos hacer nada, a menos que queramos simplificar aún más el lenguaje, como sugiere @codinghorror.
Me resultaría más interesante explorar por qué tantos de nosotros, usuarios avanzados, sentimos la necesidad de abrir varias pestañas. ¿Podemos hacer mejoras en Discourse para que esto sea menos necesario? En mi caso, suele tratarse de borradores. Estoy en medio de una publicación que me está tomando tiempo cuando recibo una notificación sobre otra publicación en la que estoy involucrado; hago control-clic para ir allí y ocuparme de eso, pero luego eso puede convertirse en un laberinto y tengo que hacerlo de nuevo cuando recibo otra notificación o veo una publicación que requiere atención, y así sucesivamente. Después de una hora o dos, me encuentro con varias pestañas abiertas que luego tengo que revisar una por una para terminar las publicaciones y cerrar las pestañas. Como meta se actualiza con más frecuencia que otros sitios y paso gran parte del día aquí, recibo esta advertencia con frecuencia.
¿Necesita ser un modal? Los navegadores tienen una ventana emergente para actualizaciones críticas, pero suele aparecer en la esquina y no bloquea toda la página. El ejemplo de WhatsApp de Falco también parece mejor.
¡Esa es una gran idea! Se ve mucho mejor y es menos intrusivo.
La pregunta clave aquí es: ¿cuál es la verdadera urgencia? Por ejemplo, si no actualizo Chrome durante una semana, no pasa nada. Con esta versión de banner simulado, probablemente también podría ignorarlo un tiempo para terminar un borrador o lo que sea.
¿Hay casos en los que, tras una actualización de Discourse, debas refrescar la página inmediatamente y, de lo contrario, experimentes un sitio roto? Esa es, en mi opinión, la única razón por la que tiene sentido un modal de toma completa.
Eso no siempre es cierto con Chrome (ni con Discourse)… es posible que la actualización sea de seguridad y que estés vulnerable hasta que la instales.
En ambos casos, algo podría estar roto y afectarte hasta que actualices, pero como mencionó sam, eso añade una montaña de complejidad al intentar determinar eso para cada usuario.
Correcto, pero como bien dices, en la práctica no se puede prever todas las posibilidades. Como usuario, prefiero mucho decidir cuándo actualizar Chrome; definitivamente lo encontraría molesto si tuviera que reiniciar el navegador inmediatamente cada vez que llegara una actualización.
Supongo que mi pregunta es si, aparte de las actualizaciones de Discourse que corrigen problemas que los usuarios puedan considerar importantes, el hecho de tener pestañas abiertas con diferentes versiones de la aplicación podría en sí mismo causar problemas. (Para mí, lo primero justifica un banner o algún tipo de recordatorio insistente, mientras que lo segundo justifica forzar la actualización inmediatamente con una ventana emergente).