Привет, Хабр! В этом посте я расскажу о том, как я хотел сделать простое приложение «для себя», а получилось вполне достойное Google Play приложение с множеством функций, которых у подобных приложений нет.
Начну с того, что меня зовут Андрей и я учусь в 9 классе (пока делал приложение был в 8). Разработкой под android я начал интересоваться в начале декабря прошлого года (до этого изучал python). Примерно за месяц я научился самым основам и дальше стал писать простые приложения, потихоньку закрепляя пройденное и узнавая новое.
И вот, в начале февраля я вспомнил, как долго и утомительно было считать полугодовые оценки калькулятором. Конечно, первой идеей было написать свое приложение. Изначально это было только поле ввода для чисел, куда просто вводились оценки, и TextView с результатом.
На этом я, конечно, не остановился и решил сделать хоть какой-то интерфейс и расширить возможности приложения. Поле ввода исчезло, но были добавлены клавиатура — 12 кнопок (10 с оценками и 2 для стирания) и индикатор с последними оценками. Этого было вполне достаточно для удобной и быстрой работы. Так стало выглядеть приложение:
Делал все это я неторопливо, считая что на доработку этого приложения у меня еще предостаточно времени. И вдруг, около 20 числа, я узнал, что оказывается есть конкурс, который заканчивается 28 числа (начался первого), и я вполне могу поучаствовать в нем со своим приложением (другие приложения были сделаны исключительно для повышения навыков). Правда, приложение нужно было еще допиливать, да к тому же конкурс российский, и десятибалльную систему там вряд ли была бы полезна.
Я тут же кинулся дорабатывать приложение, искать баги и т.д. Пятибалльную систему оказалось сделать довольно просто, сложнее было реализовать их правильную смену. Других идей, связанных с новыми функциями было выше крыши. Реализовать все в такой сжатый срок было невозможно (а некоторые и не нужно), поэтому была реализована самая простая из них: строить график успеваемости.
Очень хотелось добавить голосовой ввод (т.е. чтобы можно было диктовать оценки), для чего был выбран yandex.speechkit, но разобраться с ним я тогда не смог, не понял чего-то ключевого, из-за чего приложение было заброшено.
Во второй половине апреля я решил заново попробовать разобраться со speechkit и (чудо!) все сразу оказалось простым и понятным! Я сразу прикрутил распознавание, синтез и даже голосовую активацию к своему приложению. Раздражало только то, что все это требовало интернет, а выкладывать в google play не хотелось из-за ограниченного числа запросов.
К счастью, распознавание и синтез (гугловский после яндекса звучит отвратительно) речи от гугла оказались бесплатными, а к тому же не требовали интернета, потому было решено использовать именно их. Голосовая активация от яндекса осталась, но к сожалению единственной более-менее подходящей фразой было "Поехали!", а повторять это постоянно как-то нет особого желания.
Чтобы приложение было более гибким, были добавлены настройки. Позже появилась возможность считать итоговый средний балл (средний балл средних баллов) и считать оценку по спецформуле (пока формула только одна, по ней считают оценку в некоторых молдавских университетах).
Так выглядит приложение теперь:
Google Play
Довольно неприятно в самом начале расстаться с 25$ за регистрацию. Тем более что приложение полностью бесплатное и я с него ничего не получил. Приложение я выложил 10 мая. Загрузка приложения и заполнение всех сопутствующих форм заняло больше времени чем я предполагал.
Чтобы приложение было выше в поисковой выдаче можно поиграться с названием и описанием. Об этом написан не один пост на хабре, повторять не вижу смысла.
С 10 мая по 16 июня приложение набрало 178 установок. Из них 75 из Молдовы, 48 из России, 24 из Беларуси, 17 из Украины и по 4 из Казахстана и Латвии. Из остальных стран меньше. Я из Молдовы, но почему из нее столько установок я не могу понять. О приложении знают от силы 20 человек.
И тут я наткнулся на камень. Что такое 178 установок? Хорошо это или плохо? Да, маркете есть приложения с намного большим числом установок. Но ведь это приложение ориентированно на узкую аудиторию (ученики/студенты и преподаватели), да к тому же нужно им только в определенный отрезок времени. Надеюсь сообщество поможет мне понять это.
Комментарии (37)
MuratovTM
16.06.2018 19:19Молодец! Как писали выше, мало ли или много — главное полученный опыт.
А я вот своего «балбеса» (11-й класс) никак не заставлю начать писать мобильные приложения (правда я его в сторону Xamarin Forms ориентирую).
Ему все больше сайты нравится клепать :)zaqqq13
16.06.2018 19:45А вот это обидно, скажу вам, как веб разработчик) Чем плохо клепать сайты, а потом перейти на полноценные веб приложения?)
MuratovTM
16.06.2018 19:57Да не же, не плохо. Я имел ввиду параллельное развитие в сторону мобильных приложений и не только…
Сорри если задел :)zaqqq13
18.06.2018 12:23Да нет, все нормально) Просто вот лично у меня нет времени толком чтобы сесть и разобраться с Android SDK тем же, максимум что могу пока что — простое приложение на React Native, но согласитесь — это далеко от настоящей мобильной разработки)
TheShock
17.06.2018 02:23Ему все больше сайты нравится клепать :)
Ну и пусть клепает. Или должен делать именно то, что хочет родитель, а иначе — балбес?MuratovTM
17.06.2018 09:12Во первых: Никто его из под палки ничего не заставляет делать (я вообще хотел чтобы он врачом стал, программирование это его выбор).
Во вторых: Я как старший, просто пытаюсь корректировать его действия.
А так, конечно не балбес, даже умничка. Окончил всего с 3-мя 4-ками, остальные все пятерки.
Andronas
16.06.2018 19:24В свое время в 93 году написал на бейсике змейку… гугл плей тогда еще не было, а жаль )))
1nd1g0
17.06.2018 18:03Тоже в те времена, в 8 классе, спаял себе уже третий «Спектрум», и написал под него на ассемблере кучу всего, включая змейку со звуком и видеоэффектами, не использовавшую процедуры из ПЗУ, размером где-то около сектора TR-DOS (256 байт). Жаль тогда не было интернета с Хабром.
vadimzz
17.06.2018 01:44178 — это плохо для монитизации. И это очень плохо для ранжирования в поиске. Но хорошо для 8 класса :)
Если серьезно, то куда важнее не скачки, а процент (и общее кол-во) тех, кто остался с Апп, не удалив его. Это куда ценнее скачек.
blackbb
17.06.2018 10:13В 9 классе и такой уровень программирования, какая хорошая у тебя перспектива в будущем. Мне вот 32 года, изучаю python и пишу на нем сайты. Иногда думаю, что упустил кучу времени, так как поздно начал учить язык.
CyberStorm2000
17.06.2018 11:23-1Несколько замечаний/дополнений:
1) Нужен выбор страны. В России например пятибальная система оценки, и ей не нужны лишние пять цифр. А на Украине — 12-ти бальная, ей нужны еще два числа.
2) Нужны какиенибудь ачивки-достижения — если скажем все пятерки, то программа дается бесплатно. Если пользователь троечник — то показываем рекламу.
ЗЫ На Delphi кстати такое приложение создается меньше чем за минуту :)tutam Автор
17.06.2018 11:30+11) Нужен выбор страны. В России например пятибальная система оценки, и ей не нужны лишние пять цифр.
Так ведь есть уже: при первом входе будет предложено выбрать систему оценивания, позже можно менять в настройках.
А на Украине — 12-ти бальная, ей нужны еще два числа.
В планах.
Нужны какиенибудь ачивки-достижения — если скажем все пятерки, то программа дается бесплатно. Если пользователь троечник — то показываем рекламу.
Интересная идея, правда не совсем понимаю зачем. К тому же такую систему очень легко обмануть, а кроме того приложением еще и учителя пользуются.
ЗЫ На Delphi кстати такое приложение создается меньше чем за минуту :)
Удачиttools
17.06.2018 17:41ЗЫ На Delphi кстати такое приложение создается меньше чем за минуту :)
ЗЫ а вот на андроиде — фиг то там! И минимум полдня на скриншоты, описание и заполнение анкет для GPtutam Автор
17.06.2018 17:55Угу. Я день с лишним потратил, а в туториале просто иконки и апк. Приходилось искать неизвестно где спрятанные кнопки отправки анкет для определения возрастной категориии писать политику конфиденциальности. Из-за неё пришлось даже переделывать приложение.
cheiwe
17.06.2018 11:50Не слушай некоторых брюзжащих комментаторов. В 8-9 классе запилить реально полезное, пускай и до ограниченного круга лиц приложен это очень круто. Да, даже, если оно и бесполезное было бы, тоже круто. В твоём возрасте опыт самое главное, а ты, более того, уже имеешь готовый законченный проект, который показывает не только технические навыки (для твоего возраста) но и, в целом, твой подход и серьёзность намерений. Для вуза и будущего трудоустройства это несомненный плюс. Ты молодец! Так держать! Если не секрет, где и как обучался? Пользовался ли курсами вроде кодабрв или алгоритмики? Как родители к этому относятся?
tutam Автор
17.06.2018 12:44Спасибо)
Если не секрет, где и как обучался?
Ну, это долгая история.
Началось все с того, что в 6 классе купили мне родители курс по математике в фоксфорде, хотя я и так ее неплохо знал (у нас учитель замечательно объясняет математику, мы обгоняли и обгоняем программу почти на год). Учится на этом курсе я не особо хотел (но приходилось), меня больше интересовал другой курс, по питону. В итоге я его получил, прошел. Вроде как все было интересно, но знания не особо усваивались. Но там я получил основные понятия и смог начать писать небольшие программки, попутно изучая что-то новое. На какое-то время забыл о питоне, начал изучать веб в htmlacademy. Но как резко я этим загорелся, так же резко и потух. После вернулся к питону и наткнулся на курс по программированию под android. Он мне понравился, хотя java немного шокировала после python. Ну а что было дальше я уже написал.
Родители к этому относятся положительно.
alexey115
17.06.2018 17:56Для 9-го класса очень достойно. Допиливай приложение, оснащай дополнительными плюшками, пусть даже и не очень полезными. Приложение сейчас нужнее тебе самому для развития, нежели пользователям для применения. Поднять рейтинг скачиваний можно рекламной компанией. Как ее устроить, отдельная тема, пошерсти интернет.
JimDi
18.06.2018 23:12Молодец, написать приложение чтобы упростить себе жизнь — это уже хороший и большой шаг к началу интересной карьеры.
Если хочешь и дальше развивать приложение — поделись им на форуме 4pda, не забудь про магазин приложений яндекса, т.к. не у всех доступен гугл маркет.
раз приложение некоммерческое, полезно будет выложить и на гитхаб (ну или что больше по душе)
успехов!
asglazunov
19.06.2018 12:30+1Главное, что сделал и дошел до конца, а количество установок уже вторично. Молодец!
Я тоже сделал свое приложение и залил на маркет (калькулятор радиоинженера, тоже на довольно узкую аудиторию рассчитан, всякие децибелы и зоны Френеля), очень радовался когда появился значок 500+. А потом случайно увидел среди похожих калькулятор, который считает стороны-углы треугольника по известным сторонам или углам и значок 500 000 + :) Так что все относительно и много установок будет у приложений, рассчитанных на максимально большую аудиторию. Можно добавить английский язык, это расширит аудиторию и количество установок.tutam Автор
19.06.2018 12:33Спасибо! Английский язык добавлю, но англоязычных стран с системами оценивания из приложения я не знаю.
Golem765
В 9 классе запилить приложение в гугл плей это огромный респект)
tutam Автор
Ого, не знал… Спасибо)