jueves, 17 de julio de 2014

Copa Mundial de la FIFA Brasil 2014

El eslogan “UNITED BY TEAM, DRIVEN BY PASSION” utilizado por la selección de EEUU durante el recién terminado mundial de fútbol, bien podría aplicarse al equipo de medios digitales de Canal 13 que trabajó en la plataforma web desarrollada para cubrir dicho evento.

Como miembro de ese equipo, fue mi responsabilidad la dirección, ejecución y control global de:


Sitio web

Plataforma tecnológica para la distribución de los contenidos on demand. Desarrollada sobre el CMS Drupal7, se le dotó de una interfaz de usuario adaptada a su dispositivo. Esta adaptación se realizó en dos niveles:

  • Nivel 1: Detección de la familia del dispositivo en nuestra cache Varnish y entrega de contenidos desde el origen específico para cada una de ellas: escritorio, tablet y mobile 
  • Nivel 2: Técnicas de responsive design para adaptar el despliegue gráfico a cada equipo particular, dentro de su correspondiente familia

Live streaming

Transmisión en vivo de los 64 partidos del mundial, con bitrate adaptativo y perfiles multidispositivo. Dos equipos Elemental (primario y backup) se encargaron del enconding, produciendo streams bajo protocolos HLS y RTSP. La distribución la realizamos a través de dos CDN: GrupoZ y Akamai. Para la reproducción de las señales, dos simultáneas en varios días del torneo, utilizamos dos tipos de players:

  • HTML video players: Flowplayer y Grind, con plugin HLS Provider 
  • App para dispositivos móviles iOS y Android 


Junto a nuestra transmisión oficial, los usuarios pudieron disfrutar durante los partidos de una experiencia multicámara compuesta por 6 streams: uno general, otro táctico y los cuatro restantes dirigidos a destacar detalles de los dos equipos en juego. Este desarrollo se realizó en coordinación directa con la FIFA, siguiendo todos sus estándares de calidad (bitrate hasta 3.8mbps) y seguridad (protección de streams mediante token de sesión y protocolo pHLS).

Caché web y geobloqueo

Para mejorar los tiempos de respuesta de nuestro sitio web, soportar sin sobresaltos los peaks de tráfico esperados y cumplir con los requisitos de geobloqueo impuestos por FIFA, implementamos los servicios provistos por la empresa Akamai. Como se detalló anteriormente, era necesaria la detección de dispositivos, por lo que el servicio de caché web de Akamai también contó con la tecnología necesaria para ello.

Data center de respaldo

Como medida de protección extraordinaria, decidimos replicar la plataforma 13.cl en la nube de Gigas y sincronizar sus datos en tiempo real. En caso de que algún hecho catastrófico dejase fuera de servicio nuestras instalaciones en Santiago, el sistema de failover de Akamai activaría la carga de contenidos de la caché desde esta infraestructura de respaldo.

En pocas ocasiones habíamos tenido la oportunidad de contar con tiempo extra para planificar un desarrollo. Aprovechamos ese tiempo para que en su definición participáramos todas las áreas relacionadas. Estos factores, unidos a la envergadura del evento, nos transformaron en un grupo humano motivado que se involucró al 100% en sus tareas. Y como suele ocurrir, el trabajo vino acompañado de los buenos resultados los que, de paso, me ayudaron a quitar las telarañas a mi blog y publicar este post. Algunos datos para cerrar:

  • Más de un millón de navegadores únicos accedieron al sitio web por contenidos on demand. 
  • Cerca de 4 millones de visitas siguieron el streaming online a lo largo del evento. 
  • Alcanzamos un peak de concurrencia en transmisiones en vivo de 135.000 dispositivos simultáneamente conectados, récord absoluto en Chile y Sudamerica (estadísticas entregadas por operador)

lunes, 24 de mayo de 2010

Chilebyte: especial juegos online

Tras un capítulo de descanso vuelvo a Chilebyte. En esta ocasión con un especial de juegos online: FarmVille, Evoke y Lucas y el caso del cuadro robado.


Chilebyte: capítulo 6 from Ivan Eyara on Vimeo. EAVB_OLNUEGWKVB



La serie completa de Chilebyte se puede ver en Chilevisión.

domingo, 4 de abril de 2010

