Olá pessoal. Em um
artigo anterior, falei sobre como ganhar meus primeiros US $ 100 no Google Play Market. Neste artigo, falarei mais sobre o desenvolvimento e gerenciamento do projeto.
O assunto do artigo é o aplicativo de reconhecimento de texto Android, que está há 4 meses no mercado e tem quase 10.000 instalações, monetizadas por assinaturas pagas, compras no aplicativo e publicidade.
O aplicativo pode reconhecer texto (API do Google Vision OCR), traduzir reconhecido (API do Bing Translate), gerar PDF pesquisável, armazenar histórico na nuvem.
Um pouco sobre reconhecimento, a escolha da API
A ideia de criar seu aplicativo de reconhecimento de texto para Android surgiu há muito tempo. O tópico foi escolhido por acaso. Eu queria criar um aplicativo de OCR, porque já tinha uma funcionalidade de OCR pronta com base no Tesseract. Anteriormente, em Habré, escrevi como
criar um aplicativo OCR simples baseado no Tesseract . Naquela época, pareceu-me que o trabalho estava quase pronto, que você tinha que rolar rapidamente um rosto bonito - e entrar em produção! Oh, como eu estava errado.
No processo, ficou claro que executar OCR em um dispositivo Android é uma má ideia, o desempenho do dispositivo é baixo e é necessário aguardar muito tempo pelo resultado. Além disso, o módulo OCR do Tesseract ocupa muito espaço em disco (17 MB), e essa é apenas a versão Light com um dicionário mínimo de inglês. Decidi criar uma parte de back-end e colocar o módulo OCR lá. A qualidade do reconhecimento aumentou de 20 a 30% devido ao fato de os dicionários terem se tornado mais completos, além da oportunidade de usar a versão mais recente do Tesseract (o wrapper Java para Tesseract é atualizado com mais frequência do que o wrapper Android).
Mas, mesmo assim, a qualidade do reconhecimento era de código aberto :), como seria de esperar de uma biblioteca de código aberto. Então, um conhecido aleatório do GitHub sugeriu que eu testasse a API do Google Vision OCR. A biblioteca não é gratuita, mas tenho uma disposição psicológica de pagar pela API. O Google Vision deu um resultado muito mais preciso e é exatamente isso que estou usando agora. Em um mês, pago cerca de US $ 20 pelo uso apenas dessa API.
O Google oferece uma boa biblioteca de traduções de texto, mas me pareceu caro - a tradução gerou 2-3 vezes mais dinheiro que reconhecimento e, para economizar, mudei para a API do Bing Translate da Microsoft. A qualidade não caiu, mas na publicidade não posso gritar mais de 100 idiomas para tradução, existem apenas 64. Não há boas APIs gratuitas para tradução.
Todos os outros serviços que eu uso são o Google. Google App Engine para hospedar o aplicativo, banco de dados do Google, armazenamento do Google para armazenamento de dados.
É conveniente usar soluções prontas - trabalho sozinho e tenho pouco tempo para o desenvolvimento (sou uma jovem mãe).
Um pouco sobre design, gerenciamento de equipes
O desenvolvimento liderou sozinho, mas atraiu o designer e o desenvolvedor Junior Android para puxar o novo design.
Quero escrever um pouco sobre como encontrar um designer. O design do aplicativo, os ícones e a promoção me custaram US $ 55. Eu acredito que é muito barato e o preço mais do que corresponde à qualidade. Encontrei um designer em um site freelancer russo. Os designers que usam pouco têm um recurso em comum - eles funcionam bem apenas quando os detalhes são detalhados, até a forma de cada botão e qual é o código de cores RGB desse botão. Isso significa que você precisa ser um diretor de criação e gastar seu tempo em uma tarefa detalhada.
Desenvolvedor Android Júnior encontrado no Upwork. Eu só queria obter experiência do cliente. Deu a ele uma tarefa simples - puxar o design. Pago 70 dólares. Obviamente, seria mais interessante contratar o desenvolvedor sênior, instruir para avaliar a arquitetura do aplicativo, aprender algo com ele, mas não se atreveu a gastar muito dinheiro.
Quero observar que envolver outras pessoas no projeto permite que você controle melhor o projeto. Quando você planeja para os outros, defina prazos - você planeja para si mesmo e começa a fazer sua parte do trabalho de maneira mais rápida e consciente.
Um pouco sobre distribuição
Quando o aplicativo entrou no Play Market, lancei um anúncio no Google AdWords, atraindo usuários de todo o mundo. A maioria dos usuários veio da Índia (15% do total). No entanto, pessoas desses países nunca compraram uma assinatura. Eles se inscreveram várias vezes, mas em sete dias de teste gratuito o cancelaram para evitar pagamentos. Além disso, seus cliques em publicidade eram quase nada. Acabou sendo inútil atender a esses usuários, porque eu tinha que pagar pela API e decidi remover o aplicativo de países que não estão entre os 30 principais PIB per capita, incluindo Rússia e Ucrânia.
Espero que minha experiência tenha sido útil. Se você está envolvido em projetos semelhantes ou apenas deseja trocar experiências - escreva ou adicione no linkedin.