Todas las entradas de: Sicle

Ayuda a Firefox Multiproceso con Add-on Compatibility Reporter

Firefox está actualmente en transición a una arquitectura multiproceso (e10s), la cual dará a los usuarios una mayor estabilidad y una mejor respuesta del navegador. Esta transición afecta ciertos complementos, los cuales deben adaptarse al nuevo modelo o no trabajarán de forma adecuada, y serán marcados como incompatibles. Estamos notificando a los desarrolladores de complementos de distintas formas, esto con el fin de que puedan verificar cuáles de sus complementos serán afectados, para que puedan actualizar sus complementos y hacerlos compatibles.

Ahora hay una manera en la que tú puedes ayudar a ampliar nuestros esfuerzos, y es de la siguiente manera: reportando complementos incompatibles.

El Add-on Compatibility Reporter (ACR) te permite comunicarnos si un complemento trabaja en una versión de Firefox en particular. Estos reportes han sido una herramienta muy útil para nosotros al momento de rastrear complementos incompatibles y ayudar a los desarrolladores a solucionar esto. Los desarrolladores son capaces de ver los reportes que tú envíes para sus complementos. Si quieres probarlo te recomendamos que lo hagas en una versión preliminar de Firefox: Beta, Developer Edition o Nightly. Estas versiones cuentan con el multiproceso habilitado para todos los complementos de forma predeterminada.

Las últimas versiones de ACR incluyen soporte para multiproceso en Firefox. Una vez instalado el complemento, verás cuáles de tus complementos cuentan ya con compatibilidad para multiproceso. Verás de igual manera si tu versión de Firefox cuenta con multiproceso habilitado. Y los íconos te permitirán reportar si un complemento trabaja de forma adecuada o no.

Popup de ACR

También podrás realizar todo esto desde el administrador de complementos, si tú lo deseas.

Administrador de complementos

Para determinar si un complemento es compatible con el multiproceso, ACR busca un indicador dentro del manifiesto de ese complemento establecido por el desarrollador. Así que, por ejemplo, Password Exporter aparece como no compatible aunque trabaje de forma correcta con el multiproceso habilitado. Yo mantengo Password Exporter y no he actualizado aún el manifiesto de mi complemento para que refleje esto (¡lo haré pronto!) y es por esta razón que aparece como no compatible.

Saber cuáles complementos trabajan bien con el multiproceso en Firefox es crítico para una transición exitosa, así que esperamos que puedas ayudarnos instalando el Add-on Compatibility Reporter y dejándonos saber cuáles complementos no están trabajando bien para ti.

Reduciendo el uso de Adobe Flash en Firefox

Los plugins del navegador, especialmente Flash, han permitido la existencia de algunas de nuestras experiencias preferidas en la Web, como son videos y contenido interactivo. Pero algunas veces los plugins significan problemas de estabilidad, rendimiento y seguridad en los navegadores. Esto es algo que los usuarios no deberían aceptar.

Mozilla y la Web como un todo, han tomado algunas medidas para reducir la dependencia de contenido de Flash en la web en nuestra navegación diaria. Así, desde inicios de agosto, Firefox comenzó a bloquear cierto contenido de Flash que no es esencial para la experiencia del usuario, sin olvidar seguir soportando el resto del contenido útil que lo necesita. Estos y futuros cambios traerán a los usuarios mejoras en seguridad, un aumento en la vida útil de la batería, carga más rápida de páginas web, y una mejor respuesta del navegador.

En los últimos años, se han implementado Web APIs para reemplazar funcionalidades que anteriormente eran proporcionadas únicamente a través de plugins. Esto incluye reproducción de audio/video, la capacidad de realizar streaming, integración del portapapeles, gráficos rápidos en 2D y 3D, WebSocket y acceso a la cámara web y al micrófono. Así como algunos sitios han cambiado de usar Flash a usar otras tecnologías web, la cantidad de fallas por plugins ha disminuido significativamente.

Plugin crash rate in Firefox

Firefox continuará esta tendencia bloqueando contenido específico de Flash que es invisible a los usuarios. Con esto se espera reducir las fallas de Flash y cuelgues hasta en un 10%. Para minimizar los problemas de compatibilidad con sitios web, los cambios serán inicialmente limitados a una pequeña y selecta lista de contenido de Flash que puede ser reemplazado con HTML. Intentaremos ampliar esta lista con el paso del tiempo.

