20 años de Internet Explorer

Captura de pantalla de la interfaz de Internet Explorer 1.0
Así era el navegador de Microsoft en 1995. Imagen ‘robada’ de la Wikipedia

Pocas efemérides hay en internet que se vayan a celebrar tan poco como el vigésimo cumpleaños, que se celebra hoy, de Internet Explorer. Como cuenta la Wikipedia, un dieciséis de agosto, pero de 1995, se lanzaba Internet Explorer, que en aquel momento era básicamente una versión de Mosaic en la que trabajaron seis personas. Estamos hablando de hace tanto tiempo que Explorer no soportaría tablas hasta su versión 1.5, que llegaría seis meses más tarde.

Se trata de un periodo interesante de la historia. De los navegadores que existen hoy, pocos hay más longevos: Opera se había lanzado unos meses antes y la 1.0 de Netscape Navigator data de diciembre del 94.

La de 1995, además, era la versión más odiosa de Microsoft: en 1994 el Departamento de Justicia de los Estados Unidos había lanzado su famosa demanda ‘antitrust’ contra Redmond por sus prácticas anticompetitivas desde 1988. Microsoft estaba dispuesta a comerse el mundo, casi literalmente.

Aun con la ventaja competitiva innegable de venir con el sistema operativo (estamos hablando de cuando un módem de 28800 baudios sonaba a lo último de lo último, y descargarse Navigator no era exactamente una trivialidad), IE no arrasó, precisamente: durante unos [pocos] años Netscape dominó el paisaje web como ninguna otra empresa ha vuelto (ni volverá, esperemos) a hacer. No fue hasta unos tres o cuatro años más tarde que Microsoft decidió echarle músculo de verdad al asunto y espabilar con IE5, que combinó la potencia de los de Redmond al desarrollar software (IE5 y 6 eran mucho mejores que la competencia, por difícil de creer que resulte, y con IE5 llegó una funcionalidad, XMLHttpRequest que, pese a su horrendo nombre, dio pie a la revolución que supondría AJAX, la base de lo que hoy conocemos como aplicaciones web) con la universalidad de su sistema operativo y la incapacidad de Netscape de mantener el código de Navigator para situarse como número uno. IE6 representó, en 2001, por un lado, el mejor navegador de la historia de manera indiscutible y, por el otro, el fin de la guerra de los navegadores: punto, juego, set, partido y campeonato para Microsoft. Game over. Desafortunadamente, lo que vino después era lo que se podía prever: una vez aplastada la competencia, Microsoft se quedó sin ningún incentivo para mejorar su navegador… y así lo hizo. Internet Explorer 7 no llegaría hasta finales de 2006. Cinco años más tarde. En «tiempo internet», varias eras tarde.

Los desarrolladores de la época (y los pocos diseñadores web que había), por mucho que nos guste reescribir la historia, estaban encantadísimos en 2001 con el monopolio: un único navegador para el que desarrollar es lo mejor que te puede pasar… O no. En 2002 de las cenizas de Netscape se fundaba Mozilla y anunciaba la creación de un navegador, muy adecuadamente llamado Phoenix. Phoenix no llegaría hasta un par de años más tarde (recordemos: el código de Navigator era un absoluto desastre), rebautizado como Firefox, que supondría un (re)nacimiento de los estándares web. Firefox, sin prisa pero sin pausa, comenzaría a restar cuota de mercado a Explorer, con la ayuda inestimable de la propia Microsoft y su indolencia infinita (nunca más le darán en Redmond cinco años de margen a un enemigo para renacer de sus cenizas).

Pero Firefox ganaba mercado… fuera de las empresas del Fortune 500. Dentro de esas empresas, el panorama era muy diferente. Si hay algo que les gusta a los departamentos de sistemas de información de las grandes empresas es estandarizar. Básicamente, todos los PCs de todas las grandes empresas tenían Internet Explorer 6 instalado. Y ningún otro navegador. Los desarrolladores de las intranets de todas esas empresas, dado el panorama, optaron por no «desarrollar web» sino «desarrollar para IE6». Una decisión perfectamente comprensible, razonable incluso… y absolutamente catastrófica. Las peculiaridades de IE6 interpretando los estándares (conviene recordar: comparado con Navigator, IE6 era la octava maravilla) estaban lejos de contemplarse con el odio que se ganarían (con absolutamente merecimiento) unos años más tarde: en ausencia de otro navegador al que dar soporte, diseñadores y desarrolladores fueron acostumbrándose a ellas y construyendo toda una serie de trucos, como el maquetado con tablas, que hoy nos escandalizan pero que en aquel momento no parecían mala idea. Como sabe todo el mundo que haya trabajado en una empresa de un cierto tamaño, las intranets fueron desarrollando parche sobre parche sobre parche en una pesadilla imposible de mantener.

