Войти

Или войди с помощью

Dev Story Quiz Alarm. История 18-летнего разработчика

Dev Story
Информатор avatar |

ТЕКСТ: ДАНИЛ ЯКОВЛЕВ Хочу поделиться своей историей разработки программы. Хотя я давно пользуюсь Mac, идея создания программы пришла нескоро. Уже не помню как, но в декабре 2011 года я наткнулся на Apple Developer Program. Меня сразу же привлекло то, что я могу самостоятельно начать разработку программы всего за 100 долларов. В добавку это стало отличным поводом обновить макбук (на белые макбуки нельзя установить систему новее, чем Leopard).

Буквально в течение недели появился целый список идей о возможных разработках. Идеи возникали на пустом месте, спонтанно. Затем последовал заказ ноутбука (новая модель как раз вышла в конце ноября 2011) и регистрация в программе разработчиков. Наступила самая нелюбимая часть дела: ожидание. К счастью, я присоединился к Apple Developer Program уже через 3-4 дня, виной всему были выходные. А ноутбук пришел уже ближе к Новому году.

Как только запустил макбук, я сразу стал скачивать Xcode – программу для разработки под iOS. После открытия программы меня настигло огромное разочарование. Я смотрел в монитор, как баран на новые ворота – настолько непонятным казался интерфейс Xcode. Желание создавать что-либо моментально пропало. Только после первых дней новогодних праздников я открыл Xcode снова.

Разработка

Я не буду сейчас говорить, какую программу я выбрал и почему, потому что хочу рассказать именно о процессе разработки и о своих ощущениях, которые были бы одинаковыми вне зависимости от моего выбора. Всё дело в том, что я практически не имел дела с языками программирования (если только Лого и Pascal на факультативах информатики в школе). Но я не унывал, потому что точно так же я начинал создавать свой первый сайт. Мои навыки html и php до сих пор не так велики, но своей цели я достиг. Побродив по интернету, я нашел и скачал очень полезную книгу для начинающих разработчиков (Стефан Кочан «Программирование в Objective-C»), да простят меня борцы с пиратством. Последнее издание было только на английском, а перевод на русский старых изданий показался некачественным. В итоге я почувствовал огромную гордость за себя, когда осилил около 500 страниц английского текста, полного компьютерной терминологии. Кстати, после прочтения книги я совсем не «прозрел» и стал писать программу, а лишь понял, что из себя представляет язык Objective-C.

Еще немного поисков в интернете, и, о чудо, передо мной предстает stackoverflow.com (это крупное сообщество разработчиков, готовых в любую минуту помочь коллегам решить трудную задачу при написании программы). Если бы не этот сайт, не писал бы я сейчас свою историю успеха. Большую часть новогодних праздников я, полный энтузиазма, сидел с ноутбуком дома и открывал для себя всё новые и новые возможности Xcode. Он, наконец, поддался, и я понял, что всё, оказывается, не так уж сложно.

В январе 2012 года мне исполнилось 18, я был учеником 11 класса (спасибо, кстати, моим родителям за поддержку и решение проблем с регистрацией в Apple Developer Program). Поэтому сразу же после новогодних праздников, а в моем случае – каникул, в процесс разработки вмешалась учеба. Однако я быстро привык к этому, а мои приоритеты неуклонно двигались в сторону программирования.

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

Через несколько месяцев, ближе к апрелю, «скелет» программы был готов. Наверняка была возможность ускорить процесс, но отсутствие опыта и желание устранить все возможные недостатки и ошибки существенно увеличило время разработки. Я взял паузу длиной в месяц – нужно было готовиться к всероссийской олимпиаде. В процессе подготовки папка «Документы» была по каким-то причинам удалена, а впоследствии очищена Корзина. К сожалению, вся программа лежала именно в этой папке. Я был глубоко удивлен, когда уже в начале мая я решил продолжить разработку и Xcode сообщил, что моего проекта не существует. Очень страшно было осознавать, что 4 месяца написания программы ушли коту под хвост. Через пару часов я вызволял файлы из пустой Корзины с помощью замысловатой программы (многие знают, но на заметку: после очищения корзины файлы каким-то образом еще сохраняются в памяти на некоторое время). К счастью, мне удалось восстановить большую их часть. Вздохнул с облегчением.

