Posts Tagged ‘ foursquare ’

Game of Zones: Database

Buenas noches a la (cuarta) entrega semanal de Game of Zones, hoy hablaremos sobre la base de datos que usará la aplicación web.

Al principio pensé en usar simplemente variables en memoria para cargar los datos desde la API de foursquare, pero dado que tendría que guardar información propia de la aplicación (por ejemplo, las distintas zonas con sus reyes) decidí usar una base de datos, lo cual creo que es más limpio y eficiente (sobre todo con grandes cantidades de datos, que espero algún día tenerlas).

La base de datos estará compuesta por varios tipos de datos, como por ejemplo, usuarios o venues (cada uno de los lugares de foursquare). Cada uno de estos no será más que un tipo de dato propio de foursquare, formateado para eliminar los atributos que no nos interesan y para añadir otros que hacen falta. Además, se van a añadir tipos de datos propios de Game of Zones, como por ejemplo cada una de las zones del mapa.

Lo siguiente que quiero comentar es la facilidad con la que Django te permite trabajar con bases de datos. De una manera asombrosamente puedes actualizar la existente (si la has configurado al crear el proyecto Django usa una base de datos con varios datos propios) con tus tipos de datos, tus tablas y tus instancias.

Usando Python creas los modelos de datos que necesitas de una manera intuitiva, ayudado por la documentación para las dudas, y simplemente sincronizando la base de datos, Django te genera automáticamente todas las tablas necesarias, incluyendo tablas heredadas o tablas necesarias para relaciones muchos-a-muchos.

Después de esto, simplemente creando objetos de las clases definidas anteriormente y usando el método save() de estas, las instancias quedan registradas y guardadas en la base de datos. Además, también nos permite realizar consultas sin tener que escribir nada en SQLite (que es el sistema de gestión que he usado en el proyecto) por lo que trabajar con la base de datos no es más que un juego de niños.

No tiene mucho más el trabajar con bases de datos gracias a Django. La complicación será la que tú le quieras poner, o la que requieran tus datos.

Para el proyecto estoy usando sqlite3, que viene integrado en Django, por lo que no necesito ninguna librería externa (para usar Oracle, PostgreSQL o MySQL sí que me haría falta una).

Para terminar, decir que ya están activos y actualizándose continuamente los repositorios del proyecto tanto en Github como en la forja de rediris.

Anuncios

Game of Zones: El proyecto

¡Buenas de nuevo! Hace mucho que no escribo (para variar), soy un desastre…

Estoy aquí de nuevo con motivo de la fase local del CUSL VI (Concurso Universitario de Software Libre), que comienza si no me equivoco hoy mismo. Vamos a comentar muchas de las cosas de Game of Zones (GoZ), aunque seguramente me dejaré otras muchas fuera.

Antes de comenzar, dejaré un enlace al primer artículo que escribí sobre el proyecto: Game of Zones: Introducción, por si es la primera vez que leéis acerca de él.

El proyecto en sí consta de dos partes independientes, pero necesarias en su conjunto. Por un lado, una aplicación web que se encargará de conectar al usuario con su cuenta de foursquare y obtener los datos y la información necesaria, almacenándola en una base de datos interna. A partir de aquí, se trata esta información y se generan diversos resultados, que se muestran al usuario en la aplicación web.

¿Qué clase de resultados? Pues el GoZ está orientado al ocio, más concretamente al mundo de los juegos de mesa, pero con una vuelta de tuerca más. Así pues mi intención es que el proyecto se base en la obtención de puntos en base a los check-in‘s que el usuario haga en foursquare, y a partir de estos puntos que el usuario pueda conquistar los territorios (previamente definidos) pertenecientes a otros usuarios ya sea con batallones (estilo Risk) o canjeando puntos por hechizos o habilidades extra (Aún tengo que evaluar ambas posibilidades y decantarme por una).

¿Cómo se mostrarán los resultados? Pues los territorios se visualizarán mediante un mapa (usando OpenStreetMap) y la puntuación y demás estadísticas se mostrarán de manera visual en una leyenda.