Para cuando Firefox adquirió madurez y los usuarios comenzaron a reclamarlo, la tarea de adaptar las webs del mundo a los estándares resultó ardua, pero valió la pena. Excepto en el reducto de la Galia conocido como las intranets de las grandes empresas, cuyos departamentos de sistemas de información decidieron que era más fácil obligar a sus trabajadores a acceder a la intranet con IE6 que intentar desfacer el monumental entuerto. IE6 para la intranet, un navegador moderno para el resto de la web (o para la web, quizá debería decir mejor: las intranets no eran «web», sino «cosas en HTML para IE6»), aquí paz y después gloria. O no.

Porque Microsoft se había dormido mucho con el tema de los navegadores, pero en algún momento tenía que darse cuenta de que había que espabilar. Y tarde, pero lo hizo. En 2006 llegaría IE7, IE8 en 2009 y para 2011 teníamos IE9 (el coloso Microsoft estaba acostumbrado a los ciclos de desarrollo de Windows, Office y sus herramientas de desarrollo: lanzar una versión del navegador cada dos años era, a sus ojos, recuperar la velocidad de crucero). Pero el ritmo glacial de Microsoft resultaba excesivamente frenético para —sí, lo habéis adivinado— los departamentos de sistemas de información. Microsoft era casi omnipotente, pero no podía arriesgarse a cortarse el grifo de los ingresos de las actualizaciones de todos los Windows de todos los PCs de todas las empresas del Fortune 500 con intranets que dependían vitalmente de todos los bugs de IE6. Nadie habría sido más feliz exterminando esos bugs de manera lenta pero segura que el equipo de desarrollo de IE. Pero Microsoft no podía permitirse ese «lujo». IE7, 8, 9… todos se vieron obligados a reproducir, contra su propia voluntad, los errores de IE6. Y, de rebote, mientras la cuota de mercado de Explorer bajaba de forma inexorable pero lenta, a los diseñadores y desarrolladores web del mundo no les quedaba otra que someterse a los deseos de los galos irreductibles de las intranets, porque Internet Explorer seguía conservando suficiente presencia como para que ignorarlo fuese un riesgo inasumible. Bienvenidos al «maravilloso» mundo del diseño y desarrollo web.

Hoy, casi una década después del lanzamiento de IE7, parece que finalmente el panorama ha cambiado. Lo que quizá haya contribuido más a ello es que los CEOs del Fortune 500 hace tiempo que tienen iPads con los que quieren acceder a sus intranets. Los CIOs del Fortune 500 pudieron más que Microsoft, pero todo el mundo sabe que el CEO puede más que el CIO. Aún quedan cosas en las intranets que dependen de IE6 (o de lo que queda de IE6 dentro de IE8, 9, 10 e incluso 11), pero cada vez son menos y todo ese código web infecto parece definitivamente herido de muerte. Los esfuerzos de Microsoft por conseguirlo (si hay algo peor que desarrollar para IE6 y sus herederos tiene que ser mantener el código de IE6 en sus herederos) se han redoblado en los últimos tres o cuatro años y el navegador por defecto del sistema operativo por defecto de Microsoft ya no se llama Internet Explorer, sino Edge… En el blog de desarrolladores de Edge contaban con alegría en mayo cómo le habían extirpado a Edge más de doscientas veinte mil líneas de código al separarlo de Explorer. Por la borda se habían ido el soporte para ActiveX, los «Browser Helper Objects», VBScript, los filtros y transiciones en DirectX… Todas ellas características que fueron útiles —revolucionarias, incluso— en su momento… y que se volvieron después zombies que, en algunos casos más de una década después de su creación, siguen pululando por ahí…

Repito: doscientas veinte mil líneas de código. La magnitud de la cosa es de difícil descripción. Aún suponiendo que fueran 220,000 líneas seguidas, eso son, para los que alguna vez habéis visto papel de impresora de agujas, más de tres mil hojas de papel de 381 por 279 milímetros (el más ancho que hayáis visto los que lo recordéis). Alucinante.

2015. Y parece que vemos la luz al final del túnel. Pero no nos engañemos: seguimos en el túnel. Y es que IE y su código zombi siguen rondando. Incluso en Windows 10, lo último y «más mejor» de Microsoft, sigue ahí, en el cadalso del desarrollo web: el navegador por defecto de Windows 10 es Edge pero, sin mucho esfuerzo, uno puede resucitar el fantasma y arrancar Internet Explorer 11 para «disfrutar» de esas doscientas veinte mil líneas de código y todas esas funcionalidades zombi.