Sirviendo publicidad con Google Ad Manager

Google Ad Manager es un gestor de publicidad online gratuito, desarrollado y alojado por la multinacional californiana. Como gestor de publicidad permite a los medios online que lo utilizan comercializar sus espacios publicitarios en tres modalidades: utilizando la propia fuerza de ventas; integrando anuncios de otras redes publicitarias; e integrando anuncios Google AdSense. Este último caso sería un caso particular del segundo pero es importante diferenciarlo, como se verá al finalizar el artículo.

El software, como la practica totalidad de los productos de Google, es muy fácil de utilizar y está pensado para los diversos roles que se pueden ver dentro del negocio de la venta de publicidad online. El hecho de que además esté alojado en sus instalaciones evitará a sus usuarios una considerable inversión en infraestructura, ancho de banda, administración,... sobre todo cuando se empiezan a gestionar un elevado número de impresiones de anuncios por día.

Que sea gratuito tampoco es una novedad dentro de la estrategia de Google. Por ejemplo, la plataforma con la que estoy escribiendo este artículo es de Google y la ofrece también de manera gratuita. Ellos esperan, al igual que yo, que muchos como tú entren a leer lo que escribo. Si el número de visitantes es interesante me ayudarán a hacer económicamente rentable esta afición colocando su servicio AdSense (anuncios principalmente en formato texto relacionados con la temática de mis artículos) en alguna parte del blog y compartiremos los ingresos generados como buenos partners. A medida que las visitas aumenten es probable que algún anunciante o agencia de medios quiera colocar publicidad. Imaginemos a HP pagándome por cada clic que se haga en un banner. Google, para no perderme como partner, me ofrece utilizar su producto Ad Manager con el que puedo colocar publicidad comercializada por mí (la de HP), así como la comercializada por Google mediante su programa AdWords (AdSense).

Uno de los puntos más interesantes de este modelo es que Ad Manager es capaz de poner en competencia los anuncios programados y mostrar los más rentables. Siguiendo con el ejemplo, si Google tiene en su red un anunciante que considera que va a ser más rentable que HP, bien porque vaya a obtener más clics, bien porque vaya a cobrar más por cada clic, le dará mayor prioridad y aparecerá con más frecuencia que HP. Es importante aclarar que este modo de funcionamiento es optativo, configurándose para cada campaña publicitaria que se ingrese al sistema.

Cuando la Red Online Chilevisión se acercó a los 15 millones de impresiones de anuncios por mes, mantener el gestor de publicidad se había convertido en un serio problema. Los recursos destinados a OpenX, el gestor de publicidad open source que utilizaba por entonces, eran tan grandes como los dedicados a los sitios de nuestra red. En algunos aspectos, como la base de datos, incluso mayores. Mantenerlo en marcha iba a requerir de nuevas inversiones, más aún teniendo en cuenta el crecimiento que tuvimos en los meses posteriores.

Comencé probando Ad Manager en algunas secciones de chilevision.cl y a las pocas semanas realizaba la migración. Los chicos de ventas se adaptaron rápidamente a la sencilla interfaz y en seguida comenzaron a explotar los informes, análisis y previsiones de stock que genera. El único punto débil, desde su punto de vista, es la necesidad de esperar 30 minutos para que cada cambio realizado en una campaña sea ejecutado. Tecnológicamente es comprensible este tipo de funcionamiento en una herramienta que gestiona millones de impresiones por minuto. Al parecer el mercado publicitario chileno es tan "dinámico" que requiere cambios en menos de 30 minutos.

Dejo a un lado la ironía para continuar con un análisis más técnico. Nunca hemos sufrido una caída del servicio. Sólo un bug en el sistema de informes nos tuvo unos días un poco nerviosos: debido a que las fechas en que se realiza el ajuste de hora verano / invierno en Chile no coincide con lo progamado en el hemisferio norte, en esos intervalos de "desajuste" el generador de reportes no funcionaba. Durante ese lapso de tiempo la solución pasó por reajustar el huso horario del computador desde el que se quería obtener el informe.

