[Actualizado] Atrapados en la “E”

IE Troll¿Cómo puede ser que habiendo tantas tecnologías disponibles hoy en día para desarrollar sitios Web de calidad y ante el avance tanto de los estándares web como de los mismos navegadores web, y habiendo tantas opciones para elegir el navegador web más adecuado, todavía haya empresas y entidades que aún desarrollen sitios Web “sólo para Internet Explorer”?

Hace mucho tiempo atrás, para muchos Internet Explorer (IE) era prácticamente un sinónimo de Internet. Una amiga mía hasta me me preguntaba en son de broma “¿Dónde está la E de Internet?” cuando le dejaba usar mi computadora con Ubuntu y Firefox pero no encontraba el iconito con la “e” azul del Internet Explorer. Hoy en día, la cancha tiene 3 jugadores principales: Internet Explorer, Mozilla Firefox y Google Chrome (cierto, hay más jugadores como Opera, Safari, Chromium y más, pero sin ánimos de iniciar una discusión sobre cuál es el mejor de todos, diré que los 3 arriba mencionados son los más conocidos por el común de la gente). Cada uno de estos navegadores tiene sus virtudes y defectos. El mismo Internet Explorer ha mejorado mucho en sus versiones más recientes, aún no es perfecto pero felizmente existen programadores que desarrollan trucos y complementos para romper esa falta de compatibilidad entre alguna versión de Internet Explorer y aquellos navegadores que sí respetan las reglas del juego (léase los estándares Web). Aun así, parece que algunos no se han enterado (o se hacen los locos y no quieren ver) de que han entrado más jugadores a la cancha y siguen trabajando como si la “E de Internet” aún fuese el único para el que valiera la pena desarrollar sitios y aplicaciones web.

Tiempo atrás, la “justificación” para hacer un sitio web optimizado para tal o cual navegador era justamente la falta de un estándar único que cumplieran todos los navegadores del momento, o bien que todos los navegadores implementaran una funcionalidad en particular de manera correcta, de modo que si yo tengo una tabla con un borde de 1 píxel de ancho y un rellenado de celdas de 5 píxeles, esta tabla se vea realmente con un borde de 1 píxel de ancho y un rellenado de celdas de 5 píxeles ya sea en Internet Explorer, en Netscape, en Mozilla, en NeoPlanet o en cualquier otro. Y desde luego los que más sufrían por aquella falta de compatibilidad éramos los diseñadores Web que debían romperse la cabeza para hacer un diseño para un navegador, otro para el otro navegador y así.

Han pasado años desde entonces, las tecnologías Web han mejorado y la mayoría de navegadores ha evolucionado también. Solo uno se resistía a desaparecer de las computadoras de algunos internautas: Internet Explorer 6 aún conservaba una relativa cuota de uso en nuestras computadoras, al punto que ni la propia Microsoft podía convencer del todo a los usuarios de Windows que se actualizaran a versiones más recientes de IE. En algunos casos esta resistencia al cambio era porque los usuarios no conocían una alternativa mejor, porque no sabían cómo actualizarse o simplemente porque no sentían la necesidad de actualizar, pero hay también otras razones: Por ejemplo, he visto hace unos pocos años una oficina de Telefónica del Perú en las que tenían un software de seguimiento de proyectos que está hecho… ¡para Internet Explorer 5.5! Pero claro, la aplicación en este navegador funcionaba bien, y como todos los equipos corren Windows 2000 en aquella oficina, ¿para qué actualizar? Más caro sale comprar licencias para actualizar los equipos a Windows XP (que en ese entonces Windows Vista recién asomaba la cabeza, y tengamos en cuenta que en Windows 2000 no se puede instalar una versión de IE superior a la 6), renovar su hardware para que soporte un sistema operativo más avanzado o pedirle al programador que actualice su software para versiones más recientes de IE o que lo haga compatible con otros navegadores como Firefox (Chrome no asomaba aún por aquellos días). O al menos ese era el pensamiento de la gerencia.

Estados de ánimo al probar el diseño de una página web

Imagen: cuantocabron.com

OK, como decía líneas arriba, puede que dentro del mundo del desarrollo de aplicaciones Web haya cosas que solo se pueda hacer bien en un navegador en particular (a mí mismo me ha tocado situaciones así). ¿Pero qué pasa cuando se pide al usuario usar Internet Explorer por algo tan tonto (por no decir otra palabra) como que funcione un enlace o un botón de formulario, algo que es perfectamente estándar en todos los navegadores?

Casos de la vida real