Capturas de pantalla de una misma web visitada con Edge y con IE11
A la izquierda, Edge. A la derecha, Internet Explorer 11

En fin. Y en cualquier caso. Felicidades, Internet Explorer: no se cumplen veinte años todos los días. No hay tantas marcas en el mundo de la informática que puedan decir que han cumplido dos décadas. Pocas hay que nos hayan aportado tanto. Pocas hay que nos hayan robado tanto. Probablemente sea Explorer lo único que haya en la intersección de ambos conjuntos. Te odiamos pero, muy muy en el fondo, sabemos que eres parte imprescindible de nuestra historia tecnológica y que no seríamos lo que somos sin ti. Felicidades. Y muérete ya.


PS Parece que Microsoft y yo coincidimos, por una vez…

A vueltas con Internet Explorer…

La cantinela constante de que “Internet Explorer X es el nuevo Internet Explorer 6″ cansa. Mucho. Microsoft ha hecho mucho para intentar corregir sus transgresiones pasadas, y parece que todavía queda mucha gente que no está dispuesta a olvidar viejos rencores. Siempre habrá un navegador que va por detrás de los demás. Primero fue Mosaic el que se quedó atrás con respecto a Netscape. Después fue Netscape con Internet Explorer. Y después Internet Explorer con Firefox. La gente ya comienza a quejarse del navegador de Android 2.x.

Lo maravilloso de la web es precisamente que hay una multitud de navegadores y, si construyes las cosas correctamente, tus sitios y aplicaciones corren en todos ellos. Puede que no funcionen exactamente igual en todos, pero debería ser capaces de funcionar. No hay absolutamente nada que te impida usar características nuevas en tus aplicaciones web, de eso va la mejora progresiva (progressive enhancement). Nadie dice que no puedas usar RGBA. Nadie te apunta con una pistola para que no uses animaciones CSS. Como ingeniero en la web puedes tomar decisiones cada día.

Lo dice Nicholas Zakas en It’s Time To Stop Blaming Internet Explorer, un artículo en Smashing Magazine. No dice Zakas que maquetar para Internet Explorer 6 no sea una tortura china (ni Microsoft lo dice). Ni que IE7 no sea doloroso. Ni siquiera dice que IE9 esté a la altura del resto de navegadores. Más que nada, porque no es cierto. Dice, eso sí, que los esfuerzos dedicados a quejarse de las actitudes de Microsoft son cansinos y nada productivos. Y lo suscribo. Al 100%. Y recomiendo que os leáis el texto original, desde luego.

Ha llegado IE9 (beta)

Pues sí, ya ha llegado. Y si usais Vista o 7, ya os lo podéis descargar desde beautyoftheweb.com, por ejemplo.

¿Y qué es lo que se puede decir de él? Una muestra de lo que se ha dicho en la web:

Si disponéis de tiempo y el inglés no es problema, mejor seguís esos enlaces y os empapáis un poco de lo que dicen: ellos han probado IE9 durante días, y yo durante un par de horas. Aún así, ¿qué diría yo después de esas dos horas? Si me siento delante de un ordenador para trabajar un rato, y el único navegador instalado es Internet Explorer (6, 7 u 8) lo primero que haré será instalar Firefox o Chrome. Si lo que tiene instalado es IE9… probablemente no lo haga. Y eso es un cambio radical.

De ninguna forma va a sustituir IE9 a Firefox, Chrome, Safari u Opera en los corazones de los fans de ninguno de estos navegadores, que si no son superiores en todos los aspectos a IE9 hoy, lo serán la semana que viene. Y esa, es, de hecho, la principal crítica que hay que lanzar al equipo de Internet Explorer: su ciclo de desarrollo no es lento, es glacial. Hablábamos de la beta 2 de IE8 hace más de dos años, y comenzamos a hablar de ‘platform previews’ de IE9 hace seis meses justos. Mejor no contamos el número de actualizaciones que han lanzado Firefox y Chrome en estos dos años (Chrome, de hecho, cumplió dos añitos hace nada). Y el salto cualitativo de Opera en estos dos años es espectacular… Mientras tanto, hasta la última de las mejoras que propone IE9 en esta beta estarán implementadas en todos sus rivales antes de que IE9 llegue en su versión definitiva al mercado.

