jueves, 16 de diciembre de 2010

WebGL - la web en 3D

Una especificación que está tomando más peso en los último meses es WebGL. Esta especificación nos permitirá ejecutar aplicaciones con gráficos  3D dentro de nuestro navegador. Google está trabajando intensamente en incorporar esta tecnología en su navegador Chrome, y prueba del gran potencial que tiene esta tecnología está plasmada en una nueva aplicación que tienen en Labs llamada Body Browser.

Esta aplicación nos permitirá navegar al rededor de la anatomía humana, al estilo de lo que podemos hacer en Google Earth, y aprender sobre nuestro propio cuerpo de una manera mucho más práctica e intuitiva. 

Para poder disfrutar de esta aplicación hay que entrar en el enlace de Body Browser con un navegador que soporte WebGL. En chrome está funcionalidad está soportada desde la versión 8 (habilitando la opción WebGL) y en la versión 9 (versión todavía no estable) de forma nativa. 

Para que podais ver la aplicación en acción os dejo un video demostrativo de las capacidades de esta nueva herramienta.


Body Browser: enlace

martes, 23 de noviembre de 2010

Google Cloud Connect

Google ha lanzado Cloud Connect que permite utilizar documentos Google Docs desde Microsoft Office. Desde que hace unos meses Google comprase DocVerse han estado trabajando para adaptar la herramienta de esta compañia a la plataforma de Google y aquí tenemos el resultado. 

Básicamente esta herramienta nos permite seguir utilizando Microsoft Office para editar los documentos y tenerlos en la nube siempre disponibles aprovechando la ventaja colaborativa que ofrece la plataforma de Google. Seguro que esto anima a muchos a dar el paso de empezar a utilizar documentos en la nube y que no lo habían hecho antes porque querían seguir utilizando sus herramientas de siempre.

Por desgracia solo está disponible en modo de prueba para las empresas que se inscribiesen a través de un formulario, pero ahora mismo, y debido al gran número de solicitudes recibidas, no aceptan más peticiones, así que habrá que esperar a que esté disponible de forma general.

Los usuarios de Mac tampoco podrán disfrutar, de momento, de esta herramienta debido a la falta de soporte del Mac a las API de Microsoft Office.

Fuente: Google Enterprise Blog

viernes, 15 de octubre de 2010

Realidad disminuida

Desde hace tiempo estamos viendo como la realidad aumentada está ganando terreno en nuestro día a día a través de los móviles y los videojuegos, pero ahora también existe un nueva técnica que, en lugar de incluir elementos en una escena real, los elimina: realidad disminuida.

Esta técnica ,desarrollada en la Universidad Técnica de Ilmenau en Alemania, se basa en reducir la calidad de la imagen a retocar hasta que quede prácticamente difuminada, luego se elimina la imagen y se le vuelve a dar calidad. Este proceso se repite por cada imagen que capta la cámara y se hace verdaderamente rápida, 40 ms en todo el proceso. El resultado es bastante bueno, según podemos apreciar en el vídeo:



La cantidad de usos que se abren para aplicar esta tecnología es enorme. De momento será presentado en el International Symposium on Mixed and Augmented Reality (ISMAR) en Seúl, del 13 al 16 de Octubre.

Fuente: Barrapunto, Kurzweil

miércoles, 6 de octubre de 2010

Google prueba vista previa de páginas en las búsquedas

Pues si, parece que estos chicos de Google tienen un saco interminable de novedades. Después de introducir la funcionalidad Instant en las búsquedas, parece que la siguiente será ofrecernos una vista previa de la página de cada resultado que nos ofrece. 

Este preview sería ofrecido en el lado derecho (donde actualmente están los anuncios) al pasar el cursor sobre la uno de los resultados de la búsqueda. 

Fue Patrick Altoft, un consultor de optimización de motores de búsqueda, quien se encontró hoy esta sorpresa. No hace falta decir la ventaja que este nuevo servicio ofrece, lo malo es que habrá que esperar algún tiempo antes de tener esta opción disponible en nuestras búsquedas, pero tal y como se ve en la imagen adjunta, el resultado es impresionante.

Fuente: CNet News

lunes, 4 de octubre de 2010

Cita

"Hijo mío, la felicidad está hecha de pequeñas cosas: Un pequeño yate, una pequeña mansión, una pequeña fortuna…"
Groucho Marx

viernes, 1 de octubre de 2010

Google apuesta por un nuevo formato de imagen: WebP

Google acaba de lanzar nuevo formato de imagen similar a JPEG denominado WebP. Este formato está basado en el codec de vídeo VP8 que Google viene impulsando en los últimos meses como standard para la Web. El objetivo del nuevo formato es acelerar la carga de las imágenes, reduciendo su tamaño y así el ancho de banda consumido por ellas. Según las estadísticas el 65% del tráfico de una página lo generan las imágenes que contiene. Y parece que los resultados son bastantes prometedores, teniendo un ratio medio de compresión un 39% superior a un JPEG. Para calcularlo, seleccionaron 1.000.000 de imágenes al azar y las re-codificaron con el nuevo formato. El resultado lo podéis comparar en este sitio. Os dejo un par de ellas para ver si sois capaces de averiguar que imagen corresponde a que formato, aunque ya os adelanto que la diferencia de tamaño está en un 66.35%.



