viernes, 19 de marzo de 2010

EightNotes.org cancelado temporalmente

Hola gente. Sé que no será ningún trauma para nadie, pero creo que es conveniente que avise que de momento he cancelado temporalmente el desarrollo de eighnotes.org. Esperaba encontrar con este blog a gente interesada en colaborar conmigo, pero no se ha dado el caso. Y además mis nuevas responsabilidades en el trabajo se llevan todo mi tiempo.

Sin embargo dejo el blog abierto por si las explicaciones que en su día colgué le sirven a alguien.

Un saludo a todos y gracias por la visita :-)

Luis Serrano

martes, 30 de junio de 2009

Ha muerto Michael Jackson

El pasado jueves 25 de Junio de 2009, El Rey se fue para siempre. El enorme corazón de Michael Jackson se paró, deteniendo por un momento también el de sus millones de sus seguidores.

Sigo a Michael Jackson desde que era un niño, me ha acompañado en mi vida desde que tengo uso de razón. Por ello le echaré de menos, aunque haya dejado el gran legado musical que inunda mi estantería. No me importa por qué ha muerto, no escucharé los rumores. Para mi lo único que importa es que se ha ido. Seguirá vivo en la memoria colectiva como El Rey del Pop. Para mi, El Rey a secas, pues reinaba en más dominios que el pop.

Mi web muestra en portada todos sus discos; desde el día que falleció, los RSS feeds de los que obtengo lo más popular del momento sólo saben decir su nombre. Aquí la muestra:


Michael Jackson, nunca te olvidaremos. Descansa en paz.

jueves, 4 de junio de 2009

Me mudo a California

Hola a tod@s!

El próximo 15 de Agosto me traslado a California, donde me quedaré por tiempo indefinido. Desde allí, por supuesto, seguiré con este proyecto que últimamente tengo algo abandonado. Sólo avanzar que he creado lazos con gente muy interesante que me enfocarán en la dirección correcta para desarrollar esta web.

Más noticias en breve.

Por cierto: se buscan aficionados al Ruby on Rails...

Adaptando el contenido

En anteriores entradas hemos visto cómo obtener los datos, y de dónde. Seguramente todo lo que he escrito se irá quedando desfasado muy rápidamente, pero aquel que está pendiente de estos temas seguramente no tendrá problema. Si estás empezando, quédate con la filosofía y las posibilidades más que con recursos concretos: adelantarás más.

Bien, vamos con un tema muy importante, diría que tanto o más que disponer de fuentes de datos es presentarla de forma atractiva. Existen millones de webs ahí fuera, y que un usuario se decida por la nuestra como punto de referencia al que volverá no es tarea fácil. Por triste que parezca, la dura realidad es que al usuario no le importa lo más mínimo lo legible que sea tu código, que uses este u otro lenguaje, o el tiempo que le hayas dedicado a crearlo. Lo que les importa a los visitantes es lo que pueden ver.

Y a veces ni eso, hay otros factores como "quién llega antes". Si una web fea tiene éxito porque ofrece algo novedoso, sus clones megaperfeccionados raramente superarán al original. Por ejemplo, YouTube como web es bastante fea. Y la parte de administración de la cuenta, horrible. Es fácil de usar, para navegantes con cierta experiencia, pero es en general una web fea. Pero como llegó antes que nadie ofreciendo la posibilidad de subir vídeos hasta reventar, triunfó.

Hay ejemplos más elegantes de una web de vídeos:
Como verás, el diseño está mucho más cuidado, pero no son tan conocidas como YouTube. Tú puedes crear tu propio clon de YouTube gratis, por ejemplo, con Phpmotion. Merece la pena echarle un ojo, es bastante elegante y personalizable.

De todos modos, en esta entrada no hablaré de crear un clon de Youtube, sino de cómo adaptar los datos obtenidos de distintas fuentes en nuestra web. Ver otros scripts sin duda ayuda bastante, por eso recomiendo visitarlos e incluso bajar el código fuente y jugar con ellos.

Añadir vídeos a nuestra web

