Was geht ab? – DataArt на THack Berlin 2016

в 15:17, , рубрики: Блог компании DataArt, встречи, разработка, статьи

Was geht ab? – DataArt на THack Berlin 2016 - 1
Автор: Андрей Беляев

“Was gent ab?” — письмо c таким заголовком упало на рассылку travel-практики DataArt 18 января. В этом году в Берлине ведущие портала tnooz.com опять собирали хакатон, и мы вновь решили поехать. Причин было две:

  1. Интересный опыт. Хотелось посмотреть, какие еще идеи приходят в голову коллегам из других компаний.
  2. 9 марта начиналась 50-я — юбилейная — выставка ITB в том же Берлине и наше участие или, тем более (ну вдруг!) победа, могли принести неплохие дивиденты при разговорах с будущими клиентами.

В прошлом году команда DataArt участвовала впервые и совершенно неожиданно получила первый приз tnooz для больших команд. На этот раз мы уже примерно представляли, что нас ожидает. С технической стороны были готовы на 150 %: два разработчика, которые участвовали в хакатоне в 2015 году, Дима и Ярослав, были готовы ехать опять. Дениса Цыплакова, который организовывал всю поездку в прошлый раз, заменил я. Возникла только одна проблема: не было идейного вдохновителя. Все генераторы идей, включая Романа Пескина, были по уши заняты текущими делами и не могли быть в Берлине в марте. Кроме того, в анонсе ограничились ограничились общими фразами о теме хакатона:
Tnooz, the leading source of news and analysis about travel tech, brings together developers and the travel industry to invent mobile applications for the airline passenger and in-destination experiences during the weekend hackathon.

Ни тебе спонсоров, чтобы понять, какие API можно будет использовать, ни списка “challenges” — задач, которые должен решать проект. Т. ч. с идеями проекта тоже было достаточно печально. Устроили несколько сессий мозгового штурма, но рабочих идей к концу февраля набралось не так много:

  1. Помощник бизнес-путешественника. Большая карта с отметками о тех, кто сейчас в командировке, и помощь в трудных ситуациях через мобильное приложение-компаньон.
  2. Trello-like-приложения для помощи компании друзей, которые хотят поехать куда-то.

Помощь пришла, откуда не ждали. Глава travel-практики Грег Эббот, с которым мы поделились болью, порекомендовал нам в качестве генератора идей и вдохновителя команды Боба Рождерса, который:

  1. Имел очень солидный опыт работы в travel-индустрии.
  2. Жил (и живет) в Берлине.

Was geht ab? – DataArt на THack Berlin 2016 - 2

На одном из последних мозговых штурмов Боб закинул следующую идею: сделать приложение-помощник для отправляющихся в путешествие, которое непосредственно перед поездкой в фоновом режиме закачивает в смартфон всякие полезности: карту места пребывания, информацию о транспорте, локальные интересные события (концерты и т. д.).
Эту идею и решили взять в как рабочую. До получения дополнительной информации от tnooz было решено никакой разработки не вести. Как показала прошлогодняя практика, за 24 часа можно успеть сделать работающий прототип и даже с ним выиграть.
Первого марта пришло письмо от организаторов. Спонсорами хакатона были:

  1. HomeAway — предоставляли свой API по поиску жилья.
  2. SkyScanner — API для поиска авиабилетов.
  3. Xapix.io — API-прокси, позволяющий собирать много других API и публиковать их через единый интерфейс.

