El mito del navegador moderno

El artículo The myth of the “modern browser” critica el concepto del “navegador moderno”: hoy un navegador puede ser moderno, pero en poco tiempo será antiguo.

Muy interesante el siguiente párrafo, que se lo repito una y otra vez desde hace años a mis alumnos:

The web is full of outdated tutorials and bad advice and the largest part of those happened because a snapshot of browser functionality at that time was considered state of the art and “modern browser” stuff. Instead of using the feature as the test for the code writers explained that you need a certain browser version. This is limiting and confusing.

Y también es muy interesante esta previsión del futuro cercano:

In a discussion with friends the other day at Google we all agreed that in a not far away future all browsers should update in a silent fashion. End users should always have the newest browser without having to work on it and thus get new features when they are ready and hotfixes and security fixes in the fastest way possible. End users do not care about feature support, they just benefit once it is available and wrapped in a sensible UX.

Cambio de navegador en Google Chrome

Hace unos días hablé sobre la problemática de mantener la compatibilidad de un sitio web con navegadores antiguos. Comentaba que no encontraba ninguna razón de peso para que la gente se actualizase a una nueva versión de un navegador. La única razón de peso que veo justificable es cuando en un entorno corporativo se necesita mantener un navegador antiguo en los ordenadores de los usuarios para poder acceder a una aplicaciones web antiguas que no funcionan bien con los navegadores modernos. Pero Google ha puesto solución a este problema.

En la página Chrome for Business, se explica que Google ha desarrollado una extensión llamada Compatibilidad con navegadores antiguos que permite estar navegando con Google Chrome y cambiar de forma automática a un navegador antiguo cuando se detecte un sitio web que necesite un navegador antiguo (no hay ninguna magia: se tiene que definir a mano mediante unas listas).

¿Por qué los navegadores web muestran páginas web que están mal hechas?

Respuesta “no políticamente correcta” para que la entienda todo el mundo: porque hay mucho capullo suelto haciendo páginas web que no tiene ni puta idea de lo que hace (y lo grave no es eso, lo realmente grave es que se creen que saben). Si los navegadores web no visualizasen las páginas web que están mal hechas, no se podría navegar por el 99,99% de los sitios web.

Respuesta ingenieril: porque los navegadores aplican la llamada ley de Postel o principio de robustez: “Be conservative in what you do, be liberal in what you accept from others” (Sé conservador en lo que haces, se liberal en lo que aceptas de otros). Este principio o ley, que se puede aplicar en múltiples contextos (comunicación a través de una red, comunicación entre programas, comunicación entre funciones dentro de un mismo programa o incluso la comunicación entre las personas) quiere decir que cuando hagas algo, debes ajustarte completamente a la especificación, es decir, lo tienes que hacer perfectamente bien, pero cuando recibas algo, tienes que estar preparado para aceptarlo si tiene sentido y se entiende, aunque no se ajuste a la especificación.

Debido a ello, debido a que los navegadores tienen que estar preparados para aceptar casi cualquier cosa, se han convertido en programas muy complejos.

Más información: Why should I validate my HTML pages?

Consulta sobre navegadores antiguos

Hace unos días recibí un correo en el que se me planteaban varias cosas, y una muy interesante era el soporte de los navegadores antiguos en las nuevas páginas web:

Otra cuestión, hubo un ejercicio que mi hermano me paso para que le revisara porque no no le  funcionaba en ie inferior a 9, el caso es que me he puesto a ver una solución al problema y he encontrado una solución que no se si daras por valida,basicamente es quitar los media screen de los link , añadir estas dos lineas de codigo
<!– html5.js for IE less than 9 –>
<!–[if lt IE 9]>
<script src=”http://html5shim.googlecode.com/svn/trunk/html5.js”></script>
<![endif]–>

<!– css3-mediaqueries.js for IE less than 9 –>
<!–[if lt IE 9]>
<script src=”http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js”></script>
<![endif]–>

Mi respuesta fue:

Lo que me has mandado es un “hack” para que un código funcione en navegadores antiguos. Aunque hay gente que defiende estas soluciones, para mí tienen sentido hasta un límite. El seguir dando soporte a navegadores antiguos lo único que hace es que la gente siga usando esos navegadores antiguos. Existiendo numerosas alternativas gratuitas, no encuentro ninguna razón de peso para que alguien siga usando Internet Explorer 6, 7, 8, o incluso 9. Son navegadores muy malos, que lo único que hacen es detener el avance de la Web.

Sólo se me ocurren dos situaciones en las que tiene sentido seguir usando esos navegadores, y en ambos casos, no creo que las razones sean de peso:

