Hola a todos En un
artículo anterior, hablé sobre cómo ganar mis primeros $ 100 en Google Play Market. En este artículo hablaré más sobre el desarrollo y la gestión del proyecto.
El tema del artículo es una aplicación de reconocimiento de texto de Android que ha estado en el mercado durante 4 meses y tiene casi 10,000 instalaciones, monetizadas a través de suscripciones pagas, compras en la aplicación y publicidad.
La aplicación puede reconocer texto (API de Google Vision OCR), traducir reconocido (API de traducción de Bing), generar PDF con capacidad de búsqueda, almacenar el historial en la nube.
Un poco sobre reconocimiento, la elección de API
La idea de crear su aplicación de reconocimiento de texto de Android surgió hace mucho tiempo. El tema fue elegido por casualidad. Quería crear una aplicación de OCR, porque ya tenía una funcionalidad de OCR preparada basada en Tesseract. Anteriormente en Habré escribí cómo
crear una aplicación de OCR simple basada en Tesseract . En ese momento, me pareció que el trabajo estaba casi a la mitad, que solo tenía que poner rápidamente una cara bonita, ¡y en producción! Oh, qué equivocado estaba.
En el proceso, quedó claro que realizar OCR en un dispositivo Android es una mala idea, el rendimiento del dispositivo es bajo y hay que esperar mucho tiempo para obtener el resultado. Además, el módulo Tesseract OCR ocupa mucho espacio en disco (17 MB), y esta es solo la versión Light con un diccionario mínimo de inglés. Decidí crear una parte de back-end y colocar el módulo OCR allí. La calidad del reconocimiento aumentó en un 20-30% debido al hecho de que los diccionarios se han vuelto más completos, así como la oportunidad de usar la versión Tesseract más fresca (el contenedor Java para Tesseract se actualiza con más frecuencia que el contenedor Android).
Pero de todos modos, la calidad de reconocimiento era de código abierto :), como cabría esperar de una biblioteca de código abierto. Luego, un conocido al azar con GitHub sugirió que probara la API de Google Vision OCR. La biblioteca no es gratuita, pero obtuve una disposición psicológica para pagar la API. Google Vision dio un resultado mucho más preciso y esto es exactamente lo que estoy usando en este momento. En un mes pago alrededor de $ 20 por usar solo esta API.
Google ofrece una buena biblioteca para traducciones de texto, pero me pareció costoso: la traducción extrajo 2-3 veces más dinero que el reconocimiento, y para ahorrar dinero, cambié a la API Bing Translate de Microsoft. La calidad no ha disminuido, pero en publicidad no puedo gritar más de 100 idiomas para la traducción, solo hay 64 de ellos. No hay buenas API gratuitas para la traducción.
Todos los demás servicios que uso son Google. Google App Engine para alojar la aplicación, Google Database, Google Storage para el almacenamiento de datos.
Es conveniente para mí usar soluciones preparadas: trabajo solo y tengo poco tiempo para el desarrollo (soy una madre joven).
Un poco sobre diseño, gestión de equipos.
El desarrollo condujo solo, pero atrajo al diseñador y al desarrollador junior de Android para sacar el nuevo diseño.
Quiero escribir un poco sobre encontrar un diseñador. El diseño de la aplicación, los íconos y la promoción me costaron $ 55. Creo que es muy barato y el precio más que iguala la calidad. Encontré un diseñador en un sitio web independiente ruso. Los diseñadores que toman poco tienen una característica común: funcionan bien solo cuando se detallan los detalles, hasta la forma de cada botón y el código de color RGB de este botón. Esto significa que debe ser un director creativo y dedicar su tiempo a una tarea detallada.
Desarrollador junior de Android encontrado en Upwork. Solo quería obtener experiencia del cliente. Le dio una tarea simple: sacar el diseño. Pagó 70 dólares. Por supuesto, sería más interesante contratar a un Dev-Senior Senior, instruir para evaluar la arquitectura de la aplicación, aprender algo de él, pero no se atrevió a gastar mucho dinero.
Quiero señalar que involucrar a otras personas en el proyecto le permite controlar mejor el proyecto. Cuando planifique para otros, establezca fechas límite: planifique para usted y comience a hacer su parte del trabajo más rápido y de manera más consciente.
Un poco sobre distribución
Cuando la aplicación ingresó a Play Market, lancé un anuncio en AdWords, atrayendo a usuarios de todo el mundo. La mayoría de los usuarios provenían de la India (15% del total). Sin embargo, las personas de estos países nunca han comprado una suscripción. Se suscribieron muchas veces, pero dentro de los 7 días de prueba gratis lo cancelaron para evitar pagos. Además, sus clics en la publicidad fueron casi nada. Resultó no ser rentable dar servicio a dichos usuarios, porque tuve que pagar por la API y decidí eliminar la aplicación de los países que no están en el top 30 del PIB per cápita, incluidos Rusia y Ucrania.
Espero que mi experiencia haya sido útil. Si está involucrado en proyectos similares o simplemente desea intercambiar experiencias, escriba o agregue a linkedin.