miércoles, 24 de febrero de 2010

Augmented Reality

La "realidad aumentada" (augmented reality en inglés) parece ser el tema del momento.

Básicamente, consiste en mostrar información obtenida de Internet sobre objetos reales: un edificio, un libro, etc.

Hoy vi una notica (en algún lado que ahora no me acuerdo) sobre un nuevo producto llamado Recognizr, que permite ver información asociada a una persona mediante una foto tomada con el teléfono móvil.



Otro producto que parece estar muy bueno es Google Goggles:



Creo que nadie puede dudar que en los próximos tiempos vamos a ver mucha innovación en esta área. Lo único que me precupa es que parece que todas las aplicaciones interesantes funcionan en Android...

martes, 23 de febrero de 2010

Índice de los arrays

Ayer empecé a leer Dreaming in Code, que en una parte dice:
Maybe you noticed that I've called this Chapter 0. I did not mean to make an eccentric joke but, rather, to tip my hat to one small difference between computer programmers and the rest of us: Programmers count from zero, not from one. [...]
Why do programers count from zero? Because computers count from zero! And so programmers train themselves to count that way too, [...]
Si bien no es del todo cierto, yo soy un programador y cuento desde el uno, es verdad que las computadoras cuentan desde el cero...

Cualquiera que haya programado un loop sobre los elementos de un array en C, C++, Java, C#, o cualquier otro lenguaje que tenga sus raíces en C, sabe que los elementos van de 0 a lenght-1. Algo así:
for (int i = 0; i < array.length; i++) { ... }
Lo que nunca me había cuestionado, es por qué es así... Y después de pensarlo un poquito, la respuesta es bien simple: en C, los arrays son punteros a una dirección de memoria, que contiene el primer elemento. El índice es el desplazamiento con respecto al puntero. Así, para acceder al primer elemento del array, el desplazamiento a usar es cero, y por eso se accede con a[0]. Todos los lenguajes que vinieron atrás de C, aunque no manejen punteros directamente, mantienen la misma convención.

Toda una revelación :)

miércoles, 10 de febrero de 2010

Google Buzz y el futuro de las redes sociales

Ayer Google hizo el lanzamiento de su nueva incursión en el mundo de las redes sociales con Google Buzz.

Por si alguno estaba distraído, acá es el video de introducción que explica que es y como funciona:


Es una red social, porque puedo compartir mensajes, fotos, videos, etc. desde la aplicación, pero también es un agregdor de contenido. Me hace acordar mucho a FriendFeed. Pero en este caso, tiene la ventaja que ya tiene una base de unos 140 millones de usuarios, gracias a que está integrado a GMail.

Google además ya tiene otros productos que se solapan, como ser Orkut, Wave o los elementos compartidos en Reader. Veremos como evoluciona cada uno de estos.

Pero más que hablar de Buzz, me interesa hacer una reflexión sobre las redes sociales en general.

El problema que le veo, es que cada vez hay más contenido y cada vez hay más lugares donde tengo que ir a buscarlo. No solo eso, también hay mucho contenido repetido.

Por ejemplo, esta nota, por haberla publicado en el blog, queda automáticamente en el feed RSS del mismo, por lo que todos los que estén suscriptos lo van a ver por ahí. Además, tengo configurado para que se publique automáticamente en Twitter, que a su vez se publica en Facebook, FriendFeed y ahora Google Buzz (por lo menos, eso son los que me acuerdo ahora).

Es verdad que no todo el mundo publica todo cruzado, pero tampoco soy el único. Cualquiera que siga el blog por RSS y además sea mi amigo en Facebook, va a ver la nota dos veces. Si además me sigue en Twitter, 3 veces...

Lo que necesitamos no es una nueva red social. Esa es la estrategia que le sirve a Google para tener un pedacito del "real-time web", pero no nos sirve a los usuarios.

Lo que necesitamos es un agregador que permita registrarse a varias redes sociales a la vez, y compartir la información con mis contactos una sola vez, sin importar donde estén.

Estoy pensando en algo como lo que ya existe para la mensajería instantanea (por eso uso Pidgin, pero esa es otra historia), que me conecto a varias redes, tengo todos los contactos juntos, y cuando quiero hablar con uno no me importa en que red está, simplemente le doy doble-click y empiezo a escribir.

Para las redes sociales necesitamos algo similar, que pueda hacer todo desde un solo cliente, y que no me importe en que red está mi amigo, simplemente tiene que funcionar. Si mi amigo publica algo y yo quiero hacer un comentario, poder hacerlo donde sea que se haya publicado, sin siquiera enterarme.

jueves, 4 de febrero de 2010

Application Stores

Parece que el tema de las App Stores está de moda...

Ahora parece que Google suma una nueva, para aplicaciones que se integren a Google Apps (mail, docs, calendario, etc.).

El negocio es siempre el mismo: el dueño de la tienda pone a la venta aplicaciones de terceros, y cuando un usuario compra la aplicación, una parte va para el desarrollador y la otra para la empresa.

La ventaja que tiene, viéndolo desde el punto de vista del desarrollador, es que la aplicación queda a la venta y accesible para cualquier usuario, sin tener que invertir en infraestructura ni preocuparse demasiado por el medio de pago y demás.

Esta posibilidad de acceder a un número importante de usuarios, ha hecho que por ejemplo en la App Store de Apple, las aplicaciones valgan (en su mayoría), unos pocos dólares. Esto hace que haya muchos usuarios que las compran...

¿A que voy? Sería muy bueno tener una GeneXus App Store, para user controls, extensions, patterns, etc.

Esta idea en realidad ya se había planteado, Enrique ya lo ha comentado, y si no recuerdo mal, José Lamas también comento algo de esto en su charla del Encuentro GeneXus 2008.

En realidad con el tema infraestructura ya están bastante bien, con la GeneXus Gallery, pero le estaría faltando el tema comercial.