Share on Google+Share on FacebookTweet about this on Twitter

Como gran seguidor del proyecto Firefox, no puedo sino ir dejando unas palabras de cuando en cuando en la medida que creo que van sucediendo cosas “interesantes”.

La última versión estable lanzada actualmente de Firefox es la versión 3.6.4, en cambio, desde hace ya tiempo se está perfilando la que iba a ser la versión 3.7, que al final casi con toda seguridad pase a ser la versión Firefox 4.0. Pues bien, a día de hoy, Minefield (Nombre en clave de la versión alpha 3.7) ha alcanzado la fase Alpha 5, y se está terminando con Alpha 6. En un principio la idea era lanzar una versión Firefox 3.7 y a posteriori una versión Firefox 4.0, pero como he dicho todo indica al lanzamiento directo de la versión 4.0, lo que ha “demorado” muchas de las grandes novedades que vamos a tener.

En realidad, si tan solo fuesen dos mejoras aquí y una allí, personalmente no me molestaría para indicarlo, pero para mi sorpresa, estos dos últimos meses de desarrollo han sido completamente desbocados a la hora de implementar nuevas funcionalidades. Lo interesante aquí, es que no solo se han centrado en mejorar la velocidad del motor JS que es lo que parece que ahora está de moda y que es lo que prácticamente parece que hacen los navegadores, Safari/Opera y en menor medida Chrome (en menor medida no me refiero a que aumente menos la velocidad, sino que no solo se esfuerzan en ello).

