jueves, 16 de octubre de 2008

Una nota sobre los navegadores

Publicado a las 10:15 p.m.

Browsers
Quisiera tomarme un momento para escribir sobre los navegadores web. Si no usás Internet Explorer y utilizás una versión reciente de tu navegador, probablemente este post no sea para vos.

Introducción


La mayoría de las personas utilizan el primer navegador que les llega con la computadora y, gracias a que la may mayoría de las computadoras vienen con Windows, ese navegador es Internet Explorer. Dependiendo de ciertos factores como la versión del sistema y si el usuario mantiene actualizados o no sus componentes, probablemente utilizará Internet Explorer 6 (la versión que viene con Windows XP), o Internet Explorer 7 (la versión estable más reciente, que viene con Windows Vista).

Internet Explorer 6 es un navegador que fue lanzado poco tiempo antes que Windows XP, particularmente el 27 de Agosto de 2001. Para su época, Internet Explorer era probablemente el navegador más avanzado disponible, y además, gratuito (para los usuarios de Windows). Sin embargo, no fue sino hasta varios años después, alrededor de 2005, que Microsoft empezó a preparar la siguiente iteración de su producto, la cual recién estuvo disponible para el público en general en Octubre de 2007 (o sea, hace aproximadamente un año).

Las estadísticas de visitas en metroBlog, concurrentemente con las de la mayoría de los sitios de interés general de latinoamérica, muestran que apoximadamente un 80% de las visitas utilizan Internet Explorer, y de este porcentaje, un 60% utiliza la versión 7 y un 40% la versión 6. Esto significa que aproximadamente un 30% de las visitas de metroBlog siguen utilizando un navegador que tiene 7 años de antigüedad.

¿Cuál es el problema?


Internet Explorer 6 ha estado con nosotros durante tanto tiempo que no sólo hubo tiempo de sobra para que los hackers explotaran todas sus vulnerabilidades, sino que muy rápidamente fueron descubiertos cuantiosos problemas con su funcionalidad primordial: mostrar páginas web.

Existen numerosos sitios documentando los bugs de IE 6. Este sitio, por ejemplo, enumera 119 bugs. IE 6 tiene bugs de todo tipo: desde problemas de renderizado que hacen que los elementos de las páginas se muestran de forma inconsistente según el contexto o que objetos directamente desaparezcan, hasta problemas de memory leak (lo que produce que la aplicación funcione cada vez más lento y ocupe cada vez más espacio en memoria).

Explorer Exposed! tiene demostraciones de los bugs más comunes, incluyendo el famosísimo Peekaboo (el que hace que el contenido desaparezca).

Semejante cantidad de bugs ha hecho que la mayoría los desarrolladores profesionales de sitios web del mundo odien a IE 6, debido a que la mayor parte del tiempo de trabajo se pierde en encontrar formas de solventar los errores del navegador, varios de los cuales siguen estando en versiones más nuevas, como Internet Explorer 7 (que incluso trae varios nuevos).

El otro problema que se presenta es que Microsoft no muestra voluntad suficiente de acompañar la evolución tecnológica de la web. Por citar un ejemplo, en la próxima actualización de metroBlog los usuarios de Firefox 3, Safari 3 y Google Chrome verán muchos bordes redondeados en el sitio, pero éstos se verán rectangulares en Internet Explorer debido a que simplemente no los soporta.

La tendencia apunta a que los desarrolladores iremos incentivando cada vez más el cambio a mejores navegadores, utilizando tecnologías que los otros navegadores no hayan implementado.

¿Cuál es la solución?


La única solución para tener la mejor experiencia en internet es utilizar otro navegador. Existen muchas alternativas, todas gratuitas y para todos los gustos. Mis recomendados son:
  • Firefox [web] - El navegador que usamos los que desarrollamos metroBlog.
    • Pros: Rápido y eficiente. Muchísimas extensiones para hacer lo que quieras. Open Source.
    • Contras: Lento para iniciarse.
  • Safari [web] - El navegador de Apple
    • Pros: Rápido. Utiliza el motor WebKit, el más compatible con las nuevas tecnologías.
    • Contras: Algo lento para iniciarse, el alisado de tipografías estilo OSX puede no gustarle a todos, un poco limitado en características.
  • Google Chrome [web]
    • Pros: Extremadamente veloz para iniciarse y navegar, aprovecha los procesadores de varios núcleos. El primer navegador en implementar compilación JIT para Javascript, lo que lo hace volar en aplicaciones web como Gmail. Utiliza el motor WebKit, el más compatible con las nuevas tecnologías. Open Source.
    • Contras: Está en estado beta, por lo que aún puede fallar cada tanto.

