20 de abril de 2008

El valor de los tests de estándares

Como ustedes sabrán, el test Acid 3 ha sido recientemente blanco de muchos rumores y noticias, no solo debido a su aparición, que tambien es reciente, sino a que Webkit y Opera ya lo pasan. Entre la comunidad de usuarios y desarrolladores de Firefox no ha sido muy bien recibido, y los mal pensados, que como dice el refran son los que aciertan, dirán que en gran medida es por la envidia. Yo tambien pienso mal. Es decir, si Firefox pasara la prueba seguramente sería objeto de alabanzas, pero como no la pasa se la pone en duda. En cuarentena. Cuando la pase, las dudas se difuminarán como los consejeros de un político cuando éste pierde su cargo.

Sin embargo, ha habido críticas más razonadas que han despertado en este humilde bloguero cierto interés. Esas críticas no tratan de invalidar al test mostrándolo como algo erroneo, sino que tratan de demostrar que aunque bien es cierto que Firefox no pasa el test, el hecho de que no lo pase no significa, como muchos afirman a la luz de los avances de los otros navegadores en éste asunto, que Firefox no tiene un magnífico soporte de estándares o incluso que Webkit y Safari van años luz por delante.

Uno de los razonamientos más interesantes es el que hace David Baron en su blog, sugiriendo que miremos el test Acid 3 de otro modo: ¿Cuantos puntos del test pasaban los navegadores justo antes del test, es decir, el mismo día que fue publicado? Resulta que quien más puntos pasaba era Firefox 2.0: 52, frente a los 46 de Opera 9.20 y 39 de Safari. Incluso si miramos más atrás, al día de publicación de Acid 2, tambien Firefox tambien era el que mejor lo pasaba. Según David, esto demuestra que Firefox ha respaldado históricamente y respalda con firmeza los estándares web, más allá de la búsqueda de propaganda que supone ser "el primero" en pasar un test.

Otra de las críticas es que los sub-tests del Acid 3 no representan con fidelidad a los estándares web más importantes, es decir, que el test se trataría de una búsqueda de cosquillas a los navegadores que no pone a prueba funcionalidades que se utilizen extensivamente en la web con la que los usuarios se enfrentan día a día. Prueba de ello sería esta entrada del autor de Acid 3 de cuando estaba desarrollando el test, y en la que pide a la gente que colabore con sub-tests, y uno de los requisitos es que se centren en que el sub-test no lo pasen ni Firefox ni Webkit, porque "Opera e IE están fallando montones de sub-tests, no quiero añadir más sub-tests que solo fallen en uno de ellos". Es decir, que en vez de buscar tests que representen los estándares web maś utilizados y relevantes se han creado tests rebuscados, que no se centran tanto en la web como en los motores de los navegadores, y precisamente en los motores que más estándares soportan, con lo cual el fallo que hayan encontrado estará aun más rebuscado.

Otro ejemplo de este punto de vista anterior se apoya en que los subtests deben probar estándares que no hayan sido aprobadas despues del 2004 - hace 4 años. Eso excluye todos los esfuerzos que ha hecho Firefox para soportar muchas cosas nuevas, por ejemplo partes del futuro HTML 5, como <canvas>, almacenamiento "offline", además de nuevas APIs en el DOM, Javascript 1.8....sin embargo los tests si que prueban funcionalidades "exóticas" de estándares antiguos.

Respecto a que Firefox no pase aun el Acid 3, hay que hacer notar que Firefox, a diferencia de Opera y Webkit, no ha declarado una cruzada al Acid 3 para ser el primero en pasarlo. La razón, ya comentada por aquí, es que su publicación inicial ha llegado, como el Acid 2, justo al final del proceso de desarrollo. Los programadores de Firefox 3.0 están demasiado ocupados preparando -estabilizando- el lanzamiento de la nueva versión, y no han dado mucha importancia a la lista de bugs del Acid 3, excepto para los fallos más sencillos de solucionar. De hecho hay ya algunos bugs con parches que subirían la puntuación en el test pero que no van a ser incluidos en Firefox 3...por el riesgo que supone incluirlos en este momento. Los de Opera y Webkit, bien sea porque no están ocupados estabilizando una versión final, bien sea porque dan prioridad máxima a la publicidad que supone pasar el test, han seguido una política totalmente opuesta a Firefox en este sentido.

Todo esto, por supuesto, no es una excusa para no pasar el Acid 3. Firefox acabará pasandolo, lo que debaten la gente de Firefox es que este test refleja pobremente el soporte real de estándares de los navegadores.

Última nota, personal: Resulta sorprendente que Opera se obsesione con tests como el Acid 3, mientras que otras áreas del navegador son bastante más débiles, como la usabilidad (¿exactamente por qué me pone opera un icono en el systray? ¿y para qué quiere la mayoría de la gente, en pleno 2008, desactivar las imágenes de una web y quedarse solo con el texto?). Históricamente, Opera ha sido famoso por tener un motor web rápido, eficiente y avanzado en soporte de estándares. Cuando empezé a usar Linux en mi Cyrix 233 con 32 MB de RAM, era Opera el navegador que utilizaba, porque la escasez de recursos me impedía usar cualquier otro. Siempre me gustó mucho eso de Opera y he admitido sin complejos su superioridad técnica. Sin embargo esa superioridad no le ha permitido robar cuota a IE como lo ha hecho Firefox con su usabilidad. Y ahora me encuentro escribiendo esto desde una nightly de Firefox 3, y tengo aquí la última beta de Opera 9.50 (Beta 2 Build 1929, del día 17 de este mes, es decir, hace 3 días), y he comparado los dos navegadores con la cache y etcéteras limpios como una patena. He probado a abrir cinco páginas recargadillas, abiertas en el mismo orden, en la misma pestaña...y el consumo de memoria Opera es francamente superior (20-30 MB) al de Firefox 3. De igual modo, la puntuación en el benchmark de javascript SunSpider para Opera es 7195, para Firefox 3 4424 (mejor cuanto menor sea). ¿Se han obsesionado con pasar el Acid 3 mientras han descuidado otras áreas?.

No hay comentarios:

Publicar un comentario en la entrada