Llega la semana de Visual Studio Team System 2010: The Future is Here!!

Por fin ha llegado la semana del 29 de Septiembre al 3 de Octubre en la cual tendremos muchas (y muy buenas) novedades acerca de lo que llegará con la próxima versión de Visual Studio Team System, cuyo codename es Visual Studio “10”.

La primera de las novedades que estamos descubriendo esta semana radica en el nombre definitivo y oficial para esta versión, el cual se ha hecho público hoy mismo y será Visual Studio Team System 2010. Se espera que la versión final del producto sea lanzada a finales de 2009, o principios de 2010, respetando de este modo el ciclo bi-anual que aproximadamente ha existido entre versiones anteriores del producto. Aunque para eso aún falta mucho, por lo que por ahora mejor hablemos de las novedades que incorporará… A ver qué nos dice la bolita…

image

Respecto a las novedades para esta versión debemos comentar que, a diferencia de lo ocurrido en versiones previas del IDE, las vamos a ir conociendo de forma gradual (así se va creando mayor expectación, jeje). De este modo, durante los próximos 5 días irán apareciendo en Channel 9 diferentes videos analizando (y mostrando) las principales novedades de la próxima versión del producto. En el primer vídeo de la semana, podemos encontrar a Norman Guadagno, Director del equipo de Product Management, hablar acerca de las novedades incorporadas en la versión Team Architect del producto, entre las que cabe citar los nuevos diseñadores visuales y el soporte para UML, nuevas funcionalidades para ayudarnos a mejorar la calidad de nuestro software como por ejemplo la depuración basada en datos históricos… También comentará cómo la versión Team Database Edition se va a unificar con la versión Team Developer, entre otras cosas muy interesantes.

¿Qué mas novedades encontraremos en VS Team System 2010?

Os recomiendo seguir muy de cerca la web de Channel 9 durante los próximos días para conocer estas novedades de primera mano, para ello se ha habilitado una sección especial: http://channel9.msdn.com/VisualStudio

channel9

No obstante, si no podéis esperar un día más para ello, aquí os dejo algunas cosas más de propina…

  • Democratización de ALM:
    1. Posibilidad de modificar la lógica de nuestras aplicaciones a través de herramientas de modelado. Para más información —> OSLO
    2. Explorador de arquitecturas.

archexplorer

  • Herramientas para testers:
    1. Herramientas para “combatir” bugs no reproducibles.
    2. Estimaciones sobre el impacto de nuestros casos de prueba. Cada vez que realicemos un cambio sobre nuestro código fuente, este módulo nos informará acerca de qué casos de prueba se encargan de dar cobertura sobre el código modificado (y por tanto, son aquellos que deberemos ejecutar como tests de regresión para comprobar que efectivamente los cambios realizados son correctos)

image

testtools

Más novedades y rumores…

A pesar de que no provienen de fuentes oficiales, se rumorea que en Visual Studio 2010, que vendrá prácticamente de la mano de .Net 4.0, también podremos encontrar algunas de las siguientes novedades:

  • Nuevo editor de código y texto basado en WPF.
  • Apariencia más “moderna” y atractiva, basada 100% en WPF.
  • Visual Studio 2010 ocupará menos tanto espacio en disco (y también tendrá menos líneas de código) que Visual Studio 2008.
  • El IDE será más estable y modular, de modo que se fomentará su extensibilidad más si cabe.
  • Visual Studio Tools for Applications (VSTA) usadas para macros, además de otras mejoras de extensibilidad para el desarrollador.
  • Posibilidad de crear más addins con código manejado.
  • Soporte extendido para Parallel Extensions y multiprocesamiento (parte del futuro .net 4.0)

Por el momento eso es todo, seguid de cerca Channel 9 durante toda esta semana y…

Enjoy, the future is here!

Materiales de la charla/HOL “WCF Step By Step” en Gusenet

Podéis descargar de la siguiente carpeta de Windows Live Skydrive los materiales (presentación en formato .ppt y hands-on-lab en formato .doc) de la charla de este mes en Gusenet.

Para ahorrar trabajo a aquellos que sólo quieran ver de qué va, ésta fue la agenda:

  1. Introducción a WCF:
    1. Contexto histórico
    2. Principios básicos
  2. Implementación de un servicio
  3. Realización de pruebas del servicio
    1. Pruebas Unitarias
    2. Pruebas de Integración
  4. Consumición del servicio desde un cliente WPF
    1. Pruebas de Aceptación (== Pruebas del Sistema)
  5. Seguridad en WCF
  6. Monitorización y administración de servicios
  7. Interoperabilidad en WCF
  8. Novedades para WCF en .Net fx 3.5 SP1

