Остался позади Всемирный хакатон, проходящий впервые в России. Ни я, ни наша команда – не могли пропустить это грандиозное мероприятие! Впрочем, обо всем по порядку.
Собрав команду из 6 человек, мы начали обсуждение идеи, которую должны будем реализовать за сутки. Такой идеей оказалась “Книга жалоб” – сервис, через который любой пользователь сможет пожаловаться на нужную ему компанию, указав описание, местоположение и фотографию. Сообщение в конечном итоге достигает службы поддержки той или иной компании. Сама суть приложения, помимо возможности связывать пользователей и компании, заключается именно в отслеживании статуса жалобы. Как только приходит ответ от компании, он сразу же отобразится в приложении.
Представлю нашу команду такой, какой мы ее показывали на презентации:
Аватарка | Имя | Роль в команде | |
Школьник Илья | iOS-Developer. Клиент-серверное взаимодействие, основная логика, макеты | @ILYA2606 | |
Давыдов Кирилл | iOS-Developer. Реализация дизайна, логики, фреймворки, идея | @deloput | |
Титков Антон | iOS-Developer. Фреймворки, логика, интеграция Facebook API, Google Maps API, Paypal API | @a_titkov | |
Муртазин Павел | One-Day Дизайнер | @pavmur | |
Скромняшка :) | Дьячков Андрей | Java-Developer. Backend, база данных | – |
Скромняшка :) | Баранов Семен | Java-Developer. Backend, сервисы | – |
Подготавливаться к хакатону мы начали недели за две, делая макеты и рисуя схему клиент-серверного взаимодействия на салфетке, собственно с которой все и начиналось.
Приехали собственно на сам хакатон. Там ко мне обратился за помощью с кодом один из участников мероприятия, а также, как оказалось – активный читатель моего блога. Позднее в презентации своего проекта он упомянул меня и выразил свою благодарность, чему я был безумно рад. Все-таки очень приятно видеть, как мои статьи приносят людям пользу!
Перекусив, и пообщавшись с единомышленниками и конкурентами – наступило время непосредственного кодинга!
40000 строк кода, 31 класс и более сотни чашек кофе – это все в пределах одних суток. В приложение интегрировали API почти всех спонсоров, которые были – Facebook, Google и Paypal. К сожалению API от Yammer было только на java, поэтому мы решили от него отказаться.
Добавляем Google Maps в наше приложение. Фреймворк весит около 170 МБ, что повергло нас в шок. Такую махину вообще нет смысла добавлять в наше приложение, что весит менее 5 МБ. Нашли оптимальный выход – натягивать на яблочные карты слой Google Maps, в котором хотя бы отображаются дома в Москве.
Интеграцией Paypal занимался Антон, периодически бегая к представителю Paypal за помощью в работе их не совсем корректно работающего API.
В качестве система контроля версий использовали SVN, который частенько выдавал конфликт, когда изменяют Storyboard двое одновременно. В результате мы не могли реагировать на это никак иначе, чем так:
Несколько раз напоровшись на это дело, мы изобрели медаль StoryboardMan, которая выдается человеку, который в настоящее время правит Storyboard. Другие в это время его не трогают, иначе будут мержить (собирать целую версию из разных) сами!
Потихоньку наступает ночь. Время для пицца-брейка и редбулл-пати.
Наступает рассвет (я бы добавил “мертвецов”) – большая часть команд продолжают кодить.
Другие уже завалились спать.
Часам к 7 утра мы дописали весь функционал, который собирались реализовать, и даже больше. Изначально презентации проектов планировались начаться в 12:00, но вместо этого начало сдвинули на 14:00.
Все выступления проходили поочередно. Всего была 51 команда. Времени на каждую презентацию давали всего 2 минуты. Затем поступала серия вопросов от жюри по проекту. Какого было мое удивление, когда я узнал, что мы – одни из немногих команд, которые успели доделать проект до конца. Одни даже показывали лишь наброски концептов, говоря, что скоро будет приложение для iOS и Android.
Наступает наша очередь презентации. Мы были единственные, кто показал работающее приложение в лайф-режиме, т.е. транслировали экран айфона на проектор. В результате чего наша команда выиграла один из четырех призов от Paypal – программируемый робот Sphero для iPhone.
Первое место заняли ребята с проектом “Alerter”. Довольно занятный проект, ребята действительно молодцы!
После презентаций всем наконец-то вынесли пиво, на которое наш коренной чех Антоха, избалованный натуральным чешским пивом, долго высказывал свое негодование.
Несмотря на то, что для нашей команды это был наш первый хакатон, и мы не заняли первое место, все же остались очень довольны данным мероприятием и атмосферой в целом. Здоровая конкуренция явно идет всем только на пользу. Сейчас работаем над идеей, которую планируем реализовать на хакатоне в Киеве, что будет проходить 15-16 июня.
Меня спрашивали – что я думаю насчет того, кто должен был победить на данном хакатоне. Мой ответ прост: