Me he encontrado mucha gente que me ha dicho lo típico «tengo una idea para una app que nos haría ricos».
Partiendo de la base de que esa frase es puede cumplir en un 0,000001% de las veces me gustaría escribir un poco de todo lo que involucra «hacer una app móvil».
Vamos a plantear una idea hipotética «Quiero hacer una app para gestionar mis gastos» (tipo YNAB pero en plan sencillo)
Tengo dos opciones o lo subcontrato o lo hago yo. Descartemos la opción subcontratar y planteemos que lo queremos hacer nosotros (Así veremos todo lo que hace falta para hacer una app).
- Ya tengo la idea pero ¿Cómo son las pantallas? ¿Cuál es el flujo de pantallas? Tengo que coger papel y lápiz y ponerme a dibujar cada una de las pantallas.
- Cojo papel y lápiz y me pongo a dibujar todas las vistas (Que seguro que en un futuro se me ocurren más pero de momento pienso estas). Le dedico una semana a esto. Porque se me van ocurriendo cosas y lo que eran 5 vistas ahora son 20.
- Bien, ahora tengo que pasar esto a una app pero aún no tengo el diseño, todo lo que he hecho son garabatos y dibujitos. ¿Cómo hago el diseño? ¿Qué tamaño tienen que tener las imágenes que use para que no salga pixelado? ¿El diseño es el mismo para un iPhone 5 que para un iPhone XS Max o un Samsung Galaxy S9? Bueno aún así, me armo de paciencia y cojo un programa de diseño para hacer las pantallas pero cuál cojo? Photoshop tiene una licencia relativamente cara. Opto por Pixelmator que ronda los 30€.
- Pues abro Pixelmator y eso me suena a chino porque nunca he trabajado con un programa de diseño gráfico. Bueno con paciencia voy aprendiendo y estoy unas dos semanas para hacer un diseño acorde a lo que quiero.
- Tengo el flujo de la aplicación, tengo el diseño. Ya a programar ¿no? ¿Para qué lo voy a hacer? El mercado me dice que iOS y Android es casi el 100% de dispositivos. Me entero que para programar para iOS necesito un Mac, menos mal que es mi ordenador habitual.
- Programación. No se programar…. Estoy un año para adquirir unos mínimos conocimientos de desarrollo. Pongamos que estoy 6 meses con un intensivo de iOS y otros 6 con un intensivo de Android. Tengo que tener algunos dispositivos iOS y Android porque, aunque el simulador me apaña cosas, hay cosas que no van en el simulador.
- Base de datos. En la fase de aprender a programar me doy cuenta que todos los datos los estoy guardando en local, es decir, en el móvil. Pero y si cambio de móvil y quiero poder añadir cosas desde un ordenador. Qué seguridad tiene mi aplicación. Me planteo hacer un login y que los datos se almacenen en remoto en una base de datos pero no sé de bases de datos, no sé lo que son tablas, relaciones, cardinalidad, reglas formales. Estoy 3 meses empapándome de lo que son las bases de datos. Veo que hay un montón: Oracle, SQL Server, Postgree, MySQL, etc. Me decido por MySQL que es la que parece ajustarse más a mis necesidades.
- Hosting y dominio. Necesito contratar un dominio y un hosting para alojar mis servicios Web y base de datos. Sumará unos 50€ anuales. ¿Cómo funcionan las redirecciones? ¿Qué es eso de las DNS?
- Ahora sí, ya lo tengo todo ¿verdad?. De paso creo una tabla usuarios para que la gente se registre, no es todo local ya que está en la nube. Pues por seguridad voy a hacer el login. El usuario pone usuario y pasword, hago la consulta a la base de datos que he creado en la nube con MySQL y listo. ¿Y cómo hago esa consulta?. Necesito un lenguaje web que me permita preguntar a la base de datos cosas y la respuesta poder mandarla al móvil. Tengo que aprender un lenguaje que esté del lado del servidor.
- Lenguaje servidor. Otra vez me encuentro con muchas opciones y opiniones diversas. Que si ese no que es muy lento, que el que va a pegar fuerte es este, y así un largo etcétera. Me decanto por un clásico: PHP y esto otros 3 meses aprendiendo PHP para hacer los servicios Web que van a abastecer mi aplicación.
- Ahora sí que sí. Lo tengo todo ¿no?. Pongamos que en función a la dificultad de la aplicación estoy 3 meses para desarrollar cada uno de ellas.
- Publicación. Tengo que publicar las App, tanto en la Google Play Como en la Apple Store y vaya, no es gratuito (Apple pago anual de 99$, Android paso único de 25$) .
- A los dos días me llegar un email de Apple diciéndome que la aplicación ha sido rechazada porque tiene login y no le he dado usuario y password de prueba para probarla. La de Google sí ha colado.
- Ya tengo las dos aplicaciones subidas pero.. no se lo descarga nadie.
- Marketing. Me doy cuenta que no llega a la gente la existencia de mi aplicación. Me pongo a estudiar cómo publicitarla y tengo que aprender un poco de marketing. Publicitarla en twitter, facebook, instagram, youtube, etc.
- Resulta que la gente que la baja empieza a reportar un error que yo no había contemplado y me acuerdo del artículo que leí años atrás que decía: «Es mejor que los programadores busquen personas ajenas al proyecto para realizar los test ya que no tienen vicios adquiridos de la App porque no están cada día con ella».
- Arreglo el bug y la vuelvo a subir.
- Control de versiones y repositorio de código. Me doy cuenta que no tengo. ¿y si hay más gente que programa conmigo? ¿Me tienen que ir enviando los archivos que modifiquen por email? Seamos serios. Me de canto por bitbucket como repositorio de código y por GIT como control de versiones.
- La aplicación parece que empieza a ser descargada pero yo sigo actualizándola y no gano nada. Llega el momento de monetizar. ¿Y cómo monetizo esto? Una opción es añadir nuevas funcionalidades de pago. Otra tez hay múltiples opciones pero me decanto por los botones de pago en las aplicaciones tanto de google como de apple porque, a pesar de que se quedan el 30% del pago, la implementación de su solución me parece más simple y elegante que utilizar pasarelas de pago.
- Una vez empiezo a monetizar veo que no puedo tener ingresos sin estar dado de alta de autónomos porque los tengo que declarar. Sé que los primeros meses, como ayuda, la cuota mensual es de 50€. Esto implica entrega de IVAS, declaraciones, etc. Así que decido contratar una gestora, otros 100€ al mes.
- Tras un par de años, y con actualizaciones de por medio, veo que no gano nada pero que sigo manteniendo x usuarios activos que son fieles a la aplicación pero claro, ya la compraron y ahora no ingreso nada. Para colmo los autónomos ahora ya no son 50€ al mes sino que son 300€ y me empiezo a arruinar ya que no tengo ingresos pero sí gastos.
- Ahora es cuando entiendo porqué la mayoría de aplicaciones han pasado de pago único a pago anual tipo servicio ya que si no es insostenible.
Esto es un poco un resumen de lo que comporta hacer una aplicación móvil.
Hace años me dijeron que no habría empresas dedicadas únicamente a desarrollo de aplicaciones móviles porque era algo que no requería tanto trabajo. Creo que queda claro que un desarrollo de una aplicación móvil es harto complicado.
Y seguro que me he dejado cosas, porque SIEMPRE salen cosas pero creo que refleja bastante bien la realidad de este mundillo.
Espero que os sirva a aquellos que queráis llevar a cabo un proyecto de este tipo y, si queréis, confiad en nosotros.
Be happy!
Deja una respuesta