AppleInsider.ru
X
О проекте Реклама
Чат
с читателями
Присоединяйтесь
в Телеграме

История разработки Hypnomatic

Бывают языки, программировать на которых легко и приятно с первой секунды знакомства. Так вот, Objective-C — точно не один из них! Являясь программистом с десятилетним стажем, я потратил две недели только на написание пробных приложений, чтобы худо-бедно разобраться с тем, как все это работает. Первый месяц работы меня преследовало стойкое ощущение, что всю эту платформу проектировали враждебно настроенные инопланетяне с логикой, абсолютно непохожей на человеческую.

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

Программа:

После этого, слегка затянутого вступления, позвольте представиться — меня зовут Стас, и мое первое приложение, написанное вдвоем с моим другом Антоном пару дней назад сменило статус на «Ready for Sale».

Все началось с идеи. У людей (по-крайней мере, у большинства) есть мозг. И есть наука — психофизиология, изучающая его. Те, кто когда-нибудь проходил электро-энцефалографию у невропатолога — сталкивались с этой наукой. Человеческий мозг, излучает слабые сигналы, которые позволяют судить о частоте его работы, именно их мы и видим на ЭЭГ. Частоты эти небольшие: в редких ситуациях превышают 40Гц. Но не стоит проводить аналогию между тактовой частотой процессора и мозга — каждый из миллионов нейронов работает одновременно со своими соседями, что даже при небольшой частоте работы дает гораздо большее число операций в секунду, чем любой процессор.

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

Более того, было установлено, что с помощью звуковой и визуальной стимуляции можно влиять на работу мозга в целом. Была разработана своя методология: цветные вспышки, шумы, бинауральные модуляции звуковых волн — в формате истории разработчика, я не смогу про все это рассказать — Википедия в помощь тем, кого это заинтересовало. Если заинтересовало серьезней википедийного уровня, то можете познакомиться с работами следующих авторов: Ломов, Бурешова, Хьюстон и Хэссет — дальше сами найдете, тема очень объемная.

Своим рождением наша программа обязана совмещению двух факторов:

Мы являемся ярыми приверженцами Apple.
С институтских лет мы оба интересуемся возможностью немного перенастраивать свой мозг.
Помните секретное сервисное меню в Nokia 3310? Для меня это была самая интересная часть мобильника! Именно поэтому тематика «недокументированных» возможностей мозга всегда казалась мне такой привлекательной: гипноз, смена частот.

Для персоналок под управлением Windows программ такого рода хоть отбавляй, но все их объединяет одно свойство: они абсолютно не дружественны и предполагают, что пользователь сам разбирается в тематике — способен сам настроить как звуковую, так и визуальную стимуляцию. Более того, на ПК мне приходилось использовать одновременно несколько программ — одну, генерирующую звуки, и еще две, генерирующие картинки. Под Mac я таких программ вообще не нашел.

Вот мы и решили написать user-friendly программу, в которой были бы уже готовые «сессии» для разных случаев жизни. Программу мы решили сделать бесплатной, но с возможностью качать дополнительные платные сессии. Назвали мы ее Hypnomatic — от слов hypnosis и automatic.

Разработка:

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

Прочитав все возможные отчеты людей, шедших по этому пути до нас, мы подали заявку на регистрацию в программе Apple Developer еще в процессе разработки, так что это не отняло у нас дополнительного времени. Серьезно! Я не приступал к разработке, пока не прочитал все гайдлайны Apple, и вам советую поступать так же — помогает избежать ненужных пробуксовок по времени. Если хотите, чтобы ваша программа прошла Review с первого раза, как наша, почитайте в Интернете чужой опыт и сделайте вывод из чужих ошибок.

Первый месяц я занимался разработкой самой структуры приложения и движка, который бы рендерил видео. Сейчас бы я написал это расторопнее, но первое приложение под новую платформу никогда не пишется быстро. Более того, оно еще и переписывается с нуля пару раз.

Пользуясь случаем хочу предупредить начинающих программистов от граблей, на которые я сам наступил: несмотря на всю заманчивость Storyboard-ов, не пользуйтесь ими. У этого совета есть две причины.

Расставляя мышкой связи между экранами своего приложения, вы так и не разберетесь во внутренних механизмах, которые заставляют все это работать.
Приложения, написанные с использованием данной технологии будут работать только на устройствах с пятой версией операционки, а таких (в мае 2012 года) примерно 75 % от общего числа пользователей. Вы же не хотите сходу потерять 25 % потенциальных пользователей?
Антон в течение первого месяца рисовал необходимую графику (иконки, картинки для запуска, аватарки для сессий), писал описания к сессиям и собирал статьи для раздела «Наука».

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