En una web musical como Eightnotes.org no puede faltar vídeo. Es el recurso más visual del que podemos echar mano. Está bien presentar letras de canciones, información sobre artistas, imágenes, etc... Pero el vídeo sin duda dará vida y fuerza a la web.

Hay varias formas de incluir vídeo: como contenido principal (tipo YouTube), como complemento de la información mostrada, o a petición (búsqueda de vídeos, por ejemplo). En nuestro caso la segunda y tercera opción serán las principales.

Cuando mostremos información sobre un artista, o la letra de una canción, podemos por ejemplo incluir un widget lateral con imágenes y vídeos, al estilo BoxNet. Pero también podemos hacer algo más espectacular y vistoso, como es incluir reproductor en el que reproducir el/los video(s) relacionados en la misma página, como en este ejemplo. Basta un plugin gratuito (flash, windows media player, quicktime, realplayer) para que nuestros visitantes puedan ver los vídeos que colguemos (dependiendo del formato escogido). Pero existen reproductores comerciales bastante potentes, como el JW FLV Media Player, que van más lejos. Incluyen opciones como crear listas de reproducción, aceptan distintos formatos, live streaming, se pueden personalizar con skins, etc. También hay todo tipo de reproductores de imágenes, como SimpleViewer.

Las listas de reproducción concretamente son una opción bastante recomendable, tanto como para encadenar vídeos relacionados, como para ofrecer al usuario tal opción. O incluso para poner en portada una lista de vídeos desde un RSS. YouTube por ejemplo permite crear estas listas, y acceder a ellas como RSS desde otras webs o desde lectores de noticias. Puedes probar a ver tu lista, si tienes alguna, usando esta pequeña herramienta.

Hay muchas formas de incluir vídeos en la web aparte de las mencionadas, y, como decía al principio, seguramente mi lista se irá quedando desfasada muy pronto.

Hasta ahora hemos hablado de cómo mostrar vídeos obtenidos desde fuentes ajenas. Ahora veremos cómo hacer para permitir a los usuarios que suban sus propios vídeos. Eightnotes.org no es YouTube ni lo pretende, pero estaría muy bien que un usuario subiera un vídeo que ha grabado con el móvil en un concierto, para mostrarlo junto a los datos de un artista. De hecho, de esta forma estaríamos generando contenidos propios que no dependerían de esas fuentes ajenas...

Generando nuestra propia base de información

Como acabo de decir, permitir que los usuarios suban vídeos es la mejor forma de tener contenidos propios. Pero también podemos hacer nuestros aquellos vídeos publicados en otras fuentes. No nuestros de propiedad, eso está claro, me refiero a romper la dependencia con esa fuente ajena de la que leemos. Imaginad que MTV un día deja de ofrecer ese web service al que recurrimos para enseñar el vídeo de X artista. O que se cae el servicio. O simplemente queremos cachearlo en nuestro servidor. Sea el motivo que sea, sería bueno generar una base propia de la que tirar. También es posible que el usuario quiera descargar el vídeo en cuestión, podemos ofrecerle la opción sin que necesite un plug-in en su navegador. Existen pequeños scripts que hacen esta función, como PHP YouTube Downloader.

Vamos por pasos. Ambos casos, es decir, descargar el vídeo desde su fuente original y ofrecer al usuario la posibilidad de su descarga requieren que conozcamos la URL origen del vídeo, es decir, la ruta absoluta del archivo. En el caso de YouTube no es muy evidente a partir de una URL típica (esa es la intención). Pero los web services sí nos la proporcionan. En otros servicios como el de MTV también tenemos esa ruta completa, pero no en todos. Mis recomendaciones al respecto son estas:
  • Guardar los vídeos cuando exista una justificación: muy populares, con muchas visualizaciones, difíciles de encontrar o colgados de forma temporal. También cuando la fuente no es especialmente estable o susceptible de desaparecer.
  • Aunque cacheemos el vídeo, es decir, tengamos una copia en nuestro servidor, no servir nosotros el vídeo. Sólo en el caso de que la fuente original no esté disponible. Con esto evitaremos consumir tráfico innecesariamente. Si MTV aloja un vídeo y lo pone a disposición de otros servicios para ser mostrado, ¿por qué voy yo a servirlo desde mi hosting? Aprovecharé el suyo, que seguro es mejor... ¡y para eso está! Lo mismo se aplica si ofrecemos un link de descarga de ese vídeo. Ojo a los derechos sobre el mismo y las condiciones del servicio, pueden tener restricciones en ese aspecto. Siempre respeta a tu proveedor de contenidos, recuerda que gracias a ellos puedes ofrecer ciertos servicios (si no todos).