Comparándolo con otros productos con más tiempo en el mercado, una de las carencias que encontramos fue la poca variedad de piezas publicitarias que se pueden manejar. Esto se convirtió un reto de creatividad e innovación y terminó dando lugar al desarrollo in house de una sencilla herramientas que nos permiten subir al AdManager cualquier formato rich media (interstitial, banner expandible, page peel, floating ad,...) así como nuestros productos publicitarios estrella: video pre roll, mid roll y post roll, junto con los video banners al estilo YouTube. Estos formatos combinan la robustez de nuestra plataforma de video, las posibilidades de segmentación de AdManager, la innovación de nuestra área de desarrollo y la creatividad de los anunciantes.

Uno de los puntos más controvertidos de este producto es que Google se convierte en proveedor y competencia de los medios que lo utilizan.

Si revisamos las cifras de inversión publicitaria en Chile durante el año en 2009, podemos ver que casi el 50% se fue a Google. El modelo de Google se basa en cobrar a los anunciantes por cada clic realizado, por lo que un dato nada despreciable para este modelo es conocer lo que esos mismos clientes están pagando por clic en otros medios.

Como comentaba al comienzo del artículo, una de las características más destacadas de AdManager es que permite a los medios maximizar su beneficio al poner en competencia la publicidad vendida directamente por ellos con la publicidad que Google ha vendido a través de su servicio AdWords. Esta característica puede convertirse en una espada de Damocles al entregar a Google información sobre el rendimiento de la publicidad que los medios venden, información con la que ellos podrían afinar su estrategia comercial en AdWords ofreciendo a los mismos clientes un mayor retorno de su inversión.

La política de privacidad de AdManager no es muy clara a este respecto así que dejo el debate abierto a vuestros comentarios.

Por último, y para evitar que el título de este artículo quede obsoleto en unos pocos días, Google está rebautizando este producto y en breve pasará a llamarse DoubleClick For Publishers - Small Business, haciendo referencia a la red publicitaria que adquirió hace unos meses y al público a quien va destinado: empresas que no superan los 90 millones de impresiones por mes y cuyo modelo de gestión de ventas puede adaptarse a la aplicación.


lunes, 15 de marzo de 2010

Chilebyte: terremoto, libros, 3D y iPad

Tecnología para la ayuda de las víctimas del terremoto; "Todo va a cambiar", el libro de Enrique Dans editado bajo licencia Cretive Commons; los nuevos televisores 3D; primeras cifras de venta del iPad.

Estos son los temas expuestos en este nuevo capítulo de Chilebyte para chilevision.cl
El próximo capítulo me tomo un descanso y dejo paso a mi compañero @ciberviviente

viernes, 12 de marzo de 2010

Primera colaboración en Chilebyte

Chilebyte es el programa de tecnología producido por y para chilevision.cl. Mi compromiso inicial, consistente en aportar ideas para su desarrollo, terminó trasformándose en mi primera experiencia delante de las cámaras:
Este programa se enmarca dentro de los contenidos exclusivos que estamos produciendo para nuestro sitio web desde inicios de 2010 y que puedes revisar aquí.

martes, 16 de junio de 2009

Spam: un problema no deseado

Hace unas semanas recogí mi primera camisa “made in Boden”. Para los que no la conozcan, Boden es una camisería con un proceso de producción que permite tener camisas a medida con precios similares a las pret-a-porter. Además, las medidas de los clientes quedan registradas en su base de datos lo que facilita las siguientes compras, incluso pudiéndolas hacer por internet.

Días antes recibí un mail en el que me avisaban que mi camisa estaba lista y me invitaban a pasar a retirarla. Este mail apareció marcado como spam en mi cuenta Gmail.

Cuando en Chilevisión abrimos nuestro sitio web al registro de usuarios, descubrimos que un pequeño número de ellos no era capaz de completar el proceso porque no recibía el correo de confirmación que nuestro sistema le enviaba. Como todos vosotros habréis experimentado, este procedimiento de registro es el habitual en cualquier sitio web y nos sirve para verificar que el correo electrónico de quien se registra es correcto y que, efectivamente, su propietario quiere registrarse en nuestro sitio.

Cuando comenzamos con el desarrollo de la red social MITIU.com nos tomamos muy en serio este problema. En chilevision.cl podemos subsistir con un pequeño porcentaje de errores en el registro de usuarios e incluso podemos gestionarlos manualmente advirtiendo en el proceso de registro a nuestros futuros usuarios de esta posibilidad. Pero en una red social el registro de usuarios y la comunicación con ellos mediante el email son procesos claves, así que decidimos afrontarlos.