Por otro lado, el proyecto contará con una aplicación móvil que permitirá al usuario, además de tener una versión móvil de la aplicación web, hacer check-in en foursquare sin necesitar el cliente del mismo, haciendo GoZ mucho más independiente. En un principio se trabajaría en la aplicación para Android, pero no se descarta el porte a iOS.

Estas son las dos partes bien diferenciadas del proyecto. Actualmente me encuentro desarrollando la aplicación web. Pero eso lo comentaré en otro post más detalladamente.

fivestreets – Proyecto en el II Hackathon de la UCA

Hoy voy a presentar un (mini)proyecto realizado en el II Hackathón organizado por la Universidad de Cádiz por los compañeros de Zocolab, Pablo y Rosa, y por mi.

Para el que no sepa qué es un hackathón lo definiremos como una maratón de programación en la que se queda, generalmente, un viernes, se proponen proyectos, se realizan grupos de trabajo y se trabaja en ellos durante el fin de semana, volviéndose a quedar todos el lunes para presentarlos.

El proyecto se llama fivestreets (de acuerdo, el nombre no es lo mejor del proyecto) pero al tener que realizarlo en un fin de semana pues no hemos perdido el tiempo en eso precisamente. Bien, pues fivestreets es una aplicación web con la cual pretendíamos experimentar con la API de foursquare, lo cual me viene a mi de perlas para mi PFC. Su uso se limitará a buscar los lugares registrados en foursquare (venues) que están más cerca de una posición dada (se supone que la nuestra), pudiendo realizar un filtro por categorías (las categorías están limitadas a las que nos da foursquare por defecto).

Con esa idea en mente, decidimos qué trabajo realizar y cómo distribuirnoslo, quedando así: por un lado, el montaje del sistema usando Django y Phyton, por otro lado, la maquetación de la aplicación web usando HTML y CSS, y por otro lado el uso de la API de foursquare, usando Python también. Tras trabajar en esto el fin de semana, el domingo volvimos a reunirnos y tras solucionar conflictos con nuestro SCV (github) conseguimos tenerlo listo. Aún así decidimos añadir más funcionalidades, como por ejemplo el uso de Google Maps para mostrar los resultados de las búsquedas, y la posibilidad de realizar búsquedas por direcciones (en un principio se hizo con coordenadas).

El resultado nos ha dejado bastante satisfecho, porque ha sido un proyecto exprés, y porque lo hemos hecho sin matarnos a trabajar realmente, teniendo una media de 5 horas al día (durante 3 días) por persona. Aquí os dejo la aplicación, que está corriendo en el servidor de los compañeros de Zocolab.

EDIT: se me ha olvidado comentar que para usar la aplicación es necesario tener una cuenta de foursquare, ya que las búsquedas se  realizan teniendo en cuenta los sitios visitados por el usuario y/o sus amigos.

Game of Zones: Introducción

¡Buenas! Estreno esta categoría de muy buena gana, ya que espero que esta sea la más usada los próximos días/meses. Antes que nada dar la bienvenida al blog a los que lo visiten a través de la web del CUSL VI (Concurso Universitario de Software Libre).

Empecemos por el principio pues, ¿qué es la frikada esa de Game of Thrones Zones? Pues la frikada esta, es mi PFC (Proyecto Fin de Carrera) con la que espero demostrar a un tribunal de profesores que los más de tres cuatro cinco años que llevo en la facultad han servido para algo.

La idea surgió de un amigo, Pablo, que me comentó que se le podía sacar mucho provecho a acciones simples como hacer un check-in en el lugar dónde estemos. A partir de ahí, jugando con la gamificación, surge la idea de Game of Zones. Para empezar a comprender de qué va el proyecto, hay que explicar algunos conceptos que pueden ser engorrosos, para ellos en este blog he escrito varios artículos que os ayudarán a comprender mejor el por qué de Game of Zones:

Después de esto espero que os haya quedado claro qué conseguimos haciendo un check-in (a parte de satisfacer a nuestros amigos más cotillas) y las posibilidades que nos presenta de crear aplicaciones basadas en la geolocalización.