После этого стало понятно, что у нашего приложения «оффлайн-компаньон» будет не так много шансов выиграть, потому что из двух API-спонсоров мы с натяжкой могли притянуть только HomeAway. 2 марта опять все переиграли, в качестве рабочей идеи взяли Trello-like-помощника для организации путешествий. Настроение было не сказать чтобы восторженным. Общая мысль была такая: «второй раз подряд нам выиграть, наверное, не дадут. Но мы все равно будем жечь».
3 марта приехали в Берлин и выдвинулись в betahaus на вечер знакомств, который устраивал  главный редактор tnooz Gene Quinn для тех, кто приехал на THack и не нашел себе команды. Там можно было найти недостающего дизайнера, идейного вдохновителя, верстальщика, да и просто пообщаться. Наша команда была готова: Боб, Дима, Ярослав и я, т. ч. для нас это было просто местом встречи с Бобом. Ну, и на других участников тоже хотелось посмотреть. На вечере присутствовала Пейдж Браун (Paige Brown), директор по маркетингу HomeAway, и разработчик API для HomeAway  Кэди Паркер (Cade Parker), который сказал нам, что это будет серьезная проверка для его детища, которому от роду неделя в продакшене. Кроме Paige и Cade, на вечере были парни из xapix, которые рассказывали всем желающим про свой продукт и про то, как его правильно готовить.
Через полчаса после начала к нам подошел Боб, и мы удалились строить планы в Zur kleinen Markthalle. Там, после душещипательного рассказа Боба о его опыте командировок во времена его работы в Nokia, с помощью мозгов, ручки, салфетки, пива и половинки курицы родился концепт приложения, которое должно было облегчить жизнь командировочным людям и тревел-менеджерам при помощи следующих вещей:

  1. Бота, который бы, на основе приглашения из Google Calendar, в котором содержатся место командировки, дата начала командировки и дата окончания, подбирал бы авиарейсы для всех участников.
  2. Кроме рейсов, бот также должен был уметь предлагать жилье недалеко от места, куда человек ехал. Жилье подбиралось одно для всех участников.
  3. Веб-интерфейс для командировочного, в котором он мог бы выбрать авиарейс и проголосовать за место проживания.
  4. Веб-интерфейс для тревел-менеджера, где можно купить билеты на выбранные рейсы и забронировать жилье, которое набрало большее количество голосов.
  5. Мобильное приложение для командировочного, в котором бы хранилась информация о датах командировки, рейсе, отеле и прочем.

Идея всем понравилась, и мы отправились в гостиницу, чтобы отоспаться перед бессонными выходными. Надо отметить, что заготовки для приложений, аккаунт в GitHub и сервер в AWS уже были готовы.
Суббота началась с завтрака в betahaus, вступительного слова Gene и Paige, были объявлены номинации и призы. После все разошлись по комнаткам и начали разработку. Технологический стек у нас был следующий:

  • .NET на сервере для REST API, интеграции с HomeAway и SkyScanner, чтения и разбора почты.
  • AngularJS для веб-интерфейса.
  • iOS-приложение.

Xapix решили не использовать, потому что у Димы был очень хороший опыт работы со всякими Travel API напрямую, потому не хотелось вносить в приложение еще один слой абстракции, который от нас не зависел. Хотя надо отдать должное Oliver из Xapix — он очень старался, чтобы его продукт доставил как можно меньше хлопот участникам: организовал мастер-класс и написал небольшой учебник.
Мне как Java-разработчику доверили писать код, не требующий глубокого знания .NET-фреймворков: забрать почту с gmail, распарсить приглашение и т. д. Единственное, чего мне не хватало при работе,  – отсутствие привычных горячих клавиш в Visual Studio. Особенно понравились конструкции типа:

Was geht ab? – DataArt на THack Berlin 2016 - 3

