Предмет статьи — 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)
BingoBongo
03.09.2018 22:34Инди разработчикам в GooglePlay и AppStore ловить нечего
4lex
03.09.2018 23:22А где есть чего ловить?
BingoBongo
03.09.2018 23:40Steam дает очень хороший толчок на старте, да и потом, если твое приложение приносит какой-то доход, то оно не утонет на дне.
Evgenym
04.09.2018 11:17+2Вот так категорично поставили крест на мечтах многих энтузиастов. Я сейчас в качестве хобби пытаюсь в свободное от работы сисадмином изучать самостоятельно программирование на Android и регулярно слышу от окружающих реплики, мол, «Чувак, да не трать время, все равно не взлетит/никому не надо/пишут большие конторы» и т.д. Это не очень приятно и иногда подрывает веру в себя. Но я хочу попробовать, мне это интересно и, возможно, у меня получится поменять сферу деятельности с администрирования на разработку.
BingoBongo
04.09.2018 13:18+1Опыт и навыки у вас в любом случае останутся, но если вы туда за деньгами, то результат очень точно изложен в предыдущем посте ТС:
У меня 3 приложения, на которых я пытаюсь зарабатывать.
Я заработала US$1,126.75, а потратила US$1,051.73.
Деньги были потрачены на рекламу AdWords.
Приложениям около 2-х лет. Все делала сама.
KevinMitnick
03.09.2018 22:56Вы конечно молодец, но лучше сконцентрироваться на нишевом софте, в секторе финансов, фондовых бирж… там у людей деньги есть и они привыкли много платить
mSnus
04.09.2018 10:03А лицензии бесплатных библиотек позволяют из использовать в коммерческом софте?
Hlaford
04.09.2018 13:23Cкажу как человек, который 10+ лет очень плотно занимается работой с текстом, в том числе распознанным: распознанный текст нужно очень долго править, прежде чем его можно использовать по назначению, причем чем сложнее форматирование, тем хуже (о рукописях забываем сразу; их просто загоняют в текстовый редактор вручную). Даже те тексты, которые распознаны ABBYY FineReader (на данный момент — отраслевой стандарт), требуют чудовищной правки.
Но: конечно, как попытка заявить о себе - более чем достойно. Просто, на будущее, старайтесь понять, какая мотивация у человека, который распознает, в частности, тексты. Я (т.е. человек, который распознал и отформатировал не одну тысячу страниц), например, не знаю, зачем мне с помощью планшета распознавать текст. Его ведь потом нужно долго и мучительно править (например, для последующего перевода в CAT-tool). На планшете править распознанный текст — мазохизм чистой воды.
Именно поэтому у вас скачивания есть, а покупок — с гулькин нос. Так, посмотреть, поиграться — да, но серьезно относиться к распознаванию текста на андроид-устройстве — I am sorry.
Ну, или продать идею более крупным игрокам на рынке.kreo_OL
04.09.2018 16:12Ну почему же. Тот же мобильный гугл переводчик вполне себе отлично распознаёт английский и русский текст. Рукопись конечно нет, но в остальном нормально)
Hlaford
04.09.2018 16:14Да, но это отдельные надписи, какие-то вывески и т.п. Для промышленных масштабов это решение не подходит.
kreo_OL
04.09.2018 18:51Ну в принципе попробовал разные варианты, шрифт хабра в принципе без проблем разбирает, какой нибудь комик тоже. С ошибками небольшими, но тот же Тессеракт у меня не получилось настроить нормально, в итоге результаты в десятки раз хуже :(
Соглашусь что не для промышленных масштабов это все :)
TimeCoder
04.09.2018 16:23Отличный пример, спасибо! Продолжайте в том же духе (и в смысле проектов, и в смысле статей). Меня терзает только одно смутное сомнение: есть ли вообще смысл писать мобильные приложения не под iOS? Слышал, что все деньги там. Правда?
402d
04.09.2018 16:23Глубокое имхо, но распознавание текста не требуется.
Правка текста со сложным форматированием с планшета — глубокий мазохизм.
Реальный кейс: сфотографировал — распечатал красиво (ксерокс в кармане).
Можете сами посмотреть количество инсталлов приложений, которые это делают
(коррекция геометрии, убрать тень на сгибе книги, зашумление белого цвета
из-за плохого освещения).
p.s. Существующие в маркете приложения этой тематики еще далеки от совершенства.
igorperciuleac
04.09.2018 16:24Вы делали перевод приложения на другие языки? Если да, то дало прирост по органическим установкам?
begemot_sun
Так и сколько выхлопа то с этого всего?
Welran
Ага поддерживаю, самое интересное. Прибыльное это хорошо, но прибыль 10 долларов и прибыль 10000 долларов это весьма разная прибыль :).