Привет, Хабр! В этом посте я расскажу о том, как я хотел сделать простое приложение «для себя», а получилось вполне достойное Google Play приложение с множеством функций, которых у подобных приложений нет.


Начну с того, что меня зовут Андрей и я учусь в 9 классе (пока делал приложение был в 8). Разработкой под android я начал интересоваться в начале декабря прошлого года (до этого изучал python). Примерно за месяц я научился самым основам и дальше стал писать простые приложения, потихоньку закрепляя пройденное и узнавая новое.


И вот, в начале февраля я вспомнил, как долго и утомительно было считать полугодовые оценки калькулятором. Конечно, первой идеей было написать свое приложение. Изначально это было только поле ввода для чисел, куда просто вводились оценки, и TextView с результатом.


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


Спойлер


Делал все это я неторопливо, считая что на доработку этого приложения у меня еще предостаточно времени. И вдруг, около 20 числа, я узнал, что оказывается есть конкурс, который заканчивается 28 числа (начался первого), и я вполне могу поучаствовать в нем со своим приложением (другие приложения были сделаны исключительно для повышения навыков). Правда, приложение нужно было еще допиливать, да к тому же конкурс российский, и десятибалльную систему там вряд ли была бы полезна.


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


Очень хотелось добавить голосовой ввод (т.е. чтобы можно было диктовать оценки), для чего был выбран yandex.speechkit, но разобраться с ним я тогда не смог, не понял чего-то ключевого, из-за чего приложение было заброшено.


Во второй половине апреля я решил заново попробовать разобраться со speechkit и (чудо!) все сразу оказалось простым и понятным! Я сразу прикрутил распознавание, синтез и даже голосовую активацию к своему приложению. Раздражало только то, что все это требовало интернет, а выкладывать в google play не хотелось из-за ограниченного числа запросов.


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


Чтобы приложение было более гибким, были добавлены настройки. Позже появилась возможность считать итоговый средний балл (средний балл средних баллов) и считать оценку по спецформуле (пока формула только одна, по ней считают оценку в некоторых молдавских университетах).


Так выглядит приложение теперь:


Cпойлер






Google Play


Довольно неприятно в самом начале расстаться с 25$ за регистрацию. Тем более что приложение полностью бесплатное и я с него ничего не получил. Приложение я выложил 10 мая. Загрузка приложения и заполнение всех сопутствующих форм заняло больше времени чем я предполагал.


Чтобы приложение было выше в поисковой выдаче можно поиграться с названием и описанием. Об этом написан не один пост на хабре, повторять не вижу смысла.


С 10 мая по 16 июня приложение набрало 178 установок. Из них 75 из Молдовы, 48 из России, 24 из Беларуси, 17 из Украины и по 4 из Казахстана и Латвии. Из остальных стран меньше. Я из Молдовы, но почему из нее столько установок я не могу понять. О приложении знают от силы 20 человек.