El cacheo de datos es un tema del que hablaré más en profundidad en otro post, porque es fundamental. Y no se aplica sólo al vídeo, también la información sobre artistas y su música debería ser guardada, actualizada y mantenida. Cuando mezclamos y filtramos datos de distintas fuentes y empezamos a transformarlo, estamos creando nuestra propia base real de datos, que será responsabilidad nuestra.

Subir vídeos del usuario a nuestra web es más complejo. Seguramente necesitará transformarse (comprimirse o codificarse a otro formato). Y luego están las táreas no técnicas, que son moderar esos vídeos, clasificarlos correctamente, crear las opciones necesarias en el menú de usuario para hacer posible la subida, etc. Aquí hay un tutorial de cómo codificar vídeos usando el programa FFmpeg.

Este tema, adaptar el contenido a nuestra web, es realmente extenso. En esta entrada me he centrado en el vídeo, pero volveremos a ello. ¡Espero que os haya parecido interesante!

jueves, 7 de mayo de 2009

Primera sesión de fotos

Hoy un breve post para anunciar la primera sesión de fotos para la portada de EightNotes. Será el próximo domingo 10 de mayo en Barcelona, el lugar lo acordaremos entre todos. De momento, tres modelos ocasionales asistirán al "evento" :-)

Como esta entrada va para ellas, unas breves instrucciones:
  • Traed ropa de colores vivos, preferentemente azul, amarillo o rojo. La ropa ajustada será bienvenida, pero no es necesario, simplemente que no tenga mucho vuelo.
  • Maquillaje opcional, preferiblemente sólo base, pero en caso de usar algo más, que sean colores suaves.
  • Como accesorios, cualquier cosa relacionada con la música: auriculares (cuanto más grandes, mejor), radios (si puede ser antiguas), cassettes, vinilos, intrumentos musicales, partituras... lo que encontréis.
Las fotos resultantes de esta sesión serán portada o cabecera de la web EightNotes, y muy posiblemente se usarán en el vídeo promocional. Para ese vídeo "se rodarán" algunas tomas más adelante.

Como algunos de vosotros sabéis, me traslado a California una temporada, en Julio ya no estaré en España. Así que las fotos las quiero hacer antes, aunque la edición y publicación sea más adelante.

¿Por qué una sesión de fotos y un vídeo? ¿A quién le importa?

A mi. A muchos les puede sonar grandilocuente lo de hacer una sesión de fotos, o hablar de videoclips promocionales y otras paranoias cuando la web ni siquiera está en marcha. Es posible, pero la intención no es otra que pasar un buen rato con mi gente, y de paso involucrarles en este proyecto que es mi sueño. Ya que técnicamente no pueden poner su granito de arena, para mi es un honor y un placer que sus caras y sus gestos sean una parte importante del producto final. Además, cuando esté a 9.000 kilómetros de ellos, ver sus caras cada día en la portada de "mi criatura" me hará tenerles más "cerca".

¡Os espero amigos!

Dónde: Parc de La Ciutadella (pincha para ver el mapa)
Cuándo: Domingo 10, a partir de las 11h

jueves, 30 de abril de 2009

Presentando el proyecto

Hoy es un buen día para el proyecto. Mi amiga Raquel Cerdà se ha sumado como fotógrafa y grafista de esta aventura. Incluyo algunas de sus fotos como ejemplo de su talento. La otra gran noticia del día es que he puesto fecha para el rodaje del clip promocional del proyecto, que estará en portada de la web hasta que haya algo que enseñar.

Para quien no sepa de qué va todo esto, le recomiendo leer las dos primeras entradas del blog, donde explico qué es EightNotes y cual es mi motivación para crear el proyecto.