Si queréis probar las ventajas de este formato, en el site del proyecto WebP podréis encontrar una herramienta para convertir nuestras imágenes a este nuevo formato.

El siguiente paso de Google es convertir este formato en un nuevo standard. De momento, en las próximas versiones de Chrome estará incluido de forma nativa en el navegador.

Fuente: Chromium Blog
WebP Site: WebP

jueves, 30 de septiembre de 2010

Nuevos productos de Google

Si eres de los que te gusta Google y los servicio que tiene, seguro que te resulta complicado estar al día de todas las novedades que se producen. Para hacerlo tenemos la opción de suscribirnos a todos los blogs que encontremos en Internet o, acceder a una pagina que ha creado Google donde podremos ver las novedades de todos los servicios a medida que van saliendo. Aquí os dejo el enlace a New Products de Google y el vídeo promocional que tienen en su página sobre el servicio Instant.



Página Oficial: Haz click aquí
Google Instant: Haz click aquí

martes, 28 de septiembre de 2010

Tablas dinámicas en los Spreadsheets de Google

Uno de los principales motivos por los que decidí empezar a usar las hojas de cálculo de Google es por la ventaja de tener disponible siempre mis documentos sin tener que ir cargando con ellos a cuesta y poder usarlos desde cualquier soporte y sistema operativo. Pero pasar de usar Excel a usar las hojas de calculo de Google no ha sido una tarea fácil debido a que la funcionalidad que ofrece esta limitada, de momento, por el soporte sobre el que se ejecuta: El navegador Web. Pero esta limitación es temporal debido a que los navegadores están evolucionando rápidamente y dentro de poco tiempo no distinguiremos entre aplicaciones de escritorio y aplicaciones web.

Pero lo cierto es que hoy por hoy, intentar hacer las mismas cosas que hacemos con Excel en las hojas de calculo de Google requieren un poco más de esfuerzo. Una de esas cosas que yo usaba con frecuencia eran las tablas dinámicas. Siempre me ha parecido un sistema ideal para analizar información agrupándola por conceptos y es lo primero que he echado en falta en el sistema de Google. Después de investigar un poco he encontrado una solución que solventa esta carencia y que pasaré a explicar.

Lo primero es preparar un conjunto de datos sobre los que trabajar. Yo he preparado una serie de datos simulando una facturación de clientes. En la lista aparece la fecha de emisión de la factura, el nombre del cliente, y el importe facturado. El mes se ha calculado usando la formula month que extrae el mes de una fecha. El resultado es el que podéis ver en el cuadro de la derecha.

Ahora lo que queremos hacer es analizar la evolución de cada cliente por meses. Aquí es donde entra en juego la función que nos permitirá resolver el problema. La función a usar es query. Esta función nos permite realizar consultas sobre un conjunto de datos. La sintaxis es muy sencilla. query(rando de datos;consulta a ejecutar).  La sintaxis a utilizar en la consulta es similar a la utilizado en SQL con algunas limitaciones y peculiaridades.

Vamos con un ejemplo: Queremos agrupar la facturación de cada cliente para tener un total por año. La sintaxis para la consulta seria SELECT B, SUM(C) GROUP BY B. Aunque es bastante evidente la expresión indica que seleccionemos la columna B, sume la C agrupando los valores del campo B. En mi caso, el texto completo de la fórmula es el siguiente:

=QUERY(A3:D23;"SELECT B, SUM(C) GROUP BY B").

"Nota: Es importante que el nombre esté en mayúsculas."

Pero esto solo soluciona la mitad del problema porque no hemos conseguido agruparlo por mes. Nuestra primera intención podría ser incluirlo en la consulta como SELECT B, D, SUM(C) GROUP BY B, C y, aunque sintacticamente es correcto, el resultado no lo es del todo porque, efectivamente lo ha agrupado pero de forma secuencial y nosotros queremos transponer los meses para poder compararlos.
Aquí es donde debemos incluir la instruccion PIVOT que nos permitirá transponer los valores que queramos. La formula finalmente quedará como

=QUERY(A2:D23;"SELECT B,SUM(C) GROUP BY B PIVOT D").

El resultado es bastante buenos si le aplicamos formato a las celdas y conseguimos darle un aspecto más formal marcando los bordes para delimitar los datos. Para finalizar podremos generar un gráfico sobre los datos calculados de la formula anterior. A diferencia a las tablas dinámicas de Excel, no podemos seleccionar los datos para filtrar el contenido dinámicamente, pero podríamos generar un listado y filtrar los datos con unas lista desplegable. Para poder incluir condiciones deberemos usar la cláusula WHERE dentro de la consulta.