Posteriormente en este año, planeamos extender esta lista para incluir el uso de Flash para verificar la visibilidad de contenido, una práctica muy común para medir publicidad. Esto mejorará el rendimiento del navegador y la batería del dispositivo. Realizaremos este cambio al mismo tiempo que se implementa la API Intersection Observer, que es el equivalente en HTML (Firefox bug 1243846) y recomendamos a los creadores de contenido que actualmente usan Flash para medir la visibilidad de su contenido, que adopten esta nueva API tan pronto como esta esté disponible.

En 2017, Firefox requerirá una aprobación click-to-activate por parte de los usuarios antes de que un sitio web active el plugin de Flash por cualquier contenido. Los sitios web que actualmente usan Flash o Silverlight para videos o juegos deben adoptar tecnologías HTML tan pronto como sea posible. Actualmente se soporta la reproducción encriptada de video usando Adobe Primetime y Google Widevine como alternativas al plugin de video.

Trabajamos a la par continuamente con Adobe para entregar a nuestros usuarios la mejor experiencia posible con Flash. Nuestra equipo de ingeniería ha logrado diversas mejoras como el soporte a high-DPI en Windows, sandboxing mejorado y mayor rapidez en la muestra de información por parte de Flash, las cuales mejoran el rendimiento y la estabilidad.

Estos cambios son parte de nuestros esfuerzos encaminados a hacer la navegación más segura y más rápida, sin sacrificar las experiencias Web que aman nuestros usuarios. Como anunciamos el año pasado, Firefox planea dejar de soportar todos los plugins NPAPI, excepto Flash, en marzo de 2017. La siguiente versión mayor de Firefox ESR (Extended Support Release), igualmente programada para marzo, seguirá soportando plugins como Silverlight y Java hasta inicios de 2018 para aquellos usuarios que necesiten más tiempo para realizar la transición.

Haz que la Web Trabaje para Todos

Haz que la Web Trabaje para Todos

 

Haz que la Web Trabaje para Todos

 

Millones de sitios web tienen problemas de compatibilidad con uno o más de los navegadores web más populares, produciendo una pobre experiencia al usuario, pero la comunidad de desarrollo web puede solucionar esto.

La web ha cambiado inmensamente en los últimos 20 años. En 1996 había aproximadamente un millón de sitios web; ahora hay más de mil millones. Antes había aproximadamente 50 millones de usuarios de Internet; hoy hay más de 3 mil millones. Tenemos más contenido del que jamás hubiésemos imaginado posible. Las personas están disfrutando este contenido en 8.1 mil millones de dispositivos conectados, incluyendo más de 24,000 tipos diferentes tipos de dispositivos móviles.

Statistics illustrating explosive growth in the number of sites, users, and devices.

Este explosivo crecimiento en contenido, dispositivos y usuarios ha hecho a la compatibilidad entre navegadores más esencial incluso de lo que fue en 1996. Stack Overflow tiene casi 55,000 preguntas que incluyen la palabra “cross-browser”, y cientos de miles de preguntas acerca de cosas que funcionan bien en (X Navegador). Cualquier pregunta acerca como un navegador en particular maneja un sitio web en particular es potencialmente una pregunta de compatibilidad.

Statistics showing the number of questions on Stack Overflow that relate to cross-browser compatibility.

Así que sí, la compatibilidad entre navegadores es aún un problema. Un problema del que nos preocupamos en Mozilla, y pensamos que tú también deberías preocuparte también. ¿Por qué? Bien, probablemente tus usuarios no usan el mismo navegador que tú. Ellos tienen diferentes habilidades y necesidades de las que tú piensas. Ellos no cambiarán de navegador si tu sitio web no funciona en ellos. Funcionando bien es una manera de demostrar dominio en el arte. Y las herramientas modernas hacen esto más fácil que nunca.

¿Qué causa incompatibilidad entre navegadores? Es complicado. Aquí hay algunas de las principales causas:

Desarrolladores que usan características específicas de un solo navegador (por ejemplo: prefijos del fabricante del navegador) para lograr ciertos efectos, sin respaldos o polyfills para otros navegadores.

Fabricantes de navegadores los cuales se apresuran a implementar características que desean los desarrolladores antes de que estén estandarizadas.

