Entrevista a Javi Pacheco @javielinux - TweetTopics
Miquel Camps Entrevistas 19/09/2011
Hace unas semanas @Luweeds me propuso hacerle la entrevista y han sido varias personas más que me han ayudado a preparar las preguntas @durbon, Oscar Casillas N.,@victorelec14 y @alex_andreu a todos ellos gracias. No he tenido el placer de conocer en persona a Javi Pacheco, hace poco tiempo que lo sigo en twitter, pero me ha sorprendido gratamente la variedad de proyectos que ha hecho hasta ahora (apps para android, juegos, scripts...). Luego si vistas su blog está repleto de snippets de android que seguro que sacan de un apuro a más de uno, en resumen una persona muy trabajadora y opensource :)
¿Te puedes presentar?
Soy Javi Pacheco pero desde hace años en internet se me conoce como Javielinux. Soy de Cádiz y y tengo 35 años. Mi twitter es @javielinux y mi blog. Uso Linux desde hace muchos años y, por supuesto, soy amante del software libre.
¿Cuando empezastes a programar y con que lenguaje?
Empecé a interesarme por el mundo de la programación al empezar a hacer mis primeras páginas web. Entonces trabajaba con HTML y Javascript y ASP fue mi primer lenguaje serio (si podemos llamar "serio" a ASP). Luego vino PHP, Python, Java y el mundo de la programación llegó a apasionarme. Creo que mi afición al Software Libre viene de aquellos tiempos cuando programaba páginas web, siempre que veía algo que me gustaba podía ver el código fuente y estudiar el código javascript para luego poder hacer algo parecido en mis trabajos.
¿Qué es TweetTopics? ¿A qué público va dirigido? ¿Es de pago?
TweetTopics apareció en Android Market hace unos 10 meses. Una de las cosas que mas me gusta al programar es automatizar procesos y hacerle las cosas más sencillas a otros usuarios y a mi mismo. TweetTopics empezó siendo una aplicación para hacer búsquedas en Twitter que ha derivado en un cliente de Twitter que intenta ofrecer caracteristicias distintas a los usuarios, como la facilidad a la hora de hacer búsquedas, u otras características como programar tweets a una hora determinada. Va dirigido a un pubico más exigente, usuarios que necesitan opciones extras y que usan mucho Twitter. Suelo escuchar mucho la opinión de los usuarios y suelo incluir muchas ideas de ellos que luego me benefician a mi ya que yo soy el primero que uso TweetTopics. La aplicación tiene dos versiones, una gratuita y otra de pago con algunas características extras, aunque no demasiadas ya que muchos usuarios usan sólo TweetTopics Lite y no necesitan más.
¿Si volvieras a programar tweetTopics desde cero harias algo de forma distinta?
Supongo que si. Por mi reducido tiempo y ya que en el caso de las aplicaciones para Android no son mi trabajo principal, para mantener un buen ritmo de actualizaciones y corregir errores tengo que actuar muy rápido por lo cual algunas veces no tomo decisiones muy acertadas. Con el tiempo vas a aprendiendo y cada vez se comenten menos errores. De todas formas Android crece día a día y las necesidades de los usuarios también, por lo que cambiar código forma parte del trabajo diario del programador (por lo menos del mío, aunque sean pequeños cambios). Por ejemplo, solía usar Threads y tuve que modificar todo el código cuando descubrí hace ya tiempo los AsyncTask. Es una manera mucho más sencilla de trabajar con tareas asíncronas además de ofrecerte más posibilidades. Ahora con Android 3.0 han llegado los Loaders, por lo creo que pronto tendré que ponerme a cambiar código.
¿Has desarrollado otras aplicaciones? ¿Cuales han tenido más éxito?
Para teléfonos Android tengo 4 aplicaciones en Android Market y la que más descargas tiene es AndAndo, que fue mi primera aplicación para Android. Es una aplicación para hacer rutas orientada al senderismo, turismo, deportes, etc.
¿Por qué elegiste para desarrollar android y no iphone u otra plataforma? ¿Cuál es tu dispositivo Android favorito?
La decisión fue sencilla, Google sacó un sistema operativo para moviles libre, que usa java y que tiene Linux en su núcleo... ¡mis plegarias las había escuchado alguien! El diseño de aplicaciones móviles me atraía mucho y mis intentos de programar con J2ME y Windows Mobile no llegaban a ninguna parte. Lo tenía tan claro que empecé a programar para Android mucho antes que saliese el primer teléfono, el T-Mobile G1 que salió en EEUU y que me compré alli. La verdad que intentar desarrollar una aplicación que usaba el GPS sin un terminal físico para hacer pruebas fue una odisea, pero bueno, el teléfono salió pronto y saqué la aplicación unos meses después. El iPhone es una plataforma que no me interesa ya que es muy cerrada, supongo que muchos pensarán que es una tontería, pero para mi es importante. Mi dispositivo favorito es el Samsung Galaxy S2, que es el que tengo ahora mismo y la verdad que tiene todo lo que necesito (hasta que salga otro que me demuestre lo contrario ;-))
Para los que empiezan a programar apps en android ¿Qué blogs y foros recomiendas vistar?
Actualmente no sigo muchos blogs ni foros. Con el impulso de los últimos años de las redes sociales para mi ha sido más interesante seguir a las personas que a blogs. Uso mucho Twitter y ahora Google+ ya que me da la posibilidad de estar en contacto con muchos desarrolladores y aprendo mucho del trabajo de los demás. Normalmente cuando llego a un blog es por medio de alguien que lo ha comentado. De todas formas hay algunos que no faltan en mis RSS, como ActualidadGoogle, Androides y Androide Libre para mantenerme informado y exclusivos de programación Cyrilmottier y el foro de Android-Spa que me ayudó mucho al principio y recomiendo a todos los que empiezan a programar.
¿Cómo ves la integración entre tablet y móviles a la hora de desarrollar aplicaciones?
Por el momento mi experiencia de programar en tablets se reduce a haber leído algo de código y un widget muy sencillo que estoy haciendo. Creo que esa integración en el mundo de Android se aclarará dentro de poco cuando Google muestra Ice Cream, la versión 4.0 de Android y que supuestamente será la base para trabajar en Android tanto en tablets como teléfonos. Por el momento la cosa promete y el SDK de Honeycomb facilita mucho la programación en tablets, todavía le queda mucho a Android por avanzar y nosotros por descubrir, pero la cosa se pone muy interesante.
¿Recomiendas alguna librería o plugin a parte de la sdk para desarrollar en Android?
Por hacer un poco de propaganda personal, como librería aconsejo Android DataFramework, es una librería creada por mi (y que me ayudó una persona a mejorar el rendimiento hace ya algún tiempo) y que facilita el trabajo con bases de datos en teléfonos Android. La librería se está usando en muchos proyectos que hay actualmente en Android Market y yo la uso tanto en TweetTopics con en AndAndo. La recomiendo por su facilidad y por que ahorra muchas horas de desarrollo.
¿Cuáles son las herramientas de trabajo que usas diariamente?
Para programar sólo uso Eclipse. Para mi el mejor IDE con diferencia ya que puedo programar para Android y para web en la misma plataforma. Aunque no me siente a trabajar siempre la tengo abierto en un escritorio de Linux, por si acaso. Al final siempre termino revisando algo y modificando algo de código.
¿Nos puedes decir 5 blogs de programación que sigas habitualmente?
Como os dije antes normalmente no sigo demasiado blogs, así que me tomo la libertad de deciros 5 desarrolladores españoles que creo que todo el mundo debe seguir en Twitter: @anderwebs, @ignacio_gs, @kix2902, @eaginsoftware, @yeradis, @vierco, @nebelig, @rallat, @luiskap, @igvina, @Jbeerdev, @huelvayork, @francho_lab ... es que 5 eran muy pocos y seguro que me falta alguno. Todos son unos auténticos cracks.