¡Muchas gracias a todos!

Mis obras favoritas sobre Software Testing

Una pregunta que mucha gente me ha venido realizando en los últimos meses, bien a través de conversaciones directas, correos electrónicos, mensajes privados o comentarios a través del blog trata acerca de qué libros, qué recursos o fuentes de información acerca de Software Testing les podría recomendar.

En primer lugar, me gustaría dejar claro que no me considero en absoluto un gurú o una referencia en esta disciplina, por tanto la pregunta no deja de pillarme un poco por sorpresa. En este post no voy a ofrecer ninguna verdad absoluta sino más bien mis opiniones personales basadas en alrededor de 18 meses de continuo aprendizaje e investigación en los cuales, al margen de la aplicación práctica de estos conceptos, he tenido la oportunidad (y gran suerte) de leer y analizar alrededor de 30 libros y whitepapers sobre esta apasionante disciplina.

En segundo lugar, y a pesar de que pueda resultar una distinción obvia para la gran mayoría de nosotros, quiero puntualizar que Software Testing y Depuración son disciplinas distintas, como bien estableció el gran Glenford Myers allá por el año 1979… Fue el propio Myers quien asoció el concepto de Software Testing con el propósito de “romper” o más bien, como él afirmó: "a successful test is one that finds a bug".

Desde esta perspectiva, las obras que voy a recomendar se centran en un análisis de alto nivel acerca de metodologías para hacer más efectiva y ordenada esta búsqueda. Con esto no quiero decir que sean descartables aquellas obras orientadas al software testing en una determinada plataforma o tecnología, sino más bien que el primer paso que deberíamos dar es tener una visión amplia y unos conceptos metódicos apropiados para que luego sea la experiencia propia en un marco concreto (nuestras pruebas diarias) las que nos den esos matices específicos de cada contexto.

Bien, una vez situados en una misma perspectiva, vamos a comenzar a analizar títulos concretos…

Sería un pecado mortal hablar sobre bibliografía relativa a Software Testing sin citar al autor Boris Beizer. Si antes hablaba de Myers como creador de la disciplina, la evolución de la misma en estos últimos 30 años no podría entenderse sin la labor de Beizer. El Dr. Boris Beizer tiene un PhD en Ciencias de la Computación por la universidad de Pennsylvania y a lo largo de su carrera profesional ha escrito alrededor de 15 libros referidos a distintos campos como la arquitectura de sistemas, y también sobre Software Testing. Sus tres obras maestras sobre Software Testing son:

Software Testing Techniques 2E

Software System Testing and Quality Assura (Van Nostrand Reinhold electrical/computer science and engineering series)

Black-Box Testing: Techniques for Functional Testing of Software and Systems

Por supuesto, también es obligatorio incluir en esta lista de preferencias la gran “Biblia del Software Testing”, que no es ni más ni menos que la obra cumbre de Glenford Myers:

Al margen de estas obras históricas de obligada lectura, recomiendo dos libros más de reciente aparición y que resultan complementarios entre sí.

El primero de ellos es Manage Software Testing, se centra en distintas metodologías de Software Testing en sí mismo, desde la perspectiva del Test Manager o líder del equipo de pruebas y además es digno de mención el minucioso análisis que realiza sobre diversos casos de estudio reales.

El segundo de ellos se titula Software Testing – Testing Across The Entire Software Development LifeCycle y, como su propio nombre indica, se centra en la conjunción de los procesos de software testing con el resto de procesos que forman parte del ciclo de vida del desarrollo de nuestras aplicaciones, realizando muy buenos análisis sobre qué tipos de pruebas realizar en cada etapa del desarrollo (fase de requerimientos, diseño, desarrollo, etc) y por qué realizarlas, qué beneficios nos aportan y hasta qué punto es vital la “anticipación” en la detección de bugs, relacionando estos conceptos con distintos modelos de Software Testing tales como el Modelo V, entre otros.

image

Creo que para empezar a formarse una idea clara, con estos 6 libros tendremos suficiente. No obstante, recuerdo que son tan sólo una base sobre la cual comenzar a evolucionar en nuestra propia experiencia y técnicas, una tarea diaria basada también en la intuición, perspicacia y, sobre todo, actitud inconformista del tester.

