Requerimientos del sistema y por que IE6 es como Ralph Wiggum
Algunas cosas simplemente se niegan a morir. Los últimos días ha estado rondando por la internet una nueva campaña que busca acabar con los últimos vestigios de esa obra de lucifer conocida como IE6. El problema es el mismo de los últimos 4 años: retrasa el avance de la red como plataforma, no permite la evolución de las aplicaciones y es un grandísimo dolor de cabeza así como una aspiradora de tiempo para los desarrolladores que intentan soportarla.
¿Saben qué? no se a ustedes, pero a mi ya me cansó esta discusión.
Despues de tanto tiempo de trabajar en un ambiente tan abierto como la red, deberiamos haber entendido ya que el problema de la diversidad de plataformas siempre va a estar presente. La única forma de lograr un resultado 100% predecible en el desarrollo de software es trabajar en una burbuja cerrada y controlada como el iPhone, donde puedes estar seguro que no importa lo que pase, el usuario siempre va a usar la aplicación bajo las mismas condiciones que tu estás usando en el periodo de prueba.
Lo que muchos desarrolladores no han visto aún, es que el problema no es nuevo, ha existido desde épocas antediluvianas en el desarrollo de software y como sucede en estos casos, los antigüos sabios desarrollaron una solución al conflicto desde hace eones. Lo llamaron requerimientos del sistema.
Si vamos a usar la web como plataforma para aplicaciones, y no solo para documentos como estaba originalmente planeada, entonces tenemos que pensar en ella en términos de desarrollo de software y no solo de arquitectura y maquetado de información. Esto nos va a ayudar eventualmente a entender que no podemos controlar cada caso bajo el que los usuarios van a ejecutar el sitio, y que intentar hacerlo es una empresa inútil que solo terminará en frustraciones y dolores de cabeza.
Lo mejor que podemos hacer es apegarnos lo más posible a los estándares en los que los navegadores modernos están de acuerdo y olvidarnos de el resto. Entiendo perfectamente el deseo de querer que todos los usuarios puedan ver tu sitio, pero en algún punto tenemos que entender que desarrollar con las últimas técnicas de CSS3 y HTML5 e intentar verlo todo en IE6, es como intentar correr juegos de PS3 en una PS2, simplemente no funciona.
Siguiendo la analogía, en ese caso, la parte del trato del usuario consiste en tener la consola apropiada para correr el juego, en nuestro caso, tenemos que hacerle ver que para recibir una buena experiencia de nuestro sitio, su parte consiste en tener un navegador decente y que si no lo hacen, simplemente no pueden esperar obtener los mismos resultados.
Ese es el concepto básico de los requerimientos de sistema. Construyes la aplicación para que funcione bajo ciertas condiciones, si el usuario no las cumple, no puedes prometerle que las cosas funcionen.
No podemos seguir preocupándonos por los usuarios de IE6, me preocupan más los usuarios con navegadores modernos (que ya son mayoría) a los que les estamos evitando una mejor experiencia debido a esto. Imaginen que estamos en la escuela y un niño faltó a clases por un més, además de esto, es indisciplinado, tiene problemas de atención y de vez en cuando se le ve picándose la nariz con un lapiz hasta que le sangra. Ese niño es Internet Explorer 6, ¿vamos a detener el progreso de los demás niños por su culpa?. Exacto.