Дима склеивал все воедино, а Ярослав пилил iOS-приложение. Боб помогал нам отладить процесс того, как все должно было работать, давал советы по организации UI и писал сценарий демо. В процессе выяснилось, что у нас есть немного времени, и мы прикрутили к мобильному приложению небольшой простой кусочек функциональности, который показывал пользователю всякие интересные события, проходящие недалеко от его отеля, чтобы после рабочего дня откомандированный на чужбину люд не скучал (см. список идей перед хакатоном).
Часов в 11 мы ушли в отель, где продолжили шлифовать то, что получилось за день работы.
Наступило воскресенье, 6 марта. Утром быстренько (надо было успеть до 12 дня) прикрутили push-нотификацию к мобильному приложению, прогнали несколько раз демо с одновременной репетицией речи Боба. Нужно было уложиться в 5 минут, это было одним из условий конкурса. На репетиции вышло 4:40, на этом решили закончить репетировать, сняли видео с экрана iPhone Ярослава на случай, если вдруг что-то пойдет не так с мобильным приложением, и пошли на обед. Во время обеда Дима со знанием дела обсудил с Cade Parker преимущества организации API SkyScanner перед HomeAway, а остальные члены команды пообщались с соперниками.
Со жребием нам повезло, мы должны были выступать восьмыми из 15 команд. В номинации «Большие команды» было 13 конкурсантов, т. ч. шанс занять 1-е место был, но не очень высокий. Ну и опять же: «Второй год подряд? Не-э-э, точно не выиграем».
Итак, настал судный час. Представили жюри:

По очереди выходили команды и представляли свои прототипы. Были всякие интересные штуки:

  1. Использование голосового помощника Alexa для поиска интересных событий и планирования поездок на эти события.
  2. Команда с веселым названием WhoDatGirl представила бота для Telegram, который может подсказать, чего интересного происходит в мире, и помочь найти билеты на это событие с учетом ограниченного бюджета.
  3. Halfway — приложение, которое позволяло паре влюбленных, живущих в разных городах, встречаться где-то в третьем городе. Причем путешествие планировалось так, чтобы они могли провести вместе максимальное количество времени.
  4. TripNaut — мобильная квест-игра для исследования места пребывания. Потрясающий дизайн. Команда за 24 часа успела купить одинаковые футболки и нарисовать на них логотип.

Was geht ab? – DataArt на THack Berlin 2016 - 4
Наше выступление прошло почти без проблем, Боб зажигал на сцене, iPhone в руках у Ярослава весело попискивал, когда получал push-нотификации на глазах у жюри, я помогал Бобу тем, что иллюстрировал его речь переключением слайдов в презентации и добавлял хаоса тем, что не мог найти Alt-Tab на его MacBook, чтобы переключиться с презентации в браузер и обратно. Но цепочка «календарь — почта — выбор рейса — выбор жилья — подтверждение — гляди, все у меня на смартфоне» отработала без сучка, без задоринки, чему мы были очень рады.
После выступления всех команд судьи удалились на совещание, а организаторы привезли пиво — время пролетело незаметно и весело. По возвращению жюри началась материализация духов и раздача слонов.
Первыми выступали спонсоры — HomeAway. Почетного упоминания заслужили ребята из HalfWay и WhoDatGirl. Второе место — парни, которое разработали приложение для Alexa. А первое место — DataArt! Радости не было предела. Хоть что-то да выиграли.
Дальше пришел черед жюри объявлять победителей. В категории маленьких команд выиграли разработчики, продукт которых на основе плейлиста из Spotify предлагал поездки на концерты любимых групп.
В категории больших команд второе место — WhoDatGirl. И первое — DataArt. «Ну ни фига себе!» — подумали мы все. Боб подумал так же, но на английском. Оказывается, что, если есть хорошая идея и желание, можно выиграть и два раза подряд. После церемонии к нам подошел Gene и сказал, что на следующий хакатон нам лучше приезжать спонсорами и организовать мастер-класс для тех, кто хочет разрабатывать приложения для travel-индустрии. До ITB оставалось два дня.
Поименный список героев:

Имя Роль Tech Stack
Bob Rogers Приглашенная звезда и идейный вдохновитель Мозг, Keynote, PowerPoint
Дмитрий Выростков Architect, web app developer .NET, JavaScript
Ярослав Воронцов iOS Developer Objective C
Беляев Андрей Back-end developer и собиратель идей .NET

Более краткую историю можно почитать на tnooz.

Автор: DataArt

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js