En esta línea, me permitiré el lujo de concluir el post con una gran frase del Dr Boris Beizer en la primera de las obras recomendadas (“Software Testing Techniques”):

You must be a constructive schizophrenic. Be clear about the difference between your role as a programmer and as a tester. The tester in you must be suspicious, uncompromising, hostile, and compulsively obsessed with destroying, utterly destroying, the programmer’s software. The tester in you is your Mr. Hyde – your Incredible Hulk. He must exercise what Gruenberger calls ‘low cunning.’

101 controles y herramientas gratuitas para Silverlight

Uno de los mayores problemas con los que nos encontramos a la hora de llevar a cabo el desarrollo de aplicaciones RIA con Silverlight es la relativa escasez de controles predefinidos. A menudo, muchos controles son creados por algunos Microsoft’s insiders (como la recientemente publicada librería de efectos y transiciones, de Nikhil Kothari) e incluso por la creciente comunidad de desarrolladores.

No obstante, todos estos recursos de reciente aparición se difuminan y están muy dispersos en gran cantidad de blogs, foros, etc. Una tarea bastante interesante sería recopilar todas estas fuentes y presentarlas de forma conjunta y eso es precisamente lo que ha hecho la gente de Web Resources Depot en un post reciente:

Free Silverlight Controls And Tools For Brighter Websites

En dicho post podemos encontrar recursos y controles Silverlight tan interesantes como los siguientes:

1.- Suite de controles DataGrid

2.- Controles para la visualización de Gráficos

3.- Controles para visualización de álbums de fotos

4.- Control carrusel

Silverlight Carousel

Y muchos más… ¿¿A qué esperas para probarlos??

Microsoft Office Live vs Google Docs vs Live Mesh, ejemplos representativos de cada una de las tres alternativas dentro del paradigma de Cloud Services

Me gustaría matizar el último párrafo de mi reflexión de hace algunas semanas sobre Chrome, en la cual no me paré a dar una justificación, pero voy a tratar de comenzar a darla hoy. El párrafo decía así:

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.

Podemos enfocar dicha reflexión como una comparativa acerca de tres tecnologías basadas en cloud services y que representan respectivamente las tres principales tendencias en lo referido a este tipo de arquitecturas: Google Docs, Office Live Workspace y Live Mesh.

Estas tres tendencias conforman una clasificación bastante genérica que lleva tiempo rondando por mi cabeza y casualmente hace unos días la encontré reflejada en un artículo publicado por David Chappell hace unas semanas: “A short introduction to Cloud Platforms, an enterprise-oriented view”

En el siguiente diagrama podemos ver representadas estas tres alternativas:

image

 

Software as a Service (Google Docs) 

Una aplicación SaaS se ejecuta siempre en la nube. El cliente empleado por un usuario para acceder a dichos servicios suele ser un navegador web.

Este paradigma tiene como gran ventaja y a la vez inconveniente que el único requerimiento crítico es la conexión a internet del usuario.

Podríamos situar dentro de este grupo a aplicaciones como Google Docs, Gmail…

Attached Services (Office Live Workspace)

Las aplicaciones clientes proporcionan una serie de funcionalidades que se ven complementadas/extendidas gracias a una serie de servicios de la nube, principalmente centrados en la compartición y sincronización, pero no limitados a dichas funcionalidades.

Como principal ventaja destacaremos que es posible hacer uso de estas aplicaciones (o de gran parte de su funcionalidad) sin necesidad de estar conectados a Internet. Entre sus desventajas, deberemos considerar el empleo adicional de espacio en disco para el programa cliente, aunque si bien no parecen cuestiones demasiado perjudiciales, sobre todo teniendo en cuenta que la funcionalidad ofrecida por los clientes específicos es mucho mayor que la de alternativas SaaS existentes (pensemos por ejemplo en las funcionalidades adicionales ofrecidas por la suite Office u OpenOffice respecto a Google Docs).

Microsoft Office en combinación con Office Live Workspace suponen un ejemplo bastante completo en el cual podemos observar que la aplicación cliente ofrece una serie de características independientes de los servicios cloud, mientras que Live Workspace complementa a Office con funciones de compartición, sincronización, gestión de flujos de modificación del documento, notificaciones vía mail, etc. Respecto a este ejemplo, comentar que Live Workspace se encuentra en fase beta desde hace unos meses pero que Microsoft ha anunciado que para finales de este año, se lanzará la versión final de Office Live.

