En lo que queda de año y a lo largo del 2017, Firefox va a obligar a su competencia, una vez más, a ponerse las pilas en el ya exigente y competitivo mundo de los navegadores web. La culpa de ello la tiene Electrolysis, el nombre del proyecto con el que Mozilla pretende dividir su producto estrella en múltiples procesos para mejor la respuesta, estabilidad y seguridad del navegador.
La electrólisis es un proceso en el que, mediante corriente continua, se rompen moléculas o compuestos estables para obtener sus constituyentes. El proceso más conocido es el de la separación del agua en oxígeno e hidrógeno, aunque hay muchos más ejemplos, como la descomposición del cloruro de sodio (sal común) en sodio y cloro. Parece obvia, entonces, la elección del nombre para el proyecto de Mozilla. Electrolysis dividirá Firefox, la “molécula” original, en múltiples procesos.
La primera fase de Electrolysis o e10s, como se suele abreviar en la documentación de Mozilla, consistió en dividir Firefox en dos procesos: uno encargado de la interfaz de usuario (casi siempre abreviado como UI del inglés User Interface) y otro dedicado al propio contenido. Esto se llevó a cabo en Firefox 48, aunque solamente se activó a unos pocos usuarios. ¿Y cuál es la ventaja de esta separación? Pues que, ya en esta fase inicial, si una web se bloquea o consume gran parte de nuestro procesador, los botones, pestañas, menús y demás elementos de la interfaz de usuario del navegador seguirán funcionando.
Con Firefox 49, liberado el pasado 20 de septiembre, se ha ampliado el número de usuarios al que se ha activado la arquitectura multiproceso del navegador. Se ha habilitado a usuarios con pocas extensiones o add-ons instaladas y además compatibles con e10s. Con Firefox 50 y versiones posteriores se irá activando a cada vez más y más usuarios. Llegado el momento, las extensiones que no hayan sido actualizadas para ser compatibles con esta nueva arquitectura de Firefox simplemente dejarán de funcionar y no se podrán utilizar. Mozilla ya hecho sus deberes actualizando su Web Extensions add-on API, diseñada para ser compatible con e10s, así que ahora solo falta que los desarrolladores de extensiones actualicen sus proyectos.
La siguiente gran actualización está programada para Firefox 51, donde está previsto activar e10s a los usuarios de pantallas táctiles, con opciones de accesibilidad o con el modo de escritura de derecha a izquierda. En este momento se dará por concluida la primera fase del proyecto Electrolysis.
Múltiples procesos de contenido. Programado para la primera mitad del 2017.
Con la fase inicial finalizada aún quedará mucho trabajo por hacer. La segunda fase se centrará en dividir el proceso de contenido en múltiples procesos. Si con la primera separación se lograba independizar la respuesta del navegador frente a las webs pesadas, con esta división se pretende que una web pesada no pueda afectar al rendimiento y respuesta del resto de webs en otras pestañas.
Pero como dije al inicio de la entrada, la seguridad también era un tema importante que se quería mejorar con esta división de procesos. En esta fase también se trabajará en desarrollar un sandbox más seguro que contenga todos los procesos de contenido de forma que se pueda restringir el acceso que el contenido tiene al navegador o al propio sistema operativo. Esto ayudará a prevenir multitud de posibles ataques o exploits en el acceso al ordenador de la víctima se realiza a través del navegador. Aunque un atacante logre el acceso a un proceso de contenido, si la capa de aislamiento de Firefox funciona correctamente, no podrá acceder al propio navegador o al SO de la víctima.
El proyecto concluirá con el aislamiento de las extensiones con procesos adicionales. De igual forma que ya expliqué cómo aislar las webs en sus propios procesos ayuda a mejorar la respuesta y seguridad del navegador, aislar las extensiones asegurará que estas no puedan afectar al rendimiento de Firefox ni tampoco comprometer su seguridad a través de fallos de seguridad o exploits específicos de estas donde los desarrolladores de Firefox poco pueden hacer.
Comprueba si tus extensiones son compatibles con e10s y actívalo.
Si estás utilizando Firefox 48 o versiones más recientes puede que ya tengas e10s activado. Para comprobarlo, abre una pestaña y escribe about:support. Busca la línea que dice “Ventanas multiproceso” (Multiprocess Windows si tienes el navegador en inglés). Si te aparece un número mayor que 0, ¡enhorabuena, ya estás utilizando e10s!
Si no lo tienes activado, tranquilo, siempre puedes apuntarte a la selección de usuarios que está probando esta nueva arquitectura de Firefox. Abre otra pestaña y escribe about:config. Se nos advertirá del riesgo de modificar cosas aquí antes de continuar (Ojo con lo que tocamos y cambiamos aquí). Busca el booleano “browser.tabs.remote.autostart” y cambia su valor a true. Reinicia el navegador y vuelve a comprobar el estado de e10s como expliqué antes.
Si no usas extensiones ya deberías tener e10s activado llegados a este punto. Si eres de esos usuarios que tiene multitud de extensiones, seguramente te encuentres con la frase 0/1 (Deshabilitado por los complementos) en la línea de “Ventanas multiproceso”. Gran parte de las extensiones más usadas ya son compatibles. Por ejemplo, uBlock Origin, de la que os hablaba hace unos días ya es compatible. Sin embargo, todavía hay algunas que o bien son totalmente incompatibles o dan algunos problemas. Podéis mirad el estado de vuestras extensiones aquí o, más fácil aún, usar la extensión Add-on Compatibility Reporter. Si todas vuestras extensiones tienen el visto bueno y aún así no se os activó el e10s, podéis forzar (ahora de verdad) su activación creando un nuevo booleano (sí/no se llama en Firefox) en about:config con el nombre “browser.tabs.remote.force-enable” (sin las comillas) y valor true. Si alguna de las extensiones es conocida por dar problemas también podéis optar por activar e10s y reportar los fallos que tengáis para ayudar tanto al equipo de Firefox como al propio equipo de la extensión.
Firefox quiere volver a ser el rey
Hace tiempo que dejé de usar Chromium y volví a Firefox. No recuerdo exactamente en qué versión volví pero sí el motivo. Chromium dejo de ser superior en temas de velocidad, respuesta y uso de memoria, aspectos donde destacó inicialmente, y Firefox volvía a ser más rápido. A lo anterior hay que añadir otra factor que decantó la balanza hacia Firefox: la integración con el entorno de escritorio Plasma.
Con este nuevo proyecto, Mozilla quiere volver a poner a Firefox en lo más alto y recuperar gran parte de los usuarios que se cambiaron a Chromium o Google Chrome, el actual rey indiscutible con más del 50% de la cuota total de uso.