Fabricantes de navegadores los cuales se retrasan en implementar estándares y corregir problemas en sus navegadores.

Sitios web que emplean agentes de detección para mostrar diferente contenido para diferentes navegadores.

Desarrolladores que son demasiado dependientes de un único conjunto de herramientas (los cuales algunas veces solo soportan un único navegador) y pueden omitir problemas de compatibilidad entre navegadores.

Crecimiento en la industria, la intensa demanda ha animado muchos nuevos desarrolladores web a adentrarse en el campo, lo cual significa que los desarrolladores en general están menos experimentados en promedio de lo que lo estaban unos pocos años atrás.

Statistics suggesting that browser implementations, developer experience, and developer browser choice may affect cross-browser compatibility.

Algunos de estos retos han estado con nosotros desde los primeros días de la web. Pero desde esos días, el desarrollo web  ha hecho grandes progresos. Las buenas prácticas y las herramientas modernas pueden ayudarnos a construir vibrantes experiencias en cada navegador.

Así que, desarrolladores, aquí tienen algunas cosas para inspirarlos a hacer que su próximo sitio web trabaje para todos.

Más personas de las que tú piensas usan ese otro navegador

 

Muchos desarrolladores creen que el navegador que ellos usan es el único navegador que cualquiera realmente usa, por lo tanto, deberían desarrollar solo para él. En datos, 70% de los desarrolladores web usan Chrome en su equipo de escritorio. Pero solo cerca del 45% de la población en general usa Chrome en cualquier tipo de dispositivo, y solo cerca del 57% de la población en general usa Chrome en su equipo de escritorio. Desarrollando y probando solo en Chrome ignora a casi la mitad de los usuarios globales. (Es importante señalar aquí que existen diversas páginas de medición para las cuotas de mercado de cada navegador web, las cuales usan diferentes metodologías y producen diferentes números, y estos números cambian rapida y constantemente.)

Y el uso de los navegadores varía de acuerdo a la ubicación geográfica. Chrome, Firefox y IE/Edge son los navegadores más populares en muchos lugares, pero la proporción de usuarios de cada uno varía. Los usuarios alemanes prefieren Firefox por encima Chrome. IE es más popular en Japón. Un gran número de australianos prefieren Safari. Más de uno de cada cinco usuarios vietnamitas corre un fork de Chromium llamado Cốc Cốc. Desarrollando y probando en un solo navegador ignoras este tipo de diferencias en el mercado.

Finalmente, algunas características de tu navegador pueden no estar presentes en otros navegadores. Los fabricantes de navegadores implementan características a diferentes ritmos, así que una genial nueva API en tu navegador favorito puede no estar disponible para muchos usuarios.

Estos factores se combinan de formas inesperadas: Eligiendo una API la cual no es soportada en todos los navegadores, probando tu sitio web en un solo navegador, y lanzándolo en un mercado donde ese navegador no es dominante puede significar excluir sustancialmente more de la mitad de tu público potencial. Dejando dinero sobre la mesa. Dejando clientes afuera en el frío. Es por esto que vale la pena hacer el esfuerzo con tal de evitarlo.

La compatibilidad se cruza con la accesibilidad

Desarrollando un sitio web compatible entre navegadores significa diseñar y programar para ambientes de clientes desconocidos, a fin de hacer disponible el contenido para la mayor cantidad de público posible. Y ese público indudablemente incluye personas con alguna discapacidad, probablemente más de las piensas. Si tu sitio web trabaja en cualquier navegador, pero falla notablemente en un lector de pantallas, estás desperdiciando una poderosa oportunidad.

Las personas con alguna discapacidad representan una parte importante del mercado. Por ejemplo, en USA únicamente, hay más usuarios de internet con alguna discapacidad visual que todos los usuarios combinados en Canadá. Las características de la web moderna manejan las necesidades de este público; tu solo debes implementarlas.

Las técnicas de accesibilidad no solo ayudan a personas con alguna discapacidad únicamente, por ejemplo:

  • Los sitios web que son más accesibles para los lectores de pantalla, lo son también para los algoritmos de los motores de búsqueda. Sencillas técnicas de optimización como usar el atributo alt-text en imágenes, usar descripciones en los enlaces, usar CSS solo para estilos (nunca para dar sentido), y usar las etiquetas semánticas de HTML5 mejoran el posicionamiento en buscadores de la página en general.
  • Transcripciones del contenido de videos no solo son provechosas para personas con alguna discapacidad auditiva, estas también son útiles para usuarios en dispositivos móviles en áreas con poco ancho de banda los cuales no pueden descargar el video, y personas en ambientes ruidosos que no pueden escuchar el video. Y más contenido textual significa más oportunidades para palabras claves, así que una vez más, mejor posicionamiento en buscadores.