Para la gestión de la cuentas de correo @mitiu.com optamos por utilizar la robusta, amigable y gratuita plataforma Gmail. Las tareas de mantenimiento son inexistentes: todo lo que un usuario puede necesitar, como el cambio o la recupración de claves, es “do it yourself”. La única limitación la encontramos en el número de mensajes que un usuario puede enviar al día: 500. Este número es suficiente para un usuario normal, pero no para la gestión de los correos generados por una red social. A los enviados para la creación de nuevas cuantas hay que añadir los que informan sobre la actividad de la red. Para procesar estos mensajes necesitábamos nuestro propio servidor de correo.

Optamos por qmail por su sencillez y seguridad. Una vez instalado, lo configuramos para que sólo enviase correos originados en MITIU.com. Finalmente ajustamos el registro SPF de nuestro DNS.

Las primeras pruebas las realicé con la ayuda de Nacho y sus herramientas de análisis de spam y DNS. Todo parecía ir bien hasta que detecté que ningún correo enviado a cuentas de Yahoo! era admitido por sus servidores de correo. MITIU.com se encuentra alojado en la “nube” de Amazon y ningún correo proveniente de dicha plataforma es bienvenido, al menos, por los servidores de Yahoo!

Este es un problema que Amazon aún no ha resuelto: cualquiera con una tarjeta de crédito puede poner en marcha una máquina en su “nube” en cuestión de minutos y utilizarla para un envío masivo. O peor aún, la gran cantidad de máquinas corriendo en la “nube”, muchas de ellas sólo para pruebas y no configuradas de manera segura, hacen de Amazon un apetitoso objetivo para los spammers que "abusan" de sistemas de terceros cuando realizan sus envíos. La solución adoptada por Yahoo!: no permitir ningún mail cuyo origen sea Amazon.

Descartado nuestro propio servidor, el siguiente paso fue encontrar un proveedor de servicios de correo fiable y con la suficiente reputación como para confiarle todo el tráfico de emails generado por nuestra aplicación. Lo habitual es encontrar proveedores que ponen a disposición de todos sus clientes un servidor de correo. La capacidad de envío está garantizada pero la fiabilidad... Se corre el riesgo de que un mal uso del servicio por parte de un cliente afecte a la reputación de los correos enviados por el resto y sin arte ni parte encontrarte con tu servidor de correo en una lista negra.

La empresa Sailthru ofrece un servicio, triggermail, orientado a evitar esta situación. A diferencia de los descritos anteriormente, triggermail no da acceso directo a un servidor de correo. Los envíos se realizan accediendo a un servicio web. Todo mail que salga desde su aplicación debe incluir un texto y un enlace que permita al receptor avisar de que no quiere recibir más correos del remitente. Este enlace apunta a la plataforma de triggermail, que procesa la petición e informa a la aplicación remitente del mensaje. Si por error o mala intención mi aplicación trata de enviar un mensaje a un usuario que indicó que no quería saber nada más de mí, triggermail no lo enviará. De esta forma triggermail cuida de los destinatarios de los mensajes que salen desde su plataforma, protegiendo la reputación de la misma evitando caer en una lista negra. A su vez, cuida a sus clientes de posibles errores o usos indebidos realizados por otros clientes.

El servicio, además, permite priorizar unos mensajes sobre otros para el hipotético caso de que nos encontrásemos con saturación en el servicio. En el caso de MITIU.com, por ejemplo, las invitaciones que envían los usuarios registrados a sus amigos tienen una prioridad mucho menor que los mensajes de verificación de mail que se envían en el proceso de registro. También es de destacar el completo sistema de estadísticas con información sobre número de mensajes enviados, avisos de spam, rebotes producidos por direcciones erróneas, casillas de correo con problemas,... Un último detalle a destacar: para su contratación realizan una serie de comprobaciones "manuales" con idea de conocer quién es su nuevo cliente.

Aunque lo habitual sea ver el spam como un problema del receptor, quienes queremos comunicarnos por mail con nuestros usuarios de manera lícita tenemos que hilar muy fino con nuestros desarrollos si no queremos ser confundidos con él.

martes, 12 de mayo de 2009

La revolución del open source