Para finalizar os dejo unos enlaces con el ejemplo completo para que podáis consultarlo y a la documentación ampliada. En el ejemplo encontrareis una hoja con el ejemplo básico y otro un poco más elaborado simulando una tabla dinámica con una lista desplegable. Como la hoja no es editable para poder usar la lista tendréis que crearos una copia del documento para poder verlo funcionar completamente.

Ejemplo: link
Documentación funciones: link
Documentación función Query: link

lunes, 27 de septiembre de 2010

Cita

"Hay tres clases de mentiras: La mentira, la maldita mentira y las estadísticas."
Mark Twain 

lunes, 20 de septiembre de 2010

Citas

"Sólo una cosa es más dolorosa que aprender de la experiencia, y es, no aprender de la experiencia."
Laurence Johnston Peter 

jueves, 16 de septiembre de 2010

Multiplicar cuentas de GMail

Todos conocemos de sobra el servicio de email ofrecido por Google en su plataforma Gmail, pero pocos conocen ciertas peculiaridades de este servicio que pueden ser muy útiles.

El primero es bastante conocido entre la gente que tiene cuentas desde hace tiempo. Es la posibilidad de usar alias en nuestra dirección de correo. Esto nos permite poner un sufijo a nuestra dirección habitual de email concatenándolo con un signo +. Por ejemplo, si nuestra dirección de email habitual es micorreo@gmail.com, podemos usar micorreo+foro@gmail.com. Si mandamos un correo a cada dirección, en ambos casos nos entrara en nuestro buzón habitual micorreo@gmail.com. ¿Y que utilidad tiene esto? Aunque a priori parezca un poco trivial, lo cierto es que nos permite filtrar el correo entrante de una manera más exacta. Podemos usar los alias, por ejemplo, al registrarnos en foros concatenando el nombre del foro después del nombre del buzón y luego utilizar alguna regla para clasificar ese correo. Así conseguiremos que la publicidad proveniente de otros sitios se nos cuele entre nuestro correo habitual.


Una variación del método anterior es usando puntos. El sistema los ignora, por lo que podemos usar mi.correo@gmail.com, micorr.eo@gmail.com y todos los correos nos entrarán en el buzón habitual micorreo@gmail.com.

El segundo, y menos conocido, es el de que los usuarios de cuentas de gmail también pueden usar un dominio alternativo que es googlemail. Este dominio recibe el correo en el mismo buzón que nuestra cuenta habitual en gmail. Es decir, podríamos dar nuestra dirección como micorreo@gmail.com o micorreo@googlemail.com. El motivo de la existencia de este segundo dominio es porque en algunos países como Reino Unido y Alemania han existido problemas de marca con el nombre gmail. Por lo tanto, en esos países, se han registrado las cuentas con el dominio googlemail. La ventaja de usar un segundo dominio es que a todos los efectos es como tener dos direcciones de email distintas y podemos aplicar una estrategia parecida al caso anterior. Es decir, podemos usar micorreo@gmail.com para amigos y conocidos y micorreo@googlemail.com para las ofertas de trabajo, por ejemplo.


La ventaja de usar estos métodos es clara, ya que, sin tener que abrir varias cuentas de correo, podemos disponer de tantas direcciones de email como necesitemos y gestionarlas desde un único buzón.

Complete Google Synchronizer

Después de mucho tiempo alejado de la programación en .Net he decidido realizar un pequeño proyecto personal, a modo de ejercicio, para no dejar en el olvido mis pocos conocimientos en esa materia. Para ello decidí buscar algo relacionado con la tecnología de Google que estoy trabajando actualmente (y su extensísima API de Google). 

Me surgió la idea de realizar un sistema de sincronización de la cuenta de Google con los datos de Outlook. Mi sorpresa fue que encontré varios programas que sincronizaban contactos, algunos que sincronizaban el calendario (como el de Google Calendar Sync) , pero ninguno gratuito que hiciese ambas cosas. Finalmente decidí abordar este proyecto y surge Complete Google Synchronizer.

Quiero aprovechar el desarrollo de la aplicación para ir comentando un poco el planteamiento del mismo, el modelo de datos usado y trabajar un poco la api de google para acceso a datos. Aunque en esta ocasión se quedará de momento como una pequeña presentación de la aplicación.

Tanto el código fuente del proyecto, como una versión ejecutable de la aplicación se encuentran disponibles de forma libre bajo licencia GPL v3, en la siguiente dirección: http://code.google.com/p/completegooglesync/
Soy consciente que la aplicación está en un estado muy primario y que faltan muchas cosas por completar, pero se irán resolviendo con el tiempo y, por eso mismo, ha de usarse todavía con cierta prudencia.

La aplicación, en su estado actual, solo sincroniza contactos con Outlook 2003. En versiones sucesivas se irán incluyendo las cosas que faltan para que verdaderamente sea "Complete":
  • Sincronización de fotos de los contactos
  • Sincronización de calendario
  • Sincronización de tareas
Como he dicho anteriormente, el código es libre, por lo que si alguien lo quiere, ahí lo tiene, y si además quiere participar será bienvenido. Para ejecutar la aplicación será necesario tener instalado el  NET Framework 2.0. El código está escrito en C# con vs2005.

