Si eres desarrollador de una StartUp o PYME y tienes intención de arrancar un proyecto en el corto o medio plazo usando la nube de Google, este taller te interesa. Al finalizarlo serás capaz de seleccionar las herramientas de Google Cloud que mejor se adapten a las necesidades de tu proyecto.

Continúa el aprendizaje de la nube, ahora en España. Google, en colaboración con Capside, Nubalia, De Charlas y Opinno, lanza el Iberian Google Cloud Platform Tour.

Andrés Leonardo Martínez, Google Developer Relations, junto a los Google Developer Experts Nacho Coloma y Javier Ramírez, impartirán un taller de introducción a Google Cloud Platform en el que se cubrirán los aspectos básicos de App Engine, Compute Engine y BigQuery.

Si eres desarrollador de una StartUp o PYME y tienes intención de arrancar un proyecto en el corto o medio plazo usando la nube de Google, este taller te interesa. Al finalizarlo serás capaz de seleccionar las herramientas de Google Cloud que mejor se adapten a las necesidades de tu proyecto.

Para participar debes tener conocimientos de programación en Python o Java y tendrás que llevar tu propio ordenador portátil con Google Cloud SDK, Eclipse IDE for Java y el Google Plugin instalado. Asimismo, te recomendamos que tengas Chrome instalado para el seguimiento del curso.

IBERIAN-v2.jpg


El taller no tiene costo y hay un máximo de 25 plazas por sesión. No pierdas ni un minuto y si quieres asistir, solicita una invitación aquí.

Hoy en día la infraestructura por defecto para casi cualquier proyecto de tecnología es la nube. Esta tecnología permite disponer en cualquier momento, desde cualquier lugar y dispositivo de recursos necesarios y poderosos. En este sentido Google Cloud Platform pone a disposición de los usuarios las mejores herramientas para la administración, control y desarrollo de aplicaciones e infraestructura. Además, brinda los mecanismos necesarios para escalar aplicaciones automáticamente, un rendimiento consistente en poder de cómputo, memoria y disco, así como una gran variedad de servicios para las necesidades específicas de cada aplicación SQL, NoSQL, Memcache
Hoy en día la infraestructura por defecto para casi cualquier proyecto de tecnología es la nube. Esta tecnología permite disponer en cualquier momento, desde cualquier lugar y dispositivo de recursos necesarios y poderosos. En este sentido Google Cloud Platform pone a disposición de los usuarios las mejores herramientas para la administración, control y desarrollo de aplicaciones e infraestructura. Además, brinda los mecanismos necesarios para escalar aplicaciones automáticamente, un rendimiento consistente en poder de cómputo, memoria y disco, así como una gran variedad de servicios para las necesidades específicas de cada aplicación SQL, NoSQL, Memcache



El aprendizaje sobre Google Cloud Platform comenzó hace semanas en México y recién aterrizó en Argentina donde Nicolás Bortolotti tiene ya previstas nuevas fechas para presentar este taller. Se trata de un laboratorio de código en el que se crea una solución completa en 5 pasos en Google App Engine con Python. Este es el repositorio de Github que se usa en cada sesión.
Ya se pueden inscribir a los talleres que tendrán lugar en Argentina:
- San Luis (Argentina): 5 de mayo, 18h00 en la Universidad de la Punta Formulario San Luis
- Córdoba (Argentina): 7 de mayo, 18h00 en Campus Universidad Siglo 21 Formulario Córdoba
- Mendoza: 9 de mayo, 18h00 en la Universidad Tecnológica Nacional Mendoza Formulario Mendoza

Pronto anunciaremos fechas en otros países de la región. ¡Estén atentos!


Hoy  vamos a abordar el primero de los pasos en la integración y manipulación de una Google API. Para esta actividad nos vamos a poner un desafío.  Nuestro desafío consiste en integrar una Google API utilizando OAuth2, elegiremos G+ y finalmente intentamos obtener el cover de un perfil social. Vayamos directamente al código.

Hoy  vamos a abordar el primero de los pasos en la integración y manipulación de una Google API. Para esta actividad nos vamos a poner un desafío.  Nuestro desafío consiste en integrar una Google API utilizando OAuth2, elegiremos G+ y finalmente intentamos obtener el cover de un perfil social. Vayamos directamente al código.
Lo primero que vamos a realizar es configurar el entorno de la solución. Vamos utilizar Eclipse con Pydev. Para realizar la interacción con la API de Google utilizaremos algunos componentes que son fundamentales para esta actividad como muestra la Fig.1. (apiclient, httplib2, oauth2client, uritemplate)

