IE9 Compat View List. ¿Está tu web en la "lista negra" de Microsoft? ¿Cómo salir de ella?

IE9 Compat View List. ¿Está tu web en la "lista negra" de Microsoft? ¿Cómo salir de ella?
Sin comentarios Facebook Twitter Flipboard E-mail


Quizá os ha pasado que mientras revisabais los logs de vuestra aplicación web, o al grabar un script de navegación para realizar pruebas de carga, os habéis encontrado con que vuestro navegador o el de vuestros usuarios ha hecho una petición a un fichero llamado IE9CompatViewList.xml del que no tenéis el menor conocimiento, pero que estáis seguros de que vosotros no habéis puesto ahí. ¿De qué se trata?

Pues indagando un poco veréis que es una lista de dominios y que además está mantenida por Microsoft. Según ellos, ésos son los dominios que discriminan a Internet Explorer en su visualización de páginas, al enviarle métodos incompatibles y obsoletos. Pero, ¿por qué iba mi web a enviarle un código peor a Internet Explorer que al resto de navegadores? ¿Sólo por fastidiar? Al contrario, un dominio que aparezca en esta web habrá dedicado más tiempo a IE que al resto de navegadores. Para entenderlo bien, repasemos la historia de los navegadores.


¿Cómo hemos llegado hasta aquí?

Tranquilos, no vamos a retroceder hasta los años de Netscape, sino que partiremos de 2001, cuando Internet Explorer 5.5 copaba el mercado con un 80% de cuota y la mayoría de webmasters (como les gustaba hacerse llamar), mostraban orgullosos al final de sus páginas:

Ésta página está optimizada para Internet Explorer 5.5 con resoluciones de 800×600.

Así es, los webmasters desarrollaban para Explorer sin importarle el resto de navegadores, así que Explorer comenzó a interpretar el HTML a su manera sin importarle los estándares. Así nació el engendro por antonomasia: Internet Explorer 6, un navegador caprichoso con un ciclo de vida de más de 6 años, durante los cuales aparecieron otros navegadores que primero presumían de ser “más rápidos”, pero que luego demostraron ser simplemente más eficientes y más respetuosos por los estándares.

Así que pasó lo lógico: los webmasters (que ya empezaban a denominarse desarrolladores web) le cogieron el gusto a eso de programar según el estándar y que se viera bien en todos los navegadores… excepto IE. Así que empezaron a introducir condicionales para cambiar el comportamiento según si ofrecían el código a IE 5.5 o IE 6, de modo que la experiencia de usuario fuera lo mejor posible para esos usuarios anclados en un navegador obsoleto.

En 2007, por fin llegó un relevo para IE 6… en teoría. Ya que IE 7 nunca desbancó a la versión 6, y apenas introdujo una decena de mejoras reseñables. Así que ahora, los desarrolladores que seguían los estándares tenían que introducir excepciones para Explorer 6 y 7, siendo distintas las de cada uno de ellos.

Y sin llegar a matar a Internet Explorer 6, llegó IE 8, un tercer navegador de Microsoft en discordia que de nuevo introducía algunas mejoras con respecto al 7 pero seguía muy por debajo de Google Chrome o Mozilla Firefox en cuanto a la interpretación de los estándares. Así que el desarrollador de turno se hartó de los caprichos de la empresa de Redmond y dejó de distinguir a Explorer según versión, pasando a distinguir únicamente el modelo del navegador. Así pues, con sólo comprobar si en el agente contenía MSIE, le enviaba una versión de la página optimizada en lo posible a las técnicas propias de Microsoft.

Y con IE 9, el sufrido desarrollador se convierte en el malo

Nuestro pobre desarrollador, harto de tener que crear versiones específicas para Explorer, no podía sin embargo obviar a toda su masa de usuarios, así que seguía haciendo el trabajo por duplicado. Pero llegó IE 9 con una curiosa declaración de intenciones, extraída de su propia página:

Our goal with IE9 [is] to run the same standards-based markup as other browsers by default

Una quincena de años después, por fin Microsoft se había marcado como objetivo interpretar el HTML tal cual, como venía haciendo el resto de competidores. Y es cierto, IE 9 cumple con los estándares mucho mejor que sus tres predecesores. Pero claro, a estas alturas de partido, muchas páginas desarrolladas durante la última década dejaron de distinguir entre IE 6, 7 u 8 y simplemente sacaron una versión no estándar para Internet Explorer. Y a IE 9 le fastidió que le dieran esa versión no estándar que sus hermanos pequeños necesitaban, mientras él era capaz de renderizar la versión de sus competidores.

Conclusión: Microsoft culpa a los desarrolladores, que llevan 10 años penando por culpa de sus navegadores, de no estar realizando bien la detección, ya que ésta no debería realizarse por navegador, sino por características, como por ejemplo la excepción en el paso de caracteres extraños a la función createElement() del DOM. Vamos, <ironic>lo típico que suele preocupar a un desarrollador o diseñador web a la hora de hacer que su web se vea bien</ironic>.

Y aunque dio a sus usuarios la posibilidad de activar o desactivar el modo de retrocompatibilidad, no quería dejar al antojo del usuario qué versión se debía mostrar, ya que si le tocaba la fea, podría decir que es culpa de Explorer.

La creación de IE9 Compat View List

Por eso, creó una lista con todos los dominios que, según ellos, no están preparados para IE 9. O lo que es lo mismo, visto desde la otra perspectiva: los sitios que, después de molestarse en crear una versión estándar, han hecho el esfuerzo de crear otra versión específica para IE 6, 7, 8… y que Microsoft no quiere en su IE 9.

Y en lugar de que el usuario tenga que pulsar un botón, se descarga esta lista automática y periódicamente y luego directamente activa su modo de retrocompatibilidad al visitar un sitio que aparezca en el listado, atreviéndose además a señalarlo como obsoleto o incorrecto.

Siendo más específicos, en la lista aparecen los sitios web diseñados para versiones antiguas de IE, que debido a eso no funcionan perfectamente sobre IE 9 y que además no incluyen en la cabecera el meta tag inventado por Microsoft X-UA-Compatible.

Teóricamente, este archivo algo más de 10 KB que todos los IE 9 se descargan con cierta frecuencia, se actualiza a diario para eliminar los sitios que ya sí son plenamente compatibles con IE 9. En total, a día de hoy, la lista se compone 1272 dominios, desde 104.com.tw hasta, paradójicamente, zune.net (que, gracias a $deity, no está registrada por Microsoft, ya sería lo que nos faltaba).

¿Y cómo sabe Microsoft cuándo una web está en condiciones de salir de la lista? Pues muy tecnológico todo, como no podía ser menos en la segunda década del tercer milenio: sólo hay que enviar un e-mail a iepo@microsoft.com y pedir amablemente que te retiren de la lista, después de que algún humano lo compruebe, imagino.

Así que ya saben, señores de 20 Minutos, Mundo Deportivo o Segunda Mano: Microsoft les está tachando de poco profesionales por llevar años preocupándose de cumplir el estándar antes de cumplir las reglas de Internet Explorer.

La lista | IE9CompatViewList.xml
Más información | MSDN – IE9’s faster, more capable Compat View List
En Genbeta Dev | Desarrolla páginas web sin preocuparte de Internet Explorer 6 gracias a ie7.js

Comentarios cerrados
Inicio