lunes, 13 de septiembre de 2010

Cita

"Si quieres resultados distintos, no hagas siempre lo mismo."
Albert Einstein

martes, 7 de septiembre de 2010

Reuniones eficientes

En cuanto recibimos un Email convocándonos a una reunión, casi todo el mundo resopla. En ese momento nos invade una sensación de astío y es por el hecho de que las reuniones normalmente se asocian con una forma de perder el tiempo. Y lo peor, es que por regla general suele ser así. 

Para evitar esto, existen pautas muy claras que se deben usar para conseguir que el tiempo empleado en reunirnos sea completamente útil. Estas pautas son aplicables a cualquier tipo de reunión, incluso a las que a priori no damos importancia porque se vayan a tratar temas menores o no relevantes.

Antes de comenzar conviene valorar la necesidad de la reunión. Hay que pensar que todos los que asistirán a la reunión van a reservarse un tiempo de su jornada y es necesario que su participación este justificada y que puedan hacerlo con garantías suficientes para que no sea una perdida de tiempo. También hay que considerar que cada empleado tiene un coste, y que sentar a 5 personas en una reunión para discutir un tema y salir de la sala sin una solución al mismo puede suponer un gasto considerable.
  • Coordinador: Toda reunión tiene que tener un coordinador. Su misión será la de asegurarse que se sigue el plan previsto en la agenda y, si es necesario, asignando los tiempos de palabra a cada uno. No interesa que se formen corrillos y surjan dos o tres temas de conversación a la vez. Generan un murmullo de fondo y distraen la atención, a parte de ser una falta de educación a los compañeros.
  • Convocar la reunión con suficiente antelación: Aquí se impone el sentido común. No existe un tiempo establecido para convocar reuniones. No hay nada que siente peor, que enterarte en un pasillo que te tienes que meter en un despacho para reunirte con tres personas más. La antelación facilitará que los asistentes preparen el tema de la reunión y acudan con argumentos suficientes. Aunque la reunión sea muy urgente tendrá que existir algo de margen entre la convocatoria y la reunión, 15 minutos pueden decantar la balanza entre un tiempo productivo y un tiempo perdido.
  • Agenda: Ni que decir tiene que todos los asistentes tienen que conocer al dedillo los temas a tratar. No vale con rellenar solo el asunto de la convocatoria. Deberemos esmerarnos en incluir todos los detalles posibles de la reunión en la agenda de los temas a tratar. Aunque solo exista un tema, el contenido a tratar es fundamental.
  • Estimación del tiempo: Es muy importante, antes de convocar la reunión, calcular el tiempo que nos llevará tratar cada tema. Este calculo debería incluir el tiempo adicional de debate si el tema lo requiriese. Aunque este punto parece obvio, no siempre se le asigna el tiempo adecuado a las reuniones y se intenta encajar en una reunión de una hora, temas que por su propia envergadura requerirían dos. No hay nada que de más rabia que terminar una reunión y que no haya dado tiempo a tratar todos los temas. Por eso es fundamental hacer una previsión realista del tiempo del contenido completo de la reunión.
  • Preparar el contenido por escrito: Para poder proyectar con coherencia y efectividad una idea, la preparación por escrito es nuestra mejor herramienta. El hecho de preparar el tema por escrito nos ayudará a racionalizar nuestras ideas y ordenarlas. Además nos servirá como esquema/plantilla para poder ir recorriendo la argumentación sin dejarnos ningún punto.
  • Mentalidad abierta: A la hora de ir a una reunión a discutir un tema hay que presentarse con una mentalidad abierta, dispuesto a escuchar los comentarios de los compañeros de la reunión. Si se está discutiendo como arreglar un problema, no ayudamos si nos cerramos en banda intentando defender nuestra propuesta a capa y espada. Solo con una mentalidad abierta surgirán las mejores ideas.
  • Puntualidad: La puntualidad en una reunión es fundamental. Habrá que evitar convocar las reuniones a primera hora de la mañana, o justo después de comer, ya que es complicado que todo el mundo esté disponible en ese momento. Creo que un margen razonable sería una hora después de esas. Es decir, que si la jornada laboral empieza a las 9, convocar la reunión a las 10. Así daremos tiempo a que la gente pueda gestionar los temas urgentes y llegar a la reunión con toda su atención puesta en los temas a tratar. A la hora de la reunión yo soy partidario de no demorar el comienzo de la misma más de 10 minutos. Creo que es tiempo de cortesía suficiente para esperar a la gente. Durante este tiempo la puerta de la sala permanecerá abierta, y tras cumplir el plazo de cortesía que estimemos oportuno, cerraremos la puerta y quien no haya llegado para entonces se quedará fuera. Es importante este punto, ya que hay gente que llega tarde de forma recurrente a las reuniones, faltando al respeto de los compañeros que le están esperando. Con esta técnica conseguiremos aumentar la puntualidad de los asistentes. Igual de importante que es empezar a la hora indicada, la reunión no debe extenderse de la hora de finalización. Los asistentes se habrán planificado el día teniendo en cuenta la duración de la reunión y perjudicaría directamente su productividad cualquier variación del horario. De hecho, lo ideal es intentar acabar las reuniones 15 minutos antes de lo programado inicialmente. Favorecerá tener la sensación de haber acabado antes de lo previsto y nos dará a todos un tiempo adicional antes de retomar los temas pendientes. Para ello, podemos incluir esos minutos de más en la programación de la reunión para poder tener también algo de margen de cara a posibles variaciones en la programación.
  • Timming: Si hemos hecho bien los deberes a la hora de valorar el tiempo necesario para tratar cada tema es preciso ceñirnos a ello. Así conseguiremos tratar todos los temas de la reunión sin dejarnos ninguno. Si algún tema por su propia complejidad requiriese dedicarle más tiempo, se consumirá el tiempo previsto para tratarlo y se convocará otra reunión para tratar el tema con más profundidad, pero nunca debemos dejar que un tema ocupe todo el tiempo de la reunión. 
  • Acta de la reunión: Es preciso redactar un acta después cada reunión donde se especifiquen detalladamente las intervenciones de cada participante, con los comentarios realizados y, lo más importante, un resumen con los acuerdos alcanzados y los objetivos para la próxima reunión (si la hubiese), incluyendo los responsables correspondientes en cada caso.