Tras todo este rollazo, al fin vamos a pasar a comentar en qué consiste Game of Zones (GoZ a partir de ahora). El proyecto consistirá en una aplicación web que usando los datos y estadísticas que obtenemos de foursquare (por un lado) y las funcionalidades de un servicio de gestión de mapas, como por ejemplo Google Maps o Open Street Map (por otro) crear una aplicación que simule el juego Risk con algunas variantes (aún no están claras cuáles serán las reglas) en un mapa “real”, entiendo por real un mapa de nuestra cuidad, comunidad autónoma o país.

Esa es la base de GoZ, entraré en más detalle próximamente, pero quería escribir esto para dar una idea inicial de cómo será GoZ. Gracias y un saludo.

Geomarketing con foursquare

La difícil tarea del marketing se ve continuamente puesta a prueba por los consumidores, lo cual hace que los empresarios o los empleados del marketing de una determinada empresa no puedan permitirse el lujo de estancarse en tópicos y tengan que estar continuamente innovando.

La geolocalización brinda una nueva oportunidad al marketing, más concretamente, las redes sociales que se basan en la geolocalización. Vamos a centrarnos (una vez más) en foursquare, de la cual ya hemos hablado antes en el blog, más concretamente en este artículo.

¿Cómo podemos usar una red social como foursquare para hacer publicidad de una empresa? Pues para empezar debemos preguntarnos qué quiere un usuario o consumidor de ese servicio que queremos publicitar. Como no tengo ni medios ni tiempo para ponerme a realizar encuestas daré mi opinión como usuario de muchos servicios. Podría decir que como usuario me interesa:

  1. Dónde y cómo puedo acceder al servicio.
  2. Opiniones de otros usuarios (si pueden ser conocidos, mejor).
  3. Si puedo obtener algún beneficio por usar el servicio o por recomendarlo a otros.

Ahora que sabemos qué busca un usuario en un servicio, podemos compararlo con las funcionalidades que nos ofrece foursquare, a ver qué obtenemos:

  • Nos permite saber qué lugares registrados en el servicio están más cerca de nosotros. (punto 1)
  • Nos permite leer comentarios y opiniones de otros usuarios, incluyendo nuestros amigos. (punto 2)
  • Nos permite compartir dónde estamos en un instante determinado.
  • Nos permite dejar nuestros propios comentarios y opiniones, pudiendo así recomendar o no el sitio a otros usuarios.

Vemos que foursquare nos permite solucionar los puntos 1 y 2, y además nos da soporte para publicitar el servicio al que nos referimos (mediante las dos últimas funcionalidades que hemos listado), la tortilla pasa a manos de los empresarios. Si yo fuera empresario, pensaría: “ya que se les da a los usuarios la posibilidad de publicitar mi servicio, ¿por qué no inducir a que lo hagan?”

La pregunta ahora es, ¿cómo inducir a un usuario a hacer algo a lo que no está obligado?. Pues es sencillo, dándole una recompensa, algo que le guste. Y, ¿cómo saber qué le gusta al usuario? pues si el usuario usa mi servicio, es porque le gusta, así que ¿por qué no darle facilidades para usarlo, por ejemplo, con descuentos o regalos?

Aquí está la clave del asunto. La solución al punto 3 de los mencionados anteriormente la tienen las mismas empresas, que pueden premiar al usuario que use su servicio, o al usuario que lo recomiende a otros usuarios. Sabiendo que foursquare lleva un control de los usuarios que hacen check-in en mi empresa, puedo saber qué usuarios son los que más la utilizan, o quién la ha recomendado a sus amigos. Al usuario normalmente no le va a importar llevar más o menos puntos de los foursquare da por cada check-in, pero si usamos esos puntos para premiar al usuario, se puede crear un ambiente de competitividad para conseguir tales premios, ya sean servicios gratuitos o descuentos, consiguiendo que los usuarios usen más el determinado servicio.

Todo esto que estamos tratando puede ser aplicable a muchos servicios, desde bares o restaurantes hasta tiendas o grandes superficies como centros comerciales.

