¿Desarrollar para IE6+ (Internet Explorer 6 y posteriores) o sólo para Navegadores “modernos”?
En nuestra empresa, como actualmente en muchas otras, se plantea la duda de desarrollar teniendo en cuenta o no el tantas veces maldito (a efectos de desarrollo web) Microsoft Internet Explorer 6.
En este post describo mi postura al respecto y, pese a lo que puedan pensar algunos colegas diseñadores, mi posición no es un ataque sin paliativos, directo a la yugular y con rabia incontenida dados los cientos de horas de trabajo que hemos gastado para hacer que las cosas funcionen también en Explorer 6. Me temo que durante un (espero que corto) período de tiempo, tendremos que tenerlo aún en cuenta.
Un poco de “cultura de navegadores”
- El Explorer 6 se implantó en la mayoría de negocios desde su aparición en 2001, aunque la versión 5 ya se había asentado previamente con gran mayoría de aceptación.
- Entre el 2002 y 2003 Internet Explorer contaba con el 95% de cuota mundial.
- Sin embargo, la tendencia actual es a la diversificación, teniendo como mayores competidores a Firefox, Chrome y Safari.
Esta evolución produce verdaderos quebraderos de cabeza a todos desarrolladores web. Microsoft ha hecho sucesivos esfuerzos por acercarse a los estándares, a las “reglas” de programación aceptadas mundialmente. Una actitud muy diferente a la que habían mantenido hasta hace poco, cuando su posición dominante en el mercado les permitía “ser” el estándar y olvidarse de los demás competidores.
Esta era la circunstancia de IE6 y la causa de mi rechazo (y el de la mayoría de los que nos dedicamos al diseño o programación web) al Explorer 6. Porque lo que se desarrollaba únicamente para IE6 podía no funcionar o no mostrarse en los demás navegadores, lo que obligaba a rehacer el trabajo o, generalmente, hacer dos versiones de cada web.
El acercamiento con la versión IE7 (2006) no sirvió de mucho. Aun se diferenciaba demasiado. El lanzamiento del IE8 en 2009 supuso un empuje mayor, que debería acabar con tantos esfuerzos…Sin embargo, no tuvo el impacto esperado en las empresas.
¿Por qué? Por la velocidad a la que se actualiza el software en las grandes compañías.
Por poner un ejemplo, en la intranet de Informa tenemos estas visitas:
Y mirando solamente las referentes a Explorer:
Esto nos da una ligera idea del panorama general: La tercera parte de nuestra empresa sigue viendo la web con IE6.
El esfuerzo del cliente
Y es que, cuando se trata de cambiar cualquier tipo de programa, incluso hasta el aspecto de una intranet, el rechazo al cambio es algo que uno debe esperar. Sin embargo, esto no es nada comparado con el esfuerzo que supone en cualquier empresa el cambio de navegador:
- Coste de instalación en todos los equipos.
- Coste de renovación de todos los equipos que no soportan el nuevo navegador.
- Coste de desarrollo de todas las aplicaciones internas para que funcionen en el nuevo navegador.
Este último punto es uno de los que más tira por tierra los esfuerzos de renovación. Dada la actual situación económica, en cualquier consejo de una empresa, sobre todo las grandes, una propuesta con este coste suele quedar relegada al ostracismo.
Si nos fijamos en la situación de los clientes de Informa D&B;:
El funcionamiento de IE7 es muchas veces igual de problemático, como mencionaba arriba. Aunque existe una caída notable, actualmente el 94,15% de nuestros usuarios utilizan Explorer, un 47,38% con IE6 y un 27,24% de IE7. En total, un 74,62% de navegadores de funcionamiento NO estándar.
Además, hay que tener en cuenta que la mayor bajada proviene del tráfico general y de las empresas de menor volumen. Aseguradoras, banca, grandes consultoras… son las empresas que generan mayor tráfico, y las que obviamente tienen un mayor problema de reciclaje tecnológico (como antes mencionaba).
El dilema
Llegados a este punto, nos encontramos en una situación actual en la que todo nuevo desarrollo implica una decisión trascendental previa a todo el planteamiento.
Se puede considerar:
Opción A – Olvidarse de los navegadores antiguos.
Desarrollar con vistas a la programación solamente para los clientes que tengan actualizados sus equipos a la última. Esto nos permite decir que tenemos una web a la última, pero haciendo peligrar a una gran cartera de clientes (actualmente mayoría) que verán fácil la elección: algo espectacular que muchas veces no me funciona, que no me muestra lo que quiero, o una web quizá más incómoda y con menos datos (nuestra competencia) pero que me funciona bien.
Opción B – Como en la anterior, desarrollar solamente para navegadores nuevos y permanecer con la web actual para los navegadores antiguos.
Esto nos llevaría inequívocamente a trabajar dos veces para cada nuevo producto, sin contar con el resto de implicaciones técnicas que serían también duplicadas. Además de que los clientes que no puedan acceder a las nuevas funcionalidades se sientan engañados, con el consiguiente malestar y posible pérdida del mismo.
Opción C – Desarrollar con vista a los diferentes navegadores actuales y a los que aparezcan en breve.
Esto supone (en contadas ocasiones) un pequeño incremento de trabajo para encontrar los efectos que sean compatibles con todos los navegadores y que los desarrollos más espectaculares sean sometidos a pruebas de esfuerzo.
Detalles técnicos
Los efectos de los que hablamos provienen en su gran mayoría de la librería más estandarizada y usada llamada jQuery. Esta librería ya declara en su Homepage que es “Cross Browser”. Esto significa compatibilidad con los navegadores IE6+, Firefox 2+, Safari 3+… Es decir, todos los que nos puedan preocupar. Además, en la página explicativa de estas compatibilidades, declara que cualquier comportamiento derivado de esta librería que no funcione en todos estos navegadores será considerado un bug (“error”).
Podemos hablar también de los efectos AJAX (por ejemplo, las sugerencias cuando un usuario está escribiendo su búsqueda) o de Drag & Drop (Arrastrar y soltar), pero también funcionan y están probadas en IE6. Google utiliza asiduamente estas funciones en sus desarrollos, teniendo con ello suficientes pruebas de su robustez.
Por último, pero no menos importante, están las hojas de estilo (CSS). Estos ficheros determinan los espacios, colores, fuentes, etc… y estos sí requieren de un esfuerzo de programación para su correcta visualización en navegadores antiguos y modernos al mismo tiempo.
Ejemplos de efectos
Efectos compatibles con IE6:
- Tooltips
- Efectos Drag & Drop (soltar y arrastrar)
- Efectos Ajax (contenidos que cargan mientras se interactúa, sin recargar la página)
- Sombras
- Cuadros con esquinas redondeadas
- Efectos ocultar / aparecer (como en los bloques de Informa actuales)
- Lightbox (como las ayudas actuales)
- Semi-transparencias.
Efectos incompatibles:
- Ninguno encontrado.
Efectos que funcionan incorrectamente en IE6:
- Que el tooltip siga el movimiento del cursor (parpadea).
- En el Drag & Drop, las pruebas de esfuerzo demuestran que más de 4 cajas y el recálculo de su posición pueden hacer bloquearse el navegador (dependiendo del equipo).
- Las llamadas a AJAX son más lentas.
- Los movimientos son menos suaves.
Otros detalles
- Realizar un desarrollo con la web más espectacular posible no es incompatible con tener en cuenta los navegadores IE6. Solamente dá más trabajo.
- Desarrollar código compatible con IE6 no significa mantener código separado para un futuro, ni quita espectacularidad para los navegadores modernos.
- Prácticamente no se ha hablado en todo el debate del IE7, pero como he mostrado en alguna estadística, hay que tenerlo MUY en cuenta. Desarrollar también para IE6 hace que uno pueda estar tranquilo con IE7.
- Programar sin tener en cuenta IE6 es un punto sin retorno. Sin embargo, prepararse bien no nos obliga a nada para el futuro.
Conclusión
Con estos datos en la mesa, no tengo ninguna duda de que la opción C es la única correcta.
Se puede decir que, aun funcionando, algunos de estos efectos pueden ir más lentos en IE6, pero esto no hace más que reafirmar nuestra postura: Desarrollamos una web en condiciones y que funciona en todos los ordenadores. Si un cliente tiene problemas de “agilidad”, sabrá que es debido únicamente a su equipo, pero Informa estará preparado de todos modos para que este tipo de clientes pueda seguir trabajando con nosotros sin perder funciones.
¿Queremos tener un avance grande pero controlado y medido? Avancemos un paso por delante de nuestros clientes, pero sin perderlos de vista ni dejarlos atrás.
Como técnico, habría eliminado con gusto IE6 y todo miramiento hacia él. Y lo celebraría con una fiesta por todo lo alto. Como empleado de Informa, aún le tengo cariño a esta empresa.
Autor: Emilio Santos