Entrevista Luis Elizondo, Drupanium


Le hicimos una entrevista a Luis Elizondo quien creo Drupanium una distribución de Drupal que sirve para crear aplicaciones para celulares y que trabaja en conjunto con Titanium studio.



1- Luis ¿Podrías comentarnos un poco de tu carrera usando Drupal? creo que has desarrollado varios módulos verdad? cuanto tiempo llevas usando Drupal?


Al momento de escribir esto mi perfil en Drupal (http://drupal.org/user/193303) dice que tengo 4 años y 19 semanas. Ha sido una gran aventura en donde he aprendido muchísimo, en este proceso he contribuido a la comunidad de Drupal 14 módulos que mantengo y 2 que co-mantengo.

Además, como parte de mi trabajo, tengo más de 176 proyectos / repositorios publicados en Github, algunos son experimentos que no han llegado a módulos o themes generales que se puedan contribuir a D.o, algunos son partes de proyectos internos y que resuelven situaciones muy particulares.


2- ¿Actualmente creas aplicaciones para celulares? ¿como vez ese mercado para los desarrolladores de Drupal?

El mercado es interesante y creciendo a un ritmo en que la demanda de aplicaciones no puede satisfacer la oferta de desarrolladores capacitados. Veo que proyectos como Titanium Studio o Phonegap entre otros van a detonar aún más el mercado, ya que es mucho más fácil aprender Javascript que aprender Objective-C, Java u otros lenguajes más complejos. Además, con iniciativas como codeacademy.com es cada vez más fácil aprender Javascript.


El mercado, a pesar de que el App Store tiene más de medio millón de apps, va a crecer, sobretodo porque muchas compañías van a empezar a moverse a tecnologías mobiles para necesidades internas y no hay muchas personas hoy en día que puedan desarrollar estas aplicaciones.

El reto está en cómo atender proyectos pequeños y medianos sin que consuma mucho tiempo ya que algo que les sucede a los desarrolladores es que se toman proyectos pequeños y medianos que no son muy rentables económicamente pero toman mucho tiempo en desarrollar. Encontrar el punto medio entre ambos significará éxito garantizado a quien lo logre hacer.

Por su parte, Drupal sigue siendo un excelente backend gracias a su módulo Services y lo será más cuando ya venga integrado en D8. Hoy es posible crear APIs extremadamente complejos ya que Drupal como framework lo puede soportar. Sin embargo, nuevas tecnologías como node.js están irrumpiendo en el mercado y hay que estar atentas a ellas ya que una vez estables será difícil competir. Node.js tiene la gran ventaja de que puedes escalarlo a grandes proporciones y una de las más grandes dificultades de tener un sitio en Drupal se presenta a la hora precisamente de escalar el sitio. No digo que no se pueda, ejemplos como Whitehouse.gov, Grammys.com y el mismo Drupal.org nos han demostrado que se puede hacer, pero no es una tarea sencilla. Este es otro gran nicho de oportunidad en el mercado de Drupal ya que solo ciertas personas y compañías lo están haciendo.

3- Para quien no este muy familiarizado ¿que es Titanium studio?

Titanium Studio es un framework creado por Appcelerator.com. Sirve para crear aplicaciones móbiles para iOS y Android utilizando solamente JavaScript lo cual lo hace muy fácil de utilizar y aprender. La aplicación se compila de manera nativa y prácticamente se puede hacer todo con él, desde aplicaciones simples hasta juegos interactivos.


Tiene sus retos, tiene su curva de aprendizaje como todo, pero se está creando una gran comunidad de usuarios que lo usan y veo con claridad que va a crecer mucho en los próximos años al igual que PhoneGap que tengo entendido soporta más plataformas como Windows Mobile y Blackberry entre otras.
 
Otra de las grandes ventajas de Titanium es que con una sola misma base de código, o al menos reutilizando gran parte del mismo, es posible crear aplicaciones para iOS, Android e incluso Desktop. Hoy es posible crear por ejemplo una aplicación de escritorio para windows, mac y linux con una misma base de código. Por supuesto, no estoy hablando de crear un Photoshop o un Microsoft Office, pero sí es posible crear aplicaciones que satisfagan muchas necesidades. Un ejemplo es Wunderlist, http://www.6wunderkinder.com/wunderlist/, creado con Titanium Studio, tienen el mismo app para iPad, iPhone, Android, Blackberry, Mac OSX, Windows y Linux! Eso definitivamente reduce costos importantes para una empresa ya que de otra manera tendrías que contratar a un desarrollador para cada una de las plataformas! Con Titanium Studio solo necesitas a uno.


4- ¿Que es Drupanium?

Drupanium trata de resolver 3 problemas. 



1. La falta de documentación del API de Services. Es difícil leer múltiples páginas para encontrarle sentido a cómo usar Services, sobre todo si no eres un usuario experto. En Drupanium documenté gran parte del API como lo tiene documentado por ejemplo Twitter en http://developer.twitter.com. Que por cierto, la idea de documentar el API de Services surgió precisamente de que un día me enteré que ese sitio está hecho en Drupal!


2. Resolver la falta de documentación de cómo integrar Titanium Studio con Drupal como backend. Toda esta parte no existía prácticamente, ni la comunidad de Drupal lo estaba haciendo, ni la comunidad de Titanium lo estaba haciendo. Por eso el nombre de Drupanium, para tratar de establecer un puente entre ambos.


3. Falta de herramientas estables. Pasa mucho en la comunidad de Drupal que a veces falla algo, y cuando falla algo pueden ser múltiples cosas, desde el core hasta tu código pasando por todos los módulos que has descargado, y toma mucho tiempo estar buscando cómo resolver esos problemas. Así que me di a la tarea de crear una distribución que descargara todo lo necesario para tener un sitio en Drupal que funcione como backend de manera estable. Además, se crearon módulos debug que te ayudan a encontrar problemas.

Todo este conjunto es lo que es Drupanium y ahora estoy empezando a dedicar tiempo para documentar en el blog recursos sobre cómo integrar partes más específicas, ejemplos y ese tipo de cosas.


5- ¿Cuanto tiempo te costo desarrollar Drupanium? ¿más o menos cual fue el proceso?

Recuerdo que desde que me di cuenta de Titanium Studio quería utilizarlo para desarrollar algo. Fue tal vez entre septiembre y octubre del 2011 que empecé a jugar con él desarrollando aplicaciones de prueba, cosas simples sin gran futuro.

Al no ser un experto en Services ni en Titanium, me di cuenta que el proceso de desarrollar un app de verdad me tomaría mucho tiempo si no conocía bien las herramientas y me di cuenta que faltaba mucha documentación al respecto. Fue en octubre cuando me di cuenta que necesitaba empezar a crear un proyecto que resolviera estas situaciones.


En ese momento abandoné las apps que estaba desarrollando y me dediqué solo a desarrollar Drupanium como un app que demostrara funcionalidades básicas que tenían que ver con integrar un app con Drupal usando Services. Alrededor del app fueron surgiendo los módulos de debug, la documentación del API de Services y finalmente la distribución.

Para diciembre el app estaba lista, los módulos ya estaban listos y ya estaba gran parte de la documentación, incluso hoy cuando desarrollo aplicaciones móbiles (estoy desarrollando algunas de prueba) sigo consultando la documentación que se creó en Drupanium. Personalmente, el tener un sitio en donde todo esto esta documentado ha sido de gran ayuda para mi mismo, y sabía que si algo me esta sirviendo a mi pues le puede servir a otras personas y de ahí surgió la idea de publicarlo bajo un módelo open source utilizando la licencia WTFPL / Beerware.




6- ¿Que respuesta has recibido desde que liberaste Drupanium?


Muy positiva. La verdad estoy sorprendido, el tráfico del drupanium.org ha aumentado sobre todo desde que di una conferencia sobre Drupanium en enero en el Drupal Summit Latino en Guadalajara, además he publicado Drupanium en drupal.org y groups.drupal.org y eso también ha servido para que el proyecto se extienda de manera global. Google Analytics ya me reporta visitas desde prácticamente desde todo el mundo.

Hace un par de semanas recibí un correo de una persona especializada en Titanium que me ofreció sumarse al proyecto para llevar más allá a Drupanium, documentar más, y sobre todo actualizar el app a la versión 1.8 de Titanium Studio ya que cambiaron algunas cosas. Esto sinceramente me emocionó mucho y ya se está trabajando en ello. No sé hacia donde irá Drupanium en algunos meses, esa es parte de la aventura y es emocionante de alguna manera, no sé si en algunos meses se desarrolle una sub-comunidad alrededor de Drupanium, y ya será esa comunidad la que me ayude a decidir el rumbo.


Personalmente me ha abierto muchas puertas, el tener de alguna manera ligado el nombre de Drupanium al mio ha hecho que me hablen para múltiples proyectos, desgraciadamente hoy no tengo mucho tiempo para tomar nuevos proyectos pero esa es otra historia.



7- ¿Que consejo le darias a alguien que quiera armar su propia distribución de drupal?

Planea bien y ten asegurada una ruta sólida de mantenimiento y actualización, esa es la parte más importante de todo y la más problemática. SI hay algún tema que a mi me preocupa con Drupal es precisamente los retos que enfrenta el estar manteniendo un sitio hecho en Drupal.

Trata de que la idea sea lo suficientemente atractiva para que si alguien la empieza a usar no la abandones por falta de tiempo sino que alguien más la pueda tomar si es necesario. 


Yo cometí ese error, hace muchos meses lancé una distribución llamada OpenProfiles que integraba Drupal con OpenID, desgraciadamente no he tenido el tiempo necesario para darle seguimiento y lentamente ha ido muriendo. Pero de la experiencia se aprende y esos errores los podré evitar en Drupanium.





 



 

Versión