1. Un ordenador antiguo con un sistema operativo antiguo. Seguramente se podrá encontrar alguna alternativa a Internet Explorer que funcione en ese ordenador y que sea mejor que Internet Explorer. Por poner un ejemplo concreto, Mozilla Firefox 20, la última versión funciona en Windows XP. Alguien podría decir “yo es que tengo Windows 95”, pero entonces no vas a tener un problema sólo con Mozilla Firefox, tienes un problema con todo el software que quieras utilizar.

2. Un ordenador en un entorno corporativo (una empresa, la administración pública), donde está muy controlado el tipo de software que se puede instalar y se sigue usando Internet Explorer 6 (7, 8, 9) por razones de seguridad o de compatibilidad con aplicaciones internas. En primer lugar, lo de la “seguridad” es una falacia: cuanto más antiguo un navegador, más problemas de seguridad presenta. Por otro lado, el tema de la compatibilidad justo se origina por utilizar navegadores “malos”: las páginas están mal hechas para que funcionen bien con navegadores malos, por lo que con navegadores buenos funcionan mal. En algún momento se debe romper este círculo vicioso que sólo te lleva a seguir haciendo las cosas mal. Por otro lado, si es un ordenador de una empresa, ¿qué hace la gente navegando por Internet en su horario de trabajo? Pero si navegar por Internet es parte de su trabajo (yo lo hago, para mí Internet es una herramienta de trabajo), entonces que doten al ordenador con el software apropiado para navegar por la Web actual.

En cualquier caso, es bueno saber que existen esos “trucos”, pero es mejor no abusar de ellos.

20 años de Mosaic

Hace 20 años, Marc Andreessen anunciaba la publicación de NCSA Mosaic 1.0 para X Window System. A partir de este momento, la Web empezó a hacerse muy popular, ya que Mosaic fue el primer navegador web gráfico que estuvo disponible para diferentes sistemas operativos.

En mis vídeos Historia de los navegadores web (parte 1):

[kml_flashembed movie=”http://www.youtube.com/v/v_466xI3bZ8″ width=”560″ height=”315″ wmode=”transparent” /]

e Historia de los navegadores web (parte 2):

[kml_flashembed movie=”http://www.youtube.com/v/L5kM3GKrPa4″ width=”560″ height=”315″ wmode=”transparent” /]

puedes aprender varias cosas sobre la historia de los navegadores web y sobre Mosaic.

También te recomiendo la lectura del artículo April 22, 1993: Mosaic Browser Lights Up Web With Color, Creativity, y si quieres, te lo puedes descargar y probar por ti mismo.

¿Hasta cuándo hay que dar soporte para los navegadores antiguos?

Our general advice is to wait five to six years after the launch of a new browser version before you stop caring about the previous one. For example, IE 5 was launched in 1999, so you could safely ignore version 4 in 2004. IE 6 was launched in 2001, so you can probably start ignoring IE 5 in 2007. IE 7 was introduced in 2006, so you probably will need to support IE until 2012. (The five-to-six years rule is useful for long-term planning: to actually make the decision to stop supporting a browser, check your server logs to see what percentage of your current customers employs that version.)

Traducción:

Nuestra recomendación general es que hay que esperar entre cinco y seis años a partir del lanzamiento de una nueva versión del navegador antes de dejar de preocuparse por la anterior. Por ejemplo, IE 5 fue lanzado en 1999, por lo que podías ignorar con seguridad la versión 4 en 2004. IE 6 fue lanzado en 2001, por lo que probablemente podrás empezar a ignorar IE 5 en 2007. IE 7 se introdujo en 2006, por lo que probablemente lo tendrás que soportar hasta 2012. (La regla de los cinco a seis años, es útil para la planificación a largo plazo: en realidad, para tomar la decisión de dejar de soportar un navegador, mejor comprueba los registros del servidor para ver qué porcentaje de tus clientes actuales emplea esa versión.)

Prioritizing Web Usability. Jakob Nielsen, Hoa Loranger. New Riders, 2006.

Estadísticas de uso de navegadores

El año 2012 pasará a la historia por ser el año en el que Microsoft Internet Explorer dejó de ser el navegador más utilizado.

En la Wikipedia podemos encontrar el artículo Usage share of web browsers en el que se recopilan estadísticas de uso de los navegadores.

A continuación, una tabla con las estadísticas de uso del mes de mayo provenientes de varias fuentes. Según la fuente, el navegador más usado es Google Chrome o Microsoft Internet Explorer.