Friday, August 21, 2009

¿Es Microsoft un obstáculo para la inovación?

El problema con el software de Microsoft es que tiene una o dos funciones que realmente patean traceros, perdón por el gringismo pero no encontré otra forma más adecuada de expresarlo. Estas funciones hacen que la vida honestamente sea más fácil. Sin embargo en el software de Microsoft está también lleno de carencias que para mi gusto son inexplicables considerando el tamaño de la compañia. Obviamente el Internet Explorer no es la excepción.

Cualquiera que desarrolle aplicaciones Web 2.0 y que haya visto la clase de cosas que se pueden hacer con el elemento canvas o que haya visitado http://www.chromeexperiments.com/ estará de acuerdo en que el hecho de que Microsoft no haya implenetado esta importantísima funcion en su versión 8 del Internet Explorer es algo que deja mucho que desear de la compañía y da aún más en que pensar con respecto a la visión de Microsoft de la Web, tal pareciera que Microsoft se esfuerza al máximo en bloquear la inovacion. El Internet Explorer sigue siendo hoy en día el único navegador que requiere necesariamente de plug-ins para desplagar gráficas sin tener que descargar imagenes del servidor, mientras que FireFox, Safari, Google Chrome e incluso Opera cuentan desde hace tiempo con motores gráficos que pueden desplegar imagenes impresinantes, de alta calidad, sin necesidad de desperdicar ancho de banda bajando archivos gigantescos del servidor y sin tener que instalar Flash ú otros plug-ins. No es insensato preguntarse: ¿Por una compañia del tamaño de Microsoft tiene del descaro de exponer al público un producto con una carencia tan severa?, no es necesario ser genio para darse cuenta de que esto limita seriamente las posiblidades creativas de los desarrolladores.

Otra deficiencia (histórica ya) del Internet Explorer es la limitación en el número máximo de conexiones por sevidor, esta limitación es precisamente la que le ha ganado la fama de ser un navegador lento, pero eso no es lo más grave, calquiera que haya desarrollado una aplicación Web, muy probablemente haya tenido la necesidad de mantener (al menos temporalmente) 2 conexiones abiertas. Dado que la limitiacion es por servidor y no por tab abierto, al abrir la aplicación en 2 o más tabs, es probable que se quede bloqueada. Esto es algo que definitivamente no ocurre con FireFox, Safarí o Google Chrome.

Nunca he podido entender cual es el motivo por el que todos los navegadores (que yo conozco) sin excepción, comparten cookies entre tabs, o incluso entre ventanas en algunas versiones de FireFox, ya que cuando se utilizan soluciones del lado del servidor para controlar la sesión del usuario, esta "funcionalidad" provoca resultados indeseables. A fin de cuentas sigue siendo posible lidiar con el problema adecuadamente desde el mismo servidor reemplaznado los cookies por otro mecanismo de control, sin embargo tratandose del Inernet Explorer las soluciones se convierten en problemas, ya que dada la limitación en el número máximo de conexiones, si la aplicación utiliza un server push, es inevitable que se congele en algún momento, si el usuario abre dos o más sesiones en diferentes tabs. De modo que el único navegador que no es capaz de garantizar seguridad al abrir la misma aplicación en dos tabs distintos es el Internet Explorer.

Hay sin exagerar una docena de problemas como estos, que afectan únicame al Internet Explorer y que hacen que la vida del desarrollador de repente se convierta en un infierno, sin embargo, el hecho de que Internet Explorer tenga un depurador que se integra transparentemente con el Visual Studio, es una función que veraderamente patea traseros y la razón prinicipal por la que utilizo el Internet Explorer con mayor frecuencia que Google Chrome, que para mi gusto es el de mejor calidad.