En este post te voy a contar como montar un negocio basado en una aplicación móvil. Pero crear una app de éxito no es solo programarla, hay mucho más detrás. Y es que no es tan fácil ganar dinero con una app.
Desde que la gente de mi entorno sabe que tengo una empresa que desarrolla aplicaciones para móviles, no hay día que alguien no me diga eso de “pues yo tengo una idea de app buenísima”. Al principio sonreía y preguntaba: “¿y cuál es tu idea?” y después de tragarme el típico “pero no me la vayas a robar eh…” me contaban su rollo. Ahora simplemente digo “que bien que tengas una idea, ¿estás dispuesto a dejar tu trabajo, ponerte a currar en tu proyecto 10 horas al día sin cobrar durante varios años, e invirtiendo tu dinero?”. Si la respuesta es “no” prefiero que no sigan. Porque da exactamente igual lo buena que sea tu idea, ya que si no estás dispuesto a currar en ella se va a quedar en nada.
En marzo de 2015 yo también tenía una idea. Pero sí que estaba dispuesto a dejarlo todo por intentar ejecutarla. Entré en la incubadora de negocios Demium Startups con el propósito de crear una aplicación de éxito que luego iba a vender a Facebook por 100 millones de dólares. Se trataba de una app para ayudar a ganar dinero a los influencers. Un año después conseguimos sacarla al mercado, tuvimos unas decenas de miles de instalaciones, pero no conseguíamos monetizar como para pagar al equipo ni conseguir financiación externa para continuar hasta tener más usuarios. El sueño se desmoronó.
Cometimos muchos errores de los que he aprendido. Tanto, que a finales de 2016 monté rudo apps, mi propia empresa de desarrollo de aplicaciones, en la que programamos apps para terceros. Ya somos 22 personas y nos va fenomenal. En rudo apps intento ayudar a mis clientes a no caer en los mismos errores que nosotros. El problema es que la mayoría de las veces no se dejan. Porque vienen con su “idea” súper clara, que han estado pariendo durante meses, con todas las interacciones, todos los casos de uso posibles, todas las automatizaciones. Se pasan por el forro el tema del producto mínimo viable (MVP) porque todo es importantísimo para sus usuarios (esos usuarios que no tienen) y acaban haciendo apps tremendamente complejas que nadie llega a usar, ya que se han gastado todo el dinero en desarrollarlas y no les queda para promocionarlas.
Pensarás que para nosotros, como empresa de desarrollo, eso es un chollo. Cuanto más compleja sea la app que quiere el cliente, más horas cuesta hacerla, y cuantas más horas más dinerito. Y es verdad, pero también es verdad que eso es pan para hoy y hambre para mañana. Yo prefiero hacer un proyecto MVP real mucho más barato, al que poco a poco se le van añadiendo funcionalidades a medida que el usuario lo usa, y así crecer con la empresa para durante años poder seguir ofreciéndole nuestros servicios. De esta manera ganamos todos.
Después de muchas aplicaciones desarrolladas por el equipo estas son las etapas que considero debes seguir si quieres montar un negocio basado en una app. (* Yo no soy técnico ni he estudiado informática, está todo explicado desde mi perspectiva de negocio).
1. No pienses en tu app, piensa en tu negocio
La aplicación es el medio que te ayuda a ejecutar tu modelo de negocio. Pero no estás montando una app, estás montando una empresa. Como en cualquier empresa, debe empezar por el cliente, estudiando su necesidad y ofreciéndole una solución para satisfacerla. La compañía está dentro de un mercado que ha de ser suficientemente grande como para permitir la viabilidad. Y tiene que estar sustentado en ese modelo de negocio sostenible y rentable. Todo eso es previo a definir cómo va a ser tu aplicación.
2. ¿De verdad quieres una app?
Cuando mis clientes me piden una app y les hago esta pregunta flipan. Pero es que una app no es siempre la mejor solución ¿sabes por qué?:
. Hay muchas. En marzo de 2017 había 2,8 millones de apps disponibles en Google Play y 2,2 millones en la App Store de Apple. Sí, has leído bien. Cinco millones en total. ¿De verdad crees que vas a montar una app y la gente se la va a bajar? Sigue soñando.
. Son caras. Una app media cuesta unos 20.000€, aunque dependiendo de la complejidad puede llegar a costar hasta un millón de euros. Una web que se vea bien en el móvil puede partir de unos 3.000€. Por supuesto que la experiencia de uso y la calidad no tienen nada que ver, pero para empezar ¿necesitas gastarte tanta pasta?
. No son buenas para uso esporádico. ¿Tus clientes van a usar la app de vez en cuando o cada día? Las apps ofrecen una experiencia buenísima para uso continuo, pero no son buenas para el esporádico. Si vendes motos de alta gama ¿crees que necesitas una app? ¿Cada cuánto tiempo un cliente se compra una moto? ¿Le vas a hacer descargarse la app para eso? Con una buena web tienes de sobra.
Pese a todo lo anterior, la experiencia de uso de una aplicación es inigualable y no se puede conseguir con una web. Por eso la mayoría del tiempo que pasas con tu móvil es usando aplicaciones como Instagram, Whatsapp, Maps, Facebook… Pero no siempre una aplicación es la mejor solución para tu negocio.
3. Se «lean», haz un MVP de verdad
Si al final has llegado a la conclusión de que una app puede ayudarte en tu negocio, se “lean” al planificarla. Haz un MPV real. Que tenga lo mínimo para satisfacer la necesidad de tu cliente. Pero no automatices hasta que no sepas que existe una necesidad. No pongas un sistema de facturación automático si todavía no facturas. No incluyas un sistema de chat de ayuda dentro de la app si pueden contactarte por mail. No hagas un login con mail, con Facebook, con Instagram, con twitter, con Google… ¡Con una opción tienes de sobra! Y a medida que los usuarios usen tu app, a medida que te demanden cosas, ve dándoselas y quita lo que no usan.
4. Empieza con el análisis funcional de la aplicación
A la hora de decidir las funcionalidades que va a tener tu aplicación debes tener claro:
. Cuáles son tus objetivos con el desarrollo de la aplicación. Es importante saber que quieres conseguir con la aplicación, si ventas, si descargas, si uso, si optimizar procesos, si conseguir transacciones…
. Qué problema intenta resolver. La app debe resolver un problema real de un usuario, no te lo inventes.
. Quién es el usuario que tiene ese problema. Debemos definirlo y estudiarlo. ¿Cómo es? ¿Cuáles son sus comportamientos?
. Cómo vamos a resolver ese problema. Aquí ya vamos definiendo una a todas las funcionalidades.
5. Elige la plataforma para la que quieres hacer la app
En torno al 85% de los usuarios usan Android y el 15% iOS (olvídate de Windows Phone y similares). Pero los de iOS gastan más, tanto en apps de pago como en pagos dentro de las apps. Normalmente las apps se hacen para las dos plataformas, aunque a veces en el MPV se elige solo una de ellas. Hay cientos de webs con estadísticas y porcentajes por países, revísalas y decide cuál es la mejor opción.
6. Elige dónde van a estar los datos
Empezamos con la parte técnica, decidiendo si los datos de la app van a estar en el móvil o en un servidor.
. En la propia app. Los proyectos pequeños que no requieren actualización de datos, pueden tenerlos en la propia app. Por ejemplo, una app de un bar que muestra donde está localizado, su menú (que siempre es el mismo), y un contacto a través de mail. O una app en la que estén listadas todas las frutas del mercado y te diga los nutrientes y los beneficios de cada una. El problema es que si queremos cambiar una descripción hay que hacer cambios en la aplicación y volver a subirla. La ventaja es que la app no necesita internet para poder usarse.
. En el servidor. Los proyectos grandes y profesionales usan en general la tecnología cliente-servidor. ¿Esto qué significa? Que hay cosas que se hacen en el móvil (cliente) como por ejemplo, sacar una foto; y cosas para las que se necesita acceder a un servidor como ver el listado de tus amigos, ver las fotos que están compartiendo, recibir la información del tiempo… De esta manera los datos están en un servidor y podemos cambiarlos fácilmente sin necesidad de actualizar la aplicación. En el caso anterior de la aplicación de frutas, si queremos añadir una o cambiar la descripción de otra, solo tendríamos que hacerlo en el servidor y cuando el móvil acceda siempre tendrá la info más actualizada. El problema es que la app solo funciona si está conectada a internet. Casi todas las apps que usas utilizan este sistema (Facebook, Instagram, Google Maps, Youtube, Spotify…).
7. Elige el lenguaje de programación.
Básicamente hay tres formas principales de enfrentarse al desarrollo de una app:
. Mediante un creador de aplicaciones basado en plantillas. Hay muchas opciones y no requieren experiencia en programación. Se basan en apps estándares en las que se puede ir modificando algunas cosas. La app puede salirte gratis si la empresa detrás del creador pone su publicidad en tu app. Y puede llegar a 1.000€ en función de lo que quieras cambiar, las estadísticas que quieras tener… Es una solución muy básica que en general solo sirve para empresas o personas que quieren una app sencilla informativa, no como un negocio en sí. Aunque hay gente que gana dinero con ellas.
. Apps híbridas o multiplataforma. Programadas en lenguajes como Ionic, Phonegap, Cordova, Xamarin, React Native… Se trata de lenguajes de programación en los que la app se programa una sola vez y luego se “exporta” para que pueda usarse en iOS y en Android. Cada lenguaje tiene sus particularidades, ventajas e inconvenientes. Se trata de una solución intermedia y más barata ya que la app se programa una sola vez, pero no aprovecha al 100% las características diferenciales de los dos sistemas operativos (iOS y Android). Desde 5.000€ puedes tener apps híbridas decentes.
. Apps nativas. Programada en los lenguajes nativos de iOS (hace años se usaba Objective-C, ahora Swift) y Android (Java o más recientemente Kotlin). Esta es la forma más profesional y como están hechas la grandísima mayoría de las apps profesionales. Supone programar por separado la versión de iOS y la versión de Android. Normalmente lo hacen dos personas distintas ya que no es habitual que un mismo programador sepa programar para los dos sistemas operativos. Supone una mayor inversión, pero son mucho mejores. A partir de 10.000€ en general. En rudo apps solo hacemos apps nativas, por ejemplo.
8. Monta el equipo
A partir de aquí, si no eres diseñador y experto en programación de aplicaciones, vas a necesitar un equipo. Puedes montarlo internamente, o contratarlo a una empresa de desarrollo como la nuestra (o como cualquiera de las que te aparece en Google poniendo «desarrollo de aplicaciones»). Estos son los perfiles que necesitas o los que debe tener la empresa a la que contrates:
. Diseñador experto en experiencia de usuario. No sirve cualquier diseñador, tiene que ser uno que haya diseñado aplicaciones. Si no hará algo muy bonito pero que luego no es usable o no se puede desarrollar ya que cuenta con elementos que no son nativos de los sistemas operativos. Alguien con tres años de experiencia parte de un sueldo de 22.000€ brutos al año.
. Desarrollador back. Experto en la tecnología que previamente vayas a utilizar. Si lo quieres en plantilla, alguien con tres años de experiencia te va a costar a partir de 24.000 euros brutos al año.
. Desarrolladores de aplicaciones (uno o dos). Si has decidido hacer algo híbrido, necesitas un programador experto en la tecnología que hayas decidido. Si te has decantado por nativo necesitas dos personas, uno de iOS y otro de Android. Un perfil así contratado te va a costar desde 20.000 euros los perfiles junior y unos 28.000 para los senior.
. Experto en marketing digital. Te ayudará a hacer una estrategia para lograr tus objetivos y conseguir descargas. Hay mucha gente que sabe de marketing pero pocos que saben de digital, si quieres un perfil de este tipo te recomiendo los que salen de la escuela DM School de Rubén Colomer. Tienen sueldos más variables, pero cuenta a partir de 18.000 euros.
. Externalizar contratando a una empresa de desarrollo. Los precios están entre 30€ y 50€ por hora en función del perfil contratado y su especialidad.
9. Diseño de experiencia de usuario, de interfaz y de interacción (UX-UI – IxD)
Ahora que ya tenemos claras las funcionalidades, la plataforma para la que vamos a desarrollar y el lenguaje de programación entramos en la fase de diseño. El objetivo es construir un prototipo interactivo. Las apps más profesionales hacen un diseño ligeramente distinto para iOS y para Android, para de esta manera aprovechar al máximo las características nativas de cada uno de los sistemas operativos. Normalmente se divide esta etapa en experiencia de usuario, de interfaz y de interacción, aunque los límites entre estas subfases son muy difusos. Las explico a grandes rasgos:
. UX. Se centra en representar las principales funciones y la navegación. Tiene como resultado los wireframes que son un boceto con el esqueleto o la estructura de la aplicación, junto con las relaciones entre las pantallas (qué pasa cuando apretamos a determinado botón). Normalmente se utiliza un programa llamado Sketch.
. UI. Representa con bastante fidelidad la aplicación añadiendo colores, degradados, fuentes, textos ficticios, imágenes, logos y formas. Se conceptualiza en mockups y también se suele usar Sketch.
. IxD. El diseño de interacción se ocupa de decidir cuál será el recorrido y dónde se deberán situar los botones que desencadenarán las diferentes acciones y se conceptualiza en un prototipo. Suponen una representación fidedigna de la aplicación en la que los mockups se enriquecen con animaciones e interacciones. Puede parecer que se está usando una app real, pero son únicamente imágenes conectadas una a la otra. Se utiliza generalmente InVision o Zeplin.
10. Desarrollo backend
El backend tiene que ver con la lógica de la aplicación y su alojamiento. En general se divide en cuatro partes: (* Vuelvo a recordar que yo no soy técnico ni he estudiado informática, está todo explicado desde mi perspectiva de negocio).
. Diseño y modelado de la base de datos. El programador back diseña y modela la base de datos, definiendo su estructura lógica, incluidas las relaciones y las limitaciones que determinan cómo se almacenan los datos y cómo se accede a ellos.
. Desarrollo de API. Una API sirve para comunicar la aplicación con la base de datos, de esta manera toda la lógica está en el servidor y no en los dispositivos, haciéndola mucho más escalable y modulable. Normalmente se programa una API REST con formato Json aunque hay más opciones. En rudo apps usamos Django (un framework de Python) aunque también se puede usar PHP, Node.js, Ruby…. Todos los lenguajes tienen ventajas e inconvenientes y cada programador va a defender el que más le gusta.
. Administrador web o CMS. Es una web protegida por usuario y contraseña desde la que se gestionan todos los datos de la aplicación por parte del cliente.
. Alojamiento del backend en el servidor. Últimamente se suelen usar servidores cloud que tienen la ventaja de ser altamente escalables. El más usado es Amazon Web Services.
11. Desarrollo de las aplicaciones Android e IOS
En función del lenguaje de desarrollo decidido se empieza la programación de las aplicaciones. En el caso de las nativas se usa Java o Kotlin en Android Studio para Android, y Swift en XCode para iOS (antes se usaba Objective-C). La programación se realiza de forma separada para Android e iOS, con el objetivo de aprovechar el 100% del potencial de los móviles.
Primero se hacen las “vistas” o la “maquetación”, que supone programar cada una de las pantallas para que se ajusten al diseño y se vean bien en todos los tamaños de móvil. Después se programa la lógica y finalmente se conectan las pantallas con la base de datos por medio de las llamadas a la API. Esta fase es la más larga, la más técnica y la más compleja de todo el desarrollo.
12. Instala un software de estadísticas
Para monitorizar el uso de la app se instala Google Firebase u otro software de estadísticas. Permite saber tanto el número de descargas como del de usuarios así como las pantallas más visitadas o qué botones son los más pulsados.
13. Sube las apps a las store
Por último, para que las aplicaciones estén disponibles, tenemos que subirlas a las tiendas de Google Play y Apple Store. Tenemos que tener una cuenta de desarrollador de Google que cuesta 25 euros una sola vez y una de Apple que cuesta 99 euros al año. Google permite la subida de casi cualquier app y suele tardar una hora en estar disponible. Apple por el contrario lo pone muchísimo más difícil. Cuando subes tu app tienes que tener en cuenta un montón de requerimientos y hay una persona real en EEUU que revisa tu aplicación y solo la aprueba si todo está perfecto. Suele tardar unos 3 días en ser aprobada o rechazada.
14. Consigue descargas
Por fin tienes tu aplicación subida y disponible para cualquiera. ¿Ya te vas a hacer rico? Pues va a ser que no. Como he dicho antes, que alguien se baje tu app simplemente porque está subida es casi imposible. Para conseguir descargas tienes que hacer marketing y eso implica invertir. Uno de los errores más comunes es gastarse todo el dinero en desarrollo y dejar esta parte olvidada. Como consejo general gástate la mitad del dinero en programación y la mitad en marketing. Hay dos formas principales para conseguir descargas:
. Descargas orgánicas. Son las que no requieren un pago por instalación directo. Pueden venir de:
– Búsquedas en las tiendas de apps (tendrás que hacer una estrategia de ASO, o App Store Optimization).
– Búsquedas en Google (necesitas una estrategia de SEO, o Search Engine Optimization).
– De tus propios canales como tu web (utilízala para derivar a gente a la descarga), envíos de mails a tus clientes (escríbeles recomendándoles tu app), de tus redes sociales (animando a la instalación), o de tu propia aplicación (por medio de un sistema de referals en el que incentives que tus propios usuarios la compartan).
. Descargas por medio de campañas de marketing en canales de pago. Tendrás que hacer campañas de publicidad en Facebook Ads (por ahora es el canal que más se utiliza ya que segmenta genial y tiene muchos usuarios), Google (tanto a través de las búsquedas como de anuncios en su red de display), Twitter o Instagram. También a través de otras redes de publicidad que permiten el sistema de compra por instalación (CPI) u otros medios… En general te va a costar una media de a un euro por cada descarga (esto depende de muchísimos factores, sobre todo de la localización del usuario y del tipo de app).
Conclusión
Como ves, montar un negocio basado en una app es un trabajo a tiempo completo, requiere muchísimo esfuerzo y las posibilidades de triunfar son limitadas. Pese a eso es una gran oportunidad si se hace bien, de forma profesional y seria. ¿Tienes ya un poco más claro cómo se crea una app de éxito? Si sigues teniendo dudas puedes escribirme a richard@rudo.es y estaré encantado de ayudarte. Siempre y cuando estés dispuesto a trabajar en tu idea, claro está 😬.
Buenas tardes Richard.
Soy un joven productor multimedia. Sé maquetar websites y me interesa mucho el aprender a programar o pertenecer a un equipo de trabajo como describías líneas arriba. Pero en definitiva, tengo una perspectiva mas amplia después de la lectura, sobre todo por la parte técnica. Se nota la experiencia y recorrido, sé que no es fácil. Es todo un gran trabajo de diseñadores, programadores, etc…
Que retroalimentación me dí.
Muchísimas gracias!
Gracias por tus palabras ☺️
Bastante de acuerdo con todo Richard, (no tanto con el rango de sueldos, un buen back por 18K brutos al año… es dificil)
Sin embargo, el tema del MVP… check esto…
https://medium.com/swlh/the-mvp-is-dead-long-life-to-the-map-minimum-awesome-product-404df90fef7f
Muchas gracias Carlos! Sobre los sueldos, como dices un buen back por 18k es muy muy difícil. He intentado poner los precios a partir de los cuales se puede encontrar a alguien. Gracias por el artículo del Minimum Asesome Product!
Hace poco que he iniciado un desarrollo de una app móvil, y me ha parecido muy interesante y didáctico tu el artículo. Gracias por el mismo.
Muchas gracias Juan Diego!
Fantántisco este artículo, he llegado a través de la recomendación de Carlos Hernando en Linkedin.
Tienes un suscriptor nuevo en tu newsletter 😉
Muchas gracias Juanjo! Espero no defraudarte con el resto. Un saludo
Muy buen artículo para hacerte una idea de la complejidad de hacer una app. Empezaremos con una web…y a ver si algún día mi oficina es el mundo!!
Muy buena info Richard,
Sería bueno ampliar algo de información relacionada a cómo obtener un inversor externo en caso de que uno con cuente con los fondos suficientes para llevar adelante un desarrollo de app.
Un saludo