Всем привет. В прошлой статье я рассказывала, как заработать свои первые 100$ в Google Play Market. В этой статье я больше расскажу о разработке и управлении проектом.

Предмет статьи — Android приложение по распознаванию текста, которое в маркете 4 месяца и имеет почти 10 000 инсталлов, монетизируется посредством платных подписок, покупок в приложении и рекламы.

Приложение умеет распознавать текст (Google Vision OCR API), переводить распознанное (Bing Translate API), формировать Searchable PDF, хранить историю в Cloud.

Немного про распознавание, выбор API


Идея создать свое Android приложение по распознаванию текста возникла давно. Тематика была выбрана случайно. Я хотела содать OCR приложение на скорую руку, потому что уже имела готовый OCR функционал на базе Tesseract. Ранее на Хабре я писала, как создать простое OCR приложение на базе Tesseract. В то время мне казалось, что работа выполнена чуть ли не на половину, что стоит лишь быстро накатить красивую морду — и в продакшин! О, как я ошибалась.

В процессе работы стало понятно, что выполнять OCR на андроид устройстве — плохая идея, производительность устройства низкая, приходится долго ждать результат. Кроме этого Tesseract OCR модуль занимает много места на диске (17 МБ), и это только Light версия с минимальным словарем английского языка. Я приняла решение создать backend часть, и вынести туда OCR модуль. Качество распознавания увеличилось на 20-30% благодаря тому, что словари стали полнее, а так же появилась возможность использовать версию Tesseract посвежее (Java wrapper для Tesseract обновляется чаще, чем Android wrapper).

Но все равно качество распознавания было так сказать оупенсорсное :), что и следовало ожидать от оупенсорс библиотеки. Тогда один случайный знакомый с GitHub предложил мне затестить Google Vision OCR API. Библиотека не бесплатная, но у меня появилась психологическая готовность платить за API. Google Vision дал намного более точный результат и это именно то, что я сейчас использую. В месяц я плачу около 20 долларов за использование только этого API.

Google предлагает хорошую библиотеку и для переводов текста, но она показалась мне дорогой — перевод тянул в 2-3 раза больше денег, чем распознавание, и с целью экономии я перешла на Bing Translate API от Microsoft. Качество не упало, но в рекламе уже не могу кричать про 100+ языках для перевода, их тут всего 64. Бесплатных хороших API по переводу вроде нет.

Все остальные сервисы, которые я использую, гугловые. Google App Engine для хостинга приложения, Google Database, Google Storage для хранения данных.
Мне удобно использовать готовые решения — я работаю одна и времени на разработку мало (я молодая мама).

Немного про дизайн, управление командой


Разработку вела в одиночку, но привлекала дизайнера и Junior Android разработчика натянуть новый дизайн.

Хочу немного написать про поиск дизайнера. Дизайн приложения, иконки, промографика мне обошлись в 55 долларов. Я полагаю, это очень дешево и цена более чем соответствует качеству. Дизайнера нашла на русском фриланс сайте. У дизайнеров, которые берут мало есть общая особенность — они работают хорошо, только когда тз подробно расписано, вплоть до того, какой формы будет каждая кнопка и какой RGB код цвета этой кнопки. Это значит, что вам надо быть креативным директором и тратить свое время на подробное тз.

Junior Android девелопера нашла на Upwork. Просто хотела получить опыт работы со стороны заказчика. Дала ему простое задание — натянуть дизайн. Заплатила 70 долларов. Конечно, интереснее было бы нанять Senior dev-a, поручить оценить архитектуру приложения, научиться у него чему-то, но не рискнула много тратить денег.

Хочу отметить, что привлечение в проект других людей позволяет вам лучше контролировать проект. Когда вы планируете для других, ставить сроки — вы планируете и для себя, и вы вашу часть работы начинаете делать быстрее и осознаннее.

Немного про распространение


Когда приложение вышло в Play Market, я запустила рекламу на AdWords, привлекая пользователей со всех стран мира. Наибольшая часть пользователей пришла из Индии (15% от общего числа). При этом люди из этих стран ни разу не купили подписку. Они много раз оформляли подписку, но в течении 7 бесплатных пробных дней отменяли ее, что бы избежать платежей. Кроме этого их клики по рекламе не стояли почти ничего. Обслуживать таких пользователей оказалось не выгодно, ведь мне платить за API и я решила удалить приложение из стран, которые не входят в топ 30 по ВВП на душу населения, при этом Россию и Украину решила оставить.

Надеюсь мой опыт был полезен. Если вы занимаетесь похожими проектами или просто хотите обменяться опытом — пишите или добавляйтесь в linkedin.