Казалось, уже можно скоро заканчивать, но основная часть работы только была впереди. Нужен был дизайн, а я человек совсем не творческий. Вдохновившись парой программ, решил сделать всё по минимуму. Никакой графики, только подходящая цветовая гамма.

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

Первоначальная версия названия – Question Alarm. В дальнейшем оно показалось мне недостаточно подходящим. Приложение Logos quiz принесло идею – Quiz Alarm. По моему мнению, коротко и ясно. До сих пор не знаю, о чем думают носители английского языка при встрече с моей программой.

Отличие этого будильника от подобных состоит в том, что кроме арифметических вопросов в программе есть и вопросы с картинками. Нужно было придумать вопросы и найти картинки. С картинками проблема – большинство сайтов продают их за деньги, а лицензии очень разнообразные и весьма не понятные, потому что больше говорится об их использовании в СМИ, чем в разработке софта. Я нашел практически бесплатный стоковый сайт и скачал оттуда более сотни подходящих картинок, которые, оказывается, не так уж и просто подобрать.

Как и любой будильник, мой должен был иметь приятные мелодии звонка. После тщательного выбора я выбрал 20 мелодий (из них мне до сих пор нравятся только две – Acoustic и Orchestral, увидите при знакомстве с программой), лучшее из доступного.

Ну и, конечно же, иконка. Идея появилась чуть ли не вместе с идеей о будильнике, но её создание я постоянно откладывал на потом. Нарисована была в фотошопе за десять минут, сам не ожидал, что она будет выглядеть достаточно прилично. А в иконке всего лишь знак вопроса, восклицательный знак, два круга, наложенных один на другой, и аккуратно подрисованные звонки.

Дело близилось к концу, я уже успел закончить школу. Для как можно большего охвата аудитории заказал переводы на несколько языков. Приводил программу в товарный вид, тестировал, устранял ошибки. Вдруг на одном сайте увидел сообщение о лимите в 20 мегабайт, а из-за картинок (в формате png, который так любит Apple) и мелодий программа еле укладывалась в 100! Решение – сократил количество мелодий до 12, сэкономил на качестве и картинок, и звуков. Около 18! И опять я вздохнул с облегчением. Позже, как выяснилось, лимит повысили до 50 МБ, но я решил ничего не менять.

И вот я отправляю на рассмотрение свою программу. Опять моя нелюбимая часть: ожидание. Оно было достаточно долгим, около полутора недель программа находилась в очереди на проверку. В один прекрасный день, в час ночи я получаю сообщение о том, что мою программу начали проверять. Через 2 часа она уже была в App Store. Это подвело конец всем, если так можно сказать, мучениям.

Мораль: создание программы – крайне интересное дело. Не важно, умеете вы это делать или нет, попробовать всегда стоит. Даже ради удивленных возгласов знакомых: «Да? Это действительно твоё имя в App Store? Как тебе это удалось?» На протяжении полугода я никому не рассказывал о том, чем я занимаюсь. И это того стоило. Несмотря на коммерческую составляющую, я бесконечно рад тому, что решил заняться разработкой. Надеюсь, что это не последняя моя программа.

Что же это за будильник?

Давно уже пора начать рассказывать о своей программе. Quiz Alarm – очень простой в использовании будильник. Достаточно установить 5 параметров для того, чтобы будильник сработал корректно. Видел некоторые отзывы к другим будильникам, есть жалобы на то, что он иногда не срабатывает. В моей программе, скорее всего, такого не встретится, потому что я отказался от использования различных уловок для расширения функционала, которые не приветствует Apple.

А вот как вам придется отвечать на вопросы:

Хочу заметить, что вы можете изменить типы вопросов и сложность вопросов.

Легкие арифметические вопросы – это примеры только на сложение и вычитание. К средним и сложным добавляется умножение и деление соответственно. Что касается вопросов с картинками, легкие вопросы – что-то вроде теста с одним правильным вариантом ответа. Средние – ответ будет сразу после вопроса, но часть букв скрыта. А вот на сложные вопросы придется отвечать самому.