cap_1.jpg
Fig. 1 . Estructura básica del ejemplo planteado como desafio



Para obtener la cover foto de un perfil en G+ la Fig2.  muestra como ejemplo la utilización de Jinja2 en donde insertaremos el contenido obtenido de la API y mediante la llamada a service.people()get(userID=’me’)execute(http=http).

cap_2.jpg
Fig. 2. Ejemplo para obtener los datos de la API e insertarlos en el html utilizando jinja2
La Fig.3 muestra la plantilla jinja2 donde vinculamos los datos obtenidos desde la API y los visualizamos en nuestra resolución del desafío.

cap_7.jpg
Fig. 3. Plantilla jinja para mostrar la información obtenida desde la API.


Finalmente como muestra la Fig. 4 tenemos la opción para  autorizarnos a la G+ API, y la Fig 5 muestra la solicitud de permisos correspondientes al contexto requerido.  

cap_3.jpg
Fig. 4. Presentación de la opción para conceder permisos en la aplciación.



cap_4.jpg
Fig. 5. Solicitud de permisos a la API



La Fig. 6 muestra el resultado final de la autorización y ya podemos utilizar el vínculo a nuestra solución final expuesta en este articulo, donde conectaremos con el perfil de G+ para obtener la cover foto.

cap_5.jpg
Fig. 6. Autorización concedida para operar.


La Fig.7 muestra finalmente el resultado de nuestro desafío en donde se obtienen algunos datos del perfil y la cover foto correspondiente.


cap_6.jpg
Fig. 7. Resolución del desafío mostrando la cover foto del perfil de G+



Pueden ver el código principal de este desafío en este link


Referencias:



BLOG-900px_programacongoogle-Es.jpg


Interesante es una plataforma visual que recomienda lugares, personas y productos relacionados a los intereses, cultura y ubicación de cada usuario. Es una startup fundada en 2012 por un grupo de ecuatorianos, argentinos y mexicanos e incubada por Tangelo, una empresa estadounidense de desarrollo de software con una alma creativa y emprendedora que tiene sus oficinas centrales en Silicon Valley. El equipo de trabajo está formado por un diverso grupo de profesionales apasionados por el diseño, desarrollo, investigación y los negocios, que están dispersos por América Latina, pero están unidos por el mismo proyecto.


BLOG-900px_programacongoogle-Es.jpg


¿Qué es Interesante?

Interesante es una plataforma visual que recomienda lugares, personas y productos relacionados a los intereses, cultura y ubicación de cada usuario. Es una startup fundada en 2012 por un grupo de ecuatorianos, argentinos y mexicanos e incubada por Tangelo, una empresa estadounidense de desarrollo de software con una alma creativa y emprendedora que tiene sus oficinas centrales en Silicon Valley. El equipo de trabajo está formado por un diverso grupo de profesionales apasionados por el diseño, desarrollo, investigación y los negocios, que están dispersos por América Latina, pero están unidos por el mismo proyecto.

Interesante ha llamado la atención por la tecnología que ha implementado, las alianzas que ha construido y los diferentes premios que ha ganado, así como por sus fundadores, referentes del ecosistema latino de Silicon Valley. Si quieres saber más, aquí te dejamos algunos links: Forbes, The Next Web, Pulso Social, Fox News Latino y MSN Latinoamérica, Hispanic Executive.

La Tecnología de Interesante.
En los últimos dos años Interesante ha creado una Web app, una Web mobile (principalmente para tablet), un iPhone app, una versión de Android en desarrollo, y además de la respectiva API que consolida todo el ecosistema. El código de Interesante es resultado de la evolución de un producto propio llamado Proverb.io, una aplicación social para compartir citas y frases que fue lanzada en 2010. Con esta base y la experiencia adquirida, en dos meses logramos lanzar la primera beta privada de Interesante, basándonos en conceptos “lean”, teniendo en cuenta siempre nuestro MVP y releases rápidas.

En términos de tecnología el core de Interesante fue desarrollado una parte en Python y otra en PHP, mientras que, como motor de base de datos usamos MariaDB. El frontend está basado en HTML, CSS y jQuery entre otras tecnologías.

Uso de la YouTube Data API (v3)
En Interesante, los vídeos de YouTube pueden ser coleccionados como intereses. Cuando un usuario abre uno de éstos, puede ver el vídeo completo, pero lo más importante es que la API de YouTube y Freebase nos permite recomendarle una serie de vídeos relacionados. Así, el usuario tiene acceso a más contenido sin necesidad de abandonar nuestra plataforma y puede fácilmente guardar estos nuevos vídeos en sus colecciones.