Teniendo en cuenta estos factores conseguiremos reuniones más eficientes reduciendo el tiempo y el coste de las mismas. Para tener una estimación del coste que puede tener una reunión, les dejo este enlace a MeetOrDie donde podemos tener una "estimación" (de forma poco real aunque bastante divertida) del coste de nuestras reuniones.

lunes, 6 de septiembre de 2010

Cita

"Recuerda que eres tan bueno como lo mejor que hayas hecho en tu vida."
Billy Wilder 

miércoles, 1 de septiembre de 2010

Desafío Google Chrome

Hoy, 1 de Septiembre, Google abre el plazo de presentación para su concurso Desafío Google Chrome. Para participar en el concurso tendremos que presentar nuestras extensiones para el navegador Google Chrome antes del próximo 15 de Octubre.


Las Extensiones de Google Chrome permiten añadir nuevas funcionalidades al navegador pudiendo personalizarlo con las funciones que queramos y manteniéndolo libre de elementos que no utilizas. Estas funcionalidades se pueden aplicar sobre la página, el navegador directamente o sobre el mismo contenido de la página.

Los requisitos para poder participar son los siguientes:
  • El equipo debe ser como máximo de 2 personas.
  • El plazo para enviar las extensiones estará abierto del 1 de Septiembre al 15 de Octubre.
  • Para participar debes publicar tu extensión en la Galería Google Chrome y rellenar nuestro Formulario de Participación.
  • El idioma utilizado para la extensión deberá ser Castellano.
  • La extensión no puede replicar una ya existente en la galería oficial de Google Chrome independientemente del idioma.
  • Las extensiones serán juzgadas por su creatividad, y por su implementación técnica.
  • Los participantes no podrán presentarse en representación de una empresa.
  • No podrán presentarse extesiones que pertenezcan a la categoría Override o Themes.
  • La extensión no puede incluir obras de terceros protegidas por derechos de autor.
El ganador se llevará un móvil Nexus One y su extensión será publicada en el Top Picks de la galería de extensiones de Chrome, lo que es una gran oportunidad para dar a conocer nuestros trabajos como programador.

Para aprender un poco más sobre el desarrollo de extensiones, Google ha organizado el día 9 de Septiembre un workshop en sus oficinas de la Torre Picasso de Madrid.

Para más información visitar la página creada para la ocasión en: http://sitescontent.google.com/desafio-chrome/

Fuente: Blog "Programa con Google"

lunes, 30 de agosto de 2010

Cita

"En los momentos de crisis, sólo la imaginación es más importante que el conocimiento."
Albert Einstein 

viernes, 27 de agosto de 2010

Cita

"Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas."
Albert Einstein 

Esos maravillosos cacharros de los 80

Si hoy en día enseñamos a una persona menor de 30 años una pantalla de un videojuego de los 80, por ejemplo como la del Tetris, sucederán dos cosas: A nosotros se nos llenará la cara de esa expresión de nostalgia y orgullo; y la segunda es que la otra persona (en el mejor de los casos) sonreirá irónicamente y después de mirarnos con aire benevolente nos tachará de carcas.

Pero lo cierto es que los inicios de la informática y de los videojuegos, para los que los hemos vivido casi desde el principio, son como esas historias épicas llenas de anécdotas y que con el tiempo te dejan un agradable sabor de boca. Por eso mismo creo que merece la pena dedicarles unas líneas a modo de homenaje y recordar con cariño como fueron para entender mejor como han llegado a ser como son ahora.