Также можно поменять и количество вопросов, которые вам будут заданы. Советую ставить побольше, потому что 1-2 вопросов мало для того, чтобы заставить еще спящий мозг работать. Проверено на себе, будильник достаточно часто помогает проснуться (или, во всяком случае, привести к состоянию бодрости).

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

Вот таким получился мой дебют в App Store.

Затем вышла версия для iPad, из-за картинок размер программы подобрался к 50 мегабайтам. Надеюсь, что это не станет существенной преградой для покупателей. Также улучшено качество мелодий и картинок. В планах создание бесплатной версии с ограничением некоторых функций.

Рад выслушать все ваши пожелания и ответить на ваши вопросы.

iPhone + iPad: $0.99 [iTunes link]

Данная история опубликована в рамках рубрики Developer Story, где разработчики делятся секретами своей внутренней кухни.
60
undefined
iPhones.ru
ТЕКСТ: ДАНИЛ ЯКОВЛЕВ Хочу поделиться своей историей разработки программы. Хотя я давно пользуюсь Mac, идея создания программы пришла нескоро. Уже не помню как, но в декабре 2011 года я наткнулся на Apple Developer Program. Меня сразу же привлекло то, что я могу самостоятельно начать разработку программы всего за 100 долларов. В добавку это стало отличным...

60 комментариев

Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик из TikTok
Котик из TikTok
Котик из TikTok
Котик из TikTok
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Видео мем
Видео мем
Видео мем
Видео мем
Видео мем
Видео мем