"La estructura de las revoluciones científicas" (Thomas S. Khun, 1962) es un libro sobre historia y filosofía de la ciencia. En él se explica cómo la evolución de las ciencias se produce en forma de revoluciones que suceden a crisis profundas en un campo científico, obteniendo como resultado una nueva visión y entendimiento de dicho campo.

Su lectura me la recomendó Robin, y por ello llegó a mis manos, para aprender a situarse frente al continuo cambio que se experimenta en el mundo laboral, estableciendo un paralelismo con los cambios producidos en la ciencia a lo largo de su historia.

Uno de los puntos que encontré más interesante fue el hecho de que las revoluciones no se dan en un único punto geográfico (país, universidad o centro de estudios) sino que suceden de manera paralela en varios de los lugares donde se estudia el campo científico afectado.

Conversando acerca de esto con mi compañero Mario, descubrí un fenómeno similar en lo que se refiere a las diferentes plataformas open source que he ido utilizando a lo largo de mi carrera profesional:

Zunibal, año 1998: por aquel tiempo me encontraba desarrollando sencillas aplicaciones web en lenguaje C, lo que llamábamos "cegeis". El desarrollo y depuración era un proceso lento y engorroso. Programar sobre emacs; compilar con gcc; ftp al directorio cgi-bin del servidor apache; probar con Netscape; internal server error. Vuelta a empezar. Y qué decir de la integración de código HTML. Otra odisea. Pero aquel año se publicó PHP 3, la primera versión del popular lenguaje de programación open source (aunque se trate de la versión número 3 las anteriores no eran un lenguaje propiamente dicho) . PHP llegó para reducir la complejidad y los tiempos de desarrollo y para facilitar la separación del código de la parte visual, lo que además contribuyó a que los diseñadores entrasen de lleno al mundo internet.

K 2000, año 2002: sitios webs dinámicos, gestores de contenidos, e-commerce... En definitiva, bases de datos puestas en la web donde un administrador sin conocimientos técnicos accedía a una dirección privada y ejecutaba altas, bajas, modificaciones y consultas. Podían ser proveedores, clientes, zapatillas, artículos de subastas,... El proceso siempre era el mismo. Modelar la base de datos, crearla en mysql y adaptar unos cuantos scripts que realizaban las mencionadas operaciones pero sobre la nueva base de datos. Así proyecto tras proyecto. En aquella época otros desarrolladores como yo, atrapados en el día de la marmota, diseñaban y desarrollaban los primeros frameworks open source orientados a resolver este atasco: Ruby on Rails, Zend, Cake... Por desgracia yo tardé algún tiempo más en subirme a esta revolución. Parte de culpa la tiene mi amigo Alex, evangelizador de la filosofía open source, a quien le consulté sobre este problema y no pudo abrirme los ojos en aquella oportunidad. No fue hasta tiempo después que comencé mis primeros desarrollos sobre Cake.

Chilevision, año 2008: después de situar nuestro sitio web entre los más visitados de Chile alcanzando el millón de visitantes únicos mensuales, era el momento de desarrollar nuevos productos para seguir creciendo. Ese mismo año Facebook se masificaba en Chile por lo que tomamos la opción de desarrollar nuestra propia red social. El resultado vio la luz al final del primer trimestre de 2009 bajo el nombre de miTiu.com. La plataforma open source utilizada fue Elgg, coincidiendo con su versión 1.5, optimizada ya para un tráfico elevado. El tiempo de puesta online fue mínimo, tan solo el necesario para integrar el diseño, desarrollar un par de funcionalidades no incluidas y configurar el hosting sobre Amazon Web Services. Ahora es turno de captar usuarios y decidir qué nuevas características queremos integrar en la plataforma.

Esta contemporaneidad que se ha dado entre los proyectos en los que he trabajado y el desarrollo de las plataformas open source con las que he ido desarrollándolos valida el trabajo que he realizado. Además esta conclusión que saco mirando hacia atrás en el tiempo se puede aplicar hacia el futuro, como una regla de validación de nuevos proyectos: ¿qué hay en el mundo open source que esté relacionado con el nuevo proyecto que voy a abordar?

Y hablando de futuro, en cuanto vuelva a Chile tengo que revisar la última recomendación de Alex: Drupal + CCK.