Crear apps para Android es divertido: entrevistamos al equipo Devnamic

Todos quieren crear apps, pero pocos se atreven. He entrevistado a tres desarrolladores independientes para demostrarte que no hace falta ser Zynga o King.com para crear apps que gustan.

Xavier Arnaus, Alex Guevara y Jorge Tarrero son programadores que llevan años escribiendo código que se ejecuta en servidores y aplicaciones para Windows. El mundo de las aplicaciones móviles, sin embargo, les era desconocido. Hasta que empezaron a adentrarse en el desarrollo de apps para Android.

Algunas de sus creaciones son Trip Budget Calculator, Crop n’ Square y Cute or Not: Random Cats!. No son Candy Crush ni WhatsApp, pero gozan de buena reputación y son un ejemplo de que con algo de esfuerzo es posible crear apps que gustan a mucha gente (y aprender a programar en el proceso).

Los tres trabajan conmigo en Softonic y de vez en cuando me han pedido tímidamente que opinara sobre sus desarrollos. Interesado por su trayectoria como programadores Android, se me ocurrió entrevistarlos.

Aquí tienes las respuestas. Quizá a ti también te animen a empezar a crear aplicaciones.

Fabrizio: Vamos allá. Presentaos y decidme cuáles son vuestras apps.

X: Soy Xavier Arnaus, programador senior PHP en Softonic. He creado dos apps por mi cuenta: Trip Budget Calculator y Crop n’ Square. Me animé con Android para volver a los orígenes: programar mis propias herramientas de bolsillo. Y para huir de la web, algo cansina ya…

Estas son las apps publicadas hasta la fecha por el equipo Devnamic

A: Soy Alex Guevara, y actualmente desarrollo aplicaciones de escritorio en Softonic, aunque mi perfil es un poco todoterreno. He hecho desde pequeños videojuegos promocionales a software para espectáculos multimedia. Hasta ahora nunca había desarrollado ninguna app para plataformas móviles.

J: Mi nombre es Jorge Tarrero, trabajo como Lead Backend Developer en Softonic. Siempre intento mantenerme al día de las nuevas tecnologías, sobre todo de esas que tienen gran potencial. He hecho algunas cosas con Android durante el último año, toda una sorpresa por lo sencillo que resulta.

Fabrizio: ¿Cómo empezó vuestra aventura con Android?

X: Me animé con Trip Budget Calculator, para probar con una calculadora de costes de viaje sencilla, aunque no tiene mucho éxito. Luego le di una vuelta de tuerca más con Crop n’ Square para ayudarme a publicar fotos en Instagram, y parece que gusta algo más. Han servido para aprender más que nada. Y luego éstos dos [Alex y Jorge] me liaron con Cute or Not: Random cats. [Risas]

A: Mi intención inicial era desarrollar un pequeño juego para Android, ya que normalmente estaba acostumbrado a hacerlo para plataformas Windows. No obstante apareció la oportunidad de colaborar con la aplicación con X & J, y pensé que podría ser interesante.

J: Hice una pequeña Web que muestra fotos sacadas de Twitter (Gateame.net). Conforme iba creciendo pensé que sería buena idea hacer una app que mostrase una foto aleatoria de los más de 25.000 gatos que hay… Y así nació Cute or not. Hice una versión básica y luego Alex y Xavi me echaron un cable para dejarla bonita, usable y, sobre todo, rápida.

Xavier: Me animé con Android para volver a los orígenes: programar mis propias herramientas de bolsillo”

Fabrizio: ¿Dónde aprendisteis a crear aplicaciones para Android?

X: En casa, con la documentación oficial de Google y la inestimable ayuda de StackOverflow (¿quién hace nada serio hoy en día sin StackOverflow?). Luego, algunos compañeros con más idea te sacan de dudas o te orientan… Todo muy autodidacta.

J: Pues sí, Stackoverflow es mi nuevo mejor amigo.

A: Inicialmente a base de pequeños tutoriales, o ejemplos de código de StackOverflow. Aunque llega un momento que vale la pena hacer algún tipo de curso introductorio o leer algún buen libro, para sentar bien las bases y saber qué estás haciendo realmente. De otro modo, llega un momento en que el código de la aplicación es un conjunto de piezas de un puzle que no acaban de encajar.

Fabrizio: ¿Qué hace falta para crear una aplicación para Android?

X: Un IDE [entorno de desarrollo] que te facilite las cosas: Android Studio. Todo lo demás viene luego, como las librerías de soporte.