El que más o el que menos recordará esas "megamáquinas" de la computación con las que empezamos. Si señores, me refiero a nuestros flamantes Spectrum , Amstrad y Commodore que tan buenos ratos nos dieron en nuestra infancia. Muchos de esos juegos salieron de maquinas recreativas pero cuando se pasaban a su versión para ordenador la experiencia era muy distinta. Quien no recuerda esos interminables "pitiditos" durante la carga de los juegos.... Era la época en la que la memoria Ram se medía en Kb's y no en Mb's, las aplicaciones se almacenaban en cintas de casete y, cuando la tecnología evolucionó lo suficiente, pasamos a discos de 5.25" y posteriormente a los de 3,5" con una capacidad, en este último caso, de hasta 1.4 Mb, muy lejos de los Gigabytes de las actuales memorias USB. De discos duros mejor ni hablamos.

Lo cierto es que desde la perspectiva que te da el tiempo y la mucha o poco experiencia en desarrollo que he podido adquirir en estos años, lanzar un juego para una maquina de 8 bits era toda una obra de ingeniería. Las imágenes eran monocromáticas o, como mucho, con 16 colores en el caso del Commodore, con sonidos que no tenían nada que envidiar a los politonos de los primeros móviles multimedia. ¿Y eso de los monitores? tenias que enchufar el ordenador a la tele del salón. Los juegos no se cargaban de golpe. Primero se iniciaba la pantalla de carga (para mantenernos entretenidos mientras se arrancaba la primera parte del juego) y se iban cargando las sucesivas fases a medida que íbamos completando partes del juego y, cuando habíamos avanzado suficiente, por fin, le dábamos la vuelta a la cinta. Eso me trae a la memoria un hecho que parece que se ha pasado por alto hasta que llegó Internet. En aquella época los sistemas anticopia brillaban por su ausencia y por supuesto también se copiaban las cintas de los juegos y de música. Quien tenía en casa un radiocasete con doble pletina casi podía decir que tenía un centro de copia masivo en sus manos y no recuerdo que nunca ningún cantante de la época se hiciese abanderado de la causa de los derechos de autor.... aunque eso casi que es tema para otro artículo. Pero, aún con todas esas deficiencias, los juegos suplían las carencias técnicas con mucha originalidad. Me viene a la memoria grandes clásicos como Space Invaders, Pacman, Donkey Kong, Super Mario Bros., Pole Position, Prince of Persia y alguna aventura gráfica como Maniac Mansion. Seguro que le suenan.

Con el cambio de década, los ordenadores "domésticos" sufrieron una gran evolución y pudimos encontrar máquinas con una superior capacidad de proceso y con 256 colores. De aquella época son videojuegos clásicos como el Sonic, Wolfestein 3D (o casi 3D) y sus evoluciones Doom y Quake, Mortal Kombat, StarCraft... pero yo recuerdo con especial cariño las aventuras gráficas. Especialmente las de Sierra Online con su saga Larry y Lucas Arts con sus aventuras Indiana Jones y, como no, mi favorita, Monkey Island (sobre todo las dos primeras). Los que estuviesen enganchados a este tipo de juego me entenderán. La posibilidad de enfrentarte a puzzles y poder moverte por escenarios interactuando con personajes, dialogar con ellos y todo eso rodeado con sutiles toques de humor fueron la combinación perfecta para que toda una generación se pasase horas delante de la pantalla del ordenador. Cualquiera de mi "quinta" que tuviese un ordenador por aquella época seguro que conoce al héroe Guybrush Threepwood y al malvado pirata  LeChuck. Para entonces, los sistemas anticopia ya evolucionaron creando manuales de claves que tenias que usar para acceder al juego cada vez que lo ejecutabas. El más sofisticado que recuerdo era el de una de las ediciones de Indiana Jones que, aprovechando una escena de la pelicula/juego, idearon un conjunto de 3 discos concentricos con unos dibujos que, girandolos producian combinaciones que te daban el acceso al juego

Wii
Después de esta época podemos hablar de una verdadera evolución en el hardware y ya empezaron a explotarse masivamente juegos en 3D alcanzando hoy en día un realismo total. Lo cierto es que tecnológicamente no se les puede reprochar nada a los juegos de ahora, pero yo echo en falta esa frescura y originalidad de los comienzos y es difícil encontrarte alguno que te sorprenda. Mención a parte hay que hacer en el mundo de las consolas, porque cuando Nintendo comenzó a distribuir su consola Wii fue un bombazo por su originalidad en el sistema de control de la consola y ha obligado a sus competidores directos a pisar el acelerador y ofrecer ideas innovadoras para no quedarse atrás.

La verdad es que el futuro es algo incierto. Hay muchas tecnologías emergentes como la Realidad Aumentada, Televisión en 3D, .... todas estas tecnologías abren una puerta a nuevas experiencias para disfrutar de los videojuegos así que tendremos que seguir muy atentamente su evolución en los próximos meses.

