By Pablo Gamba

¿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.
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
*/
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.