Ahora bien, si son glaciales en actualizar, para entrar en el mercado son una catarata. Aún a pesar de la tremenda limitación de no estar disponible para XP (que sigue representando nada más y nada menos que el 60% de los Windows que visitan este blog), IE9 capturará cuota de mercado a la velocidad de la luz por lo que, se quiera o no, IE9 es un navegador muy importante. Y desde el punto de vista del desarrollador, a pesar de que podría haber sido mucho más, será muy bienvenido porque, de golpe, los navegadores aceptablemente rápidos y respetuosos con los estándares representarán un 5 o un 10% más del mercado y, quién sabe, igual algún día podemos olvidarnos de las limitaciones de los viejos IEs…

En cuanto a IE9 en el uso, poco que decir que no digan las críticas que enlazaba al principio. Dos apuntes a destacar:

  • Aspecto minimalistra a matar. Por no poner elementos innecesarios, no ponen en pantalla ni su propio logo. Aunque, la verdad, creo que podrían usar la barra superior para algo… En Windows 7, incluso, cuando arrastras una URL a la barra de herramientas, usa el ‘favicon’ de turno tanto para dicha barra de tareas como de ‘branding’ del navegador al hacer clic en ella…
  • Esto es un navegador para la ‘common people’, que dirían Pulp o Manel… Accesorios y botones no absolutamente imprescindibles, los justos: dicen los datos de Microsoft que la gente apenas usa los favoritos y la mayoría de los menús, y los han escondido. De hecho, en el primer inicio, IE9 mira todos los complementos instalados (hasta los de la propia Microsoft), te dice cuánto tiempo le añaden al arranque y te sugiere, muy amablemente, que eliminarlos podría ser una buena idea… De la misma forma, y teniendo en cuenta que el ‘mindshare’ de desarrolladores de IE es mínimo, que nadie espere el soporte para plug-ins de Firefox o Chrome, que no va a llegar.

Y poco más que decir. En mis limitadísimas pruebas, un único bug (la tecla rápida ‘o’ en Reader no se comporta como debería, y eso puede llegar a ser muy molesto) y la sensación, como ya os decía, de que IE9 no está (y aún menos lo estará) ala altura de la competencia para el ‘power user’, pero que para el usuario ‘normal’ (si es que eso existe) es una alternativa perfectamente viable. Y eso es una gran noticia, de hecho.

PS Por cierto, que con la salida de IE9, Adobe ha aprovechado para sacar, finalmente, una versión del plug-in de Flash que, además de ser compatible con IE9, es de 64 bits, que ya tocaba (en beta, y también con 64 bits para el resto de Windows, y para Mac y Linux). Hay más detalles en Flash Player “Square” With IE9, Native 64-bit Support.

Se acerca IE9

Nota importante Por algún extraño motivo, a Google parece gustarle mucho esta vieja entrada sobre IE9. Si queréis una información mucho más actualizada, tenéis esta entrada: Ha llegado IE9 (beta).


Será por la manía de llevarle la contraria al mundo, pero, qué le vamos a hacer, me cae bien el equipo que hay detrás de Internet Explorer, aunque prefiero mantener a IE6, IE7 e IE8 a tanta distancia como me resulta posible, desde luego :-P. Pero un grupo de gente que se toma la molestia de enviar flores al funeral de IE6 tiene mi simpatía ganada casi desde el inicio.

Además, hoy Microsoft ha presentado la Platform Preview de Internet Explorer 9 y, si siguen trabajando en las líneas en que se han movido hasta ahora, podría ser que IE9 se convierta, finalmente, en un adversario digno para Firefox, Opera y Chrome (que, en ese orden, son ahora mis favoritos).