Para responder a esta última pregunta, al ejemplo de Telefónica agregaré un par de ejemplos que, a diferencia del anterior que fue hace varios años, estos dos son de hace menos de una semana, y no son sacados de algún libro ni una reseña en línea, sino que son ejemplos de nuestra propia realidad (dos sitios web peruanos y/o de uso común en nuestro país) y que a mí particularmente me ha tocado padecerlos y sufrirlos.

1. Banca por Internet del BBVA Continental

Del BBVA Continental siempre he tenido (y aún tengo) el mejor concepto. Para mi gusto personal, es el mejor banco del Perú. Su banca por Internet es práctica y funciona bien, pero tiene un “pequeño gran problema”: No se puede cerrar la sesión. Por seguridad, si el sistema detecta inactividad por más de 5 minutos la sesión se cierra automáticamente, y para ayudarnos a controlar el tiempo que nos queda se muestra un reloj en la esquina superior derecha.

El caso es que estando en Firefox o Chromium, cuando el contador llega a 0:00 la sesión no se cierra, sino que la ventana se queda tal y como está, y cuando doy clic en el botón de Cerrar sesión, este botón tampoco hace nada. En Firefox el caso es un poco menos grave, porque si intento entrar a alguna opción del menú cuando el contador ya ha llegado a 0:00, se muestra la ventana de inicio de sesión (o sea que al menos “en segundo plano” la sesión sí llega a cerrarse); pero en Chromium aún es posible entrar a otras opciones del menú aun después de que el contador llegue a 0:00 lo cual es un grave problema de seguridad.

Llamé a Banca por teléfono para consultar por el problema, y una amable señorita me “explica” que para que el servicio de Banca por Internet funcione correctamente debo ingresar a ella desde Internet Explorer. Le expliqué a la señorita que yo uso un equipo con GNU/Linux y por ende no tengo Internet Explorer porque este navegador solo corre en Windows, pero la señorita se cerró en su posición (lo cual no es su culpa, debe estar siguiendo instrucciones del área de sistemas del banco o alguna similar). Pero, o sea, ¿debo usar un navegador en particular solo para que funcione un botón de cierre de sesión?

Actualización 2013-03-29: El cierre de sesión ya funciona correctamente en Firefox.

2. SUNAT Operaciones en Línea (SOL)

El caso de nuestra querida y a la vez odiada Superintendencia Nacional de Administración Tributaria (SUNAT) me parece más grave por dos motivos: Primero, porque el caso que les contaré ahora lo reporté en el año 2010 (y ahora sabrán en qué quedó eso). Y segundo (que es aun peor), tratándose de una entidad del Estado que debe estar a disposición de todos los peruanos y darnos todas las facilidades para su uso, NO PUEDE simplemente darse el lujo de tener un servicio Web que solamente funcione bien en Internet Explorer.

La historia comienza así: En el año 2010 decidí sacar mi clave SOL (la clave SOL es un acceso especial al sitio Web de la SUNAT con usuario y contraseña para que los contribuyentes podamos realizar ciertas operaciones y consultas directamente desde el sitio Web de la SUNAT y no tener que estar yendo a un centro de atención). Sabiendo esto, me animé a entrar a SOL para actualizar la dirección que aparece en mi ficha RUC. Entré a la opción, agregué mis datos y me mostró una vista previa de cómo iba a quedar mis datos tras el cambio. Hasta aquí todo bien… hasta que tuve que pulsar el botón Aceptar… No funcionaba. Salí de la opción, volví a entrar y veo como todos mis cambios se habían perdido. El formulario simplemente no guardaba los cambios.

Llamé al teléfono de SUNAT para reportar el problema. Y al igual que haría 3 años más tarde el BBVA Continental, la persona que me atendió por teléfono me dijo que SOL estaba hecho para Internet Explorer. En vano le expliqué al operario por teléfono que dada la importancia de la SUNAT para todos los ciudadanos no puede permitirse excluir a aquellos que no tienen dinero para comprar una licencia de Windows y así usar Internet Explorer (y luego vienen las quejas por piratería), a lo cual el operario me respondió que tenía la opción de ir a un centro de SUNAT y usar gratuitamente sus cabinas con Internet Explorer. Pero yo digo, si resulta que ahora tengo que ir a sus cabinas para usar Internet Explorer, la utilidad de SOL desaparece porque su utilidad es justamente ahorrarme ese viaje y el tiempo correspondiente. Corté la llamada y llené su libro ¡de reclamaciones, porque si ya de por sí es incómodo viniendo de una empresa privada (como un banco), se vuelve un pecado mortal viniendo de una entidad estatal por donde debemos pasar obligatoriamente todos los ciudadanos. La respuesta por parte de SUNAT en aquel entonces se puede resumir en dos puntos:

  1. SUNAT tomará mi reclamo (que por cierto fue procesado como sugerencia y no como reclamo) y lo comunicará al área responsable para mejorar sus servicios (o sea lo que yo entiendo es que algún día SUNAT hará compatible su sistema SOL con más navegadores).
  2. Mientras ese feliz día llegue, debo buscar un equipo con Internet Explorer.