И тут я наткнулся на камень. Что такое 178 установок? Хорошо это или плохо? Да, маркете есть приложения с намного большим числом установок. Но ведь это приложение ориентированно на узкую аудиторию (ученики/студенты и преподаватели), да к тому же нужно им только в определенный отрезок времени. Надеюсь сообщество поможет мне понять это.

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


  1. Golem765
    16.06.2018 17:09

    В 9 классе запилить приложение в гугл плей это огромный респект)


    1. tutam Автор
      16.06.2018 21:13

      Ого, не знал… Спасибо)


  1. lgorSL
    16.06.2018 17:27

    Это мало, но ничего страшного, если ты делал для себя. Главное — полученный в процессе опыт.


    1. tutam Автор
      16.06.2018 18:13

      Спасибо!


  1. eroslover
    16.06.2018 18:04

    На каком языке писал приложение? Java?


    1. tutam Автор
      16.06.2018 18:05

      Да, на java. Kotlin как раз собрался учить в ближайшее время.


  1. MuratovTM
    16.06.2018 19:19

    Молодец! Как писали выше, мало ли или много — главное полученный опыт.
    А я вот своего «балбеса» (11-й класс) никак не заставлю начать писать мобильные приложения (правда я его в сторону Xamarin Forms ориентирую).
    Ему все больше сайты нравится клепать :)


    1. zaqqq13
      16.06.2018 19:45

      А вот это обидно, скажу вам, как веб разработчик) Чем плохо клепать сайты, а потом перейти на полноценные веб приложения?)


      1. MuratovTM
        16.06.2018 19:57

        Да не же, не плохо. Я имел ввиду параллельное развитие в сторону мобильных приложений и не только…
        Сорри если задел :)


        1. zaqqq13
          18.06.2018 12:23

          Да нет, все нормально) Просто вот лично у меня нет времени толком чтобы сесть и разобраться с Android SDK тем же, максимум что могу пока что — простое приложение на React Native, но согласитесь — это далеко от настоящей мобильной разработки)


    1. TheShock
      17.06.2018 02:23

      Ему все больше сайты нравится клепать :)
      Ну и пусть клепает. Или должен делать именно то, что хочет родитель, а иначе — балбес?


      1. MuratovTM
        17.06.2018 09:12

        Во первых: Никто его из под палки ничего не заставляет делать (я вообще хотел чтобы он врачом стал, программирование это его выбор).
        Во вторых: Я как старший, просто пытаюсь корректировать его действия.

        А так, конечно не балбес, даже умничка. Окончил всего с 3-мя 4-ками, остальные все пятерки.


  1. Andronas
    16.06.2018 19:24

    В свое время в 93 году написал на бейсике змейку… гугл плей тогда еще не было, а жаль )))


    1. 1nd1g0
      17.06.2018 18:03

      Тоже в те времена, в 8 классе, спаял себе уже третий «Спектрум», и написал под него на ассемблере кучу всего, включая змейку со звуком и видеоэффектами, не использовавшую процедуры из ПЗУ, размером где-то около сектора TR-DOS (256 байт). Жаль тогда не было интернета с Хабром.


      1. LoadRunner
        18.06.2018 13:50

        Но сейчас-то интернет и Хабр есть. Есть и реальное железо, и эмуляторы.


  1. vadimzz
    17.06.2018 01:44

    178 — это плохо для монитизации. И это очень плохо для ранжирования в поиске. Но хорошо для 8 класса :)
    Если серьезно, то куда важнее не скачки, а процент (и общее кол-во) тех, кто остался с Апп, не удалив его. Это куда ценнее скачек.


    1. tutam Автор
      17.06.2018 08:20

      Приложение я не монетизировал. В поиске оно на 1-2 позициях (например по запросу "средний балл").
      Спасибо за совет! На 15 июня у приложения 90 установок на активных устройствах (примерно 50% всех установок).


      1. vadimzz
        17.06.2018 23:16

        В личку допишу :)


  1. blackbb
    17.06.2018 10:13

    В 9 классе и такой уровень программирования, какая хорошая у тебя перспектива в будущем. Мне вот 32 года, изучаю python и пишу на нем сайты. Иногда думаю, что упустил кучу времени, так как поздно начал учить язык.


  1. CyberStorm2000
    17.06.2018 11:23
    -1

    Несколько замечаний/дополнений:
    1) Нужен выбор страны. В России например пятибальная система оценки, и ей не нужны лишние пять цифр. А на Украине — 12-ти бальная, ей нужны еще два числа.
    2) Нужны какиенибудь ачивки-достижения — если скажем все пятерки, то программа дается бесплатно. Если пользователь троечник — то показываем рекламу.

    ЗЫ На Delphi кстати такое приложение создается меньше чем за минуту :)


    1. tutam Автор
      17.06.2018 11:30
      +1

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

      А на Украине — 12-ти бальная, ей нужны еще два числа.
      В планах.

      Нужны какиенибудь ачивки-достижения — если скажем все пятерки, то программа дается бесплатно. Если пользователь троечник — то показываем рекламу.
      Интересная идея, правда не совсем понимаю зачем. К тому же такую систему очень легко обмануть, а кроме того приложением еще и учителя пользуются.

      ЗЫ На Delphi кстати такое приложение создается меньше чем за минуту :)
      Удачи


      1. ttools
        17.06.2018 17:41

        ЗЫ На Delphi кстати такое приложение создается меньше чем за минуту :)

        ЗЫ а вот на андроиде — фиг то там! И минимум полдня на скриншоты, описание и заполнение анкет для GP


        1. tutam Автор
          17.06.2018 17:55

          Угу. Я день с лишним потратил, а в туториале просто иконки и апк. Приходилось искать неизвестно где спрятанные кнопки отправки анкет для определения возрастной категориии писать политику конфиденциальности. Из-за неё пришлось даже переделывать приложение.


  1. cheiwe
    17.06.2018 11:50

    Не слушай некоторых брюзжащих комментаторов. В 8-9 классе запилить реально полезное, пускай и до ограниченного круга лиц приложен это очень круто. Да, даже, если оно и бесполезное было бы, тоже круто. В твоём возрасте опыт самое главное, а ты, более того, уже имеешь готовый законченный проект, который показывает не только технические навыки (для твоего возраста) но и, в целом, твой подход и серьёзность намерений. Для вуза и будущего трудоустройства это несомненный плюс. Ты молодец! Так держать! Если не секрет, где и как обучался? Пользовался ли курсами вроде кодабрв или алгоритмики? Как родители к этому относятся?


    1. tutam Автор
      17.06.2018 12:44

      Спасибо)

      Если не секрет, где и как обучался?
      Ну, это долгая история.
      Началось все с того, что в 6 классе купили мне родители курс по математике в фоксфорде, хотя я и так ее неплохо знал (у нас учитель замечательно объясняет математику, мы обгоняли и обгоняем программу почти на год). Учится на этом курсе я не особо хотел (но приходилось), меня больше интересовал другой курс, по питону. В итоге я его получил, прошел. Вроде как все было интересно, но знания не особо усваивались. Но там я получил основные понятия и смог начать писать небольшие программки, попутно изучая что-то новое. На какое-то время забыл о питоне, начал изучать веб в htmlacademy. Но как резко я этим загорелся, так же резко и потух. После вернулся к питону и наткнулся на курс по программированию под android. Он мне понравился, хотя java немного шокировала после python. Ну а что было дальше я уже написал.
      Родители к этому относятся положительно.


  1. tutam Автор
    17.06.2018 12:43

    del


  1. alexey115
    17.06.2018 17:56

    Для 9-го класса очень достойно. Допиливай приложение, оснащай дополнительными плюшками, пусть даже и не очень полезными. Приложение сейчас нужнее тебе самому для развития, нежели пользователям для применения. Поднять рейтинг скачиваний можно рекламной компанией. Как ее устроить, отдельная тема, пошерсти интернет.


    1. tutam Автор
      17.06.2018 17:58

      Зачем рекламировать приложение, если основной целью оно имеет получить опыт, да к тому же направлено на узкую аудиторию?


      1. alexey115
        17.06.2018 18:23

        Для получения практического опыта в продвижении приложения.


  1. JimDi
    18.06.2018 23:12

    Молодец, написать приложение чтобы упростить себе жизнь — это уже хороший и большой шаг к началу интересной карьеры.

    Если хочешь и дальше развивать приложение — поделись им на форуме 4pda, не забудь про магазин приложений яндекса, т.к. не у всех доступен гугл маркет.
    раз приложение некоммерческое, полезно будет выложить и на гитхаб (ну или что больше по душе)
    успехов!


    1. tutam Автор
      18.06.2018 23:15

      Спасибо, попробую. На 4pda уже выложил.


  1. asglazunov
    19.06.2018 12:30
    +1

    Главное, что сделал и дошел до конца, а количество установок уже вторично. Молодец!
    Я тоже сделал свое приложение и залил на маркет (калькулятор радиоинженера, тоже на довольно узкую аудиторию рассчитан, всякие децибелы и зоны Френеля), очень радовался когда появился значок 500+. А потом случайно увидел среди похожих калькулятор, который считает стороны-углы треугольника по известным сторонам или углам и значок 500 000 + :) Так что все относительно и много установок будет у приложений, рассчитанных на максимально большую аудиторию. Можно добавить английский язык, это расширит аудиторию и количество установок.


    1. tutam Автор
      19.06.2018 12:33

      Спасибо! Английский язык добавлю, но англоязычных стран с системами оценивания из приложения я не знаю.


      1. JimDi
        19.06.2018 13:57

        а это не критично. мне комфортнее работать когда везде язык интерфейса английский, например. просто будет некоторый плюс дополнительный.


        1. tutam Автор
          19.06.2018 14:00

          Ну хорошо, уже сделал.


  1. Urub
    19.06.2018 14:42

    Очень неплохо для 8 класса иметь лишние $25, интернет и умение все это сделать! (с оглядкой лет этак в 25)


    1. tutam Автор
      19.06.2018 14:47

      Спасибо!