Otros ejemplos representativos de esta alternativa son iTunes, Microsoft Exchange, etc.

Cloud Platforms (Live Mesh)

Esta alternativa proporciona una serie de cloud services para la creación de aplicaciones. En lugar de tener que preocuparse por desarrollar algunas funcionalidades básicas como la gestión del almacenamiento, los desarrolladores pueden hacer uso de estos servicios y APIs de desarrollo para que dichas funcionalidades se gestionen de forma remota.

Un interesante ejemplo lo podemos encontrar en Live Mesh, del cual ya hablé hace algún tiempo, y que todavía se encuentra en fase Beta. No obstante, en los planes de Microsoft está previsto un gran empujón a Live Mesh con motivo del PDC que tendrá lugar dentro de algunas semanas.

Conclusión

Las tecnologías basadas en la nube (cloud technologies) suponen la evolución natural al actual modelo centralizado en nuestro propio equipo. Es cierto que en gran medida este hecho es debido a la creciente importancia de Internet y a las posibilidades de mejora que ofrece esta Red, también desde el punto de vista de la velocidad de navegación. No obstante, conviene encontrar un equilibrio entre Software y Servicios, de modo que el fallo de alguno de estos componentes no suponga la invalidación de todo el sistema.

En esta línea, apostar por sistemas o aplicaciones ocasionalmente conectadas y dotarlas de mecanismos de sincronización (almacenamiento, preferencias, estados) óptimos, fiables y con posibilidades de crecimiento tanto en volumen como en funcionalidades me parece la opción más acertada para los próximos años.

[GUSENET] Hands On Lab: WCF Step By Step

Después del parón de Agosto volvemos a la carga en Gusenet y, en esta ocasión, le corresponde a este servidor el honor de dar comienzo al nuevo curso 08-09 y, por otra parte, impartir la que casi con total seguridad va a ser mi última charla en España. Por fin os libráis de mí 🙂



Título de la charla:



WCF Step By Step


Fecha y hora:



Viernes 19 de Septiembre de 2008, 16.30h – 19.30h


Lugar:



Clave informática
Galileo Galilei, 12 – Elche Parque Industrial
03203 Torrellano – Elche (Alicante)
Ver plano: http://www.clavei.es/contacto.asp 


Descripción:



Aprende de una forma práctica y guiada cómo funciona el ciclo de desarrollo de servicios en WCF: Desde la definición de contratos a la implementación del servicio, pasando por cuestiones tan importantes como las pruebas unitarias, pruebas de integración, pruebas de carga y cuestiones de interoperabilidad con otras plataformas como J2EE. También se construirá un cliente WPF sencillo que consuma los servicios de WCF y se introducirán diversas estrategias de pruebas de interfaces de usuario: definición de perfiles operacionales, automatización de las pruebas de interfaz… Todo ello mediante el uso de herramientas y frameworks gratuitos.


Contenidos:


1. Introducción a WCF
2. Construir un servicio WCF en Visual Studio 2008.
3. Consumir el servicio WCF desde un cliente Windows (WPF).
4. Comprobar el estado de servicios WCF desde PowerShell.
5. Utilizar los contadores de rendimiento del servicio WCF.
6. Aplicar diversas estrategias de Software Testing:
  a. Pruebas unitarias
  b. Pruebas de integración
  c. Automatización de pruebas de interfaz de usuario WPF
7. Hacer que nuestro servicio WCF sea seguro.
8. Interoperabilidad en WCF: Consumir el servicio WCF desde un cliente J2EE.

Requisitos:
 
1. Visual Studio 2008
2. IIS 6-7
3. .Net Framework 3.5
4. Service Pack 1 de Visual Studio y de .Net Framework 3.5
5. Windows PowerShell

Se ofrecerá:


1. Presentación de la charla en Powerpoint
2. Tutorial paso a paso para los que no lleven portatil “live” puedan hacerlo posteriormente.


Los contenidos de la charla, así como el enlace para el registro se publicarán próximamente. Creo que no me dejo nada más, tan sólo agradecer a los amiguetes de Gusenet su confianza, apoyo e interés por esta charla.


¡Espero que sea de vuestro agrado!

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:

  1. El control Player ha desaparecido: No disponemos de botones de Play, Pausa, Maximizar Reproductor…
  2. 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… 🙂