{"id":14271,"url":"\/distributions\/14271\/click?bit=1&hash=51917511656265921c5b13ff3eb9d4e048e0aaeb67fc3977400bb43652cdbd32","title":"\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043d\u0430\u0442\u0438\u0432\u043e\u043a \u0438 \u0441\u043f\u0435\u0446\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0432 vc.ru \u2014 \u043d\u0430\u0439\u0434\u0438\u0441\u044c!","buttonText":"","imageUuid":""}

Gatewait — знай свой гейт раньше всех

Что делать, если надоело ждать объявления гейта в аэропорту? Правильный ответ – создать мобильное приложение Gatewait.

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

Знакомая картина alamy.com​

Мне, мобильному / фронтенд разработчику было тяжело смириться с такой ситуацией. Летая одними и теми же рейсами, я заметил, что гейты иногда или повторяются, или находятся рядом. Для начала я решил проверить эту гипотезу.

Время собирать данные

Я поднял бэкенд проекта на базе Google Cloud Platform с помощью одной виртуальной машины, одной базы данных Postresql и пары NodeJS скриптов. Каждый день ровно в полдень Google Cloud Scheduler запускает cloud функцию, которая включает виртуальную машину. Виртуальная машина запускает инстанс базы данных и запрашивает публичное API flightstats.com около 400 раз, по количеству крупнейших аэропортов мира. Ежедневно скрипт кладет в базу около 150 тысяч рейсов и обновляет статистику гейтов для каждого рейса. Каждый день база данных увеличивается на 250 мегабайт, в месяц прирост соответственно 7 гигабайт.

​количество аэропортов, рейсов и гейтов для каждого рейса снимок из Realm Studio

После успешного парсинга в 12 часов 45 минут пополудни база данных выключается, виртуальная машина останавливается и город засыпает. Такая тактика позволила снизить все расходы на инфраструктуру до ~ 20 фунтов в месяц.

По необходимости я включаю базу руками и с помощью локального NodeJS скрипта конвертирую информацию в CSV формат, который можно легко перевести в формат базы Realm – это одна из самых популярных и быстрых баз данных для мобильных приложений. Файл базы весит около 35 мегабайт, но зато приложение работает оффлайн.

А что у нас на фронте

​Из этого скетч файла скриншоты ушли прямиком в App Store

Моя законопослушность и любовь к типографике сподвигли меня на покупку лицензии на шрифт Graphein Pro за 72 фунта – он максимально похож на шрифты, которые используются на навигационных знаках аэропортов, и намного дешевле похожего Adobe Myriad Pro. Черно-желтая цветовая гамма тоже неслучайна – ее использует немало европейских аэропортов.

Само по себе приложение написано на Swift и состоит всего из двух экранов. Пользователь вводит номер рейса, нажимает кнопку Find Gates, и если сегодня удача улыбается ему, он увидит список гейтов для этого рейса. Напротив номера гейта – процент вылетов из него. Кроме того, приложение пробует достучаться до flightstats.com и узнать гейт для сегодняшнего рейса. В случае успеха желтый фон меняется на зеленый и появляется надпись "Connected to SVO / LHR / LED / код аэропорта".

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

Что дальше

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

Критика, комментарии и предложения о сотрудничестве горячо приветствуются на [email protected].

Ссылка:

0
30 комментариев
Написать комментарий...
Zsuzsi Varga

Я очень часто летаю по Европе одними и теми же рейсами (и по работе и по жизни поскольку семья живет в другой стране) и я думаю, что я не только за себя говорю если скажу, что я ненавижу, что в европейских аэропортах не объявляют гейты раньше, чем за 20-30-40 минут до вылета. (И на электронных посадочных талонах НЕТ номера гейта.) Поскольку все ждут объявления все находятся в центральном зале аэропорта, где нет места нигде сесть, в кафешках и ресторанах ужасно длинные очереди (если вообще есть места ...), телефон и ноутбук нельзя зарядить, потому что нет свободных мест и т.д. ... а когда уже на экранах пишут «5 минут до объявления гейта» толпа людей под экранами и как только гейт наконец-то объявлен начинается конкурс «кто быстрее может прибежать к гейту» - все бегут как сумасшедшие к гейту через все и всех. 
Если это приложение хотя бы примерно может сказать мне заранее какой мой гейт будет, и я могу где то рядом посидеть, где меньше людей и очень часто почти пустые кафешки, то уже есть смысл использовать его)) И кстати, я скачала его и проверила свои обычные рейсы и я могу сказать, что информация очень полезная!! Так что на следующей поездке точно буду смотреть гейт в Gatewait заранее.

Ответить
Развернуть ветку
Nikita Rogatov

