Comment j'ai créé une application de reconnaissance de texte Android rentable

Bonjour à tous. Dans un article précédent, j'ai expliqué comment gagner mes premiers 100 $ sur Google Play Market. Dans cet article, je parlerai davantage du développement et de la gestion du projet.

Le sujet de l'article est l'application de reconnaissance de texte Android, qui est de 4 mois sur le marché et compte près de 10 000 installations, monétisées via des abonnements payants, des achats intégrés et de la publicité.

L'application peut reconnaître du texte (API Google Vision OCR), traduire reconnu (API Bing Translate), générer des PDF consultables, stocker l'historique dans le cloud.

Un peu de reconnaissance, le choix de l'API


L'idée de créer votre application de reconnaissance de texte Android est née il y a longtemps. Le sujet a été choisi par hasard. Je voulais créer une application OCR, car j'avais déjà une fonctionnalité OCR prête à l'emploi basée sur Tesseract. Plus tôt dans Habré, j'ai écrit comment créer une application OCR simple basée sur Tesseract . A cette époque, il me semblait que le travail était presque à moitié fait, qu'il suffisait de rouler rapidement un beau visage - et en production! Oh comme je me trompais.

Au cours du processus, il est devenu clair que l'exécution de l'OCR sur un appareil Android est une mauvaise idée, les performances de l'appareil sont faibles et vous devez attendre longtemps pour obtenir le résultat. De plus, le module OCR Tesseract prend beaucoup d'espace disque (17 Mo), et ce n'est que la version Light avec un dictionnaire anglais minimum. J'ai décidé de créer une partie backend et d'y mettre le module OCR. La qualité de reconnaissance a augmenté de 20 à 30% en raison du fait que les dictionnaires sont devenus plus complets, ainsi que de la possibilité d'utiliser la version Tesseract plus fraîche (le wrapper Java pour Tesseract est mis à jour plus souvent que le wrapper Android).

Mais tout de même, la qualité de reconnaissance était open-source :), comme on peut s'y attendre d'une bibliothèque open-source. Ensuite, une connaissance aléatoire de GitHub m'a suggéré de tester l'API OCR de Google Vision. La bibliothèque n'est pas gratuite, mais j'ai eu une volonté psychologique de payer pour l'API. Google Vision a donné un résultat beaucoup plus précis et c'est exactement ce que j'utilise en ce moment. En un mois, je paie environ 20 $ pour utiliser uniquement cette API.

Google propose une bonne bibliothèque pour les traductions de texte, mais cela m'a semblé cher - la traduction a rapporté 2 à 3 fois plus d'argent que la reconnaissance, et dans un souci d'économie, je suis passé à l'API Bing Translate de Microsoft. La qualité n'est pas tombée, mais dans la publicité, je ne peux pas crier environ 100+ langues pour la traduction, il n'y en a que 64. Il n'y a pas de bonnes API gratuites pour la traduction.

Tous les autres services que j'utilise sont Google. Google App Engine pour l'hébergement de l'application, Google Database, Google Storage pour le stockage des données.
C'est pratique pour moi d'utiliser des solutions toutes faites - je travaille seule et j'ai peu de temps pour le développement (je suis une jeune maman).

Un peu de design, de gestion d'équipe


Le développement a conduit seul, mais a attiré le concepteur et le développeur Android junior pour tirer le nouveau design.

Je veux écrire un peu sur la recherche d'un designer. La conception de l'application, les icônes et la promo m'ont coûté 55 $. Je pense que c'est très bon marché et le prix est plus que la qualité. J'ai trouvé un designer sur un site indépendant russe. Les concepteurs qui prennent peu ont une caractéristique commune - ils ne fonctionnent bien que lorsque les détails sont détaillés, jusqu'à la forme de chaque bouton et quel est le code couleur RVB de ce bouton. Cela signifie que vous devez être un directeur créatif et consacrer votre temps à une tâche détaillée.

Développeur Android junior trouvé sur Upwork. Je voulais juste acquérir de l'expérience du client. Lui a donné une tâche simple - tirer le dessin. Payé 70 dollars. Bien sûr, il serait plus intéressant d'embaucher un développeur senior, d'instruire l'évaluation de l'architecture de l'application, d'apprendre quelque chose de lui, mais n'osant pas dépenser beaucoup d'argent.

Je veux noter que l'implication d'autres personnes dans le projet vous permet de mieux contrôler le projet. Lorsque vous planifiez pour les autres, fixez des délais - vous planifiez pour vous-même et vous commencez à faire votre part du travail plus rapidement et plus consciemment.

Un peu sur la distribution


Lorsque l'application est entrée sur le Play Market, j'ai lancé une annonce sur AdWords, attirant des utilisateurs du monde entier. La plupart des utilisateurs venaient d'Inde (15% du total). Cependant, les gens de ces pays n'ont jamais acheté d'abonnement. Ils se sont abonnés plusieurs fois, mais dans les 7 jours d'essai gratuits, ils l'ont annulé afin d'éviter les paiements. De plus, leurs clics sur la publicité n'étaient presque rien. Il s'est avéré peu rentable de desservir ces utilisateurs, car j'ai dû payer pour l'API et j'ai décidé de supprimer l'application des pays qui ne figurent pas dans le top 30 du PIB par habitant, y compris la Russie et l'Ukraine.

J'espère que mon expérience a été utile. Si vous êtes engagé dans des projets similaires ou si vous souhaitez simplement échanger des expériences - écrivez ou ajoutez à linkedin.

Source: https://habr.com/ru/post/fr422191/


All Articles