MS-Dos
Pero este artículo no va solo de videojuegos, sino de la informática en general desde los 80, y en aquella época se popularizaron los programas ofimáticos con la llegada de los PC's a los hogares. Pero manejar aquellas máquinas requería de una gran dosis de paciencia ya que la interacción con el equipo se hacía a través del sistema operativo, que inicialmente era una consola negra (o en fosforo verde) con la que había que pelearse a base de comandos. El MS-Dos ha sido la base de todos los sistemas operativos hasta ya entrados los 90. Pero cuando verdaderamente se popularizó el uso de los PC's, aparte de por su abaratamiento, fue cuando se introdujo un nuevo software de la mano de Microsoft, llamado Windows. Y digo software porque antes de llegar a ser un sistema operativo, en sus origines, era un programa que nos facilitaba interactuar con el sistema de archivos y poco más. Y aunque la gente recuerda solo a partir de la versión 3, lo cierto es que hubo versiones 1.0, 2.0, 2.1x. Para los que quieran ampliar la información sobre la evolución de las versiones os dejo un enlace a NeoTeo (parte 1, parte 2) donde podrán ampliar la información.

WordPerfect
Pero antes de los interfaces en ventanas, los programas ofimáticos, al carecer de cualquier característica gráfica, eran eminentemente prácticos. De aquella época, el procesador de texto mas famoso (por no decir el único) que había era WordPerfect pero al carecer de aspecto gráfico, no existía, por ejemplo, la vista previa, algo tan útil hoy en día. Por lo que imprimir un documento, en ocasiones, se convertía en toda una sorpresa.

Tampoco quiero alargar mucho más el artículo, porque este tema daba para escribir un libro y, aunque soy consciente que se quedan muchas cosas en el tintero, solo quería reflexionar sobre que a veces olvidamos que, cosas que hoy damos por habituales, como mandar un fax, escribir un email, chatear,... no son tan antiguas como creemos y que han evolucionado, como todas las cosas, desde una idea y una representación más básica de lo que ahora son. Solo espero que si está en ese grupo de los que nacimos en la década de los 70, se le haya escapado alguna sonrisa durante la lectura del artículo recordando su propia experiencia.

jueves, 26 de agosto de 2010

Cita

"No soy vegetariano porque ame a los animales. Soy vegetariano porque odio a las plantas" 
A. Whitney Brown

miércoles, 25 de agosto de 2010

Funciones de búsqueda de Google

Todos sabemos que Google es algo más que un buscador. Ofrece toda una serie de servicios (la mayoría gratuitos) y que le convierten, hoy por hoy, en el proveedor de servicios más importante de Internet. Pero con tantos servicios como Gmail, Calendar, Blogs, Maps, Videos, Grupos, etc... el buscador es un gran conocido al que acudimos con frecuencia aunque no explotamos todas sus capacidades.

Actualmente resulta muy intuitivo poner un concepto en la barra de búsqueda y obtener los resultados agrupados por imagenes, noticias,.... filtrado por idioma pero la capacidad del buscador va más allá, siendo capaz de interpretar lo que queremos si somos capaces de hacerlo de la forma adecuada:

  • Corrector ortográfico: Quizá es el más conocido. Cuando introducimos un termino en el buscador, nos devuelve los resultados de las búsquedas con una sugerencia corregida en caso de que detecte algún error ortográfico, avisándonos con en el texto Quizá quiso decir. Ejemplo.
  • Definición de palabras: Nos facilita una lista de definiciones de la palabra elegida de distintas fuentes. La forma de hacerlo es poniendo define: (los dos puntos son obligatorios) delante de la palabra que queremos buscar. Ejemplo
  • Consulta del tiempo: Podemos saber inmediatamente el tiempo que hace en cualquier parte usando la palabra tiempo. Ejemplo
  • Operaciones aritméticas: El buscador permite poner cualquier expresión y obtener el resultado de la misma. Solo hay que introducirla en el cuadro de búsqueda y el se encarga de evaluarla y mostrar el resultado. Ejemplo
  • Conversión de unidades: Nos permite intercambiar cantidades entre unidades de medida. Lo construiríamos casi como una frase normal indicando la cantidad las unidades y la unidad de destino. Como por ejemplo 4 m en cm. Ejemplo
  • Conversión de moneda: Al igual que en el caso anterior solo tendremos que indicar la cantidad y las unidades a utilizar y el se encarga de hacer el calculo. Ejemplo
Aunque estos son los más útiles, hay que indicar que hay muchas más funciones de busqueda aunque no todas estan habilitadas para todos los idiomas. Aquí os dejo un enlace a la página internacional de google donde vienen explicadas todas las funciones aunque, como comentaba anteriormente, tendréis que cambiar el idioma en las preferencias de la página que si queréis probar todas.

Fuente: Funciones de búsqueda de Google

miércoles, 18 de agosto de 2010

Trabajo en equipo

No podemos negar que el ser humano, casi por definición, es un animal eminentemente social y que continuamente nos estamos relacionando con personas. Y como no, si gran parte de nuestro tiempo lo pasamos trabajando, también nos relacionamos con personas en ese ambiente, pero la rutina puede hacer que ese tiempo no sea lo suficientemente productivo y entremos en una “inercia” en la que nos dejamos llevar por el movimiento de las "olas" de nuestro trabajo y hacemos lo que nos toca sin pensar si lo hacemos de la manera adecuada.