Какие правила в комментариях
  1. KAIL_one avatar
    KAIL_one 15 ноября 2012
    0

    Хех. На белом макбуке Lion стоит. 2008 год

    KAIL_one avatar
    KAIL_one15 ноября 2012
    0

    @KAIL_one, Прочитал статью. Очень понравилась история. Тоже, как Вы, не знаю языка программирования. Хотел что-то вроде Donkey для себя сделать, проверить себя. Но так и не дошли руки)

    Войди на сайт, чтобы ответить
    Ответить
  2. Cher avatar
    Cher 15 ноября 2012
    0

    А администрация сайта знает, что “касперский” не дает зайти на сайт? Пишет, что этот сайт угрожает компьютеру.

    Артур Малосиев avatar
    Артур Малосиев15 ноября 2012
    0

    @Cher, на что ругается?

    BaGGa avatar
    BaGGa15 ноября 2012
    0

    @Артур Малосиев, Подтверждаю, тоже самое время от времени бывает, но у меня не Касперский , а ESET. Что пишет не вспомню, но в браузере блокируется страница и все.

    Sergio avatar
    Sergio16 ноября 2012
    0

    @Артур Малосиев, Доктор веб также блокирует.

    IVAn Dealer avatar
    IVAn Dealer16 ноября 2012
    0

    @Артур Малосиев, yandex.ru тоже ругается http://db.tt/RBnOaHjH

    Артур Малосиев avatar
    Артур Малосиев16 ноября 2012
    0

    @IVAn Dealer, это Софос нас не проиндексировал заново :(

    sklukin avatar
    sklukin16 ноября 2012
    0

    @Артур Малосиев, Предупреждение в новом яндекс.бразуере

    По нашим данным, на страницах сайта был размещён вредоносный программный код. Это могло произойти как по желанию владельцев сайта, так и без их ведома — в результате действий злоумышленников.

    Более подробную информацию об угрозе или безопасную копию сайта можно посмотреть на странице с полными данными о заражении.

    http://yandex.ru/infected?l10n=en&url=http%3A%2F%2Fwww.iphones.ru%2FiNotes%2F263600

    Войди на сайт, чтобы ответить
    Ответить
  3. ifreto avatar
    ifreto 15 ноября 2012
    0

    стандартный будильник можно отсрочить на 10 минут кнопкой power, а что произойдет, если нажать её здесь?

    и вопрос по теме: реально ли уменьшить отсрочку в стандартном будильнике?

    dyakovlev avatar
    dyakovlev15 ноября 2012
    0

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

    ifreto avatar
    ifreto15 ноября 2012
    0

    @dyakovlev, вот это хорошо.

    dyakovlev avatar
    dyakovlev15 ноября 2012
    0

    @ifreto, Да, только вот если оставить устройство где-нибудь в одиночестве, оно будет играть мелодию постоянно (до тех пор, пока устройство не разрядится, например)

    ifreto avatar
    ifreto16 ноября 2012
    0

    @dyakovlev, кстати, ещё вопрос, чем отличается “Музыка” от “Звук”?
    и было бы неплохо реализовать прослушивание песни из медиатеки, перед тем как ставить её на будильник.

    dyakovlev avatar
    dyakovlev16 ноября 2012
    0

    @ifreto, @ifreto, По правилам, которые установлены для разработчиков, звук уведомления должен быть определенного формата и не более 30 секунд длиной. Таким образом, приходится разделять мелодии, которые Вы слышите до открытия программы и после.

    Другими словами, Вы просыпаетесь от мелодии “Звук”, а на вопросы отвечаете уже с мелодией “Музыка”. К сожалению, нельзя установить песню из медиатеки в качестве мелодии уведомления.

    Спасибо, подумаю над этим.

    ifreto avatar
    ifreto16 ноября 2012
    0

    @dyakovlev, всё, разобрался – и тут же просьба: возможность не ставить ничего для “Музыка”, не хочется весь дом будить пока я соображаю сколько будет 65 – 0 =D
    ах да, в арифметических задачах сразу бы цифровую клавиатуру показывать.

    dyakovlev avatar
    dyakovlev16 ноября 2012
    0

    @ifreto, У цифровой клавиатуры, насколько я знаю, нет кнопки “Готово”. Хотя, возможно, что я ошибаюсь.

    Я хотел сделать это дополнительным стимулом к ответу на вопросы. Иначе просто можно закрыть программу и спать дальше :)

    65-0 – одна из проблем, которую я забыл исправить в обновлении. Считайте, с утра Ваш день начинается удачно :)

    ifreto avatar
    ifreto16 ноября 2012
    0

    @dyakovlev, стимул хороший, согласен, но было бы неплохо регулировать звук у этого стимула :)
    спасибо за ответы:)

    K.Vasiliev avatar
    K.Vasiliev15 ноября 2012
    0

    @ifreto, что заметил, у меня iPhone продлевает не на 10 минут а на 9 оО

    ifreto avatar
    ifreto15 ноября 2012
    0

    @K.Vasiliev, Оо я уже думал, я свихнулся. а там реально 9 минут, а не 10 =D

    Войди на сайт, чтобы ответить
    Ответить
  4. Alexanderrrr avatar
    Alexanderrrr 15 ноября 2012
    0

    хммм… просто интересно, а сколько автор денег получает, скажем, за неделю?

    Splash.Dmg avatar
    Splash.Dmg15 ноября 2012
    0

    @Alexanderrrr, да, тоже очень интересно, как с продажами обстоят дела? Это ведь самая главная часть любой dev-story =)

    dyakovlev avatar
    dyakovlev15 ноября 2012
    0

    @Splash.Dmg, что касается продаж, то с этим дела не очень хорошо :)
    Очень тяжело раскрутить приложение без вложений, эта статья, надеюсь, поможет исправить ситуацию.

    Войди на сайт, чтобы ответить
    Ответить
  5. inferno3028 avatar
    inferno3028 15 ноября 2012
    0

    iPhone / iPad. Новости и советы
    Сайт может угрожать безопасности вашего компьютера или мобильного устройства
    Новости и обзоры iPhone. Мелодии, картинки, программы. Советы пользователей и обсуждения на форуме.
    iPhones.ru
    яндекс пишет

    Войди на сайт, чтобы ответить
    Ответить
  6. alefut avatar
    alefut 15 ноября 2012
    0

    А интересно, есть будильник с запуском радио? Конечно на iPhone. А на вопросы отвечать не хочу. Тем более для школьников. И ещё более доя взрослых. ” Доброе утро ” услышать приятно. Мягкую музыку. Новости. Так что там с интернет радио?

    alefut avatar
    alefut15 ноября 2012
    0

    Погуглил и нашёл. За 2 бакса. А бесплатный?

    Артур Малосиев avatar
    Артур Малосиев15 ноября 2012
    0

    @alefut, Alarm Clock Radio Free

    Войди на сайт, чтобы ответить
    Ответить

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.