Universitat Oberta de Catalunya

Ricardo Cabello

Ricardo Cabello, programador y diseñador gráfico,  ha centrado su trabajo en innovar y descubrir las posibilidades que el mundo web ofrece. En este sentido, ha llevado a cabo todo tipo de trabajos, algunos más sencillos y divertidos como Ball Pool y Harmony, y otros más complejos como el famoso videoclip del grupo musical Arcade Fire (The Wilderness Downtown) o el clip interactivo 3 Dreams of Black.

1. ¿Nos puedes explicar un poco qué es three.js?

three.js es una librería que facilita la creación de gráficos tridimensionales en tiempo real y/o interactivos para proyectos basados en JavaScript.

La programación gráfica es uno de esos temas que nunca se terminan. Siempre salen nuevas técnicas y durante años he visto gente reinventando la rueda una y otra vez. La intención es por lo menos encontrar una base que haga que los programadores más avanzados no necesiten reinventar la rueda y a su vez que sirva para programadores con menos experiencia.

2. La explosión de HTML5 y JavaScript es más que notable pero… ¿cómo  se lía uno la manta a la cabeza con un proyecto así?

Llevaba un par de años intentando desarrollar webs en flash con Linux. Como es lógico, las herramientas de Adobe priorizan el soporte de los sistemas operativos más usados como Windows y MacOS. Aunque no era imposible compilar desde Linux la experiencia no era una maravilla.

Cuando Google sacó el navegador Chrome me encargaron desarrollar un experimento en JavaScript como los que hacía en su momento con ActionScript. La intención era demostrar la velocidad de Chrome y la maquina virtual V8. Me di cuenta que para desarrollar en JavaScript no necesitaba Eclipse, ni FDT, ni FlexSDK, ni Java… solo necesitaba un editor de texto (en mi caso gEdit) y el navegador. Esto lo vi como una oportunidad de deshacerme de la dependencia con Adobe y poder usar Linux sin problemas.

El problema era que había que empezar de cero. Faltaban librerías básicas como monitor de rendimiento, tweening, 3D,… así que me puse manos a la obra a intentar solucionar el problema y aportar mi granito de arena para que HTML5 tuviese buena adopción.

3. Así pues, ¿ves a JavaScript capaz de reemplazar a Flash y ActionScript en todos los ámbitos? ¿Falta algo para ello?

A HTML5/JavaScript aun le falta que Firefox soporte WebAudio API y ya no sé qué más excusas quedarén para usar Flash. Sí que es cierto que aun no tenemos las herramientas al mismo nivel. No hay una herramienta como Flash Professional que escupa HTML5/JavaScript. Tiempo al tiempo…

4. ¿Por qué en código abierto? Y… ¿de dónde viene ‘tanto’ éxito? Muy  pocos proyectos pueden presumir de llegar tan rápido a tantos colaboradores, y mucho menos a ser usados tanto y tan públicamente…

En la industria del desarrollo web tenemos la ventaja de que es fácil compartir conocimiento e incluso colaborar independientemente de para quién trabajes. Las librerías en código abierto aceleran la evolución de la industria no sólo porque la gente no tiene que dedicar tiempo a programar cosas que ya han hecho otros sino que pueden dedicar ese tiempo a hacer que ese código compartido sea mejor. Es a lo que le llaman situación WIN WIN.

En cuanto a éxito… bueno, esas cosas son relativas. Es difícil saber de dónde viene. Creo que es la suma de muchos factores. Quizás los factores más importantes son el diseño, estructura y la nomenclatura usada.

5. De los muchísimos proyectos que se han hecho con three.js, probablemente el más conocido sea el videoclip interactivo de The Wilderness Downtown, pero ¿algún otro favorito que te gustaría destacar?

Curiosamente en Wilderness no había muchas cosas hechas con three.js.ROME en cambio era todo three.js. La verdad es que la web para la película “Oz The Great and Powerful” es sin duda de los proyectos con mejor calidad grafica que he visto hasta ahora.

6. ¿Cómo has llegado tú a lanzar una biblioteca 3D tan espectacular como three? Y, si alguien quisiera ponerse a trabajar en el tema del 3D en la web, ¿por dónde le recomendarías empezar?

Con mucha paciencia. Construir y mantener una librería no es algo que recomiende. Es fácil perder las riendas del proyecto cuando la gente empieza a contribuir. Cada persona es un mundo y conseguir que todos los colaboradores alineen sus ideas es quizás lo que lleva más trabajo.

Para alguien que quiera empezar con la programación gráfica le recomendaría que empiece con alguna librería como three.js. Y si tiene curiosidad entonces, al ser código abierto, puede indagar el código y ver cómo funciona por debajo.

7. Una pregunta polémica para cerrar. Cada vez vemos más proyectos  ‘webkit-only’. ¿Cómo ves tú la dialéctica entre hacer proyectos que  funcionen en tantos navegadores como sea posible y experimentar y  contribuir a avanzar el estado de las cosas a cambio de limitar la audiencia potencial?

No sé si eso es cierto. No veo yo que cada vez haya más proyectos webkit-only. Puede darse la casualidad de que salgan proyectos que usen APIs que Firefox no haya implementado aun pero en cosa de semanas funciona en ambos Firefox y Chrome.

Personalmente prefiero centrarme en Chrome y Firefox e intento no experimentar con tecnología que no aun no soporten ambos (como WebAudio API). Opera hace poco anunció que iban a pasarse a WebKit y Chromium así que ya será una plataforma más.

Actualmente no tengo Windows en ningún ordenador lo cual hace que tenga a Internet Explorer bastante olvidado. De todos modos, primero tendrían que implementar WebGL para que considerara rescatarlo del olvido…

Deja un comentario