Técnicamente hemos consumido la API v3 de YouTube como lo indican: HTTP requests y respuestas JSON (Javascript Object Notation). Gracias a la excelente documentación provista por YouTube (https://developers.google.com/youtube/v3/docs/) hemos podido comprender su funcionamiento e implementar en muy corto tiempo las funcionalidades que nos interesaba ofrecer en nuestra plataforma.

Nuestro desafío más grande durante la implementación fue el de integrar la lógica del motor de recomendaciones de Interesante con los métodos de la API de YouTube que incoporan la base de datos de Topics de Freebase asociados a los videos (https://developers.google.com/freebase/v1/topic-overview). Finalmente, enlazamos los Topics de Freebase, la base de datos Interesante y nuestro algoritmo de recomendaciones para encontrar el material adecuado para recomendar a nuestros usuarios.Esta integración tiene que evolucionar, y estamos comprometidos a mejorarla. Analizaremos la manera explotar al máximo las virtudes de Freebase en sinergia con nuestra base de datos y algoritmo de recomendación para darle a nuestros usuarios una experiencia mucho más completa.

El siguiente es un ejemplo básico en PHP de pruebas sobre la implementación de la API de YouTube. Primero consultando Topics de Freebase y luego, obtener videos relacionados a esos Topics.


/**
* Returns a set of video id’s from Youtube, consulting related Topics from Freebase given one video
* @param string $video_id
* @param int $count
* @param string $developer_key
By Pablo Gamba, fundador y CTO Interesante font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">* @returns a object array
*/


function getRelatedVideos($video_id,$count,$developer_key){
$freebase_url = "https://www.googleapis.com/youtube/v3/videos?id=$video_id&part=snippet,topicDetails&key=".$developer_key;


$res = json_decode(file_get_contents($freebase_url));


$topics = array();
$videos = array();


foreach ($res->items as $item) {
$topics = array_merge($topics,$item->topicDetails->topicIds);
}


$youtube_url = "https://www.googleapis.com/youtube/v3/search?part=id%2Csnippet&maxResults=$count&order=relevance&relatedToVideoId=$video_id&topicId=$topics[0]&type=video&key=".$this->developer_key;


$res = json_decode(file_get_contents($youtube_url));


$i = 0;


foreach ($res->items as $item) {
$videos[$i]->video_id = $item->id->videoId;
$videos[$i]->title = $item->snippet->title;
$videos[$i]->description = $item->snippet->description;
$videos[$i]->thumb = "http://img.youtube.com/vi/".$item->id->videoId."/0.jpg";
$i++;
}
return $videos;
}



Y después de la integración, ¿qué pasó con Interesante?


A nivel mundial, Interesante fue uno de los primeros proyectos en implementar la versión 3 de la API de YouTube, y probablemente el primero de origen Latino. Durante la fase de implementación estuvimos en contacto con Jarek Wilkiewicz y el YouTube API Team, quienes cuando estuvo lista la integración nos invitaron a participar en una sesión de YouTube Developers Live. Durante esta transmisión en vivo desde el GooglePlex en Mountain View, California explicamos los aspectos técnicos de Interesante y la experiencia de la integración. Aquí se puede ver el video del evento: https://www.youtube.com/watch?v=Xz685vUoCFQ


Pocos meses después de esta sesión, tuvo lugar el Google I/O 2013 en San Francisco e Interesante fue mencionada en la charla de apertura de las sesiones de YouTube (15/03/2013) que trató sobre las oportunidades y el futuro de la API de YouTube (la más grande de Google). Interesante fue presentada por Andy Berkheimer como un ejemplo de una plataforma social que aprovecha las funcionalidades que brinda la API para brindar contenido audiovisual relevante a los usuarios. Aquí se puede ver el video de esta charla en la parte que se menciona a Interesante: http://www.youtube.com/watch?v=abLlRNa0D08&feature=youtu.be&t=27m46s

La integración de la API de YouTube nació por nuestro interés por mejorar la experiencia de nuestros usuarios en el descubrimiento de contenido audiovisual y por brindar a los generadores de este tipo de contenido una oportunidad para difundir sus creaciones. Haber implementado esta tecnología en un estadío temprano nos permitió construir relaciones sólidas con gente de Google en Mountain View y comprender que hacer implementación tecnológica de vanguardia es útil no solo para mejorar la usabilidad del producto, sino para dar un impulso de marketing al producto, algo que, sin duda, lo seguiremos haciendo.