J: Un buen editor, Android Studio es fantástico. Las librerías que incluye Google con su SDK [kit de desarrollo] están muy bien para hacer algo básico.

A: Yo recomendaría también un sistema de control de versiones, como Git, aunque se trabaje solo. De este modo se puede usar repositorio que permite ticketing [seguimiento de errores], como BitBucket o GitHub.

Fabrizio: ¿Qué es para ti lo más difícil a la hora de crear una app?

X: Escoger la mejor opción. Tienes la documentación oficial, las soluciones de StackOverflow, y el resto de internet. ¿Qué solución escoges? Hay que encontrar un equilibrio entre el público objetivo (versión del sistema y potencia del dispositivo), el peso de la app (las librerías de soporte equivalen a megas y megas para una calculadora), el diseño (más bonito y con dibujitos es más pesado), la facilidad de uso…

A: Hacer un diseño comprensible para el usuario. El objetivo es que cualquier persona, sin explicación alguna, sea capaz de manejarla. Otro aspecto es el tiempo y la energía a invertir. Los tres tenemos nuestros trabajos, y no es fácil arañar horas de tu tiempo familiar o de ocio, y dedicar horas a picar código después de haber estado haciendo lo mismo en el trabajo todo el día.

J: No entendía (y sigo sin entender) todo el tema de dependencias de librerías, layouts y demás follones para hacer que la app se vea bien en cualquier dispositivo.

Alex: Lo más difícil es hacer un diseño comprensible para el usuario”

Fabrizio: ¿Cómo hacéis los testeos? ¿Os ayuda alguien?

X: Amigos, familiares, compañeros… Para la app de gatitos tengo la inestimable ayuda de una niña de 6 años, la hija de mi compañera.

J: Antes de publicar la llevaba instalada en el móvil y la iba mostrando a distintas personas. Es sorprendente ver las primeras reacciones, te dan buenas ideas de lo que funciona y lo que no.

A: También pedimos feedback a través las redes sociales como Twitter o Facebook. Siempre hay que apuntarse las opiniones de la gente que contesta, ¡pero nunca replicar a las críticas!

Fabrizio: ¿Qué favoritos debe tener un desarrollador Android en su navegador?

X: StackOverflow incluso antes que la documentación oficial; Para el día a día de la app publicada: Analytics, Adsense y el panel de control de la Play Store.

J: Con lo rápido que cambia la SDK de Android es difícil tener favoritos sin darle un mantenimiento mínimo. Aun así hay herramientas muy chulas que, por ejemplo, te crean todos los tamaños para el icono de tu app, y hasta las capturas dentro de dispositivos. Facilitan mucho la vida.

A: Y por supuesto, gateame.net para descansar un rato entre línea de código y línea de código. [Risas]

StackOverflow es una comunidad de preguntas y respuestas sobre temas técnicos

Fabrizio: ¿Pone Google muchas pegas cuando se sube una aplicación? ¿Qué exige?

X: Nada complicado. Pagas tus 25 dólares y adelante. Luego el problema son las creatividades para la ficha del programa y firmar la app antes de subirla (cuidado con las claves cuando se trabaja en equipo). Es muy recomendable buscarse la vida para traducir la ficha técnica al máximo de idiomas posible.

A: Google, en comparación con Apple, es un poco desastre en cuanto a la moderación de aplicaciones, así que hasta que no llega el momento de cobrar lo monetizado no te presta mucha atención. De todos modos, los requisitos y condiciones son razonables, y no son difíciles de cumplir.

J: Que haya menos control por parte de Google facilita que las actualizaciones sean muy rápidas, lo que facilita mucho el trabajo del desarrollador cuando hay que introducir arreglos de bugs, nuevas funcionalidades o un botón naranja, que queda más bonico.

Xavier: Los votos de 5 estrellas dan mucha ilusión y los de 1 estrella, mucha rabia”

Fabrizio: ¿Qué app os gustaría haber creado (de las que no son vuestras, obviamente)?

X: Instagram, Whatsapp… No me importa que no sea rentable al principio mientras sea popular. El dinero acaba llegando de una forma u otra.

A: Aunque sea una app que odio a muerte, me encantaría ser el señor que cuenta los billetes del Candy Crush.

J: Cualquiera que esté dando pasta a raudales. Line. por ejemplo.

Alex: hasta que no llega el momento de cobrar, Google no te presta mucha atención”

Fabrizio: ¿Cómo “monetizais” vuestras aplicaciones?