Aunque es misión de los directivos y responsables seleccionar los integrantes de los equipos de trabajo más adecuados para cada tarea, cuando nosotros participamos en esos equipos podemos aportar algo más que nuestro conocimiento o experiencia, haciendo de la ocasión una experiencia enriquecedora y productiva.

Trabajo en equipo y trabajo en grupo son dos conceptos muy similares y que la gente suele confundir con frecuencia. En la diferencia entre ambos muchas veces esta el éxito de la gestión de un equipo de trabajo. Podríamos definir trabajo en grupo cuando un grupo de personas se juntan para trabajar por un fin común, y trabajo en equipo cuando un grupo de personas se juntan para trabajar por un fin común. Los lectores más avispados se habrán dado cuenta que ambas definiciones son idénticas y tienen razón. La diferencia entre ambas reside en los resultados y los mecanismos necesarios para llegar ellos, de tal manera que cuando uno trabaja en grupo el resultado suele ser, en el mejor de los casos, la suma de sus partes y cuando se trabaja en equipo el resultado es mayor que la suma de sus partes. ¿Como es esto posible? En este artículo intentaremos arrojar luz sobre este tema y dar las claves para que un grupo de personas trabajen en equipo y no en grupo:

  • Comunicación: Aunque parece obvio, la comunicación es una parte fundamental para un buen trabajo en equipo, pero habitualmente se olvida porque se da por hecho. Muchas veces se inician proyectos con una reunión previa y de ahí a la presentación del resultado final no hay muchas más (alguna de seguimiento y poco más). No soy partidario de reuniones programadas donde la gente se sienta obligatoriamente a verse las caras, pero si es cierto que se tiene que fomentar las ocasiones para que los participantes puedan intercambiar opiniones e ideas. Desde mi punto de vista, lo mejor es que, cuando sea posible, trabajen todos en una misma sala donde haya contacto visual, ya que la propia interacción diaria fomentará esa comunicación. En ocasiones los integrantes del grupo pertenecen a varias disciplinas, e incluso pueden estar situados en distintas plantas de un edificio u oficinas situadas en distintas localidades. Si la situación lo permite, la mejor manera de fomentar la comunicacion es crear situaciones en las que los integrantes del equipo puedan coincidir como por ejemplo desayunos o comidas informales (no desayunos o comidas de trabajo). Si todos los días tienen un momento para charlar distendidamente, se fomentará la comunicación entre los miembros.
  • Todas las ideas deben ser escuchadas: Este es un punto muy importante. Siempre hay que asumir que alguien que no tiene el mismo punto de vista que tu, puede aportar la solución al problema, aunque no tenga la misma experiencia o posición que nosotros. Si somos quien coordina el grupo hay que fomentar la participación. Es de sobra conocido que cuando la gente participa en la resolución del problema se involucra mejor en la ejecución de las soluciones. Esto generará un clima positivo dentro de los miembros del equipo al sentirse escuchados y valorados. Si somos un integrante del equipo, habrá que evitar hablar por hablar y apoyar todas nuestras aportaciones con argumentos (prepararlo por escrito ayuda a transmitir mejor las ideas).
  • Clima de trabajo: Es imprescindible que haya un buen ambiente de trabajo. Es inevitable tener desavenencias y roces con compañeros de trabajo pero estas nunca pueden afectar al ambiente de trabajo. Porque no solo afecta a las personas involucradas sino que acaba extendiendose al resto del grupo. Siempre hay ocasiones para resolver estos temas y es conveninte hacerlo siempre en privado.
  • Control: En cualquier proyecto es importantísimo tener control sobre la evolución del mismo, pero este nunca se tiene que convertir en presión. No todas las personas trabajan igual con presión y sus efectos pueden ser perniciosos para el desarrollo del grupo y el resultado final del proyecto. Los mecanismos de control, autoimpuestos o del director sobre el grupo, deben tener como objeto evaluar los progresos y nunca utilizarse como un acicate para espolear a los empleados o compañeros. Se deberán usar para detectar deficiencias y aplicar soluciones. Existen varias mecanismos bastante conocidos para ellos, aunque el principal y más importante es una buena planificación.
  • Planificación: Todos los miembros del equipo tienen que tener claras sus funciones dentro del grupo, plazos, recursos y cualquier información necesaria para llevar acabo la tarea. No hay nada que lastre más un trabajo en equipo que tener que perder tiempo en buscar documentación, recursos, etc... eso sin contar que esa persona no involucre a otra y haya un corrillo de gente buscando, por ejemplo, en la red de la empresa, la plantilla necesaria para solicitar permiso para acceder a una base de datos. Eso es, desde un punto de vista de productividad, nefasto. Siempre surgirán imprevistos, pero una buena planificación debería prever esas situaciones (no los casos concretos) y sus mecanismos de resolución para reducir el tiempo para solventar la incidencia.

Prestando atención a estos puntos ayudaremos a conseguir que 2+2 sean 6 y no 4. Obviamente hay muchos más aspectos y facetas a tener en cuenta, pero creo que estos son los más importantes. Haciendo incapie en ellos se conseguirán mejores resultados y grupos más productivos y eficaces.