Pero como en toda estrategia de marketing, existen inconvenientes, que en este caso, no dependerían de la empresa. Ya que las ventajas en gran parte dependen de la red social, foursquare en este caso, los inconvenientes también. Y es que el uso de esta red social en España no es tanto como se desearía.

No por su complejidad, no por ser aburrida, si no simplemente por la mentalidad y el estilo de vida que llevamos aquí. En España no se tiene una mentalidad competitiva, si no que se usa el dicho “vive y deja vivir”. En cambio, en otros países, la competitividad se inculca desde la infancia. Aunque suene raro, es cierto, hay países o mejor dicho, culturas, en las que el ser el que más puntos tiene en el bar de la esquina puede llegar a ser hasta una obsesión, sin embargo, aquí no solemos tener tanta paciencia, y además, si no vamos a obtener nada a cambio a corto plazo, preferimos dedicarnos a otra cosa.

Para que lo entendamos mejor vamos a poner un ejemplo de lo que pasaría aquí en España: “En mi bar ‘debuenamano’ voy a regalar la primera consumición a cada cliente. Seguramente consiga que mi bar se llene de gente, pero de gente que toma sólo una consumición y luego se va. Pero, ¿y si en vez de regalar la primera consumición regalara todas las consumiciones de los viernes si has venido a consumir de lunes a jueves?, seguramente la mayoría de personas pensarían que no merece la pena esperar para conseguir el ‘premio’, aunque seguramente la esa misma mayoría vaya casi todos los días al bar.”

Quiero decir que no tengo ni idea de marketing y que lo mismo aplicando esta idea me quede sin bar en una semana, pero lo que quiero que quede claro es que en España no tenemos paciencia para este tipo de cosas, no somos constantes.

Para que veamos lo poco que se usa foursquare en España, he buscado algunos datos reales, y por ejemplo, en un centro comercial de Nueva York, se hacen una media de 8.000 check-in‘s diarios. ¿En España? pues la media de los centro comerciales en Madrid es de 20 check-in‘s diarios, siendo el de Sanchinarro con 600 el que más check-in‘s recibe.

check-in: foursquare

foursquareHoy vamos a hablar de foursquare, tal y como podéis ver. Supongo que muchos (si no todos) conoceréis esta red social, pero por si acaso hay alguien que no, haré un breve resumen. foursquare es una red social, como tantas otras, que ha enfocado su uso al ya aquí comentado anteriormente concepto de check-in. Lo que quiere decir que esta red usa la geolocalización para indicar dónde y cuándo nos encontramos cada vez que el usuario quiere.

¿Qué necesitamos para usar esta red social? pues en cambio a las redes sociales a las que estamos acostumbrados, para esta red social necesitaremos obligatoriamente un dispositivo móvil que disponga de conexión a internet (ya sea WiFi o GPRS). Necesitaremos así descargarnos en nuestro dispositivo la aplicación para usar este servicio, lo cual es bastante fácil ya que cuenta con versiones para casi todos los sistemas operativos del mercado.

Una vez con la aplicación su uso es muy sencillo, simplemente cuando nos plazca podemos hacer check-in y la misma aplicación nos dirá qué lugares cercanos a nosotros están registrados en el servicio para que seleccionemos en el nos encontramos. En el caso de que el lugar dónde estemos no esté registrado tenemos la posibilidad de registrarlo nosotros mismos.

Y os preguntaréis, ¿a qué se refiere con lugar? pues con lugar me refiero desde cafeterías, restaurantes, hoteles, parkings, parques, tu propia casa hasta centros comerciales o una población en general.

Haciendo esto foursquare nos permite compartir nuestra ubicación con nuestros amigos en el mismo servicio, y en otras redes sociales como Twitter o Facebook. Además, foursquare nos “premia” cada vez que usamos su servicio con un número determinado de puntos que dependen de variables como por ejemplo si es la primera vez que visitamos ese lugar, si somos nosotros el que lo hemos registrado o si este lugar está registrado como una empresa (de lo cual hablaremos más adelante). De esta manera foursquare busca que sus usuarios compitan entre si para conseguir los distintos “trofeos” (badges en la red social),  y de esta manera, hagan publicidad al servicio.