X: Banners de publicidad. Diferentes dispositivos son diferentes tamaños de banners. Para una app de pago tienes que dar un valor añadido… y ya cuesta lo suyo dar un valor normal.

J: Con banners, es la manera más sencilla si tienes un buen número de usuarios activos.

A: De momento mi aplicación es demasiado sencilla como para implementar otros tipos de monetización, como podrían ser los micropagos.

Crop n’ Square es una aplicación que ayuda a recortar y enmarcar fotografías para Instagram

Fabrizio: ¿Se gana bien creando aplicaciones para Android?

J: Por lo visto sí, por eso ando en el “negocio”, aunque es difícil llegar a dedicarse sólo a esto.

X: En mi caso, se gana lo suficiente para pagar algún que otro caprichito, pero eso sólo con una de las 3 apps con las que estoy involucrado. Las otras dos no dan ni para pipas.

A: Es muy difícil que una app por si sola dé lo suficiente como para vivir, y menos para mantener a un equipo y un infraestructura. Por eso creemos que una buena aproximación es buscar diversos nichos de mercado, y crear un conjunto de aplicaciones que en total den suficientes ingresos.

Fabrizio: ¿Por qué Android y no iOS o Windows Phone?

X: Uso Android, y me metí en esto para programarme mis cosas. Si alguna de mis aplicaciones tiene tanto éxito como para que me pague un iPhone, pues puede que pruebe a hacer alguna app en iOS. [Risas]

J: Porque llevo años usando Android y me resulta más sencillo probar las aplicaciones en los dispositivos que ya tengo. Además me sirve para aprender Java, que es un lenguaje que se usa en muchos más sitios.

A: Hice pruebas desarrollando con iOS, y comparativamente me gusta más el ecosistema de desarrollo Android que iOS.

Jorge: es difícil llegar a dedicarse sólo a esto”

Fabrizio: ¿Sería muy complicado portar vuestras apps a iOS o Windows Phone?

X: Por lo que tengo entendido, pasar de Android a Windows Phone es sencillo, pero sinceramente ni lo he mirado. A iOS creo que ya no es tan trivial.

A: La mitad de la aplicación es un desarrollo web, por lo que tendríamos que rehacer la mitad del trabajo.

J: Depende de la complejidad de la app, pero no creo que sea demasiado complejo una vez conoces un lenguaje.

Fabrizio: Si fuese un desarrollador les tendría auténtico pánico a los comentaristas que ponen una estrella porque la app no funciona en su terminal. ¿Os habéis encontrado ya con reseñas de este tipo?

J: Xavi se ha encontrado con esto, y por lo que cuenta durante la comida, sí que da pánico.

X: Bueno, los votos de 5 estrellas dan mucha ilusión y los de 1 estrella, mucha rabia. Al cabo de unos cientos de votaciones, los de 5 estrellas te suben 0,001 y los de 1 estrella bajan 0,020… Así que prestas atención a los comentarios, sacas nuevas versiones solucionando bugs, contestas a los comentarios y propones que se bajen la última versión. Es importante que a la gente no le “explote” la app o te votará negativamente. Si ven que solucionas los problemas se la vuelven a instalar y corrigen la votación. El feedback es muy directo.

A: Las valoraciones de los usuarios se tienen mucho en cuenta en los rankings de aplicaciones. Una aplicación mal valorada está condenada a desaparecer en el fondo de los resultados de búsqueda.

Fabrizio: ¿Qué consejo le daríais a alguien que tiene conocimientos básicos de programación y quiere crear su propia app para Android?

A: Que no se precipite: es relativamente fácil empezar a base de ejemplos, pero tarde o temprano llegarás a un punto en el que no podrás avanzar si no tienes los conceptos claros.

J: Java es odioso a veces, pero se deja querer. Ah, las transparencias y las sombras son el mal.

X: Escoge una idea, busca ejemplos, trabaja para cubrir todos los casos de posibles fallos, escucha al usuario, ten paciencia, no te obsesiones con los votos ni con la pasta. Busca otra idea y mejora el enfoque de la primera app… Y así.

Ahora tengo ganas de empezar a crear apps…

Al finalizar la entrevista, me entraron ganas de empezar a desarrollar mis propias aplicaciones. Pero antes tendré que aprender a programar en Java y familiarizarme con las herramientas de desarrollo. Pero sé que podré contar con la inestimable ayuda del equipo Devnamic.

Si quieres preguntarle algo a Devnamic Team, ¡es tu momento!

Cargando comentarios