Чего вы так мучаетесь? Я всегда сижу в кафе и удивляюсь на тех кто ждет обьявления гейта

Ответить
Развернуть ветку
Zsuzsi Varga

Мне кажется, что вы меня неправильно поняли. Я не стою часами под экраном чтобы узнать гейт, я наоборот хочу этого избежать. Поэтому я обычно жду рядом с гейтом с которого последный раз вылетали. В Европе чаше всего (в Англии точно), гейты или повторяются, или хотя бы близко. Только если люди не часто летают одними и теми же рейсами, то у них единственный способ узнать гейт это табло, так что все будут рядом. (Иначе как узнать откуда вылет?)
Поэтому если знать что 90% мой гейт будет - допустим - гейт 15, 5% он будет - 10, а 5% - 12, то логично что я где то рядом с этими гейтами посижу в кафе, и жду спокойно, пока на самом деле объявлен гейт, и когда уже посадка началась подойду к гейту, таким образом избегая толпу людей))

Ответить
Развернуть ветку
Nikita Rogatov

А зачем? Сидишь в кафе\на скамеечке\ где удобно. за 10 мин до смотришь где гейт и идешь. Куда все так торопяться

Ответить
Развернуть ветку
Илья Иванов

Блин, звучит очень круто и на практике,наверное, также, но выпустите под android пожалуйста

Ответить
Развернуть ветку
Pavel Dubrovskiy

В чем вообще ценность данного приложения? В посадочном почти всега гейт прописан (это как минимум за 40 минут, а не за 20) и он всегда будет корректным. Кроме того, ваше приложение не дает точной информации, можно вообще в другом терминале оказаться и узнать об этом только при окончании посадки. Так что - зачем?

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Pavel Dubrovskiy

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

Ответить
Развернуть ветку
Daniel Chernyshev
Автор

Приложение для России малоактуально. В Европе - да, поэтому я и пишу про европейские аэропорты.

Ответить
Развернуть ветку
Pavel Dubrovskiy

А я вообще не про Россию...

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Daniel Chernyshev
Автор

Это не сколько проблема, сколько подход аэропортов. Например, в Великобритании или Венгрии гейты не меняют, потому что объявляют их как раз за 20 минут. В России и некоторых других странах (США, как я понял, в том числе) гейты назначаются сильно заранее и далеко не факт, что они будут актуальны. 

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Daniel Chernyshev
Автор

Если и не про Россию, опять же, приложение  может дать примерный диапазон гейтов. Не во всех случаях, но даже это может помочь пассажиру.

Ответить
Развернуть ветку
Pavel Dubrovskiy

Ну что такое примерный диапазон гейтов? Мне бежать в 1, 17 или 43? Вы просто пройдете несколько метров и посмотрите на табло точную информацию.

Ответить
Развернуть ветку
Daniel Chernyshev
Автор

Когда гейт уже есть на табло, приложение не нужно 😀 

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Pavel Dubrovskiy

Иногда да, но об этом уведомляют + push в приложении авиакомпании. Данное же приложение и этого не делает.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Pavel Dubrovskiy

Да Аэрофлот и пушем и смской. Очень удобно.

Ответить
Развернуть ветку
Walter Avarelli

А почему не скачать приложение самих flightstats.com? Данные же все равно оттуда.

Ответить
Развернуть ветку
Daniel Chernyshev
Автор

Исторических данных по гейтам они не предоставляют, в этом весь смысл приложения.

Ответить
Развернуть ветку
Artem Voronov

У flight stats есть FIDS API, откуда зачастую и берут данные для табло аэропортов. Зачем весь этот адский геморой с виртуальные машинами, если есть API с актуальными данными?

Да и пуши с изменениями гейтов и расписания тоже можно организовать без поллинга все с теме же Alerts. 

Ответить
Развернуть ветку
Daniel Chernyshev
Автор

Геморрой не адский, заняло пару дней работы по вечерам. Исторические данные flightstats по аэропортам просто так не предоставляют, поэтому я их собираю каждый день. Актуальные данные приложение запрашивает и так. Но если их нет - показывает исторические.

Ответить
Развернуть ветку
Карина Иванова

https://www.meetsam.io
я вот этими пользуюсь. Они и показывают гейты, и даже сообщение об отмене рейса прислали раньше, чем упало письмо на почту от авиакомпании.

Ответить
Развернуть ветку
Daniel Chernyshev
Автор

Выглядит неплохо! Работает наверное тоже. Однако у меня аллергия на чатботов 😢

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Daniel Chernyshev
Автор

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

Ответить
Развернуть ветку
Карина Иванова

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

Ответить
Развернуть ветку
Yana Kiryanova

Не работает по России

Ответить
Развернуть ветку
27 комментариев
Раскрывать всегда