Algunas de las cosas que se han dicho hoy en la presentación y que me han interesado:

  • Siguen trabajando en que su motor de JavaScript sea comparable con los del «top three». Siguen siendo conscientes de que no son tan rápidos como la competencia, pero ahora parece que están en el fondo de la primera división, y no en tercera regional… Siguen haciendo hincapié, también, en que no todo es rendimiento JavaScript al mostrar una página. Afirman que no han optimizado para SunSpider y que, aún así, su rendimiento en la suite de tests ya está a menos de una «generación» de distancia de los líderes.
  • Insisten una y otra vez en lo que todos los diseñadores y desarrolladores quieren oir: un solo marcado para todos los navegadores [modernos, añado]. Ahora mismo están en un 55/100 en el test Acid3 (un test interesante pero discutible, por otra parte, porque es muy «de laboratorio») y parece ser que ya pasan «con honores» los tests de selectores CSS3. Y también se permiten el lujo de mostrar inconsistencias entre el rendering de Firefox y el de Chrome, lo que demuestra una cierta confianza en las posibilidades propias.
  • Comienzan a demostrar que la que debería ser su principal ventaja, el «monoplataforma», da sus frutos, haciendo uso, por ejemplo, de la decodificación hardware de vídeo en «notebooks». En general, parece que IE9 va a suponer otro empujón para el vídeo en HTML5 (subespecie H.264, todo parece indicar, puesto que son compatibles con YouTube). También han mostrado alguna de las demos del «test drive» en la que el rendimiento de HTML5 con Canvas y JavaScript de IE9 era algún que otro orden de magnitud mejor que el de Chrome (naturalmente, uno puede sospechar, y mucho, de los «tuneados» que se les hacen a estas demos, pero el código está a la vista de todos para su revisión).
  • Finalmente, parecen dispuestos a tender todos los puentes necesarios con la comunidad. En esa línea han publicado ya este primer ‘Platform Preview’ cuando está muy pero que muy lejos de tener estatus de beta (ahora mismo, por ejemplo, si se le pide que lance una ventana nueva… lo hace usando el navegador por defecto del sistema, sea cual sea, y el soporte de vídeo aún no es el que debería), y se han comprometido a actualizarla cada 8 semanas, aproximadamente.

No me jugaría un duro por el cumplimiento total de los estándares por parte de IE9. Y dudo más aún que pase de la cuarta plaza en la lista de mis navegadores favoritos. Pero, insisto: por un lado, el equipo que hay detrás de IE me cae bien y, además, sí estoy convencido que la lucha por la última posición se va a poner mucho más interesante que hasta ahora…

PS Para aquellos de vosotros para los que el inglés no sea un problema, en Channel 9 hay un vídeo muy interesante: Introducing the IE9 Developer Platform Preview. Y en MSDN hay ya una Internet Explorer Platform Preview Guide for Developers.

PPS Para los interesados, la última entrada del IEBlog es prácticamente una transcripción de la presentación de IE9.

Internet Explorer 8, beta 2

Ya está aquí… Desarrolladores web del mundo, pónganse las pilas, que llega la segunda beta de Internet Explorer 8. Y es esa segunda beta la que acostumbra a ser, por un lado, suficientemente estable como para instalársela con un mínimo de valor y, por el otro, se parece lo suficientemente a la versión que acabará saliendo en unos meses a la calle como definitiva (y que lo será uno o dos meses después, cuando se le hayan aplicado los primeros parches :-P). A pesar de ser un fan irredento de Firefox, creo que Explorer 7 no es mal navegador y, polémicas aparte, cuando el equipo de IE se pone las pilas más vale estar al tanto. Y aunque no fuera así, esa brutal máquina de distribución que se llama Windows no puede obviarse de ninguna de las maneras.

O sea que para todos los interesados:

  • El blog-anuncio (también lo comentan en el Windows Experience Blog). ¿Las novedades?
    • Mejoras en las pestañas.
    • Una ‘smart adress bar’ que recordará a casi todos la ‘awesome bar’ de Firefox pero que, al menos en las capturas, parece más trabajada gráficamente.
    • Aceleradores‘. Una especie de bookmarklets. Hay una galería en la que destacan cosas como compartir en Facebook o acceder a los mapas de Google y Yahoo!
    • InPrivate Browsing‘: permite navegar sin dejar trazas en el ordenador, ni en la historia, ni en los temporales ni en forma de cookies, ni nada.
    • Sugerencias de búsqueda integradas en el navegador (y muy visuales, con ‘snippets’ y ‘thumbnails’).
    • Filtros de seguridad.
    • Las dichosas (y en mi opinión poco útiles) web slices.

    Vamos, nada realmente destacado, pero útil para los que se niegan a usar un navegador diferente al que viene con el sistema operativo… Además, el inevitable (y siempre bienvenido) aumento de rendimiento, más respeto a los estándares (pasa el Acid Test 2, aunque no el 3, según Webmonkey) y, desde luego, la vista de compatibilidad que pone a IE8 en modo IE7, que se podrá activar y desactivar para cada sitio, pudiendo haber pestañas IE7 e IE8 en paralelo.

  • La página de descarga (12 megas y pico, la versión para Vista). Por momento el software solo está en inglés, japonés, chino simplificado y alemán. Más una guía de actualización para los que han estado «disfrutando» de la beta 1, información para «profesionales TIC», unas FAQs para empresas y el correspondiente Administration Kit, para crear, desplegar y administrar versiones personalizadas de la aplicación.

Pues habrá que probarlo…