Комментарии (24)


  1. begemot_sun
    03.09.2018 22:01
    +1

    Так и сколько выхлопа то с этого всего?


    1. Welran
      05.09.2018 08:19

      Ага поддерживаю, самое интересное. Прибыльное это хорошо, но прибыль 10 долларов и прибыль 10000 долларов это весьма разная прибыль :).


  1. BingoBongo
    03.09.2018 22:34

    Инди разработчикам в GooglePlay и AppStore ловить нечего


    1. 4lex
      03.09.2018 23:22

      А где есть чего ловить?


      1. BingoBongo
        03.09.2018 23:40

        Steam дает очень хороший толчок на старте, да и потом, если твое приложение приносит какой-то доход, то оно не утонет на дне.


        1. petrovichtim
          04.09.2018 09:28

          Когда Стим будет распространять мобильные приложения? Или он уже может?


          1. BingoBongo
            04.09.2018 09:50
            -2

            Я ответил про инди разработчиков, а не про мобильные приложения.


    1. Evgenym
      04.09.2018 11:17
      +2

      Вот так категорично поставили крест на мечтах многих энтузиастов. Я сейчас в качестве хобби пытаюсь в свободное от работы сисадмином изучать самостоятельно программирование на Android и регулярно слышу от окружающих реплики, мол, «Чувак, да не трать время, все равно не взлетит/никому не надо/пишут большие конторы» и т.д. Это не очень приятно и иногда подрывает веру в себя. Но я хочу попробовать, мне это интересно и, возможно, у меня получится поменять сферу деятельности с администрирования на разработку.


      1. BingoBongo
        04.09.2018 13:18
        +1

        Опыт и навыки у вас в любом случае останутся, но если вы туда за деньгами, то результат очень точно изложен в предыдущем посте ТС:

        У меня 3 приложения, на которых я пытаюсь зарабатывать.
        Я заработала US$1,126.75, а потратила US$1,051.73.
        Деньги были потрачены на рекламу AdWords.
        Приложениям около 2-х лет. Все делала сама.


  1. KevinMitnick
    03.09.2018 22:56

    Вы конечно молодец, но лучше сконцентрироваться на нишевом софте, в секторе финансов, фондовых бирж… там у людей деньги есть и они привыкли много платить


    1. napa3um
      03.09.2018 23:20

      А машинистам нужно стать пекарями. Хоть они и машинистами молодцы, конечно.


    1. petrovichtim
      04.09.2018 07:13

      они не привыкли, им просто приходится


      1. KevinMitnick
        04.09.2018 23:11

        им приходится и они к этому привыкли


  1. FDA847
    04.09.2018 09:14
    +1

    Автор, Вы просто молодец! Прочитал статью с большим интересом!


  1. mSnus
    04.09.2018 10:03

    А лицензии бесплатных библиотек позволяют из использовать в коммерческом софте?


  1. Hlaford
    04.09.2018 13:23

    Cкажу как человек, который 10+ лет очень плотно занимается работой с текстом, в том числе распознанным: распознанный текст нужно очень долго править, прежде чем его можно использовать по назначению, причем чем сложнее форматирование, тем хуже (о рукописях забываем сразу; их просто загоняют в текстовый редактор вручную). Даже те тексты, которые распознаны ABBYY FineReader (на данный момент — отраслевой стандарт), требуют чудовищной правки.

    Но: конечно, как попытка заявить о себе - более чем достойно. Просто, на будущее, старайтесь понять, какая мотивация у человека, который распознает, в частности, тексты. Я (т.е. человек, который распознал и отформатировал не одну тысячу страниц), например, не знаю, зачем мне с помощью планшета распознавать текст. Его ведь потом нужно долго и мучительно править (например, для последующего перевода в CAT-tool). На планшете править распознанный текст — мазохизм чистой воды.

    Именно поэтому у вас скачивания есть, а покупок — с гулькин нос. Так, посмотреть, поиграться — да, но серьезно относиться к распознаванию текста на андроид-устройстве — I am sorry.

    Ну, или продать идею более крупным игрокам на рынке.


    1. kreo_OL
      04.09.2018 16:12

      Ну почему же. Тот же мобильный гугл переводчик вполне себе отлично распознаёт английский и русский текст. Рукопись конечно нет, но в остальном нормально)


      1. Hlaford
        04.09.2018 16:14

        Да, но это отдельные надписи, какие-то вывески и т.п. Для промышленных масштабов это решение не подходит.


        1. kreo_OL
          04.09.2018 18:51

          Ну в принципе попробовал разные варианты, шрифт хабра в принципе без проблем разбирает, какой нибудь комик тоже. С ошибками небольшими, но тот же Тессеракт у меня не получилось настроить нормально, в итоге результаты в десятки раз хуже :(
          Соглашусь что не для промышленных масштабов это все :)


  1. TimeCoder
    04.09.2018 16:23

    Отличный пример, спасибо! Продолжайте в том же духе (и в смысле проектов, и в смысле статей). Меня терзает только одно смутное сомнение: есть ли вообще смысл писать мобильные приложения не под iOS? Слышал, что все деньги там. Правда?


    1. ashomokdev Автор
      04.09.2018 16:25

      Спасибо. На 98% правда.


  1. 402d
    04.09.2018 16:23

    Глубокое имхо, но распознавание текста не требуется.
    Правка текста со сложным форматированием с планшета — глубокий мазохизм.
    Реальный кейс: сфотографировал — распечатал красиво (ксерокс в кармане).
    Можете сами посмотреть количество инсталлов приложений, которые это делают
    (коррекция геометрии, убрать тень на сгибе книги, зашумление белого цвета
    из-за плохого освещения).

    p.s. Существующие в маркете приложения этой тематики еще далеки от совершенства.


  1. igorperciuleac
    04.09.2018 16:24

    Вы делали перевод приложения на другие языки? Если да, то дало прирост по органическим установкам?


    1. ashomokdev Автор
      04.09.2018 16:24

      Только на русский. Статистики еще мало — не могу ответить.