Los usuarios no cambiarán de navegador, ellos cambiarán de sitio web

Tu podrías pensar que los usuarios cambiarán de navegador para usar tu sitio web. Pero muchos de ellos no lo harán o no pueden hacerlo.

Los usuarios no tienen paciencia con las cosas que no funcionan, y ellos en vez de esperar se irán al sitio web de la competencia. Fallando en un punto clave el cual podría alejar a un cliente potencial para siempre. De acuerdo a Akamai,

  • 32% de los usuarios que se encontraron con un problema en tu sitio web están menos interesados en hacer transacciones en línea con tu compañía
  • 35% tendrán una percepción más negativa de tu compañía
  • 45% están menos interesados en visitar tu sitio web nuevamente
  • Y más de 1 de cada 5 usuarios (22%) lo dejará para siempre.

Lo que es más, muchos usuarios no saben cómo instalar un nuevo navegador web, o incluso no saben lo que es un navegador web (muchos usuarios no saben la diferencia entre un navegador web, un motor de búsqueda, y un sitio web).

E incluso si los usuarios supieran cómo instalar un nuevo navegador web, y quisieran hacerlo, ellos podrían no ser capaces de hacerlo. Muchas compañías eligen qué navegador web tienen sus permitido ocupar sus empleados, y muchas personas usan computadoras públicas en sitios como bibliotecas.

Por ejemplo, Microsoft dio como fecha límite el 12 de enero de 2016 a los usuarios para cambiar a la más reciente versión de su navegador, pero en marzo de 2016 más de la tercera parte de los usuarios de IE seguían en una versión desactualizada la cual ya no recibirá más actualizaciones de seguridad. Durante el año pasado (junio 2015 – mayo 2016) 2.07% usaban IE8, un navegador al cual Microsoft ya no le da soporte; lo mismo sucede con más de tres cuartas partes del 1.59% en IE9 y virtualmente todo el 10.95% que usa IE10 (aunque hay que señalar que el uso de estos navegadores ha reducido significativamente desde marzo).

Malas experiencias llevan a los usuarios a alejarse. Si la mitad de los usuarios de tu sitio usan un navegador diferente, y tú quieres conservarlos, probar tu sitio en ese otro navegador es esencial.

Statistics showing that browser use varies by locale, and that broken web sites drive away users.

Compatibilidad=== Arte

La creación de la web es una disciplina especializada, no solo una tarea doméstica. Todos nosotros queremos sentirnos orgullosos de lo que hacemos, perfeccionar nuestro arte, y demostrar nuestra maestría en ello. Esto involucra:

  • Estar al día con las últimas tecnologías, frameworks, y técnicas.
  • Probar cuidadosamente e implementar la compatibilidad entre navegadores y plataformas de aplicaciones incluyendo respaldos para navegadores menos poderosos. ¿La experiencia es aceptable?
  • Asegúrate que el contenido de tu sitio web esté accesible para personas con alguna discapacidad.
  • Asegúrate que el aspecto en general y la experiencia de usuario de tus creaciones es agradable y se ajusta contigo y/o con la marca de tu cliente.

Así que, como desarrollador web, tus sitios creados son tu resumé. Una alta experiencia de uso es importante para tus usuarios, para tus compañeros y para tus actuales y futuros empleadores.

Pero muy a menudo, el tiempo y las restricciones comerciales se interponen en el camino de tales cosas. Tienes una fecha límite complicada a la cual llegar. Tu jefe solo está interesado en cómo el sitio web trabaja en su iPad y no quiere escuchar de accesibilidad. No tienes tiempo para arreglar ese error en IE con tanta prisa. Hacemos lo que podemos la mayoría de las veces, en lugar de lo que realmente nos hubiera gustado hacer.

Puede ser tentador dejar las pruebas de compatibilidad entre navegadores como algo para eliminar cuando la fecha límite llegue, esperando que las pruebas en el framework que elegimos nos ayuden. Pero tu sitio web no es completamente código del framework, y tú eres responsable por todo el código. Las pruebas para asegurarse de que tu código trabaja bien en todos los navegadores web es algo que debes tratar fuertemente de evitar.

