Google Chrome: "Mucho ruído y pocas nueces"
A primera vista, puede parecer por el título que este post va a constituir un elemento integrante más de la corriente sensacionalista que durante las últimas 48 horas ha circulado por la red de redes. Creo que todos hemos sido testigos de ello y estaréis de acuerdo conmigo en que la gran mayoría de dichos artículos de opinión se pueden clasificar en dos grandes grupos: alabanzas y críticas, sin término medio, cara y cruz, cielo e infierno aplicados a la Informática Moderna.
Me gustaría en primer lugar legitimar estas opiniones siempre y cuando provengan de juicios bien formados y basados en un análisis coherente en base a ciertas premisas. Ahora bien, paradójicamente, incluso los análisis más equilibrados derivan irremediablemente hoy en día en conclusiones un tanto extremistas para según qué temas. No obstante, me concedo la licencia de parafrasear a un sabio amigo mío y decir que "Nunca seremos capaces de ponernos de acuerdo para concluir si la cebra es un animal de color blanco y rayas negras, o de color negro y rayas blancas".
Antes de comenzar con mi análisis, me gustaría que todos tomáramos perspectiva amplia de lo que ha sido (y sigue siendo) este proceso en torno al navegador web Google Chrome Beta: Software Testing Masivo. El formato en cursiva del sintagma "navegador web" es un matiz sobre el cual volveré al concluir mi reflexión.
Como digo, se ha producido un proceso de Software Testing Masivo, concretamente de una serie de pruebas de Caja Negra por parte de un conjunto de beta testers. Un conjunto muy variopinto de beta testers (y quizá esto haya sido un error de Google, quien debería haber lanzado primero el navegador en modo de beta testing cerrado): desarrolladores web, desarrolladores de aplicaciones para escritorio, profesionales de distintos ecosistemas dentro del amplio mundo Informático y, también, usuarios que no necesariamente gozan de una formación técnica. Este hecho genera que, en ocasiones, la elección de casos de prueba no sea lo suficientemente acertada para poder evaluar cualitativamente un producto y compararlo con otros existentes ya que tendemos a realizar juicios parciales e incluso ofrecer conclusiones no contrastadas. No debemos olvidar que a la hora de evaluar software, no sólo es importante el hecho de encontrar un bug, sino también la capacidad que tengamos para explicar dicho bug de forma clara, concisa y educada (quizá recordaréis una frase que suelo aplicar mucho en este contexto y es la de que "a nadie le gusta que le digan que su hijo es feo, o tonto"). Por último, también es de vital importancia que seamos capaces de proporcionar información para reproducir el fallo o, al menos, llevemos a cabo la tarea de aislar el problema ya que en muchos casos un fallo es la desafortunada combinación de varias incidencias, y no siempre todas asociadas a un mismo producto, con lo cual es injusto culpar a quien no es el único culpable.
Dicho todo esto, paso a describiros cuál ha sido mi proceso de pruebas sobre Google Chrome durante unas 12h de análisis exhaustivo real más otras 6-8h de investigación y lectura de opiniones en todas direcciones: técnicas, de usuario y de mercado.