Llegamos al año 2013 y tras hacer algunos cambios a mi actividad de negocio en SUNAT, decidí hacer nuevos cambios a mi ficha RUC. Seguí los mismos pasos que hace 3 años, e igual que hace 3 años SOL volvió a fallar en lo mismo. Y al igual que hace 3 años volví a llamar al teléfono de SUNAT y les hice recordar mi queja de hace 3 años, e igual que hace 3 años me indicaron “que use Internet Explorer”. Aún no he llenado nuevamente su libro de reclamaciones, tengo como tarea pendiente hacerlo uno de estos días cuando mi agenda me lo permita.

Y tengo más ejemplos, pero imagino que con estos 2 bien explicados ya uno se imagina por dónde anda la cosa con el resto de casos.

Del navegador al sistema operativo

Lo peor de todo es que este enfoque cerrado no termina en los navegadores web. Hay que aceptar que es mucho más difícil pedir a nuestros desarrolladores en general (y no solo a los de web) que miren “más allá de Windows” porque si bien en el Perú se produce software de escritorio  aún está lejos de alcanzar siquiera la producción de las grandes compañías de software extranjeras.

Pero como ya dije antes, lo que se le puede pasar por alto a una empresa comercial es imperdonable para una entidad del propio estado: La SUNAT pone a disposición de los contribuyentes su Programa de Declaración Telemática (PDT) que usamos para diversos trámites tributarios. El caso es que este software, como era de suponerse, solo está disponible para Windows. Y aquí no es como el caso de SOL en que la aplicación funciona a medias (en navegadores distintos a IE no se podrá actualizar nuestra ficha RUC pero aún te deja hacer otras tareas). El PDT simplemente no funciona en otros sistemas operativos aparte de Windows. ¿Por qué? La respuesta técnica es que por un lado el PDT guarda su información en un archivo de Access (que como sabemos es parte de Office, el cual a su vez solo corre en Windows), y por otro lado el PDT requiere de algo que parece inofensivo: un ajuste en el formato de fechas en el Panel de Control, pero el caso es que el “Panel de control” como tal solo existe en Windows. Otros sistemas operativos podrán tener un centro ce configuración, una ventana de preferencias o como se llame, pero el PDT busca el “Panel de control” de Windows para hacer el ajuste automáticamente y como no lo encuentra, se limita a lanzar un mensaje de error y el PDT se cierra automáticamente. Solución: igual que con SOL, o te buscas un equipo con Windows o vas a una de las cabinas de la SUNAT. ¿La razón “no técnica”? No lo sé, pero probablemente tenga con alguna (o algunas) de las razones que expondré más abajo.

¿Por qué los desarrolladores son así?

