Hace unos años Internet Explorer era el navegador más usado con más del 90% de usuarios en todo el mundo. Decir «Explorer» era como decir Gillette o WD-40… la marca se convirtió en la herramienta. Pero también estaba Netscape y más tarde aparecieron Mozilla, Opera y Safari (Macintosh), entre otros desconocidos. En el medio de esa etapa y antes de la llegada de Firefox tenemos varias versiones de Internet Explorer también. Hoy día los gigantes son Internet Explorer, Firefox (que en algunos casos es el 40% de usuarios), Opera y las versiones para Mac y Linux de cada uno de estos.
Para diseñar páginas se usa CSS (Cascade Style Sheets) que básicamente es un archivo en donde se le define al navegador que colores, posición y tamaño tiene cada elemento de la página: encabezados, fondo, párrafos, enlaces, etc.
El problema es que como cada navegador empezó a su gusto cada versión interpretaba el CSS a su manera. Y no es que no haya estándares, simplemente la mala costumbre la comenzó Microsoft que adaptó las fallas de lectura de CSS y las convirtió en implementaciones propias (ya que al principio no había mucha competencia entonces era como ellos querían que fuese).
El Problema
Ahora no solo hay más navegadores sino que cada versión, especialmente de IE por ser el más usado, sigue funcionando de manera diferente a los estándares. De hecho ningún navegador es 100% compatible con los estándares. Hay una prueba que se puede hacer en línea llamada ACID que permite demostrar si nuestro navegador usa las reglas bien o mal. Hasta el momento hay pocos navegadores que pasan la prueba (Opera, Safari, Konqueror) pero ninguno es ampliamente usado . Tenemos que esperar la llegada de Firefox 3 y de Internet Explorer 8 para poder ver estándares reales en los navegadores más usados.
Ahora, para diseñar hay que hacer malabares entre IE6 (Windows XP), IE7 (XP y Windows Vista), Opera y Forefox. Es decir… el trabajo que se hace de HTML y CSS está mal hecho… se ve bien (en la medida de lo posible) pero es como tener un automóvil que usa ruedas de madera pintadas y decoradas para parecer llantas de aluminio de perfil bajo.
A la hora de diseñar, cuando uno esperaba que con IE7 las cosas se normalizaran solo fué ajustar el bache entre Firefox e IE7… IE6 sigue funcionando extraño pero sigue siendo uno de los más usados. Además los sitios deben funcionar en Mac y Linux lo cual agrega otro contratiempo ya que las dos plataformas están ganando mucho terreno, y para este 2008 mucho más.
Otro problema es la falta de soluciones. Por poner un ejemplo, el mismo Microsoft no ofrece soluciones viables. Lo más cercano es instalar unsoftware que se llama Virtual Machine 2007 (que no funciona en las versiones básicas de Windows Vista) y que sirve para hacer una instalación completa de Windows XP dentro de Windws Vista para poder usar Internet Explorer 6 y así poder probar los sitios.Varios desarrolladores de sitios web se quejaron de esta incompatibilidad y la falta de programas para poder trabajar con las nuevas versiones y las viejas al mismo tiempo. La respuesta de Microsoft fué: «Ustedes no son nuestros clientes». Parte de esa actitud le está costando a Microsoft el fracaso de Windows Vista.
Por suerte hay recursos como NetRenderer que nos permiten obtener (auqnue sea parcialmente) un screenshot o foto de un sitio como se vería en IE6 pero tiene sus limitaciones.
En definitiva la falta de seguimiento de estándares esta siendo demasiado costosa ya que para diseñar hay que invertir mucho más tiempo. En un mundo donde los programas ya se manejan por Internet y no como programas instalables, locales en una PC esto genera un problema. Al punto de que muchas empresas no quieren migrar a Windows Vista / IE7 porque el bache de compatibilidad es muy grande.
¿Qué se puede hacer al respecto?
En forma práctica nada… varias empresas decidieron no hacer más parches para navegadores obsoletos y la respuesta de gigantes como Microsoft es: «Actualicen».
Por otro lado hay organizaciones como Web Standards (los que hacen el ACID test) que promueven que haya un cambio organizado para solucionar este problema.