Второй месяц был посвящен созданию самих сессий. С утра до ночи мы, обложившись килограммами различной техники Apple, прописывали звук и тестировали видео. Это был сложный период — столько разнонаправленных сессий, это нагрузка не только на мозг, но и на глаза. Один раз я даже доработался до того, что у меня изменилось цветовосприятие — весь мир на полчаса окрасился в красновато-розоватый цвет, пришлось в этот день лечь спать пораньше, а на следующий день взять у самого себя вынужденный отгул.

К концу второго месяца мы были уверены, что программа уже готова и осталась самая малость: перевести ее на разные языки. Господи, как мы ошибались!

Перевод стоит недешево.
Перевод статей научной тематики это «недешево» в квадрате.
Перевод занимает не один день.
Вставить переводы в программу — огромный труд, крайне нудный, однообразный и требующий постоянной концентрации внимания.
Третий месяц разработки был полностью посвящен текстам: сначала мы отправили русские тексты на корректуру и редактуру. С редакторами нам очень повезло — недорого, быстро и очень качественно. В текстах не осталось опечаток, с крайней въедливостью были переформулированны все абзацы, где встречались однокоренные слова, все знаки дефиса заменены на тире, убраны лишние вводные конструкции. Не стану вставлять рекламу в эту статью, но если кому-то нужны подобные услуги можете спросить у нас по адресу info@hypnomaticapp.com — дадим на них ссылку.

К локализации мы подошли со всей серьезностью. Выбрали следующие языки: русский, английский, немецкий, французский, испанский, португальский и китайский. С переводчиками нам повезло не так сильно, как с редакторами. Во-первых, они затянули сроки, которые сами же и назначили. Во-вторых, когда мы нашли в «Фэйсбуке» людей, говорящих на этих языках, и попросили их проверить качество переводов — обнаружилось огромное количество опечаток и ошибок, из-за чего нам пришлось переверстывать и перевставлять все тексты, как в программе, так и на сайте. Так и подмывает оставить здесь ссылку на них, но не хочу создавать им PR ни в каком виде. Если вы — разработчик, и сейчас выбираете кому заказать перевод своего приложения — напишите нам на e-mail, мы готовы проконсультировать.

Отдельный привет хочется передать девушке, по имени Sofy, которая откликнулась «ВКонтакте» и безвозмездно помогла нам перевести несколько слов на китайский. Спасибо!

Заключение:

Итак, разработка вместе с тестированием длились примерно 100 дней. Если бы мы имели больше опыта c Objective-C и догадались, что тексты надо писать и отправлять на перевод еще до начала разработки программы — было бы реально успеть и за 60 дней. А если отказаться от свободного времени, личной жизни и гражданской позиции — то, вероятно, и за 50.

Напоследок несколько советов, которые сэкономили бы очень много времени и нервов, если бы мне их кто-то дал в свое время:

Не пренебрегай девелоперскими форумами на сайте Apple.
Иногда тестовый сервер In-App purchases просто падает или глючит. Если твоя программа не работает, а ты уже все перепроверил два раза, не спеши рвать волосы — зайди на те же самые девелоперские форумы, вероятно, какой-то бедолага вроде тебя уже создал там тему с названием «Sandbox server is down again?». Если так, то просто подожди — Apple поднимет тестовый сервер в течение дня.
Не используй Storyboard-ы, они не работают в iOS 4.
Если собираешься локализовать программу — займись этим в первую очередь, еще до разработки.
Не стану скрывать, что публикуя здесь эту статью, я надеюсь, что некоторые из вас скачают нашу программу. Но так же я надеюсь, что смог кого-то заинтересовать темой, которой увлекаюсь я сам. Так же я хотел бы думать, что эта история станет полезной для тех, кто только собирается писать свою первую программу.

Итак, всего два дня назад напротив иконки нашей программы загорелась зеленая лампочка и появилась надпись «Ready for Sale», завершив для нас этап разработки. За эти два дня произошло невероятное количество интересных вещей, приложение уже поднялось в Топ-5 бесплатных приложений в категории «Здоровье и фитнес». Как мы добились такого эффекта мы обязательно расскажем во второй части этой истории разработки.

Ссылка на приложение

Новости по теме
На каких iPhone и iPad больше не будет работать YouTube после обновления
Наконец-то! Алиса научилась понимать, когда ее перебивают во время разговора
Не работает поиск приложений через Spotlight на iPhone. Что делать?
Новости партнеров
Как сделать селфи со знаменитостью при помощи нейросети: бесплатно и за 2 минуты
Как сделать селфи со знаменитостью при помощи нейросети: бесплатно и за 2 минуты
Биткоин как защита от диктаторов. В чём на самом деле главное преимущество криптовалюты?
Биткоин как защита от диктаторов. В чём на самом деле главное преимущество криптовалюты?
Samsung отказалась улучшать камеру своих смартфонов. Ничего хорошего не будет до 2028 года
Samsung отказалась улучшать камеру своих смартфонов. Ничего хорошего не будет до 2028 года