Avantages et Inconvénients de vivre d’une application mobile Android
Je suis en train de créer JavaScript de Zéro, une formation vidéo en ligne pour apprendre le JavaScript. Elle est conçue spécialement pour les débutants complets en programmation. Regardez gratuitement le module débutant sur YouTube dès maintenant.
Ça fait longtemps que je voulais écrire ce billet. Je prends le temps de le faire aujourd’hui pour faire le point sur mes 3 ans et demi d’expérience dans le domaine du développement d’applications mobiles sur Android. Notez que la plupart des points que je soulève ici sont aussi applicables pour les apps iOS.
Je vais décrire ici tous les avantages et les inconvénients de monter un business avec une application mobile. Mon objectif de départ était de gagner 1500 € net / mois avec mon application Hercule. Aujourd’hui je considère cet objectif comme étant atteint car j’ai pu me payer 2000€+ nets / mois depuis les 4 derniers mois et mes revenus semblent stables.
Mon objectif principal est de faire de l’argent de façon « automatique ». D’avoir des revenus dits passifs. Ça fonctionne plutôt bien, mais comme rien n’est parfait dans la vie, je voulais expliquer la balance entre le positif et le négatif d’un tel business sur internet. C’est ce que je vais faire dans ce billet.
Je vais commencer par expliquer tous les points négatifs puis tous les points positifs. Je le fais dans cet ordre pour que ce qui reste dans votre esprit à la fin soit les points positifs. Je pense qu’il est primordial de les avoir en tête si vous décidez de vous lancer dans l’aventure pour rester motivé ! Mais c’est aussi important d’avoir une vision globale et de connaître les points négatifs pour éviter les mauvaises surprises.
Inconvénients d’un business autour d’une application mobile
Avoir de la visibilité
C’est un point majeur que ce soit pour une app mobile ou un site internet ou tout business et c’est pour ça que des milliards d’euros sont dépensés dans la pub chaque année. Si les gens ne savent pas que vous existez, ils n’achèteront pas vos produits. Avec les apps mobiles, c’est pareil, si vous n’êtes pas visible sur les app stores, vous n’existez pas. Vous devez donc non seulement faire une app qui envoie du lourd, mais en plus vous devez maîtriser l’ASO (App Store Optimization) et le référencement dans Google (SEO) pour que votre app et votre site internet soient visibles. Juste pour amener du trafic et des téléchargements.
Gagner en visibilité est très très difficile et prend du temps. Il y a des centaines d’astuces et autre bonnes pratiques pour y arriver, mais franchement, c’est difficile. Aujourd’hui je suis #2 sur le play store français avec le mot clé « musculation », ça m’a pris 3 ans pour en arriver là. Faire un bon produit n’est pas suffisant, il faut savoir le marketer et percer sur des stores où des dizaines de milliers d’apps sont ajoutées chaque jour ! Dans le genre marché concurrentiel, on fait pas mieux.
Valeur perçue très faible
Payer pour une app ? Jamais de la vie ! Voilà le crédo de 90% des utilisateurs d’applications mobiles. Particulièrement sur Android. Sur iOS les gens sont prêts à payer car ils sont habitués à acheter des logiciels et des produits chez Apple, et ils ont souvent un pouvoir d’achat plus important que les utilisateurs Android ou au moins accordent plus d’importance à la qualité des logiciels et apps qu’ils utilisent.
Arriver à faire payer les gens pour une app mobile relève de la prouesse, l’élasticité des prix est aussi quelque chose de très étrange qu’il faut tester sans arrêt. Le problème c’est que la valeur perçue des utilisateurs d’un logiciel en général et d’une app mobile en particulier est très faible. Ils n’ont aucune idée du coût réel que ça demande d’investir pour développer une app de qualité. Ils pense que ça pousse sur les arbres…
Pourquoi ? C’est simple. Parce qu’on a cassé le modèle des apps mobiles dès le début. Il existe des milliers d’apps gratuites développées à perte par les grandes sociétés. Juste pour avoir des utilisateurs et fournir un service. Juste pour faire du branding et promouvoir leur marque. Toutes ces apps de qualité gratuite font que les gens ont toujours le même réflexe « il doit exister quasi la même chose gratuitement avec une autre app ». Donc quand ils voient une app payante, ils fuient.
C’est pour ça que j’ai mis Hercule gratuite au téléchargement et à l’essai pendant 7 jours pour faire tomber la barrière du prix à l’entrée. Il existe plusieurs business models pour une app mobile, les principaux sont les apps gratuites avec de la pub et les achats in-app. Le fait d’acheter une app mobile avant de pouvoir la télécharger et l’essayer je crois que c’est quelque chose qui ne se fait plus ou très peu vu les réticences des utilisateurs à payer.
Le problème de la pub c’est qu’il faut un trafic énorme quotidien pour arriver à générer des revenus corrects et se verser un salaire. Le problème des achats in-app c’est que les revenus ne sont pas récurrents.
Un modèle de revenu non récurrent
Si vous utilisez le modèle de la pub, il faut avoir des dizaines de milliers d’utilisateurs quotidiens pour que ça rapporte un peu d’argent. Ce qui implique plusieurs choses : avoir une bonne visibilité sur le play store et avoir un taux de rétention important. C’est-à-dire que vos utilisateurs continuent à utiliser votre app régulièrement pour espérer qu’ils cliquent sur vos pubs un jour ou l’autre (ou qu’il y ait suffisamment d’impressions pour que ça vous rapporte de l’argent).
Si vous utilisez les achats in-app comme c’est mon cas, vous devez sans cesse trouver de nouveaux utilisateurs car vous vendez en one-shot des produits à l’intérieur de votre app. Ce qui veut dire que par définition vos revenus ne sont pas récurrents, contrairement à un abonnement par exemple.
Parlons de l’abonnement, non seulement c’est difficile de faire payer quelqu’un pour une app mobile, mais alors pour le faire s’abonner, imaginez la difficulté ! Le système d’abonnement règle le problème des revenus récurrents, mais encore faut-il que vos utilisateurs soient engagés avec votre app, car s’ils s’abonnent à 2 € / mois pour seulement un mois, vous n’allez pas gagner grand chose sur le long terme et vous retomberez dans le problème des revenus non récurrents.
Des taxes importantes
Si vous pensez qu’à chaque fois que je vends Hercule à 9,99 € je gagne 9,99 € de bénéfice net, vous rêvez ! Malheureusement on n’est pas mal taxé sur les ventes d’apps mobiles ou de produits in-app. Sur 9,99 €, vous devez retirer d’abord la TVA, il ne vous reste plus que 8,33 €. Sur ces 8,33 € HT, Google vous prend 30 %, il ne vous reste donc plus que 5,83 € de bénéfice net, soit 58 % de votre prix TTC !
Non seulement c’est difficile de faire payer les gens 2 ou 3 € pour une app, mais en plus vous ne gagnez que 58 % net du prix TTC… Et bien sûr je n’ai pas encore parlé des charges sociales que vous devez payer pour vous dégager un salaire ! Bref vous voyez l’idée.
Fragmentation des téléphones et surcouches constructeur
Il existe des centaines d’appareils Android différents. Différentes tailles d’écran, différentes configurations et surtout différentes surcouches constructeurs. Pour coder la même app sur tablette et sur smartphone, c’est compliqué.
Et ne me méprenez pas, le travail des ingénieurs de Google sur le fait de faciliter ce processus est remarquable, mais ça reste tout de même une épine dans le pied. Il faut retravailler les différents layouts, prendre en compte les nouveaux appareils qui sortent ce qui veut dire faire de la maintenance et de nouvelles mises à jour de l’app juste pour supporter de nouveaux modèles etc. On a connu plus simple !
Mais s’il n’y avait que le matériel encore… Mais certains constructeurs écrivent des surcouches Android, c’est-à-dire des versions modifiées d’Android. En gros, ils changent quelques petites choses dans l’interface, par ci par là, et parfois ce sont des changements un peu plus en profondeur (pour améliorer l’autonomie du téléphone etc.). Le problème c’est que parfois ces OS sont buggués. Parfois ces OS n’ont pas le même comportement que sur un OS Android classique et donc votre code réagit différemment ou plante carrément !
Quel problème ça pose vous allez me dire ? Et bien c’est simple, quand un utilisateur vous contacte pour vous dire que votre app plante, vous passez du temps sur son problème jusqu’à vous apercevoir à la fin qu’en fait il a un téléphone avec une surcouche bugguée et que vous ne pouvez rien faire. Ça fait un utilisateur mécontent qui peut poster un avis 1 étoile sur un problème que vous ne pouvez pas corriger ! Croyez-moi c’est très frustrant de se prendre un avis d’1 étoile sur quelque chose sur lequel vous n’avez pas la main.
Je vous passe aussi les gens qui rootent leur téléphone (ça peut aussi provoquer des bugs sur lesquels vous n’avez pas le contrôle), ceux qui installent des OS alternatifs (Cyanogen Mod), ceux qui installent des applications économiseur de batterie dont le seul rôle est de tuer en tâche de fond les apps qui consomment de la mémoire…
Je vous donne un exemple concret pour mon cas particulier, quand vous faites une séance de musculation avec Hercule vous pouvez la mettre en arrière plan pour faire d’autres tâches pendant votre temps de repos. Le problème c’est que ce genre d’app mobile économiseur de batterie tue Hercule au bout d’un certain temps en tâche de fond. Et donc j’ai des utilisateurs qui me contactent pour me dire qu’il y a un bug, je leur dis de mettre Hercule en liste blanche dans leur app d’économie de batterie et hop, plus de bugs… Seulement imaginez le temps qu’il m’a fallu (donc l’argent perdu) à essayer de débugguer un bug qui n’était pas dans mon code mais dans le système !
Bref. La fragmentation des appareils Android est vraiment un problème côté technique.
Les utilisateurs ne mettent pas à jour leur application
Vous corrigez un bug, vous devez faire une mise à jour de l’application. Mais si vous pensez que 100 % de vos utilisateurs mettent à jour votre app, vous vous trompez ! La majorité utilise des versions dépassées et vous contactent pour vous dire qu’il y a un bug que vous avez corrigé il y a plusieurs semaines déjà… Pensez à avoir le réflexe de demander la version de l’app avant d’investiguer, ça vous économisera du temps…
Les utilisateurs ne savent pas se servir de leur téléphone
Tout est dans le titre ! Les utilisateurs de mobile exploitent 20% des capacités de leur téléphone tout simplement parce qu’ils ne savent pas s’en servir. « Comment je mets à jour une application mobile ? Est-ce que les mises à jour sont payantes ? Est-ce que si je change de téléphone je devrais racheter l’application ? » sont des questions que je reçois chaque semaine et auxquelles il faut que je réponde…
Je ne critique pas les gens attention, les smartphones sont des outils puissants mais difficiles à prendre en main (comme les ordinateurs), on peut faire tellement de choses avec qu’on s’y perd. Même si de nombreux efforts ont été fait du côté du design ça reste que la plupart des gens sont perdus, et comme ils ne lisent pas les manuels, ils ne savent rien sur rien. Bref, c’est à vous de faire leur éducation…
Les utilisateurs changent de téléphone régulièrement
Alors celui-là… Si vous faites une app mobile, pensez à faire la synchro des data dans le cloud, parce que sinon vous allez être dans mon cas et devoir expliquer comment migrer vos données d’un téléphone à un autre… C’est une attente de base des gens de ne jamais perdre leur données lorsqu’ils changent de téléphone. Et croyez-moi, ils changent souvent de téléphone !
Vous n’avez pas accès aux données des utilisateurs
Quand on vous remonte un bug, vous ne pouvez pas contacter l’utilisateur, vous n’avez pas son email, aucune information sur lui à part son modèle de téléphone, la date du bug, sa version de l’OS, des infos anonymes. Les gens peuvent laisser un message avant d’envoyer leur rapport de bug, mais ne le font jamais car ils sont déjà frustrés que ça ait planté. Par conséquent on se retrouve dans une impasse quand on a besoin de plus d’infos pour corriger un bug.
Parfois les bugs proviennent des données entrées par les utilisateurs, or vous ne pouvez pas accéder à la base de données de vos utilisateurs puisqu’elle est locale au téléphone. À moins que ce soit synchro avec le cloud mais vous ne pourrez pas y accéder non plus puisque vous ne connaîtrez pas l’identité de l’utilisateur.
Personnellement j’ai mis en place un système qui permet à un utilisateur de m’envoyer en pièce jointe dans un email sa base de donnée que je peux alors charger dans un émulateur pour voir le bug et le corriger. Mais bon, c’est du bricolage.
Mise à jour fréquente d’Android
Le système d’exploitation Android est mis à jour très souvent par Google. Trop souvent. Il m’est impossible de mener de front seul le développement de mon application mobile et de rester à jour sur les dernières nouveautés concernant le design et les nouveaux OS. Par ailleurs il faut parfois réécrire du code pour supporter des améliorations dans le nouvel OS. Je pense notamment à la gestion des permissions sur Android 6.0 Marshmallow : avant il fallait accepter toutes les permissions lors du téléchargement de l’application. Maintenant les utilisateurs doivent autoriser l’application au moment où la permission est requise dans l’application.
Sur Hercule on peut prendre des photos pour créer des exercices perso, le problème c’est qu’il faut une permission pour ça. Et d’un coup je me suis mis à recevoir des bugs sur une autorisation non accordée pour prendre des photos, en gros tous les utilisateurs d’Android 6.0 avaient leur application qui crashait au moment de prendre la photo. La grosse galère. J’ai pu corriger le problème mais c’est pénible toute cette maintenance à faire.
Bien sûr ce genre de « soucis » n’existe pas à chaque nouvelle version d’Android, et à nouveau, le travail des ingénieurs de chez Google est remarquable de réussir à garder de la consistance entre chaque version. Mais ça nous fait du boulot en plus quand même de notre côté. Et quand on est seul à développer, c’est du taf dont on se passerait bien !
Ah oui et il y a les bugs dans les OS Android aussi, on vous contacte pour vous dire que le chrono dans le temps de repos de votre app a disparu ! Alors que je n’ai pas touché au code ! Il s’avère que c’est un bug d’Android 5.0 qu’il faut mettre à jour vers 5.1 pour que ça soit réglé… Encore du support client à faire par email et du temps de « perdu » (et donc de l’argent)…
Support des clients des DOM-TOM
Google n’accepte pas que les gens des DOM-TOM puissent acheter des apps sur le Play Store. Je ne sais pas pourquoi. Personne ne sait pourquoi. Mais ça pose problème et c’est à moi de faire le support des clients des DOM-TOM qui me disent qu’ils ne peuvent pas acheter l’app. Bah oui, je ne sais pas pourquoi Google n’a toujours pas réglé ce problème mais moi en attendant, j’explique qu’il faut passer par un VPN pour faire l’achat de mon app. Bref c’est encore du support gratuit pour ma pomme.
Kill / Restore de la part du système Android
Un autre point technique. Android peut à tout moment tuer votre application en tâche de fond pour libérer de la mémoire. Ça veut dire que vous devez gérer ça dans votre code (via les méthodes onSaveInstanceState() et onRestoreInstanceState()), sur tous vos écrans. Pour que quand l’utilisateur revienne dans l’app elle soit dans le même état que quand il l’a quitté.
Une épée de Damoclès au dessus de la tête
Si demain Google (ou la plateforme que vous utilisez pour promouvoir votre app mobile) décide de suspendre votre compte ou de virer votre app du store vous vous retrouvez à poil du jour au lendemain. Sans revenu. Car évidemment essayer de faire justice contre un géant comme Google c’est perdu d’avance hein. Ça vous coûtera trop cher en argent et en temps pour que ce soit rentable. Vous êtes donc complètement dépendant du bon vouloir de la plateforme, vous n’êtes pas du tout libre de vos mouvements.
Conclusion
Franchement, en terme technique développer une app Android n’est vraiment pas une mince affaire ! Mais c’est aussi compliqué d’être visible et de gagner en popularité sur des stores en surpopulation d’applications toute qualité confondues. Gagner sa vie avec une app mobile n’est pas aisé non plus comme on l’a vu, la valeur perçue par les utilisateurs est faible voire nulle, payer pour du software ? Et puis quoi encore !
Bref, tout ça ne fait pas trop rêver, mais il y a du bon quand même dans ce type de business, du très bon même :-). Si vous êtes motivé et que tout ça ne vous fait pas peur, je vous invite à lire la liste des avantages à développer une app mobile et à construire un business autour.
Avantages d’un business autour d’une application mobile
Des revenus passifs
Si vous y arriver (comme moi pour l’instant), vous pouvez créer une source de revenus passifs grâce à vos applications mobiles. Une fois que vous êtes en bonne position sur le play store, vous avez naturellement un trafic organique plus élevé que vos concurrents et si votre app plaît vous restez à cette position ou vous améliorez votre ranking naturellement. Vous êtes alors dans un cercle vertueux (mais pour y arriver vous allez en bavez ;-)).
Aujourd’hui si j’arrête de développer Hercule, je continue de gagner un peu plus de 2000 € nets / mois, c’est une situation plutôt confortable et rassurante ! Cette situation me permet d’ailleurs de démarrer de nouveaux projets en parallèle d’Hercule. Car je ne suis plus contraint de fournir un travail chaque mois pour recevoir en échange un revenu. C’est tout l’intérêt des revenus passifs. Clé de la liberté.
Vous touchez un maximum de monde
Le nombre de smartphones vendus dans le monde ne cesse d’augmenter, chaque être humain de la planète finira par avoir un smartphone dans la poche, c’est inévitable. Par conséquent la porté de votre application sera mondiale. Tout le monde ne peut pas se targuer de toucher et de faire du commerce dans le monde entier avec son produit en quelques clics de souris !
Même si Google vous prend 30 % de commission sur chaque vente il vous permet d’atteindre le public du monde entier très facilement grâce au Play Store. Ce qui vous permet de maintenir un trafic constant vers votre app mobile (si vous êtes bien référencé).
Vous faites un métier d’avenir
Les besoins en développement mobile ne vont cesser de croître, or à l’heure actuelle on manque de développeurs mobiles. Vous pourrez donc postuler pour des offres avec des salaires plus importants que d’autres métiers de développement.
Par ailleurs, la spécialisation est maintenant obligatoire. En effet, avant on pouvait dire qu’on développait sur iOS et sur Android mais c’est de moins en moins le cas car les connaissances nécessaires pour faire du bon développement sur les 2 plateformes sont tellement nombreuses et en mouvement qu’il est nécessaire de se spécialiser si on veut être expert sur une plateforme.
Vous pouvez travailler de chez vous
Vivre d’une application mobile vous permet de développer de chez vous, ou de n’importe où dans le monde tant que vous avez de l’électricité et internet. Aujourd’hui je me lève et je fais 2 pas et je suis à mon bureau, pas d’embouteillages, pas de prise de tête pour me garer, pas besoin de m’habiller convenablement etc. Tous les avantages à être chez soi, pénard.
Ça vous permet aussi d’utiliser les outils que vous voulez pour travailler. Et de tester de nouveaux outils si vous en avez envie. Pas d’environnement de développement imposé, pas d’environnement de travail ou d’outils imposés par une direction qui ne comprend rien à la technique…
Vous gérez vos vacances comme bon vous semble
Vous avez envie de prendre 10 jours de repos ou de ne pas travailler aujourd’hui ? Aucun problème. Vous n’avez pas à demander la permission à votre patron ! Vous partez en vacances quand bon vous semble. Mais notez que quand vous êtes entrepreneur, vous travaillez bien plus que n’importe qui. Mais ça me permet de caler mes jours de repos et de vacances avec ceux de ma famille et d’être ultra flexible sur une semaine. Ou de m’accorder des jours off si j’ai mal dormi ou si j’ai pas envie.
Bref, vous êtes libre mais responsable. Avec la liberté vient la responsabilité. Toujours. Mais ça reste un confort de vie qu’aucun travail salarié classique ne pourra jamais m’apporter.
Conclusion
Les inconvénients de vivre d’une application mobile sont nombreux et vont certainement encore évoluer au fil du temps. Il n’y a pas de mystères pour réussir à percer, il faut travailler plus que les autres et ne rien lâcher. Si l’aventure de vous lancer dans les apps mobiles vous intéresse, n’hésitez pas, c’est un domaine en constante évolution et passionnant.
J’ai appris énormément de choses ces 3 dernières années, tant sur le plan du développement logiciel et du design que sur la façon dont les gens consomment et réagissent à un produit. J’ai beaucoup appris sur le marketing et l’importance d’avoir une « vitrine » propre pour son application mobile. Je regarde aujourd’hui tous les business d’un œil neuf et différent.
Je vais continuer mon aventure entrepreneuriale dans un autre domaine très bientôt sur lequel je travaille en parallèle d’Hercule. J’aimerai me lancer dans la création d’un business en SaaS (Software As A Service) pour contrer cette dépendance que j’ai envers le Play Store et pour avoir des revenus croissants dans le temps. J’écrirai des articles sur le sujet peut être sur medium plutôt que ce blog histoire d’avoir plus de visibilité et de séparer les 2 sujets qui sont relativement différents.
Stay tuned !