Charlando sobre Desarrollo Web en Spotify - HTML5Spain

José M. Pérez

José M. Pérez / February 07, 2013

42 min read––– views

El pasado 7 de febrero hablé sobre Desarrollo Web en Spotify en un hangout con los compañeros de HTML5Spain. Aquí está la presentación:

Vídeo y transcripción

Enrique Quintano: Hoy contamos con la presencia de José Manuel Pérez, frontend developer en Spotify. José Manuel, muchísimas gracias.

Yo: Hola, muchas gracias a vosotros.

Enrique: ¿Qué tal todo? que por allí hace frío y allí lo que nos resultaba bastante raro muy bien josé manuel cuéntanos cuéntanos un poquito no se nos resulta a nosotros bastante interesante el conocer un poco tu experiencia y en donde fuera realmente realmente bueno oye como front-end developer ganarse la vida por ahí fuera ya llamamos de mérito tiene futuro esto parece que tiene futuro la verdad es que tenemos bastante suerte yo creo que este sector que tiene ahora bastante pegada y junto al desarrollo de aplicaciones nativas para móviles yo creo que el desarrollo web está bastante en alza y la verdad es que es son puestos que estaban bastante solicitados y como han llegado como este auto hasta allí cuál ha sido tu camino bueno aquí en españa yo estaba trabajando en en tuenti como desarrollador web en el equipo de móvil el equipo de del sitio móvil y bueno no sé un poquito que salir un poco de mi zona de confort dije pues y me fuera todavía ser joven no tengo muchas responsabilidades bueno siempre es bueno ver un poco todo hablar de otros ojos intentar también mejorar el idioma no sé una temporadita no está nada mal estupendo estupendo y bueno como como está tan por por spotify que una empresa con tanto renombre claro bajo todos podemos esperar maravillas que te cultura empresa y por allí como como os organizáis como trabajáis vamos tú ese día a día de ir para la oficina y desarrollar y tal para una gran compañía pues bien la empresa la verdad que está creciendo bastante en este último año han contratado muchísimos muchísimos desarrolladores web porque al principio no había prácticamente nada web era todo un cliente de escritorio eran donativo pero bien ésta está creciendo bastante y está viendo muchas estructuras de que vos y bien bueno básicamente trabajamos en equipos pequeños y tenemos tanto gente va que afronten tenemos cubas diseñadores prácticamente cada equipo tiene asignados una serie de recursos y nada muy bien el trabajo día a día es un poco la metodología ágil y tenemos una serie de tareas durante el sprint pues vas haciendo las y las actualizando un poquito a los compañeros con un baile todo para notificarlo si hay algún problema vamos con un scrum típico y después nada todo tuyo la audiencia para que nos enseñe la presentación y vamos vamos un poquillo como es cómo se desarrollarán en spotify que se desarrolla muy bien pues nada de compartir la presentación aquí bueno pues bueno voy a hablar un poquito del desarrollo web porque siendo esto html5 spain pues estamos bastante interesados en la parte web de estas empresas bueno ya me he presentado pero hay en mi twitter trabajo como front en el velo pero aquí en estocolmo en la oficina más grande de spotify en cuanto a desarrolladores y nada como esté bastante a gusto por aquí voy a hablar un poco de que sheput y fine aunque muchos lo conoceréis ya pero un poquito cómo se utilizan las tecnologías web en spotify que proporciona hacer determinadas implementaciones utilizando tecnologías web y luego un poco los desafíos con los que nos estamos encontrando y algunos consejos y conclusiones que estamos sacando mal cuando hablamos de spotify practicante a todo el mundo la primera imagen que le viene es la aplicación de escritorio lo conozco el primer el primer cliente que hubo y bueno ese es el más conocido pero aparte también tenemos clientes móviles para para ipad para iphone android windows mobile wilder for blackberry de todo y hasta la televisión esto es una captura de gas y es martín samsung es martín y bueno todo esto también está desarrollado utilizando web way y bueno 12 números porque notifight verdad que es bastante grande tiene 20 millones de usuarios activos de los cuales son 5 millones usuarios de pago por suscripción tenemos 20 millones de canciones bueno me millones de playlist aplicados al final de un poco el reto ha dejado de ser ser el que más canciones tiene en catálogo y transparente todas las empresas están centrando un poco en intentar mejorar la el descubrimiento de canciones y intentar ajustarse a los gustos de cada usuario intentar explorar un poquito del catálogo tan tan enorme que tienen y bueno el principal desafío tecnológico que tiene spotify es mantener la calidad del servicio y la experiencia del usuario también cómo vamos creciendo tal y como se van abriendo el producto del nuevo mercado y tal y como van apareciendo nuevos dispositivos nuevas plataformas etcétera el departamento técnico somos los 250 empleados ya he dicho la mayoría estamos en estocolmo pero hay también oficinas en göteborg aquí en suecia y san francisco en nueva york en estados unidos y luego el desarrollo web en concreto la parte de bach que se utiliza para jenson java php es un poco variado y luego cada equipo elige qué tecnología prefiere utilizar para implementar su funcionalidad pero estas son las que se procura utilizar y luego la parte de front-end pues nada típico javascript html y css aquí y un poquillo cómo se estructura los equipos en spotify son son equipos de cinco a diez personas y se intenta que esos equipos tengan un poco todo lo que hace falta para desarrollar cualquier función funcionamos como pequeñas startups que nosotros desarrollamos funcionalidades monitorizamos que esa funcionalidad está funcionando bien se hacen ajustes se hacen despliegues y luego cada equipo es propietario de un área de una funcionalidad y luego se utilizan de xusticia metodologías ágiles ya dependiendo de cada equipo puede estar scratch camba hay empleados que son el coach que son personas dedicadas sólo a mejorar el desarrollo ágil de cada equipo y están ahí para para ayudar a cada equipo a intentar ver cuál es la metodología que mejor funciona a limar asperezas en el modo de trabajo entonces está bastante bien el tener gente dedicada solo solo a esto son un poco psicólogos y luego bueno test hacemos desde prácticamente de todo el código y todas las todos los cambios que hacemos de código luego lo revisa un compañero y ya no quería entrar de antes de subirlo todos todos los cambios pasan durante la revisión de otro compañero y luego un poco a la google de esto del 20% de tu tiempo para desarrollar para desarrollar proyectos propios aquí tenemos un 10% y bueno suele ser en forma de updates que son días aislados en los que tu equipo normalmente desarrolla algo que al final puede tener utilidad para el producto final o incluso un hardwicke de hecho para mí no vamos a tener una semana que va a ser toda la empresa va a estar desarrollando proyectos alternativos pero los estos estos proyectos los proponéis entre todos tres meses antes o tal haya una bolsa de ideas algo así y luego las trabajáis si tenemos una bolsa de ideas cada hay gente que sí que tiene ideas claras y entonces propone ideas pero igual no tiene los recursos por ejemplo hay gente que quizás no son desarrolladores y dicen hoy me gustaría quizás hacer esto para mejorar no ser una campaña de marketing pero nos he desarrollado puede haber a un desarrollador que al final diga pues me gusta esa idea voy a colaborar contigo o al contrario puede ser un desarrollador que no tienes no sé no tienes tampoco ninguna idea estás a dices 9 veces lo que proponen los demás y me apunto algo entrenada está bastante bien sabe qué proyecto sale mail y bueno luego ya hablando sobre lo que son las partes que están desarrolladas en web en spotify pues bueno es principalmente por supuesto el sitio web que además sea no hemos cambiado hace poquito y bueno esto es un poco formación de producto formación de perfil de usuario toda la parte de pagos luego tenemos el spotify playbutton esto es un control que se inserta en cualquier página es un iframe y pues puedes reproducir canciones álbumes o playlist pero necesitas tener el cliente de spotify instalado es como un puente se comunica con la aplicación de escritorio y es un botón que le das al play y la reproducción luego tenemos el reproductor de esto es bastante nuevo todavía está en beta limitada y está saliendo poco a poco lo estamos sacando para para ver qué tal la reacción cómo funciona y bueno estamos ahí esto es todo está desarrollado completamente en todo web y luego tenemos aplicaciones las que llamamos spotify apps que son aplicaciones que se ejecutan dentro del cliente de escritorio para desarrollar estas aplicaciones se utiliza html5 y bueno tenemos como una librería que permite acceso a buscar búsqueda de contenido o búsqueda de artistas de canciones álbumes o acceder a la biblioteca del usuario si estás suscrito a una playlist pues lo tienes en tu biblioteca y a través de esta app y que es está escrita en javascript puedes acceder ahí y luego pues tenemos la parte de pistas e incluir pues elementos de interfaz de usuario listas de canciones carátulas con un botón de play botones para hacer su ambición de play list etcétera y bueno pues de aquí salen un montón de aplicaciones para noticias análisis de nuevos álbumes the playlist que se generan dependiendo o sea teniendo en cuenta cuáles son tus preferencias las canciones que tú tienes guardadas en tu biblioteca de preguntas y respuestas en aplicaciones en las que cada uno por ejemplo que está con los compañeros de trabajo y cada uno pues pone canciones que les gustaría escuchar luego los los demás las votan y son las que van sonando un poco para para que todo el mundo esté feliz y nos escuche siempre lo que uno quiere de hecho voy a enseñaros un poquito de planta tiene pues tu pelo a ver si está la aplicación spotify y aquí hay un tenemos un buscador de aplicaciones que es un listado de las aplicaciones que tenemos luego cuando lasaña después aparecen aquí a la izquierda y aquí de todo vaya aplicaciones de last fm aplicaciones que eso vas arrestando aquí canciones y que generan playlist y canciones aplicaciones de estas ocultando una canción y te van saliendo las letras de la canción podemos darte un karaoke en seguida un poco de todo en todo esto es nuestro desarrollo html5 normal y corriente no hay nada especial se añade un fichero manifest un poco como si fuera una extensión de chrome o las open web apps de iphone subes y ya está nosotros tenemos acceso a estas apps para desarrollar aplicaciones si tú el único requisito es que tengas una cuenta premium luego acceder al sitio de developers puntos cotif hay puntocom y puedes activar una cuenta como desarrollador que es básicamente pues acepta unos términos de uso y ya está utilizando tu cliente normal de spotify de escritorio puedes desarrollar aplicaciones tienes puedo enseñar también un poquito no des la pinta que tiene una aplicación así de ejemplo es nada que una página html normal con unos css es que son para un poco tener mantener el estilo del estilo general de todos los componentes y después puedes subir un poco vale y bueno manifest es un fichero manifestar mi aplicación tiene este nombre tiene esta descripción para un steak uno utiliza esta versión de app y todo se está documentado en el sitio desarrollador pero básicamente esto va a abrir luego un index.html y tú ahí haces lo que quieras aquí está incluyendo un fichero javascript main punto j s pues está en la parte de de api es la forma de de insertar e incluir la librería de spotify y luego están los de ser los modelos que es lo que representa una canción un álbum una playlist o artista usuario del modelo y view son los componentes de interfaz de usuario entonces pues aquí estoy incluyendo un reproductor y una lista de hecho lo podemos abrir y así vemos un poco cómo queda a ver compartir el pan esta aplicación sea marcelo muhn la aplicación se haga para dentro de una carpeta de spotify que está dentro de tu en este caso de to home y nada de esto tú le das ahí y ya está y esto es una carátula compuesta por varias carátulas porque esto se corresponde con una lista de reproducción entonces aquí hay canciones de varios álbumes y luego esto es una vista de una lista de canciones así que tenemos una playlist y tenemos aquí dos visualizaciones yo puedo darle aquí y se reproduce vale o le puedo dar eso es un componente ya desarrollado por vosotros que yo puedo incorporar si la siesta se ejecuta dentro del dentro del cliente spotify es todo no lo puedes sacar fuera una página hola eso es una web que tienes tú que se ejecuta dentro del dentro del cliente entonces no nos chupamos yo soy usuario de spotify y es bruta del número de aplicaciones que vamos que desde que salió esto en una aplicación que te puedes encontrar en spotify por impresionante vamos si hay cientos lo luego a la hora de publicar lo tuvo eliges también en el país donde quiere publicar puedes traducirlo a varios idiomas entonces dependiendo del país pues hay unas aplicaciones u otras pero prácticamente tienes más de 100 en cada país sin que existiera al igual mejor ejemplo de esta costumbre a trabajar con los mapas de google por ejemplo que tienen una limitación de hacer más de equis peticiones de teis vosotros pago una restricción de la expo rock para documentar en oficiales pues en los paneles comentará es el próximo en principio que yo sepa no hay no hay ningún tipo de limitación en cuanto a este tipo de desarrollo tú haces tu aplicación tienes a tus botones y el usuario es tiene cuenta ilimitada cuenta premium pues no tendrá ningún límite podrá estar escuchando cualquier a tantas canciones como quiera utilizando tu aplicación si tienes un límite de 20 horas pues es el límite se aplica en una cuenta free el límite se aplica al objeto de reproducido a lo largo de toda de todo el cliente así que tengo con rabia no hay ningún límite para ti como desarrollador por primera y los usuarios tantas veces como quiera ofrecéis algún tipo de información del juego de imagínate que yo desarrolla una aplicación para spotify y luego quiero saber cuánta gente se ha instalado cuánta gente ha escuchado qué tema o veis en la vida y algo algunas buenas formas atrás y para luego reinventar un poco la rueda pues puedes insertar un código puedes insertar google analytics un tracking de google analytics con eso prácticamente tienes todo cubierto luego puedes ten en cuenta que luego puedes estar haciendo tracking de eventos entonces tú dices por cada vez que el usuario haga esto yo lo quiero guardar igual que cuando inserta google analytics en tu página y quieres vernos en cuántas veces la gente reproducción un vídeo o lo que sea que quieras y una voz una pregunta con respecto de política de privacidad por ejemplo hay gente también que cuando trabaja con la api de facebook y hay una aplicación o sea tiene una limitada que bueno cambia siempre de un mes para otro pero de lo que yo recuerdo cuando hicimos experimentos con eso en la fecha de publicidad a la que estaba que tienes que sólo puedes tener 24 horas esos datos supuestamente esos datos luego no los deberías almacenar o tendrías que pedir algún tipo de permiso especial tenéis algún tipo de política de privacidad en ese sentido si hay unos términos y condiciones esto ya es un poco aparte yo conozco bastante la parte técnica luego la parte legal todas estas aplicaciones antes de antes de ser publicadas pasan un proceso de envío y de afectación entonces pues ellos luego hay un equipo que evalúa si tú estás recogiendo determinados datos uno quiere cosa que pueda estar que vamos que no esté acorde con los términos y condiciones los de no sé exactamente qué cosas pero sé que hay una serie de términos igual que hay algunas guías de diseño de estilo y se procura también mantener un poco el mismo estilo si el botón de play start una carátula abajo a la derecha pues o en el centro pues se intenta mantener una consistencia es un poco tipo apple store o el play store de google siempre tiene luego una parte de control y lo desarrolla pero luego hay una parte de envíos pero no hay ningún problema y podrías podría recomendar nos alguna área alguien que haya publicado puede sentir java algún proyecto de alguna aplicación de spotify que estuviera interesante que a vosotros os haya parecido interesar que nosotros nosotros tenemos una aplicación tutorial vamos a buscar un está enlazada desde el sitio desarrolladores lo pueden buscar spotify tutorial y es una aplicación que te explica un poquito cómo cómo hacer las cosas básicas tienes 16 niveles de código que puedes utilizar para hacer para insertar reproductores listas los controles un poco más comunes y luego estamos pensando también en intentar sacar como aplicaciones un poco backbone que tú prácticamente tengas la estructura y cambiando algunas cositas enmendó ya la información específica de tu aplicación pues puedas puedas generar una aplicación más o menos mantenible así con un poco mvc separado todo y con unas mejores prácticas que pensamos nosotros que se deben seguir si quieren esa aplicación de hay una aplicación de tutorial que puedes seguir un poquito pues vamos a ver vamos a ver por qué estaba yo por aquí por twitter la gente es un poco es un poco tímida no se atreve seguro que tiene un montón de preguntas lo que hemos comentado antes offline que parece que muchas veces los españoles somos muy tímidos a la hora de preguntar a una stripper stripper y nos tiene una placa o un conocido pero bueno esperamos nos seguimos con la presentación en no hemos visto la presentación y estamos aquí fundiendo preguntas no lo queremos saber todo por lo que si lo que veáis vosotros tengo todavía más transparencias pues sí que sí con las transparencias porque igual es donde estamos adelantando así que vale vale seguimos con las preguntas vale código macho y tal pues qué quieres que hagamos para vender un poco motos quiero quiero explicar un poco cómo están las cosas cómo se hacen este tipo de aplicaciones spotify no nos paga a ti sí porque eres empleado bueno y está quizás en la parte que a mí más me está buscando es desarrollar clientes híbridos amplificaciones híbridas que tengan una parte de nativa y otra parte en este caso la funcionalidad de radio tanto en la aplicación de ipad como la de iphone escrito en web html5 entonces está muy bien porque está completamente integrado vamos no tiene el usuario no se da cuenta de que eso es web y bueno esto es todo lo siguen bastantes aplicaciones nativas que siempre tienen una parte web luego aplicar un poco la ventaja de tener cierta funcionalidad escrito en web así que nada esto si no lo sabéis es es una página web esa parte entonces pues es algunas funcionalidades están escritas utilizando como esta parte de radio o en el cliente de escritorio hay una página de novedades la principal página que se ve cuando se abre eso es todo también html5 la radio que también tiene una funcionalidad de radio en la aplicación de escritorio también es web y pone la actividad que es una columna que hay a la derecha con lo que están escuchando otros amigos entonces ves cómo se pueden hacer partes en web partes nativas y es todo esto también se deja cómo se consigue bueno básicamente todas estas partes desarrolladas web están utilizando al final la misma api de javascript que estaba enseñando antes al final nosotros nos como un poco lo que hacemos y es la mejor forma de ver si lo estamos haciendo bien o no esto sobre esa capa de javascript pues se desarrollan estas estas funcionalidades tenemos esa capa que es común para todas las plataformas y luego sobre esa capa pues cada equipo va haciendo su funcionalidad así que tenemos independientemente de si es un iphone android lo que sea siempre hay una pequeña capa que convierte un poco llamadas te estás trae lo que hay por debajo de la arquitectura y expone en forma de javascript una serie de servicios sobre longitud puedes desarrollar cuál es la razón de hacer este donativo y si no pues bueno como tenemos todos los dispositivos en los que ejecutar spotify pues lo bueno es que tú puedes hacer en teoría ojalá puedas hacer un código web que se pueda ejecutar en cualquier plataforma ese es un poco la panacea y lo que todo el mundo en esta comunidad de html5 y siempre en estas discusiones de web nativa de desarrollo nativo o desarrollo web siempre siempre estará estas cosas y luego si se utiliza tecnologías web para para implementar una cierta funcionalidad en múltiples plataformas hace eso hace más fácil que un equipo pueda ser propietario de esa funcionalidad porque ellos saben mejor que nada cuál es su código y pueden mejorarlo pueden hacer cambios que afectan a muchas plataformas esto es así porque dependiendo la empresa puedes tener un equipo de desarrollo por ejemplo de iphone o sea si hay o es otro equipo de android otro equipo de otra arquitectura y al final tú quieres tener una determinada funcionalidad implementada y te toca hablar con un montón de equipos cada equipo tiene su road maps y es un poco final difícil tener una funcionalidad implementada en todas las plataformas si esto cambia y se hace que un equipo sea dueño de esa funcionalidad pues al final resulta mucho más fácil saber que sería un problema con esa funcionalidad es el equipo es el que tiene la propiedad de ese código luego hace que esto sea ayuda a la escalabilidad ya la independencia en cada equipo que está desarrollando una funcionalidad de forma independiente sin pelearse unos con otros ni tener ahí muchas dependencias de los equipos y luego bueno al ser web tú puedes desplegar esto y puedes actualizarlo cuando tú quieras y todos los clientes se actualizan no tienes que estar esperando a al lanzar una nueva versión que pase en la aprobación de las tiendas de aplicaciones para que tus usuarios si quieren y pueden actualicen a la última versión sus aplicaciones un poco la lo que ya sabemos que funciona la web y bueno luego en el caso de spotify además al hacerlo web es una plataforma para que para que los partners o para que otras empresas puedan desarrollar también sus propias experiencias sus aplicaciones en nuestra plataforma eso con código nativo sería prácticamente impensable no se me ocurriría hacer una aplicación de spotify app utilizando 12 + + siendo yo una persona de fuera de spotify que quiere solo no sé darse a dar a conocer su marca sus contenidos y bueno pues al hacerlo en web en todos los dispositivos que vuelvan a que vayan apareciendo y si ahora tenemos iphone software nokia también está desarrollando su sistema operativo escrito en web para smartphones entonces esos casos pues prácticamente te aseguras de que tu desarrollo va a funcionar vale entonces idealmente tu código pues estará en todas las plataformas bien bueno un consejo que creo yo que es conveniente es que debes conocer bien la plataforma en el caso de las de spotify apps esto funciona utilizando un un chromium en cf es una especie de chrome que está embebido entre la aplicación en ese caso tenemos un webkit pues hay mucha gente que tiene un poco el vicio de utilizar librerías sólo por unos en solo por utilizarlas pues a veces te tienes que parar un poco y decir a ver igual no necesito una librería igual esto es un web que de esta versión sé que soporta todo esto no sé igual tampoco me tiene una capa y son al final es más tamaño de la aplicación más línea de código que hay que ejecutar igual en una aplicación de escritorio no importa tanto pero cuando vas a hacer esto en en otros dispositivos menos potentes y empiezas a un problema luego en cualquier caso siempre que se hace cualquier desarrollo hay que intentar separarlos los roles e intentar hacer seguir un patrón mvc o similar para poder reutilizar la parte de código que este mundo por ejemplo imaginamos que tú tienes la aplicación quieres adaptarla para determinados dispositivos igual puedes reescribir la vista y ya está y utilizarlo toda la lógica que ya tenías hecha vale y luego los mismos principios que conocemos de responsive design también se aplica aquí yo puedo tener la aplicación de escritorio pues maximizada ahí a toda pantalla puedo cambiar el tamaño hacer la marquesina y mi aplicación pues también se debería adaptar el tamaño que disponible también debería utilizar detección de características del lado del cliente siempre comprobar a ver si hay soporte de determinado funcionalidad de javascript o lo que necesite mi aplicación y siempre siempre optimizar optimizar los edificios estáticos en imágenes css en javascript final esto no deja no deja de desarrollo web aunque estés haciendo una web estos principios siempre se aplican vaya y luego algunos hechos en esta guerra un poco de él contra nativo por sobre todo por desgracia en plataformas como el iphone y android todo el código web se va a ejecutar sobre sobre una capa superior una capa que es la aplicación en sí entonces eso hace difícil competir en performance con un código nativo entonces el código nativo en principio va a tener mejor rendimiento no sé desarrollador nativo también se podrán hacer barbaridades super mal hecha con código nativo nativo no tiene por qué ser mejor sólo porque sea nativo pero partiremos en una situación en la que tal y como está en este tipo de plataformas pues hay que hacer un pequeño esfuerzo en el agua entonces cómo abordarlo como como lo estamos abordando nosotros lo primero es tus aplicaciones intentar modular izarlas tener pequeños componentes igual que la aplicación de escritorio tiene un componente de la columna está a la derecha de lo de la actividad o puedes tener páginas de artistas o de álbumes todos esos pueden ser diferentes módulos y tú luego puedes decidir si es el módulo lo que es implementar pues en un código nativo o el código web y para eso hay que producir y testear y no hay otra pero no siempre a mí me gusta mucho la 35 y ojalá llegue muy lejos pero a veces para algunas funcionalidades quizás no en determinados dispositivos quizás al final tienes que implementar una nativo porque no hay otra pero quizás otras funcionalidades sí que lo puedes implementar utilizando web entonces al final hay que probarlo y hacer pruebas de usar y probar el rendimiento de ver qué pinta tiene al final la web proporciona muchas ventajas pero hay que tener en cuenta esto y luego la experiencia de usuario se verá afectada pues sobre igual tienes que parar y decir no os voy a seguir manteniendo estos nativos hasta que no se mejoren los dispositivos o los navegadores sus motores de javascript y nada un poquito aunque no tengáis miedo de experimentar con html5 de aplicaciones híbridas aunque sea así entrando poquito a poco en el desarrollo del 75 para todos estos dispositivos estamos ahí desarrollando todo esto intentando aportar bastantes cosas a la web para reutilizar un poco hay un contenido el mayor código posible y por ahora está jugando bastante bien y que más vale información hay un enlace ahí para trabajos puestos de trabajo estamos buscando a mucha gente en sitio desarrolladores ahí está toda la información de las apis de que disponemos información de cómo desarrollar nuestras propias aplicaciones y spotify y plafones en la cuenta de twitter del equipo platform que es el que se encarga un poco del toda la plataforma para desarrolladores con el punto de entrada para la gente interesada en desarrollar cosas para justificar la da un poquito era eso estupendo yo creo que vamos bastante bastante interesante bastante interesante una opinión como una sierra y el tema con la punta de ello jobs se busca en trabajo hay cierta controversia muchas veces no sé yo yo lo pinto muy bien las cosas parece que pintan bien y hay mucha gente mucha de que hay que esto pues le causa desconcierto porque o sea como como lo estuvo en cuanto que qué perfil realmente se busca qué perfil está demandando el mercado es decir un maquetador estamos en un punto en el que como vaya más cripta sacó a su chica para responsive y ya hace wikis o sea que tienes que necesitar para llegar a spotify por ejemplo bueno tal vez a otros nos podemos traducir a otro ven en muchos perfiles cada uno se tiene que adaptar un poco a la situación actual un maquetador ahí hay gente que hace sus diseños utilizando fotos son con un ancho fijo de pantalla eso está muy bien pero luego como se va a ver eso con humor ping vamos a ver con una tableta de 7 pulgadas o un móvil de estos galaxy note de 5 pulgadas al final y maquetado por ejemplo tiene que empezar a pensar sus diseños en base a diferentes resoluciones a ver cuál es el contenido principal que es secundario como se como se van moviendo las columnas y el contenido dependiendo del tamaño de pantalla para eso la verdad que se me ha quedado ahora mismo es un test y sobre todo se han estado desarrollando o sea se estaba haciendo diseños sí fijos es un reto bastante grande es prácticamente cambiar photoshop por un navegador e intentar hacer diseñados en directamente con css y hacer pruebas de todo con el navegador y cambiando el tamaño de navegador y en mi caso como frente entonces que te guste javascript no sé que tengas cierto interés también no sólo una librería y hasta no sólo decir mucho jquery un line o sea algo más ver lo que se está ejecutando por debajo intentar intentar directamente aprender javascript básico porque meter una librería que genera una dependencia y he visto cosas escritas con dos o tres librerías juntas finalices finales acogida bien un planning de jquery otra cosa de motul y otras cosas de jury debajo si la dependencia de licuar y por ejemplo se hablará de ello es empezar a hablar dentro de muy poco porque han sacado una versión de iker y 1.9 y si habrá que empezar a hacer muchos arreglillos y correcciones porque hay métodos que dejan de ser transportados o que se implementan o se llaman de otra manera se transó lo casarte hoy con algo y apostar por ello a muerte que lo puedes hacer sobre todo en determinadas plataformas si tú quieres que lo tuyo funcione con ie6 o con cualquier navegador si no sabes lo que te va a venir pues puede poder vale la pena mente una capa de esta acción pero también hay que estructurar un poco tu aplicación web o tu sitio web la forma de que tú puedas cambiar esa librería por otra y no se rompa tampoco muchas cosas no no sé hay que evitar un poco el código espagueti hay que tener módulos en ejemplo puedas testear y tú puedas cambiar uno de los componentes sin necesidad de tener que reescribir todo lo demás entonces eso es eso es difícil pero cuando empiezas a seguirnos esto es una cosa pequeñita y esa cosa para empezar y al final te encuentras que factorizar muchísimo y bueno ya estamos viendo cómo va cuando estaba bien un montón de frameworks mvc que intentan intentar mantener esa separación y tuve ayer pero debido cuando antes meter olvidó mencionar claro evidentemente en una con tantos desarrollos abiertos y sobre tan grande el espectro de dispositivos y pantallas a los que a los que está enfocado spotify nosotros ya web dispositivos televisión en fin todo no se especifica el dispositivo no sé no sé no sé cómo como como plantearte ahora la pregunta va ya se me quedó bloqueado un punto pero tendrá que usar el tema nos ha librerías y tú sabes que vas a tener una aplicación para dentro de spotify tú si te apañas con webkit y sabes javascript básico pues puedes puedes no utilizar ninguna librería y hasta bate el diario recuperar y recuperador gente que ha venido el modelo vista controladores estaba muy de moda las mencionado ahora mismo pacto sin vosotros trabajáis con este tipo de arquitectura yo impidiendo que eso al ser tan grande o defy vosotros tengáis esa necesidad de ceñir os digamos a un plan donde se separen todas las piezas del proyecto pero también hay cierta controversia ahora voy leyendo artículos en los que recomiendan un poco de mesura a la gente es decir es que a lo mejor van con no está hecho para tu proyecto no intentes meterlo con calzador bueno cómo utilizarlo no sé hay un montón de librerías un montón de frameworks al final tienes que comprar un poquito y ver lo que necesitas no sé no lo puedes [ __ ] y meter ahí lo primero porque porque todo el mundo está hablando de eso quizás sí quizás cumple su función para lo que tú necesitas pero al final necesitas conocer un poco de jabón mastica y por debajo y entender que te proporcionan todas estas librerías tenemos una pregunta cuando tenemos varias por fin si mira gabi y ong nos pregunta como hacéis en vuestro equipo para ver las diferencias en cuanto a rendimiento barra wikis de cierto módulo web versus aplicación ter nativa o sea para entiendo que es un como me dicen la performance y cuando perdéis si lo hacéis nativo y cuanto perdéis lo hacéis híbrido pues siempre se hacen los acentos de tipos entre implementadas nativos normalmente estamos tapa se está introduciendo partes nube en elementos que ya estaban implementados de forma nativa ya sabes un poco cuál es el modelo de referencia y nada pero en cualquier caso pues implementarlo con las dos tecnologías al no ser que se tenga muy claro pues no sé para determinada funcionalidad igual sobra con web y no vale la pena mente es el nativo pero a menudo no necesitan las dos y comparar los que ya sabemos por ejemplo si tienes que implementar algo que utilice listas de canciones pues vas a intentar cargar aquella lista dedicaciones que tiene 10.000 canciones y a ver cómo funciona esa razón scroll sea scroll con el dedo de como graves y eso tiene rendimiento si se está colgando este al final en un dispositivo por mucho que tenga simuladores en todo este tiempo todas estas empresas tienen siempre su batería de móviles con los que probar con tablets al final desarrolla luego pruébalo ahí directamente como luego probaría el usuario final utiliza también colisionadores de red y simula que tú estás en un entorno si es un desarrollo móvil simula que tú estás pues con 3g o con una conexión más baja con gprs o con lo que sea en el caso bueno de que tu ordenador está enchufado a una red súper buena del caso de extremo de que el usuario estaba pues en un eléctrico y tu desarrollo tiene que seguir funcionando al final necesitamos hacerlo implementarlo y un prototipo que tampoco sea una cosa súper pulida pero algo real sea si te garantizas realmente eso que la experiencia de usuario va a ser tal cual yo también igual a veces se va muy mal de tiempo no hay tiempo para hacer estas cosas y directamente se apuesta por una de las dos eso es normal todos hemos trabajado en bajo presión y a nadie se le ocurría igual dedicar una semana prototipar algo entonces no sé a la larga yo creo que sí que vale la pena pero bueno eso ya son son prioridades del producto mira tenemos otra pregunta también de fernando de móviles hispano en twitter es strip tm y preguntaba bueno esto a lo mejor te ponen un compromiso o sea que tú si quieres disfrazar palabra y ya está dice tengo curiosidad de cómo es esto de los usuarios para música no creo que sean mp3 comunes ésta se ha cortado un poco sí sí repite lo mejor de la música debe ser muy competida pregunta porque se reportan dos olas escuchado bien la escuchado bien en no haber una una cosa que diferencia spotify es la forma que tiene para reproducir música y para el tema del tráfico de las canciones utiliza un modelo de p2p entonces las canciones las están descargando a través de la red de clientes cercanos que tengan esa canción de esa forma no te lo tienes que descargar siempre le ceden directamente entonces es un beat su pin y luego cómo se guarda eso se guarda de forma encriptada no es luego a la hora de sentarme pues sí que se desencriptar a un formato reproducible pero no no existen los mp3 como tales aunque tengas una caché se trata y me lo tengo en el local y lo reproduzco sino que se produce el mismo el mismo resultado que si tuviera sólo la mitad de la canción y estuviera escuchando la que la tuviera sincronizada si saben todas las canciones que vengan de spotify todas están son habilitadas y luego en el cliente puedes tener también control sobre tu biblioteca de canciones que tengas tú en tu ordenador esos presupuestos estaban mp3 y ahí pues no se va a crear otra copia en caché minada eso es tú en tus ficheros tus canciones ya está el modelo de spotify se guardan hay una caché porque al final te conviertes también en otro cliente dentro de esta red p2p entonces guardas tienes una caché de canciones recientes y tú también estás subiendo estás compartiendo lo que tú has estado escuchando digamos de esas canciones con otras personas que están solicitando escuchar esa canción bueno tenemos otra pregunta del mismo usuario de artes de cali y la verdad que estás abriendo el mundo al hilo al hilo de las pruebas que hemos comentado vale si nos preguntan cómo simular los distintos anchos de banda yo puedo dar una recomendación también hay una aplicación que se llama es loua que te permite hacerlo en el escritorio pero todos supuestamente vosotros tendréis un sistema bastante más complejo lo bueno que tengo tengo una aplica una componente que viene con ex code para mac que son un panel de preferencias se llama network press panel nuevo así un network conditioner entonces no es un componente que viene dentro de xq que es el líder para desarrollar para la marca y con eso nos puede condicionar lo que afecta a todo el tráfico del equipo también hay otras formas hay también serie commandos hay comandos también para ejecutarlos y simulando están y limitar de forma artificial creo hay uno pero no sé si servirá para prueba pero es triste triste te permite limitar por aplicaciones el ancho de banda que consume pero yo lo veo como algo bueno no sólo para en este caso desarrollar para móvil la puedes tener también tu página web y quieren comprobar cómo se va a comportar sobre todo si tu página web son un sitio móvil por ejemplo que vayan a utilizarse con dispositivos que estén estén utilizando conexiones inalámbricas que no sean wifi que hoy en día podéis tener también tu portátil con un pincheo de estos 3g y también estaba sufriendo un poco yo creo que es una para eso para conservar un poco las personas de tu desarrollo y cómo lleváis allí en spotify el tema de ipv6 porque es bastante importante en el tema de cuando estás cambiando a lo mejor de estar conectado a directamente a lo mejor conjunto de acceso en wifi y luego te cambias a otro y para no perder esa experiencia estáis haciendo experimentos en ese hacerte sincero un poquito estas cosas no lo sé a ver que creo que tenemos que que había alguna pregunta por aquí más sí sí creo que había una más lo tenía yo por aquí vale si nos nos dicen bueno ferrer qué tipo de base de datos se utiliza para almacenar el catálogo de canciones de spotify hoy me parece que tenemos muchos piratas por aquí vueltas piratillas oye que estás totalmente autorizado a pasar la pregunta es donde queremos meter en ningún compromiso tampoco no haber ahí los platas que también yo yo trabajo en un sector un poco front-end es algo un poco no me entero de lo que pasa por debajo que es es un poco de la magia de desarrollar ahí tus web apps la situación es un poco no tiene por qué saber porque lo que hay por debajo así que mucha gente y hay equipos entre los que se dedican a eso y hacen sus pruebas de herramienta también y utilizan sus sub tecnologías no nos abre a que está ahora mismo exactamente qué tecnología se utilizan ellos este tipo de base de datos vamos a retomarlo porque estamos tirando mucho también de bach más que de front entonces como como desarrollo de duke que seguramente estés ahí bastante al tanto de la evolución de las distintas seis días de para html5 y podría ser si estáis haciendo algún experimento con alguna concreta por ejemplo con la de huelva audio que por ejemplo en la parte de chrome está bastante avanzada habéis hecho algún experimento si hay hay compañeros que han estado trasteando un poquito porque además también se puede hacer una especie de test utilizando algunas tecnologías de html5 pero vamos que están prácticamente en la versión canal y de chrome habilitando algún flap un poco poco sonido y todavía muy experimental pero sí sí que sí que recuerdo por lo menos dos compañeros que han estado haciendo con sillas con con la cola con la pide audio el 75 y tú decías josé manuel sin hijos no se siente entendido bien nos hablaban llamar a la hora de desarrollar vosotros como que tenéis una chapa todos en javascript que es un poco desde la que empecemos a crear desarrollos con componentes y esto no metería los grandes si no mil nuevo que se utiliza para desarrollar las aplicaciones de spotify apps pues tú utilizas una librería que hay javascript para poder acceder a el contenido de spotify esa misma noticia en la que son esto es un booster nuestro interno para desarrollar para [ __ ] ya componentes para [ __ ] métodos o lanza deben dominó piel tú piensa piensan en un diagrama un poco de capas tienes tienes la capa más baja que es el dispositivo en sí cada dispositivo tiene su capa por encima pues escrito si es iphone pues era una tecnología si esa será otra directrices emanadas o java lo que cada uno sea y eso expone pues una serie de funcionalidad para acceder a bajo nivel a la arquitectura por encima de eso hay una capa de javascript que es la que luego nosotros por encima utilizamos todo vamos aquí como desde ese arrollador no sabes tu aplicación de la misma aplicación se puede estar ejecutando dentro de la del cliente de escritorio o dentro de una aplicación móvil pero vamos a tener es un api que se expone pero es la pgje es prácticamente la misma que la que hay pública para hacer tus aplicaciones hay algunos hay algunas otras cosas que no se exponen en la en la pública pero bastante similar y tú sabes youtube lanza la pregunta bueno al vídeo está confirmada entre grandes empresas veíamos esta semana trabajarán a la gente de google y de mozilla conjuntamente para hacer una misma implementación de cualquier etc de hacer uno de medición de demostración de este vídeo no lo has visto bueno pues y vosotros de spotify es evidente la relación que tiene con facebook y se han sentado ingenieros codo con codo si hay por ahí otros proyectos por la oficina está muy bien estaría comprometida yo creo que para despedir de agradecer así casi nada pues nada agradecerte otra vez tu tiempo yo yo creo que ha quedado bastante interesante no sólo nos hemos entretenido nos hemos divertido un ratillo así que bueno esperamos compartir experiencia otra vez un orientado a otro tema o con lo que tú manejas el tema móvil nos cuentes hay truquillos para desarrollar nuestras aplicaciones te propongo una josé manuel además estaba hablando antes de lo de webkit y de las distintas implementaciones de webkit que un día nos cuentes un poco de experiencia infernal con algunas cosas de webkit para escribir libros de todo lo que era y es lo mismo que hablábamos también son las tablas de punto com policía de policía lo recuperamos oye que has comentado al principio los eventos que teníamos o no sí sí sí partes 12 un curso dirigido a diseñadores gente que tenga poca experiencia es un poco de eso darle la oportunidad de entrar en contacto con con la tecnología con html5 del plano un poco creativo como podéis en tratar tema vídeo audio no sé una marcha para una hora un poco de introducción perdonarnos a aquellos que les hayamos dado la patada en la lista de reservas pero entendíamos que su perfil era era ya un poquito elevado y bueno que creíamos conveniente que había dejar paso a otra gente del grupo que está que está recién iniciándose en esto que más el día 14 javascript bits hardware con julio ganaron un montón de demos de cómo se puede combinar el tema de raspberry y en fin un montón de cosas y el viernes 15 tedf es y es ue fallo en el mismo día todo el mismo día vale y además en barcelona la final de los premios de infojobs apps chalets vale en la que estaremos presente en la final con una aplicación que tenemos aquí otra vez me siento identificado yo me he caído muchas veces en los hangouts que fuese manuel que muchísimas gracias de verdad por por tu tiempo por compartir esta experiencia porque creo que hay mucha gente que ahora a lo mejor se está planteando pues eso a lo mejor salir de españa porque no ve mucha mucha alternativa y tal y viendo a la gente como tú que se teme que estás ahí súper a gusto y tal pues seguramente les sirva de inspiración para decir bueno ya cosa lo mejor para nosotros nos encantaría que la gente se quedara aquí es un avión creemos es una tragedia lo que lo que hay ahora o sea que tanto talento que hay aquí español los que explotando otros países pero hoy al final las circunstancias de cada uno al final pues si no puedes hacerlo yo quiero matizar una cosa y es que hay muchas veces o sea yo que sé que la gente también fuera no hasta por castigo es decir que es un reconocimiento a su trabajo a sus conocimientos en este sector es el balance este balance está más equilibrado que en ningún otro eso seguro eso yo creo que segurísimo pero eso pero supone una oportunidad o sea el hecho de compartir con los abandonos un poquillo su experiencia y tal estoy hoy tener la oportunidad de escribirle tuits preguntarle de todo cómo se vive como no se vive y las porque son una oportunidad es una oportunidad de ver que lo piense que los valores por si es una posibilidad hay que valorarlas si a alguien se le cruzan los cables y quieren salir fuera es una experiencia también al final no tiene por qué quedarse aquí toda la vida es un poco aprender y luego puedes volver y puede volver con nuevas ideas no sé como ganas de hacer algo al final eres español y también está de menos un poco un poco la tierra y quieres que vaya todo bien allí también por supuesto pero bueno pues nada chicos cerramos con estas reflexiones profundas otra vez en el twitter de jose manuel para que lo vea todo el mundo si quiera hacerle alguna pregunta el twitter editar y le surgen preguntas jm pérez pérez y pérez pérez bueno por ahí le tenéis por twitter bueno pues lo dicho un placer haber compartido este ratillo de esta radio contigo bueno a la vista hasta la próxima