Escrito originariamente para el blog de desarrollo de metroBlog.

6 comentarios:

Anónimo dijo...
17/10/08 12:52 a.m.

Yo antes que safari y chrome recomendaría Opera. Es tan rápido cómo Firefox, y aunque no soporta extensiones la mayoría de las extensiones de firefox están creadas para copiar funcionalidad que ya viene en Opera de fabrica (y soporta scripts del tipo de greasemonkey).
Otra contra del Chrome por ser beta ademas de trabarse de vez en cuando es que todavía es bastante inseguro. Y Apple ya demostró varias veces que no le importa en lo más mínimo la seguridad, así que no me da mucha confianza usar su browser.

Pablo Borowicz dijo...
17/10/08 4:35 a.m.

El problema con Opera en este caso es que todavía no implementa la propiedad CSS3 border-radius (la que permite los bordes redondeados), así que para este ejemplo sería contradictorio recomendarlo :P

En cuanto a la seguridad y Apple, no tiene necesariamente que ver con Chrome, debido a que tanto WebKit (si bien está bancado monetariamente por Apple) como Chromium (la base de Chrome), son open source, por lo que la comunidad puede ayudar a corregir las vulnerabilidades que aparezcan de la misma forma que en Firefox.

De hecho me hiciste pensar en escribir un post con técnicas básicas de seguridad para n00bs.

Anónimo dijo...
17/10/08 6:29 a.m.

Si, no me explique bien. Sobre lo de Apple y la seguridad me refería a Safari (browser que evito por esa razon y por la política de Apple de engañar a los usuarios para que lo instalen). Los problemas de seguridad de Chrome no son de Webkit, sino simplemente de bugs que tiene por ser tan nuevo (y algunos horrores de diseño de parte de Google)

Y sobre lo de que ser open source hace que la comunidad ayude, en mi opinión es un mito. Ya hay numerosos casos de aplicaciones Open Source muy populares que tienen agujeros se seguirdad muy grosos por años, y los terminan encontrando por casualidad (vnc por ejemplo)

Pablo Borowicz dijo...
17/10/08 3:22 p.m.

No sé si habrán aparecido otros agujeros de seguridad en Chrome, pero del único que estoy enterado fue descubierto el día después que salió, y fue por un agujero en WebKit que ya había sido parcheado en la última revisión.
En cuanto a bugs de la aplicación en sí, estoy de acuerdo que existen y varios: yo mismo reporté uno que produce un crash to desktop si querés agregar una palabra al diccionario :P

Pero lo que quiero decir con las ventajas de que sea Open Source, no es que la comunidad detecte las vulnerabilidades, sino que no depende de la "bondad" de la corporación de turno (ahem-Microsoft-ahem-Apple) por corregirlas, sino que cualquiera puede mandar el parche y ya.

Anónimo dijo...
17/10/08 4:06 p.m.

Mas allá de que no me parece justificable lanzar un explorador con vulnerabilidades conocidas (como mínimo tenes que mirar el changelog de Webkit y enterarte de lo que pasó, esto solo prueba que la seguridad no es una de sus prioridades), me preocupan mas los problemas de diseño como la forma en que te baja sin consentimiento cualquier archivo que una pagina quiera, a un click de distancia de ejecutarlo! Y el botón que uno apretaría para ver si hay una opción para borrarlo, o ir a la carpeta, es sólo unos pixeles de ancho y está pegado al gran boton ejecutador de trojanos. Es como si los de google intentaran que te caguen la computadora.

Pablo Borowicz dijo...
17/10/08 8:11 p.m.

Ese es un buen punto. Me imagino que para la próxima versión retocarán eso, porque realmente es muy choto como maneja los downloads sin preguntar nada.