Hablando de una manera más práctica, vamos a ver ventajas y desventajas que podemos sacar de esta red social.

  • Es muy fácil encontrar amigos, además de permitirnos compartir con otras redes sociales. Sin embargo en España su uso aún es minoritario.
  • Es divertido el poder competir con otros usuarios por puntos y badges. Sin embargo en España los comercios aún no contemplan las posibilidades que da este servicio y ofrecer, por ejemplo, descuentos o promociones a los que lo usen.
  • Hay mucha información útil respecto a los lugares desde los que se puede hacer check-in, además de poder recomendarlos a nuestros amigos. Sin embargo hay que tener cuidado ya que la geolocalización no es del todo exacta.
  • Podemos obtener un historial de sitios visitados, lo cual nos puede ser muy útil en determinados casos, y no sólo a los usuarios, si no también a los desarrolladores de aplicaciones. Sin embargo esta y otras funcionalidades no están disponible en la aplicación para dispositivos móviles, sólo en la web.

Vamos a centrarnos ahora en el ámbito empresarial, no mucho, porque ya hablaremos en otras entradas más detenidamente de la influencia que han tenido en el marketing este tipo de redes en general, y foursquare en particular.

¿Cómo una empresa puede sacar provecho de algo así? os preguntaréis. Yo también lo hice, hasta que encontré ESTA noticia y lo entendí todo. Para el que no tenga ganas de leer, resumiré la noticia.

McDonald’s, el gigante norteamericano, utilizó foursquare para hacer publicidad de sus productos, de una manera que algunos pensarían que es una locura, pero que a gran escala es muy eficaz. Se dedicó a regalar dinero, sí, cheques de 5 o 10 dólares a aquellos usuarios que se registraran en foursquare, hicieran check-in en sus establecimientos y se los recomendaran a sus amigos. Obviamente las ganancias por cada menú eran menores debido a los cheques de regalo, pero la cantidad ingente de menús que se sirvieron durante la promoción fue tal que acabaron muy satisfechos con ella. De hecho, a partir de ahí muchas empresas han hecho promociones parecidas. Como imagináis las posibilidades son enormes, y el límite estará en la imaginación del encargado de marketing de cualquier compañía que quiera hacer uso de este servicio.

Como imaginaréis foursquare no es la única red social basada en la geolocalización, pero sí la más usada a día de hoy. Si os interesa conocer algunas otras, nombre algunas en la entrada El nuevo concepto de ‘check-in‘ de mi blog. Además os dejo con un video promocional de algunas de las características de foursquare.


El ‘nuevo’ concepto de check-in

¿Qué es check-in? Si buscamos una definición podemos encontrar algo así:

the point at which a person registers as a passenger at an airport.

El uso original de este concepto quizás fuera ese, pero a día de hoy se ha expandido mucho más allá del ámbito de un aeropuerto, más allá incluso del ámbito de viajar.

En las ya conocidas redes sociales, el concepto de check-in se ha expandido en dos vertientes:

  1. Como indicativo o seña de haber realizado determinadas acciones, en la mayoría de los casos refiriéndose a haber visto películas o series de televisión, bajando de nivel para las distintas temporadas o capítulos. Sitios web como MyTVShows, Partigi, GetGlue o GoMiso usan esta vertiente. También puede aplicarse a haber asistido a determinados eventos, como conferencias, seminarios, reuniones, etc.
  2. Como indicativo o seña de haber estado en determinados lugares en un momento concreto. Esta vertiente es quizás la que más fuerza está tomando, gracias a la multitud de sitios web que la usan, desde sitios dedicados íntegramente a esto como foursquare, Gowalla, buzzd o Brightkite, a sitios que simplemente añaden esto a sus funcionalidades, como la red social Facebook con Facebook Places.

Más adelante haré hincapié en cada una de las vertientes y en algunos de los sitios web que han sito nombrados.