Análisis técnico:
De las novedades técnicas incorporadas por Google Chrome, me gustaría reseñar tres de ellas: multiprocesamiento para todos los objetos web, nuevo motor de Javascript (bautizado V8) y uso de Webkit como motor de renderizado.
Multiprocesamiento para todos los objetos web: Es a priori una opción bastante interesante con vistas a incrementar la robustez del navegador en conjunto. Es una opción implementada también en Internet Explorer 8. Consiste en crear un proceso diferente para cada objeto web (pestaña, plug-in...) de modo que los fallos en cada uno de ellos puedan aislarse del resto y no haya que reiniciar la sesión completa. Esto supone un incremento en el coste computacional global, pero ofrece una ganancia en otros aspectos. Sobre esta característica de Chrome ya han empezado a surgir algunos fallos.
El motor de Javascript V8: La principal ventaja aportada por este nuevo motor (implementado en C++) radica en la velocidad. ¿A qué se debe esta sustancial mejora en la velocidad? La diferencia está en que este nuevo motor de Javascript compila el código mientras que hasta ahora la opción escogida había sido la de interpretar el código. Para aquellos poco familiarizados con esta diferencia, recomiendo leer el siguiente artículo: Compiler VS Interpreter
Uso de Webkit: El uso del motor Webkit, usado en otros navegadores como por ejemplo Safari, viene a redundar en una ganancia en la velocidad de renderizado. Si bien, es un tanto discutible la adaptación de este motor a Chrome, puesto que la versión empleada para ello contiene algún que otro agujero de seguridad. Esto es criticable y, a la vez, comprensible. A la hora de crear productos dependientes de otros, se puede producir un desfase entre versiones que en ocasiones provoca retrasos y en otras provoca situaciones como esta. Otro ejemplo similar lo hemos vivido recientemente con el lanzamiento de SQL Server 2008, cuya versión Developer requería de VS 2008 SP1, producto que fue lanzado una semana después. Como digo, estas situaciones son comprensibles. Veamos cómo se repone Google Chrome ante esta vulnerabilidad y algunas otras que ya están apareciendo...
Análisis como usuario:
Un análisis desde el punto de vista de usuario de un producto siempre es algo subjetivo, valga la redundancia. Usuarios diferentes tienen expectativas diferentes e imponen requerimientos diferentes a un mismo producto. Por tanto, evaluaré tan sólo aquellos factores que para mí como usuario resultan importantes en un navegador web (insisto en el uso de la cursiva): usabilidad, latencia de respuesta (al abrir una nueva ventana, una nueva pestaña y en la carga de una página web), seguridad, capacidad para satisfacer necesidades en base a mi propio "perfil operacional", modularidad y capacidad de personalización.
En cuanto a usabilidad, pienso que el diseño de UI es excesivamente minimalista. Algunas cosas que he echado de menos en el uso de Chrome:
- Botón para desplegar las direcciones en la barra de direcciones. No lo busques, no está... Vale que tenga una serie de opciones al abrir un nuevo tab (opciones que por otra parte podrían ser discutibles, pero no voy a entrar a ello), pero para navegar a otra página web en un tab ya abierto debo pulsar alguna tecla en mi teclado de forma obligatoria, ¿por qué?. No molestaba tanto esa pequeña flecha para desplegar direcciones...
- Opción de guardar las descargas. Esta opción está, pero bastante escondida. Por defecto no te da la opción de seleccionar el destino de tu descarga (debería permitirlo por defecto, puesto que ya sabemos que uno de los principios básicos de la usabilidad consiste en hacer aquello que menos consecuencias negativas o más opciones dé al usuario). Para encontrar esta opción, deberemos ir al Menú Opciones y allí encuentro tres solapas bastante indicativas: Básicas - Específicas - Avanzadas. Todo usuario sabe que la opción para las descargas no es ni básica ni avanzada, por tanto, es obvio que deberemos acudir a la pestaña central...
- Ausencia de barra de estado: Durante la carga de una página, no hay ninguna posibilidad de visualizar en qué estado se encuentra dicha carga. No hay tampoco barras de progreso ni similares...
Por decir algo positivo respecto a la usabilidad, me gusta el efecto de drag & drop de pestañas así como el visor de código fuente con coloreado sintáctico.
En cuanto a la latencia de respuesta:
- Carga de una web (siempre y cuando no sea implementada en Silverlight): Bastante rápida. Punto positivo.
- Creación de nuevas ventanas y/o tabs: Diferencias poco considerables con respecto a otros navegadores (IE8 y FF2).
La seguridad parece que va a ser uno de los mayores caballos de batalla a los que deba enfrentarse Chrome. Existen ya unos cuantos fallos de seguridad de bastante importancia apenas 24h después del lanzamiento. Esperemos que lo solventen pronto.
Respecto a mi perfil operacional, por no extendernos demasiado, comentar que suelo frecuentar páginas implementadas en Silverlight. En principio, Chrome está basado en Webkit y existe un plugin de Silverlight para Webkit. No obstante, no funciona para el streaming de video (al menos en los dos PC's donde he podido probarlo). Si vais a Channel 9 y tratáis de reproducir un video veréis que:
- El control Player ha desaparecido: No disponemos de botones de Play, Pausa, Maximizar Reproductor...
- Al pinchar sobre la imagen del vídeo que ocupa el área del reproductor, lo que hace es abrir una nueva pestaña donde Quicktime trata de reproducir la versión MP4 del archivo. He llegado a esperar hasta 5 minutos para cargar un vídeo de unos 3 MB, el cual no debería tardar más de 1m30seg y no he conseguido visualizarlo.
Desconozco el motivo, pero probablemente la causa sea el uso de una versión antigua de Webkit.
Respecto a modularidad y capacidad de personalización, por ahora la interfaz no es personalizable ni tampoco hay posibilidad de instalar plugins, al menos por ahora.
Análisis de mercado:
Llegados a este punto, mucha gente se ha cuestionado acerca de la capacidad de Chrome para desplazar en el mercado a otros navegadores, fundamentalmente a los tres navegadores más extendidos actualmente (Microsoft Internet Explorer, Mozilla Firefox y Opera) y especialmente a Internet Explorer por ser el más extendido por abrumadora mayoría y también por el hecho de que la rivalidad dual siempre ha resultado más atractiva para el ser humano: desde los tiempos de Caín y Abel, la Historia ha separado siempre en dos bandos a sus protagonistas, como si de un perfecto sistema binario se tratara.
¿Hay sitio en el mercado para otro navegador web? Mi respuesta es NO, o al menos no para un navegador web que pueda gozar de una posición protagonista en dicho mercado. Creo que tanto Internet Explorer como Mozilla Firefox han alcanzado un punto en el cual la guerra de los navegadores va a tener tan sólo estos dos grandes protagonistas, mientras que el resto de alternativas deberán conformarse con la lucha por un porcentaje residual, al menos durante los próximos 2 años. Esta reflexión viene determinada no sólo por mis impresiones tras el uso de al menos cuatro alternativas sino también por la consideración de los principios de la Teoría Aplicada de Juegos.
Conclusiones:
Ahora bien, ¿se trata Google Chrome de un navegador web? En mi opinión, NO. Pese a que permite navegar por páginas web, pienso que las características de Chrome se adaptan más a lo que yo denominaría un cliente de cloud services de Google. Si recapitulamos las principales novedades, observaremos que aquellas cuyos resultados resultan más satisfactorios en nuestras pruebas o más interesantes a priori (gestión de procesos para cada objeto web, renderizado y motor de Javascript) son de vital importancia para un perfil operacional muy concreto: uso de servicios tales como Google Docs, o similares, caracterizados por tratarse de sesiones relativamente largas en el navegador, con ciertas necesidades de renderizado no demasiado ligadas al manejo de archivos multimedia (recordemos el asuntillo de Silverlight) y en las que la gestión de memoria a largo plazo se convierte en una cuestión prioritaria para evitar que nuestros procesos asociados al navegador crezcan de una manera voraz y se apoderen de todos los recursos de nuestro equipo.
Aceptemos pues la hipótesis de que Google Chrome es otra cosa... ¿Es el Sistema Operativo del futuro? Pienso que tampoco es así, ya que a pesar de que muestra un primer y básico esbozo sobre lo que podría llegar a ser un Gestor de Tareas, deja muchas cuestiones abiertas tales como el almacenamiento, la gestión de dispositivos, la sincronización, la recuperación ante fallos, etc.
Dejémoslo en un término intermedio, y tal cual dije antes, asumamos que se trata de un cliente de cloud services de Google. ¿Se trata de un cliente de cloud services apropiado? Cierto es que optimiza bastante el acceso a estos servicios mediante las técnicas implementadas con el motor V8 de Javascript y el uso de Webkit, no obstante, la velocidad de acceso a un servicio no es el único factor importante para el usuario de cloud services. Existen otras tantas cuestiones como la monitorización, sincronización, interoperabilidad con otros servicios, clientes ligeros específicos, etc. que pienso que han quedado un tanto descuidadas por Google, a pesar de tratarse de una mera "conversación" entre sus propios servicios, lo cual a priori acota mucho el espacio del problema y, por tanto, reduce su complejidad considerablemente.
Por todo ello, creo que en este caso Google se ha precipitado con el lanzamiento de Chrome. Quizá no es únicamente un problema de calidad en el producto, sino de una incongruencia considerable entre las expectativas que trataron de crear en el famoso cómic al respecto y las características reales del producto a estas alturas. ¿El motivo? Hay quien comenta que el lanzamiento de Chrome se ha visto precipitado debido al relativo éxito cosechado hasta ahora por Internet Explorer 8, creo que todo es argumentable.
Mi veredicto final: Tras mucho hablar, tras un largo post, y tras muchos artículos y opiniones de todo tipo, ahora mismo Google Chrome me genera más interrogantes que respuestas, algo que he tratado de reflejar en ese título: "mucho ruído y pocas nueces". Lo cual no quita para que lo considere algo interesante (de ahí que haya dedicado unas cuantas horas a este estudio sin ninguna otra motivación que el afán de conocimiento y el deseo de compartirlo aquí) y en algunos aspectos innovador, aunque tal vez no está claro lo que quiere llegar a ser, por los motivos expuestos anteriormente.
Espero que por el bien de todos (usuarios, profesionales, empresas...) seamos capaces todos (usuarios, profesionales, empresas...) de valorar en su justa medida los aciertos y errores cometidos tanto en este producto como en su lanzamiento. Deseo ver un producto realmente competitivo en esta dirección por parte de Google u otras empresas, además de Microsoft, ya que sólo mediante una competencia exigente y sana podremos construir el futuro tecnológico.
De igual modo opino que, y esto ya es una especie de pronóstico de cosecha propia, el futuro de los cloud services está más cercano a lo que Office Live, Internet Explorer, Live Mesh, así como otra serie de tecnologías orientadas al desarrollo tales como OSLO (BizTalk, .Net v4, etc) o Zurich nos pueden llegar a ofrecer si se combinan de una manera coherente, cosa que (y esto también es un juicio personal) está sucediendo de forma quizá demasiado gradual pero, afortunadamente, firme y acertada. Sobre esta última reflexión no voy a extenderme, puesto que daría para varios posts bastante más extensos que éste, lo cual es bastante.
Veremos cómo evoluciona todo esto... :-)