Pues eso, que los días 9 y 10 de Mayo me pondré detrás de la cámara para empezar a grabar el clip. Espero contar también con la colaboración de mi hermano, que trabaja en el mundo de la videoproducción y que ya ha demostrado que vale con su primer videoclip.

Estas son las primeras fotos, candidatas a portada de EightNotes:



lunes, 27 de abril de 2009

Herramientas para crear una web musical: API's

Últimamente no tengo bastante poco tiempo para dedicarme al desarrollo, pero no porque sea complejo. Más bien diría que ya tengo todas las piezas que necesito para crear mi web musical, sólo queda encajarlas con calma.

Voy a publicar en este artículo una lista de recursos, fuentes de datos, API's, plugins, etc., que usados de forma inteligente podrían crear una web más que interesante (y rentable). No estoy divulgando ningún secreto que guarde celosamente; todo lo que voy a compartir aquí está disponible en la red, de forma gratuita. Si alguien tiene más tiempo que yo y quiere ponerse con ello, me alegraré de saber que he ayudado en algo.

Para crear una web dedicada a la música hoy en día sólo hace falta una cosa: tiempo. Porque recursos hay muchos. Vamos a ver una lista de ellos, categorizados de la mejor forma posible.

API's: La llave hacia el contenido

Las API's son interfaces que exponen información a terceros, de modo que estos puedan explotar esa información desde sus aplicaciones. Con esta premisa, podemos afirmar que hoy en día cualquiera con un mínimo de conocimientos puede crear una web que ofrezca la información más completa acerca de un tema, sin necesidad de haber generado dicha información. Por supuesto, acceder a información que otras empresas comparten, también nos permite almacenar todos esos datos, y no depender de ellos si en un futuro cerraran sus puertas.

Las API's que voy a listar en este artículo ofrecen sus datos de forma gratuita, así que como cortesía no estaría de más citarles como proveedores de nuestro producto. Incluso en el caso de almacenar la información que extraigamos de ellos, lo correcto es citar la fuente original.

Last.fm
http://www.lastfm.es/api


La API de Last.fm permite acceso a la enorme base de datos musical de la web, que incluye albums, artistas, listas de reproducción, eventos, usuarios y mucho más. Un dato importante es que Last.fm se caracteriza sobre todo por relacionar música, de modo que sugiere música en base a los gustos de los usuarios. Puede ser muy útil para, además de ofrecer información sobre un artista, generar sugerencias.

MTV
http://developer.mtvnservices.com/blog


Permite mostrar vídeos musicales, o incluso crear listas de reproducción de vídeos, desde varias fuentes: MTV, VH1, CMT o LOGO. Es un recurso bastante interesante y potente. Si se suma a esto la posibilidad de cachear el vídeo servido, y además se suma YouTube como fuente alternativa, podríamos mostrar virtualmente casi cualquier vídeo musical de artistas conocidos.

Vimeo
http://vimeo.com/api

Vimeo es una web de videos tipo YouTube, que ofrece contenido creado por sus usuarios, en algunos casos en formato HD. No tiene necesariamente por qué ofrecer contenido relacionado con artistas pero en algún caso puede servir de apoyo. En cualquier caso, es un recurso a tener en cuenta.

Blip.fm
http://api.blip.fm/


Blip.fm permite a sus usuarios crear listas de reproducción con sus canciones preferidas. Usando esta API, como habrás imaginado, puedes acceder a esa información. Puedes ofrecer en tu web la posibilidad de proporcionar los datos de acceso a Blip.fm, e incluir las listas del usuario en algún lugar de tu página. O puedes importar esa información, y a partir de esas canciones obtener usando otras API's contenido relacionado: las letras de esas canciones, su vídeo musical si lo tuviera, etc. Esto mismo es aplicable a Last.fm. Este tema se tocará más adelante en profundidad.


Lyric Wiki API

http://lyricwiki.org/LyricWiki:SOAP