Escribir código que perdure a través del tiempo; entregar información a quien la solicita; creando una rica funcionalidad que trabaje para todos: Estas son nobles metas de un magnífico desarrollador web.

Las herramientas modernas pueden ayudarte

Ahora ya sabes algunas estupendas razones para hacer tu sitio web más compatible. Pero, ¿cómo lo haces?

    • Si has encontrado un error en el sitio web de alguien más, ¡regístralo en ¡webcompat.com! Si estás depurando tu propio sitio web, continúa leyendo.
    • Prueba tu sitio web en diferentes navegadores web y muévete a través de él como lo haría un usuario. Analiza la consola de desarrollo en las herramientas de desarrollador del navegador en busca de errores (la mayoría de los navegadores web de escritorio modernos cuentan con increíbles herramientas de desarrollador incluidas que son capaces de ayudarte a depurar problemas, incluso en dispositivos móviles):
    • Si encuentras un error el cual no es generado por tu sitio web, ¡quizás es un error en el navegador web! Registra un reporte de error, así los desarrolladores de tu navegador web pueden solucionarlo:
    • Integrar una herramienta de prueba de compatibilidad entre navegadores en tu proceso de desarrollo, para hacer la prueba entre navegadores de forma automática:
    • Saber cuáles navegadores han implementado características web antes de usarlas en tu sitio.
      • Caniuse
      • Tablas de compatibilidad de MDN
      • Tablas de compatibilidad de Kangax ECMAScript
    • Investigar herramientas de código que pueden mejorar la compatibilidad entre navegadores.
      • Autoprefixier, CSSNext, Oldie y otros PostCSS plugins hacen posible escribir completamente, modernos CSS que no fallan en navegadores antiguos.
      • Modernizr te ayuda a identificar y manejar las diferencias de implementación de características web entre navegadores (utiliza esto en vez de agentes de detección del navegador)
      • @supports te ayuda a crear avanzadas mejoras en la experiencia de navegación para los navegadores más poderosos
    • Ve más allá. Aprende acerca de las muchas características y peculiaridades de la web. Entre más sepas acerca de ella, más la querrás.

Cumpliendo con la promesa de la web

La promesa de la web es que cualquiera pueda acceder al contenido usando cualquier navegador en cualquier dispositivo. Incluidas dentro de esta promesa están algunas de las más grandes aspiraciones de la humanidad, autodeterminación, libertad, educación y descubrimiento. Diseñar para tener compatibilidad entre navegadores abre tu trabajo al mayor público y mercado posible, mejora tu maestría en el arte, y es un noble fin por sí mismo.

Mientras el paisaje de los dispositivos modernos y de los navegadores presenta muchos desafíos, las herramientas modernas ofrecen muchas soluciones. Más de 3 mil millones de personas están allá afuera buscando un sitio web, ¿estás listo para ellos?

Acerca de
Justin Crawford

Justin Crawford es un ingeniero de producción en Mozilla, trabaja en desarrollo de marketing y crecimiento. Le gusta pensar en el futuro, construir cosas y andar en bicicleta.

Más artículos escritos por Justin Crawford …

Acerca de
Chris Mills

Chris Mills es un escritor de tecnología Senior en Mozilla, donde él escribe documentos y demostraciones sobre web apps abiertas, Firefox OS, y temas relacionados. El ama reparar cosas relacionadas con HTML, CSS, JavaScript y otras tecnologías web, el da ocasionalmente charlas sobre tecnología en conferencias y universidades. El solía trabajar para Opera y W3C, disfruta tocar heavy metal en la batería y beber buena cerveza. Él vive cerca de Manchester, Reino Unido, con su esposa y tres hermosos hijos.

Más artículos escritos por Chris Mills …

Acerca de
Ali Spivak

@alispivak. Ali se desempeña como Desarrollador de Marketing en Mozilla, y ha estado desarrollando y administrando sitios web por tanto tiempo que ella se preocupa por admitirlo en público. Ella es una apasionada por mantener la web libre y trabaja en cosas que los desarrolladores aman (como MDN). También ama viajar, cocinar, y crear cosas.

Más artículos escritos por Ali Spivak …