Pues bien, ahora mismo en la build diaria más reciente (Alpha 6), ya contamos con grandes mejoras, y es lo que vamos a ver:

  • Aceleración Hardware para casi todas las partes del navegador: Soporte Direct2D y DirectWrite para todo el layout, lo que implica renderizado de fuentes, de temas, de imágenes… mejorando en mucho la carga de las páginas y aumentando el rendimiento de manera exponencial en aplicaciones y/o contenido visual/gráfico. WebGL para renderizado de objetos 3D. Para poder usar todo ello se requiere mínimo una tarjeta de video DX9, y mejor DX10. Es cierto que aun quedan algunos bug y problemas que arreglar, y es por ello que actualmente no es una opción habilitada por defecto. Para habilitar soporte D2D y DD, es necesario realizar los siguientes cambios en la configuración avanzada de Firefox (Se accede escribiendo en la dirección about:config):

    gfx.font_rendering.directwrite.enabled -> Establecerlo en true
    mozilla.widget.render-mode -> Establecerlo en 6

    Algunas web de Ejemplo para quien quiera probar esto con y sin aceleración hardware, aunque algunas de estas web pueden prácticamente dejar colgado el navegador si no se usa la aceleración:

    http://mrdoob.com/projects/chromeexperiments/ball_pool/
    http://www.tapper-ware.net/stable/web.dom.stresstest.transform/
    http://url3.tk/canvas/

  • Nuevo diseño de la interfaz y soporte Glass para Windows, ahora podemos poner la barra de pestañas en la parte superior si así lo deseamos, y se ha añadido un botón de menú que sustituirá la barra de menús. Actualmente se parece más a una pestaña que a un botón, pero pronto se integrará de forma definitiva en la parte superior izquierda, con un look más agradable.

    Por otro lado la interfaz se ha redefinido de tal modo que será posible de forma simple modificar prácticamente cualquier aspecto visual de Firefox, tanto por temas, como por “Personas”, como por “Style”. Por ejemplo en mi caso, actualmente he optado por un diseño minimalista, semejante un poco a la interfaz de Chrome, pero con mis complementos a primera mano, maximizando además el área de la web.

    El soporte Glass por otro lado permite una mejor integración con los temas de Windows que tengamos puestos.

  • Nuevo diseño de la interfaz de Addons, que podríamos incluir quizás en el apartado anterior. Ahora, el gestor de complementos y temas no será una pantalla flotante de firefox, sino será abierta como una pestaña más del navegador en el que podremos encontrar de forma sencilla nuestros complementos instalados. Tiene un toque más sofisticado y estético, a la par de una mayor organización
  • Soporte nativo para 64bits, parecía que no llegaría nunca, pero en cambio ya se ha incluido en el repositorio principal de Firefox las compilaciones para 64 Bits para Windows (para Linux ya existían). Esto quiere decir que ahora mismo es posible descargar e instalar Firefox 3.7pre6a en 64bits, y en 64 bits no me refiero a que se pueda instalar en un OS de 64 bits, sino que la aplicación es nativa en 64bits, lo que nos dará un bonito 10-20% de rendimiento (en el mejor de los casos) más una mejora en la seguridad del navegador. Las extensiones funcionarán casi todas perfectamente, en cambio los addons NO. Es decir: Para contenido JAVA, será necesario instalar la versión x64 de JAVA JRE, para Flash habrá que esperar un poco más, dado que también se está terminando el desarrollo de Flash Player para x64. Personalmente, esto es algo que esperaba desde hacía tiempo, y con Firefox en 64 bits puedo decir que por fin prácticamente todo el software principal que uso está en 64bits.
  • Sync, nombre del proyecto WEAVE, el cual permite la sincronización entre diferentes navegadores Firefox de contraseñas, historial, pestañas abiertas, preferencias y marcadores. Es decir, que si usas más de un dispositivo con Firefox, ya no existirán problemas de tener dos configuraciones diferentes. Para ello es necesario o tener un servidor propio de sincronización o usar el de Mozilla, el cual es completamente gratuito, y es tan fácil como acceder a las opciones de Sync, decir que se es usuario nuevo y especificar un nombre de usuario y una contraseña. Tan fácil como eso. En segundo plano cada X segundos/horas se sincronizará automáticamente con el servidor para mantener la copia de este siempre actualizada. Si accedemos desde otra ubicación, del mismo modo simplemente podemos obtener los datos de él.

    Actualmente Sync no obstante no ha sido integrado en el repositorio de Firefox, en el árbol principal, pero se espera que sea en muy breve, con lo que ahora mismo para usar Sync se debe de instalar como extensión. Repito, esto es solo temporal. El único problema que he encontrado es la dificultad actual de montar un servidor Sync propio, el rato que lo he intentado no he sido capaz de hacerlo ,pero espero tener mi propio servidor Sync listo en breve (aun así el servidor de Mozilla funciona perfectamente bien, rápido y eficaz).

  • Comienzo del proyecto Electrolysis, que dará soporte multihilo a Firefox, lo que lo hará aproximadamente un 400% más rápido, tanto en el motor JS como en rendimiento general. El problema de Electrolysis es que se requiere mucho tiempo y muchos recursos, requiere cambiar gran parte de todo el código, dado que afecta al núcleo principal de Firefox. Es decir… aun quedará tiempo para poder ver esto implementado de forma completa. Actualmente lo que ya se tiene es la separación de los Addons en otros procesos, es decir, que cualquier addons como Flash o JAVA serán ejecutado en otro proceso, aumentando su velocidad de proceso y haciéndolo mucho más tolerante a fallos, dado que si el addon es el que falla, en el peor de los casos tan solo tendremos que recargar la web, y no reiniciar el navegador entero. La integración completa con este proyecto no obstante no será en Firefox 4.0. Recordar que tanto Chrome, Opera o Safari son todos multihilos, lo que quiere decir que el gran rendimiento de Firefox es admirable si tenemos en cuenta que no tiene dicha ventaja.
  • Soporte para WebM, la nueva propuesta de Google para HTML5 <video>. De esto ya hemos hablado largo y tendido. Es muy probable que WebM sea escogido como estandar en HTML5, descartando el uso de H264 y AAC. Los mayores sitios de Video en internet ya están migrando a webM, mientras que aun funcionan con flash perfectamente (ambos convivirán juntos). Esto incluye evidentemente a YouTube. Esto implica más cosas, dado que con la guerra declarara de Apple contra el resto del mundo, Apple puede ver en cualquier momento como sus iPhone, iPad, iPod Touch dejan de poder acceder a videos en Youtube y de otros muchos sitios, dado que la única forma que tienen estos dispositivos de poder ver videos es a través de h264 sobre HTML5, y con casi toda seguridad este no sea tomado como estandar. Si declaras la guerra al mundo, te quedas solo y te dan por culo.

    Podemos ver WebM en funcionamiento perfectamente si disponemos de las ultimas build de firefox y acudimos por ejemplo a YT, al portal en pruebas de HTML5:

    http://www.youtube.com/html5

  • Inclusión de múltiples funciones HTML5 y CSS, que como ya se ha dicho en muchas ocasiones HTML5 es tan solo un borrador en continuo cambio, es decir, que cualquier función añadida ahora, mañana puede desaparecer o cambiar o… las palabras absurdas de Apple sobre todo lo que es o no es HTML5 es cuanto menos increíble. HTML5 no será una realidad mínimo hasta 2012 en el que las especificaciones sean más o menos concretas. Pero es que a partir de 2012, no será sino en 2020 cuando sean publicadas las especificaciones completas. Es interesante HTML5? Desde luego. Es el sustituto de Flash? Ni mucho menos.

    Si nos fiamos de la web http://beta.html5test.com/ para medir las características HTML5 del navegador, obtenemos que Firefox 3.7pre6a ya obtiene un bonito 196 199 sobre 315 con 9 puntos de bonificación. Pues bien, Firefox 3.6.4 creo que actualmente obtiene una puntuación de 140 sobre 315 aproximadamente. Aquí hay que citar pro tanto a Apple y toda la demagogia barata que ha realizado sobre sus iPhone, iPad e iPod Touch sobre HTML5. La verdad es que el recién salido del Horno Safari 5, tan “solo” alcanza una nota de 208 sobre 313. Sí, es más que Firefox actualmente, pero es lógico, esta versión ha salido hace unos días, tendremos que esperar que sucede con Firefox 4 cuando sea oficial. También hay que tener en cuenta los test que realiza dicha web, los cuales algunos desde mi punto de vista son cuestionables, dado que muchas especificaciones han cambiado y ya no son especificaciones HTML5. Por ejemplo, Safari 5 soporta bases de datos Web SQL, que era una especificación HTML5. En cambio, esta especificación ya no existe en HTML5 y ha sido sustituida por IndexedDB. Pues bien, dicha web puntúa positivamente tanto la especificación antigua como la nueva. Aun así, un 208 sobre 313 no está nada mal. Pero.. que sucede si comprobamos la puntuación obtenida por los navegadores de iPhone/iPad/iPod Touch? Que obtenemos un mísero 125 sobre 313. Y segúñn Apple estos dispositivos son compatibles con las últimas tecnologías y en especial con HTML5.

    En realidad mi queja es con las palabras de Apple, es completamente normal que ningún navegador obtenga puntuaciones mayores, HTML5 cambia constantemente y es un desperdicio enorme de recursos estar añadiendo funciones HTML5 que dos días después desaparecerán. Lo que si me sorprende es la demagogia barata que se hace para hacer publicidad de algo (o mejor dicho crícita sobre Flash).

    Dicha web mencionada es interesante, pero como he dicho desde mi punto de vista no es del todo fiable. Eso sí, es actualizada de forma asidua, los resultados de hoy no serán válidos para dentro de X días. Primero porque es posible que cambie el sistema de puntuación y por otro lado porque las builds de Firefox hasta el lanzamiento de Firefox 4.0 son continuas. Hace unos días, por ejemplo tan solo teníamos un 186 sobre 313 para Firefox, pero las últimas modificaciones han añadido algunos flecos pendientes. Dentro de unos días o semanas casi con toda seguridad el PRE soporte HTML5 de Firefox será aun mejor, estoy seguro de ello.

    CSS por otro lado es igualmente importante a día de hoy, y se están incluyendo muchas funcionalidades nuevas. Listarlas sería imposible, pero un buen ejemplo para ir testando estas sería la siguiente web:

    http://tools.css3.info/selectors-test/test.html

    Obteniendo 576 test superados de 578 disponibles. Aunque si se desea ver esto en profundidad la web buscada sería esta otra:

    http://samples.msdn.microsoft.com/ietestcenter/

    En dicha web se pueden ir comprobando una a una diferentes estándares y capas CSS. Los amigos de MS no han querido incluir ni Firefox 3.6.4 ni tampoco Firefox 3.7pre6a. Si tengo tiempo incluiré dichos resultados a las tablas de MS, posiblemente veamos como Firefox obtiene las mejores puntuaciones. Como hacer esto? Es muy facil, MS ha realizado un gran trabajo en dicha web, y es posible ir comprobando uno a uno cada test. Es decir, que se puede realizar la misma prueba con el navegador que se desee.

  • Actualizaciones no Intrusivas, aunque es una funcionalidad que aun no se ha incorporado al arbol principal del repositorio. El objetivo es obvio, el poder realizar actualizaciones tanto de extensiones como de software sin siquiera reiniciar en la medida que sea posible y sin molestarnos en ello, todo casi de forma automática.
  • Nuevo motor JS, lo que permitirá una mayor velocidad en el uso de código JavaScript. Mozilla revolucionó la era JB con el lanzamiento de su motor SpiderMonkey. Desde ese día, parece que los navegadores de la competencia tan solo se dedican a mejorar sus motores JS, usando la técnica de Mozilla (compiladores JIT). ¿Que ha sucedido? Que en cualquier lugar te miden ahora el rendimiento del navegador por su motor JS, así tenemos benchmark como SunSpider de Apple o V8 de Google. En realidad es un error medir el rendimiento de un navegador por esto. Sí, el motor JS es muy importante a día de hoy, puesto que casi cualquier web tiene código JS por debajo, y su procesamiento es vital para una navegación rápida y fluida. No obstante se usa demagogia para esto. Actualmente se dice que Chrome es el navegador más rápido que existe, y sea esto cierto o no, el 99% llega a esta conclusión por los test que existen que simplemente miden el rendimiento del motor JS.

    Aun así esto es importante. Actualmente Firefox en las últimas builds tiene un puntuaje de 550 aproximadamente en SunSpider, lo que le hace estar por debajo tanto de Chrome como de Safari 5 en cuanto a JS. OJO!! Y es muy importante a tener en cuenta de nuevo que Firefox NO ES multihilo, los otros navegadores sí. Aun así, se están haciendo buenos progresos en mejorar el motor actual. a SpiderMonkey se le añadió TraceMonkey, una serie de extensiones y mejoras para aumentar considerablemente su rendimiento. Pero eso fue hace ya tiempo. Actualmente se está trabajando para mejorar el rendimiento en general, y es cierto, dado que en las diferentes build de este último mes, usando SunSpider, he podido comprobar una disminución de casi 100 puntos (Cuanto menos mejor). Es decir, que por ver el resultado final (recordemos que aun estamos en fase Alpha)

  • Otros, es evidente que existen más cambios que se están realizando y que ya se han realizado, pero son a niveles más bajos, en los cuales el usuario normal posiblemente no le interese ni le importe de forma directa. Por ejemplo APIs para los programadores, fallos de seguridad, mejoras en rendimiento general, sockets para el acceso directo a servidores..

 

Ya sé que tan solo disponemos actualmente de versiones Alpha, pero son muy prometedoras. La versión Beta 1 ya no debería de tardar, y casi con toda posibilidad, la beta 1 sea renombrada ya oficialmente como Firefox 4.0b1. Desde mi punto de vista esto sí es realmente una versión nueva, y no una mezcla más para sonar en la prensa. El usuario medio notará grandes mejorías con estos cambios, tanto en rendimiento como en personalización y funcionalidades, así como las adaptaciones propias de las más nuevas tecnologías que van emergiendo.

Veremos que sucede dentro de unas semanas…

 

Un saludo.