Esta API creo que es una de las más útiles y el corazón de mi propio proyecto, EightNotes. Como su nombre indica, ofrece acceso a cientos de miles de letras de canciones. Pueden hacerse búsquedas por artista, disco, o título de la canción. He puesto el link que lleva a la descripción general de esta API, que además explica cómo acceder a la información desde varios lenguajes, incluyendo Ruby, PHP, JavaScript o .Net.

Tumbplay
http://open.thumbplay.com/

Esta API está más relacionada con el contenido para móviles: fondos de pantalla, temas, tonos de llamada y videos. Seguro que ya se te ha pasado por la cabeza: puedes ofrecer a tu visitante que se descargue en su móvil el politono de la canción cuyo vídeo esta visualizando, o cuya letra de canción ha consultado. Puede tener restricciones para usuarios de fuera de Estados Unidos, pero usando la API de geolocalización de Google... ¡puedes ofrecer este contenido sólo a quien puede consumirlo!


The Movie Reviews API

http://developer.nytimes.com/docs/movie_reviews_api


¿Ofreces información sobre cine? ¿Te gustan las bandas sonoras? Ahora puedes incluir críticas sobre la película en la que sale la canción o el vídeo que estás mostrando. Esta API del New York Times permite acceso a su base de datos de críticas. Eso sí... en inglés.


API Dashboard: ProgrammableWeb
http://www.programmableweb.com/apis


Como decía al principio, no estoy revelando secretos a nadie, todas -o casi todas- las API's mencionadas las he encontrado en esta web, The API Dashborard, un directorio de recursos bastante bueno. Está organizado por categorías, y la música -que es el tema que nos ocupa- tiene la suya. Otras categorías importantes son: video, fotos, widgets, imprescindibles como apoyo audiovisual y multimedia. Os recomiendo echarle un vistazo con calma y acceder a sus demos, para ver si se ajustan a vuestras necesidades. Atención al apartado dedicado a especialmente a la música y los mashups. [¿Qué es un mashup?]

Google AJAX Search API
http://www.google.com/uds/solutions/videosearch/reference.html


Google expone una interfaz para realizar búsquedas de sus colección de vídeos, tal y como lo harías en YouTube. El vínculo que incluyo lleva a las instrucciones para incluir esta funcionalidad esta página en unos pocos pasos.

Esta es sólo una de tantas API's disponibles en Google Code. Recomiendo encarecidamente tomar buena nota de todo lo que ofrecen.


YouTube
http://code.google.com/intl/es-ES/apis/youtube/overview.html


No podía faltar el API de YouTube, cómo no... Esta web ha sido la protagonista del crecimiento más bestial en los últimos tiempos. Ha llegado a registrar mas de siete mil millones de visualizaciones diarias (*). Si vas a incluir vídeos de YoutTube en tu web, elegidos por ti, o a partir de listas de reproducción de usuarios, RSS o llamadas a la API, deberías tener en cuenta los riesgos que ello conlleva. Ya sin entrar en temas de copyright, un video puede estar etiquetado con un término que no tenga nada que ver con algo que quisieras ver en tu web. Aunque los propios usuarios de YouTube y los administradores la mantienen bastante limpia, conviene tener cuidado. Además, a veces es mejor no presentar resultados que mostrar videos de baja calidad o "versiones" caseras. Es mi opinión personal, pero creo que es un buen consejo a seguir. En mi caso, habilitaré una forma de marcar vídeos como "no deseados", para no enseñarlos en mi web. Es una forma de diferenciarse del resto, y de mantener cierto nivel de calidad.

Aquí os dejo un ejemplo de cómo realizar búsquedas en YouTube con el servicio Services_YouTube (PHP/PEAR). En próximos artículos se verá más detenidamente esta API, de momento con esto os podréis hacer una idea :-)

Continuará...

Este artículo continuará con técnicas para adaptar el contenido a tu web, además de trucos como descargar los vídeos obtenidos desde API's, para mantenerlos en tu propia cache o bien como descarga para el usuario. También se abarcará el tema de cómo obtener ingresos a partir de estos contenidos.

De momento os dejo con esta entrada que explica lo básico para crear una web de vídeos, y una introducción a los web services de Amazon (AWS). También es interesante este documento: "Investigating Web Services on the World Wide Web".

Espero que os sea de utilidad.