C’était vraiment pas mieux avant
Imaginons, nous sommes en 1994. Je viens de finir un programme qui permet de gérer finement les logiciels installés sur votre Pentium 90 flambant neuf.
Voici le parcours du combattant qui m’attend pour le distribuer :
- Trouver une entreprise pour presser les CDs (ou les disquettes !)
- Une pour imprimer les manuels et empaqueter les CDs.
- Une pour distribuer le tout dans les magasins d’informatique de France et de Navarre
Je ne parle même pas de l’international. En plus de recommencer l’opération pour chaque nouveau pays, on a le plaisir de jouer avec les droits de douane, la juridiction local, etc. Vous voyez le topo ? Aujourd’hui, pour distribuer une app Android dans le monde entier, vous créez un compte développeur pour moins de 20 euros et…vous uploadez la version exécutable de votre application. POINT.
OK, et maintenant ?
Téléportation en Février 2014 : mon application a une version bêta convenable, pas trop moche et je peux uploader l’APK via mon compte développeur. Tout va donc pour le mieux dans le meilleur des mondes.
Oh que non, c’est peut être le pire moment dans la vie de mon app.
Les questions sont là et je n’ai pas beaucoup de réponses :
- Au niveau code, il y a encore un peu de boulot. Je me laisserais bien encore deux semaines de plus. Le problème, c’est que cela fait deux mois que je me laisserais bien encore 2 semaines de plus. Comment fixer une date raisonnable avec une application fonctionnelle ?
- Quel modèle économique pour mon app ? Je veux vivre de mon travail et quelle est la méthode qui marie le mieux revenus et respect du consommateur ?
- Ça pirate beaucoup sur Android, je suis sûr qu’on va me pirater à tout va ! Comment combattre le piratage ?
- Comment faire connaître mon application ? Il y a plus d’un million d’applications (oui 1 000 000) sur Google Play, comment sortir du lot ?
Une partie de ces questions est rationnelle : l’application doit être fonctionnelle pour la sortie. Un modèle économique, ça ne se trouve pas sous le sabot d’un cheval, le piratage peut grever une bonne partie des profits et compter sur la seule qualité d’une application pour qu’elle soit téléchargée suffisamment est un doux rêve.
Mais il n’y a pas que ça… J’ai tout simplement le trac. Quand je vous dis qu’on est finalement assez proche des artistes ! J’ai la trouille de me faire troller sur les forums, de faire une erreur qui fera que mon app ne sera JAMAIS téléchargée, que l’app bugue à tout va. Avec le recul, je pense que cela explique beaucoup le : “Je me laisserais bien encore deux semaines de plus”. Finalement, les choses vont se débloquer deux par deux. Et FrAndroid n’y est pas pour rien.
FrAndroid recrute
Revenons cette fois en novembre 2013 pour comprendre comment je vais trouver une réponse à mes questions existentielles.
Je tombe donc sur un article dans lequel FrAndroid recrute. Je me dis qu’il y a peut peut être un moyen de faire un partenariat, j’écrirai des chroniques sur les coulisses d’une app à titre gracieux ce qui permettra de mettre en avant mon application.
A ce moment là l’objectif est lointain : l’application est loin d’être finie, un de mes clients me demande beaucoup de temps et je débute l’organisation d’une soirée “en avant-première” à Bordeaux pour beta-tester et promouvoir mon app. On verra cela après la soirée fin janvier…
D’un Pierre deux coups : et d’une…
Fin janvier 2014 donc, la soirée fut une demie-réussite. Si j’ai beaucoup appris sur les qualités (et surtout les défauts) de mon application, je m’aperçois que ce type d’évènement local est d’une utilité très limitée pour la faire connaître. L’objectif est d’avoir 1000 téléchargements au Japon, 800 au Pérou et non 50 000 à Bordeaux. Il faut au minimum taper au niveau national !
Je contacte donc FrAndroid pour leur proposer le partenariat. C’est Laure Renouard qui me répond et dis banco. Grâce lui soit rendue ainsi qu’à toute l’équipe : Merci !
On part sur une première publication le dimanche 16 Février.
Et bien voilà deux réponses d’un coup (voire plus) :
- FrAndroid va me permettre de faire connaître mon application tout en permettant à ses lecteurs de savoir comment cela se passe en coulisses.
- Mon application doit être finie le 16 Février.
Et pour les deux autres questions ?
D’un Pierre deux coups : et de deux…
Début février : Alors que je me démène comme jamais pour finir de rendre l’application fonctionnelle, je psychote sur le piratage.
Si je ne pirate pas personnellement (pour économiser quoi ? 1,99 euro ? ), certaines connaissances le font allégrement. Mais comment vais-je réussir à vendre mon application ?
Justement quel modèle économique ? Ce projet étant ma première application personnelle, je compte tester la publicité ne serait-ce que pour enrichir mon expérience à ce niveau. Et faire une version payante car je pense que c’est le meilleur équilibre utilisateur/dev. : l’utilisateur a une application sans être gêné par la publicité et le développeur est rémunéré pour son travail.
Comme on dit au football, prenons les matchs les uns après les autres.
Je consulte donc mes amis du Taug et du Paug à propos du piratage. C’est Julien Del Rio, de One Light Studio et qui dirige le Taug qui me répond en détail. Et là aussi, on va faire un combo ! La discussion, courte mais très très instructive, change complètement mon point de vue sur le piratage.
D’abord, il touche finalement peu de monde. Essentiellement les jeux. Ensuite, on ne peut rien faire pour l’empêcher complètement : même Microsoft n’y arrive pas. Enfin trop de protection contre le piratage finit par plus pénaliser l’utilisateur que le pirate.
Rappelez vous ces DVD avec cinq minutes d’introduction non zappables sur le piratage. C’est ce qui a conduit paradoxalement pas mal de monde à télécharger des DIVX qui zappaient eux ces cinq minutes bien pénibles.
Et puis tout simplement un produit piraté est un produit qui… marche !
Donc si je veux protéger mon application, deux choses :
- Premièrement pour éviter qu’on me “pique” mon code, une solution donnée par Google clé en main est proguard. Cela vous obfusque le code i.e cela vous remplace tout ce qu’il est possible par de simples lettres.
- “ma_fonction_qui_me_donne_le_cpu.java” devient ainsi “a.java”. Si un pirate veut me piquer mes algorithmes, il pourra toujours, il est TOUJOURS possible de pirater, il faut juste que le jeu n’en vaille pas la chandelle.
Pour éviter de trop me faire pirater l’application en elle même une bonne solution est l’achat in app. Cela marche plutôt bien. En effet, une technique de piratage consiste à acheter la version payante d’une application, à la récupérer et à la diffuser.
Ici, si un pirate prend mon application et la diffuse, il diffuse aussi le système d’achat in app. Gotcha !
Mine de rien, cela me donne mon modèle économique en même temps : une appli avec de la pub et la possibilité d’avoir des fonctionnalités supplémentaires et de couper la pub via l’achat in-app.
Merci M. Del Rio !
L’effervescence des derniers jours… oh oui, des 30 derniers jours
On est donc, toujours, la première semaine de février. L’application n’est pas tout à fait au point en fait. J’ai juste décidé de complètement revoir le design avec le combo action-bar/menu gauche, d’ajouter une page sur les apps et d’inclure l’achat in-app qui double le nombre de bugs à corriger.
Au final, je demanderai deux fois à Laure, qui ma foi a bien été patiente, de repousser la publication de la première chronique le temps de tout mettre en place. L’application sera donc sur le store le 25 février. J’ai depuis posté 10 autres versions pour rajouter de nouvelles fonctionnalités comme le détail des apps :
Au final l’article sera posté le 9 mars, il y a presque un mois. Le temps de faire un premier, bilan.
Premier Bilan
La version beta de “My System Coach” au 2 avril, c’est :
- 11 versions
- 9 (ah non 18) crashs signalés tous dûs à l’achat In-App (merci Google pour me filer des outils buggés)
- 1961 installations
- 156,54 euros de revenu générés via l’achat in-App
- 1,01 euro (!) grâce à la publicité
Je me suis fixé pour objectif de lancer la version définitive pour fin avril.
Au menu :
- Revoir un peu le modèle économique (peut-être complètement enlever la pub)
- Lisser l’interface utilisateur (la navigation n’est pas encore top)
- Rajouter une fonctionnalité de coach (d’où le titre) : une notification qui vous prévient si par exemple une app consomme énormément de mémoire alors que vous l’utilisez jamais.
- Débuguer, débuguer, débuguer !
Voilà, nous avons balayé les coulisses de “My System Coach” de l’idée “géniale” au déploiement.
La chronique s’arrête sous cette forme nous réfléchissons à autre formule. Je vous parlerai de “My System Coach” mais aussi de mes autres apps et de sujets plus généraux comme par exemple le statut du développeur indépendant d’applications (Autoentrepreneur, EURL voire même Coopérative comme moi !)
La bise !
Bonus stage 5 : You’ll never walk alone
“My System Coach” avait dès le début été pensée pour être réalisée seul de A à Z. Et globalement j’ai tout fait : du code au design, du déploiement à la promotion. Ça me permet d’avoir enfin à 37 ans une vision globale sur un produit numérique.
Mais même dans cette optique, on ne travaille pas seul. Oh que non. Toute œuvre est collective.
C’est d’abord et avant tout ma femme qui corrige mes textes tout en ronchonnant sur le charabia que j’utilise.
Ce sont les camarades du BAUG qui ont téléchargé et subi les premières versions alpha.
Mention spéciale à :
- Kevin Le perf pour son fameux : “mais pourquoi t’as pas utilisé “proguard” ? Moi : “mais je l’ai utilisé !” Lui : “Retry !”
- Pierre-Emmanuel Mercier qui a acheté le premier exemplaire et sacrifé 1,99 euros pour voir si tout marchait.
- Mention très spéciale aussi à Etienne Grandier-Vazeille qui m’envoie une fois par semaine un très long mail ou il détaille tout ce qui ne va pas dans l’application.
Je remets une couche pour toute l’équipe de FrAndroid et Julien Del Rio déjà cités plus haut.
Je pense aussi aux premiers beta-testeurs sur le forum frandroid, lors de la soirée pour leur enthousiasmes et leurs remarques très constructives. Je pense aussi aux premier utilisateurs de la version officielle tels que les professionnels d’Aquinum à Bordeaux.
Et enfin à vous les lecteurs de Frandroid pour vos coups de gueule (“Quoi y’a pas de version française ?!?”), vos remarques, échanges et encouragements !
L’auteur de cette chronique, Pierre Benayoun, est président du Bordeaux Android User Group ; il développe et conseille sur Android depuis la sortie du HTC G1 (qu’il possède toujours !). Vous pouvez le joindre sur Twitter à cette adresse !
Retrouvez un résumé du meilleur de l’actu tech tous les matins sur WhatsApp, c’est notre nouveau canal de discussion Frandroid que vous pouvez rejoindre dès maintenant !
Super article, mais je vous propose de rajouter 2 petites choses : 1. Quant vous faites des articles/chroniques ça sera pas mal d'avoir des liens à chaque fois sur les autres articles de ce meme dossier 1.a Parce que si je passe par le module articles similaires pour arrivé à l'article 1 du dossier ... (ben c'est un peu chaud) 2. Pas mal de propose avec les articles "formatrices" un pdf téléchargable. un petit plus qui est très agréable,... je pense. Mais merci un bon dossier.
Je suis éberlué par les profits sur les achats in-app par rapport à la pub ! Va falloir que je m'y attelle à les intégrer !
Vraiment super intéressant ! Souhaitant travailler dans le domaine, je te remercie pour nous avoir apporté une vision globale de la chose ;)
Mais je sais qu'il est bien codlab c'est lui que je cite dans l'article (Kevin le Perf) ! Je garde les deux idées du coup..:p
Une petite vérification de "com.chelpus.lackypatch" et de "com.dimonvideo.luckypatcher" pour vérifier si Lucky Patcher (qui permet de contourner certaines vérifications de licenses) est présent semble aussi une bonne idée. C'est vite fait et ça permet d'éviter quelques problèmes. PS : L'idée de codlab pour vérifier si une app est installée sans permissions est intéressante, je met de côté ;)
Pourquoi par définition gratuit ? Certains noyaux sont payant d autres gratuits...
Merci pour toute la chronique, très intéressante !
Pas besoin de cette permission, il suffit de faire un appel a cette app via intent et verifier que le retour n est pas une exception - entre autre, plusieurs solutions existent Et surtout paq un AsyncTask pour une telle manipulation... l AsyncTask est bien lourd par cela ; )
Et il y a XPrivacy qui permet de masquer des applications installées. Le jeu du chat et de la souris ....
En même temps vu qu'on parle de la genèse d'un app....
Mais ce que ça me parait une excellent idée ! Je regarde ça au plus vite merci de cet excellent conseil.
Pour protéger du hack, autant profiter de la permission permettant de voir les app installées. Il serait bien de vérifier avant l'achat dans une AsyncTask la présence ou non de l'application Freedom (on vérifiera le nom du package) qui permet de pirater les achats in-app.
android est une base linux. par defition gratuit, plutôt open source. ce n'est malheureusement pas un modèle économique comme tant d'autres systèmes. j'ai connu linux avec linus torval, dans les années 80 85, juste trois disquettes de source. a l'époque, pas d'interface graphique, juste des lignes de commandes. quelle évolution!!!!!!! <i>-------<a href="https://play.google.com/store/apps/details?id=com.frandroid.app">Envoyé depuis l'application FrAndroid pour tablette</a></i>
XD
Merci beaucoup à toi pour cette chronique dans laquelle tu auras détaillé toutes les emmerdes par lesquelles tu auras pu passer. Je suis sur que ça va servir à d'autres (moi le premier !) et que ça fera gagner beaucoup de temps à de nombreux développeurs ! Bon courage pour la suite :)
Super article !
super article, très intéressent
Il est temps pour moi de dormir je crois...réussir à lire "dans les coui**** d'une app" à la place de "coulisse" il faut le vouloir.
Ce contenu est bloqué car vous n'avez pas accepté les cookies et autres traceurs. Ce contenu est fourni par Disqus.
Pour pouvoir le visualiser, vous devez accepter l'usage étant opéré par Disqus avec vos données qui pourront être utilisées pour les finalités suivantes : vous permettre de visualiser et de partager des contenus avec des médias sociaux, favoriser le développement et l'amélioration des produits d'Humanoid et de ses partenaires, vous afficher des publicités personnalisées par rapport à votre profil et activité, vous définir un profil publicitaire personnalisé, mesurer la performance des publicités et du contenu de ce site et mesurer l'audience de ce site (en savoir plus)
En cliquant sur « J’accepte tout », vous consentez aux finalités susmentionnées pour l’ensemble des cookies et autres traceurs déposés par Humanoid et ses partenaires.
Vous gardez la possibilité de retirer votre consentement à tout moment. Pour plus d’informations, nous vous invitons à prendre connaissance de notre Politique cookies.
Gérer mes choix