Es difícil hallar una sola razón para que un desarrollador Web se centre sólo en Internet Explorer habiendo alternativas de sobra, así que ensayaré varias:

  • La opción mayoritaria. Es fácil escudarse en cosas como “La mayoría usa Internet Explorer así que hacemos nuestras aplicaciones para Internet Explorer”. Fue lo que me dijo la SUNAT en el 2010 por teléfono. Pero se olvidan que la mayoría no son todos, y que Internet Explorer ya no es la opción superdominante de antaño. Un jefe de sistemas o un buen desarrollador Web que se precie debería saberlo.
  • La tecnología no lo permite. Podrá ser coincidencia, pero siempre que veo un sitio Web o una aplicación hecha con ASP o ASP.NET (que son tecnologías de desarrollo de Microsoft) veo con tristeza que nunca funciona bien, a menos claro que use Internet Explorer (que también es de Microsoft… ¿coincidencia?). Un ejemplo fue la antigua página de Movistar (hecha en ASP), cuya maquetación solo se veía bien en Internet Explorer y cuyos menúes solo funcionaban bien en… (ajá, ese mismo). La web actual de Nextel Perú tiene también un problema similar con su reporte de detalle de llamadas (en Internet Explorer el reporte tarda en generarse pero se genera (mal maquetado pero se deja leer), sin embargo en Firefox, Google Chrome y Chromium el reporte nunca se termina de generar). No conozco los lenguajes de Visual Studio (a lo más Visual Basic 6 y Visual FoxPro que ya he olvidado parcialmente por falta de uso) por lo que no puedo esbozar las razones técnicas de estas fallas, pero de todos modos me parece una coincidencia muy “sospechosa”.
  • Desconocimiento por parte del programador. Un botón Enviar [submit] de un formulario se implementa en HTML de forma exactamente igual en cualquier navegador Web. Si necesito validación (por ejemplo para comprobar si he escrito sólo números en la cajita de mi DNI) uso JavaScript que, si bien arrastra algunos problemas de compatibilidad, se puede hacer un código que funcione bien en otros navegadores (y si no, pues existen librerías como jQuery que nos facilitan la vida). En el caso que conté de SUNAT, me di el trabajo de bucear en el código fuente del formulario que no funcionaba y me topé que al pulsar en el botón Aceptar se invocaba a un evento de una forma que sólo es válida en Internet Explorer. Se sabe (o se debería saber si eres desarrollador Web) que existen otras formas de invocar a eventos si usas un navegador distinto a Internet Explorer. Que el programador no las conozca o no las quiera usar ya es problema de él. Lo malo es que las consecuencias las sufrimos los usuarios, mientras que al desarrollador de todas maneras le pagarán por su trabajo.
  • Requerimientos del cliente. Esto se ve más que nada cuando se requiere que un sitio Web o una aplicación funcione en versiones antiguas del navegador de turno. Puede ser por un tema de ahorro de costos (como el ejemplo de Telefónica que mencioné al inicio) o de tiempo (cuánto demoraría actualizar todos los equipos de la red y capacitar al personal para usar un nuevo navegador).

Cuando el remedio puede ser peor que la enfermedad

Con el avance de las tecnologías Web, hoy tenemos un HTML5 y un CSS3 que tiene cada vez más presencia en la red (aun sin ser estándares oficiales). Esto que debería ser todo ventajas tanto para usuarios como para desarrolladores, queda opacado por el hecho de que las tecnologías nuevas no son soportadas por los navegadores más antiguos.

Hace unos años, y siguiendo esta idea, comenzaron a aparecer sitios Web y blogs incentivando a los diseñadores y desarrolladores Web a dejar de dar soporte a navegadores antiguos, concretamente a Internet Explorer 6 (y también a versiones más recientes de IE en algunos casos) por su irrespeto intencional a los estándares Web y su falta de soporte a nuevas tecnologías. La iniciativa tuvo eco en algunos de nosotros, pero no se puede decir que haya tenido la gran repercusión esperada dado que aún mucha gente continuaba usando IE6.

Algunos adoptaron una postura de resignación y optaron por no usar ninguna tecnología que no fuese compatible por lo menos con IE6. Por ejemplo, en una empresa de diseño Web en la que trabajé hasta el año pasado se tomó la decisión de no usar imágenes en formato PNG en absoluto, ya que IE6 tiene problemas para mostrarlas (no sé si esa decisión se mantendrá hasta ahora o ya cambió).

Hoy en día, la aparición de bibliotecas de programación que muestran o ajustan el diseño de un sitio Web de una forma o de otra según el navegador que estemos usando han solucionado en cierta forma el problema. Pero esto podría ser tomado como un argumento más para que los usuarios no actualicen sus navegadores: Si yo soy un usuario “no experto” y tengo un equipo con IE7 (por poner un ejemplo) y el diseñador que me hizo mi página Web utilizó estas técnicas para que mi página Web se vea igual ya sea en Internet Explorer 9 (la versión más reciente de IE) o en mi viejo Internet Explorer 7, ¿para qué me tomaría la molestia de actualizar mi navegador si con IE7 mi página se verá siempre perfecta? Claro, el desarrollador me puede explicar que si actualizo tendré un navegador más rápido, más seguro, con mayores funcionalidades y demás, pero también hay personas (como mi alter ego en este ejemplo) a las que lo único que les interesa es que sus páginas Web se vean bien, y lo demás es un menjunje que sólo entienden los programadores y la gente de soporte técnico. Y si a mi desarrollador se le ocurre tomar la postura opuesta y hacerme un sitio web que va de acuerdo a los últimos estándares de la Web pero se ve mal en mi IE7 de nada valdrá que me hable de estándares, de CSS, de HTML5 ni de la W3C, para mí el desarrollador me hizo un mal trabajo porque mi web no se ve bien en mi computadora.

¿Qué hacer?

En mi opinión, la tecnología no puede quedarse estancada. Como dijimos, el HTML que era válido hasta hace poco ya está pidiendo mejoras a gritos, y prueba de ello es que aun cuando HTML5 aún no es oficial ya se está usando en muchos sitios  web por sus evidentes mejoras en cosas que ahora se han vuelto triviales (como el audio, video, geoposicionamiento, etc.). Como desarrolladores, nos toca incentivar estos cambios que serán para mejor, tanto para los desarrolladores (que podremos hacer sitios web mejores y con mayores prestaciones en menor tiempo inclusive) como para los usuarios (que podremos disfrutar de sitios web y aplicaciones más ricas, más rápidas y de mejor calidad). Frenar intencionalmente este avance en pro de mantener la compatibilidad con navegadores antiguos me parece un gasto innecesario de tiempo y de recursos para mantener vivo un software que tampoco tiene sentido mantenerlo habiendo opciones para elegir, ya sea actualizando el que tengo ahora o cambiándolo por uno que puede ser hasta mejor.

Del lado de los usuarios, hay 2 posiciones. Primero, los usuarios que podríamos llamar “del hogar” o “de cabina de Internet”, con un conocimiento que puede ser medio, poco o nulo sobre computadoras, pero a los que se les puede enseñar y mostrar que hay opciones para elegir y que no tiene que quedarse con la opción que Windows les instala por defecto. Pero claro, de qué sirve que yo le enseñe a mi papá a usar por ejemplo Firefox (o cualquier otro navegador) si cuando él entre a cambiar su ficha RUC vea que sólo podrá hacerlo en Internet Explorer. Tampoco es muy útil que digamos el hecho de que podamos recurrir al experto de turno y que este experto tampoco conozca más opciones de las que le ponen al frente (por ejemplo los técnicos de soporte de Internet de Movistar te dan instrucciones para verificar tu conexión a Internet paso a paso con comandos y todo pero sólo si usas Windows). ¿Y de quién es la culpa de esta falta de información? En nuestros medios de comunicación se habla mucho de que la computación e Internet son el futuro, pero un futuro centrado en un sistema operativo mayoritario que es tomado como el único que importa (quizá porque es el único que da ganancias: No me conviene sacar a la venta un manual de GNU/Linux por ejemplo porque como poca gente lo usa pues poca gente lo compraría, así que me sale “más rentable” sacar uno de Windows), y lo mismo en nuestros centros de enseñanza. Apliquen la misma idea por ejemplo a los paquetes de ofimática, retoque fotográfico y, claro está, a los navegadores web.

Del otro lado están los usuarios “empresariales”, aquellos que pueden tener mayores conocimientos de computadoras o que, sin tenerlo, pueden darse el lujo de tener un área de informática que sí conozca del tema. Aquí el problema de torna más complicado: Es probable que estos usuarios más expertos conozcan las alternativas y hasta tengan ganas de implementarlas en sus oficinas (como yo las tuve alguna vez en Telefónica), pero sus buenos deseos se estrellan con barreras burocráticas (por ejemplo en Telefónica para actualizar de IE5 a IE6 en un equipo había que enviar una solicitud al área de soporte técnico y luego esperar a que el técnico de turno coordine una fecha para hacer la actualización) o de recursos (que sale muy caro, que toma mucho tiempo, etc.).

Finalmente tenemos al Estado, aquel que por un lado nos condena por usar un  Windows pirata porque no nos alcanza para comprar uno original, pero por el otro nos “obliga” implícitamente  a usarlo porque ellos mismos no nos dan las herramientas necesarias para usarlas en otro sistema que no sea Windows o en otro navegador web que no sea Internet Explorer. De ellos debería venir la primera oleada de cambio, pero viendo cómo están las cosas ahora (recuerden mi reclamo que fue ignorado en el 2010 y sigue ignorado hasta ahora), quizá todavía sea mucho pedir.

Comparte este artículo 🙂
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Danilo Quispe Lucana

Ingeniero de sistemas, desarrollador web y de software. Aficionado a la ciencia y tecnología desde chico.

También te podría gustar...

2 Respuestas

  1. 24 Septiembre, 2013

    […] un tiempo escribí acerca de cómo es que algunos webmasters y desarrolladores en general podían aún publicar […]

  2. 20 Noviembre, 2015

    […] 1 […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *