Всем привет, меня зовут Семен, я iOS-разработчик в Ситимобиле. ????♂️ Недавно мы провели внутренний хакатон для iOS-разработчиков. Расскажу, зачем мы это сделали, как всё прошло и что получилось.
![](https://habrastorage.org/getpro/habr/upload_files/a17/6e3/25f/a176e325f2d6f579838d6f59ded4ab1a.jpg)
Зачем мы это сделали?
Для тех, кто не знает, хакатон — это офлайн-встреча, на которой разработчики, дизайнеры, продакт-менеджеры и другие специалисты за короткий промежуток времени (обычно 48 часов) создают MVP проекта на заданную тему.
У нас в Ситимобиле как раз витали в воздухе продуктовые идеи, для которых не находилось ресурсов в рабочее время. Опыта проведения хакатона в компании ещё не было, но многие хотели попробовать. К тому же выходила iOS 15, для которой можно было сделать различные платформенные фичи. Стечение всех этих обстоятельств и привело нас к тому, что мы организовали внутренний хакатон для iOS разработчиков.
![(скриншот из моей презентации) (скриншот из моей презентации)](https://habrastorage.org/getpro/habr/upload_files/f68/fa8/4dc/f68fa84dc67e1976e7d2ba0754c91bb5.png)
Как это прошло?
Конверсия в участие была не такая высокая, как хотелось бы, но тем не менее откликнулось несколько iOS-разработчиков и дизайнер. Для первого раза мы решили ограничиться одним днем вместо каноничных 48 часов. Как и полагается хакатону, у нас была куча еды и призы. Изначально тема была «Новые интерфейсы заказа такси», но можно было привнести что-то своё.
В качестве судей выступали наши продакт-менеджеры и техлид iOS-команды.
Что получилось?
В итоге у нас получилось три проекта от трёх команд.
![](https://habrastorage.org/getpro/habr/upload_files/610/3c7/623/6103c76239722a1124898ba77d47e62f.png)
1. Приложение под watchOS
![](https://habrastorage.org/getpro/habr/upload_files/633/284/633/633284633dcec2f47d63836e5ef25e83.jpg)
Первая команда оказалась адептами Apple Watch, для которых они решили разработать визуальную составляющую приложения. У ребят получился свежий прототип приложения (свежий, потому что у нас уже была однажды watchOS-версия, и она канула в небытие), в котором можно наблюдать за статусом активного заказа, а также создавать новый.
Идея имеет хороший потенциал, так как популярность носимых устройств сильно возросла и приложения для них актуальны как никогда. Если несколько лет назад это было 3.5 пользователя, то с тех пор их количество выросло кратно и поддерживать такую функциональность стало целесообразно. К тому же бизнес-логика в большей степени переиспользуется, и необходимо только разобраться с визуальной составляющей.
2. Siri Shortcuts
Начиная с iOS 12 Apple добавила такую замечательную фичу, как Siri Shortcuts. Благодаря голосовым командам можно ускорить различные рутинные задачи, будь то установка таймера, запуск музыки или прокладывание маршрута в навигаторе. Достаточно просто сказать «Эй, Сири, включи мою музыку».
А если выполнить ряд настроек в коде, то со временем Сири обучится на данных, и начнет предлагать шорткаты на заблокированном экране, в центре уведомлений и в поиске спотлайта, ориентируясь на то, в какое время и в каком месте вы выполняете эти действия.
Наша вторая команда решила изучить технологию шорткатов Сири, благодаря которым можно заказать такси голосом. Потратив несколько часов на реализацию и отладку, получился вот такой прототип.
Приятный бонус — это можно использовать как на iPhone, так и на Apple Watch. Технология оказалась не такой сложной, а вау-эффект она вызывает существенный. Да и голосовой интерфейс — один из текущих трендов, который полезно поддержать.
3. Статистика по поездкам за год
Третья команда в лице меня реализовала аналитику по поездкам. Ранее я уже предлагал в конце года вывести статистику по поездкам для каждого клиента, о чем и сообщал коллегам из маркетинга. Но, к сожалению, на это не хватало ресурсов разработки, да и задача была низкоприоритетная, поэтому я взял инициативу в свои руки и сделал прототип фичи.
![](https://habrastorage.org/getpro/habr/upload_files/8e9/724/09e/8e972409e6cdb8ed9627917666db4a39.png)
Так как время было ограничено, то для своей визуальной составляющей я решил переиспользовать механизм сторизов (почитать, как я их делал, можете тут). В итоге мне оставалось просто сделать сетевой запрос на получение истории поездок за последний год, обработать полученные данные и отобразить их в формате истории.
![](https://habrastorage.org/getpro/habr/upload_files/9d5/cce/6fa/9d5cce6faee564e228c3d2a473a32e7b.gif)
![](https://habrastorage.org/getpro/habr/upload_files/c1d/29a/33a/c1d29a33a0b0779e8563f4ce40f56509.png)
![](https://habrastorage.org/getpro/habr/upload_files/a23/3a2/d82/a233a2d823953bcba3035889961ae44c.png)
На реализацию ушло несколько часов, и, как мне кажется, получился интересный результат. Как минимум, для себя я узнал, что если выходить заранее из дома, то можно сэкономить деньги на платном ожидании. А белая Киа — это мой верный спутник в поездках.
Можно было пойти дальше и проанализировать расстояние, водителей, время и т.д. Я думаю, там тоже нашлись бы интересные идеи.
Итоги
![](https://habrastorage.org/getpro/habr/upload_files/b3e/a36/57e/b3ea3657e78b0dbfc9161eb3e71e729d.jpg)
Несмотря на то, что участников было немного, для нас это был важный опыт. Мы показали, что такой формат может жить и приносить пользу компании. Показали, какие фичи можно быстро сделать, которые, возможно, дойдут до продакшена. И конечно же, разработчики смогли изучить интересные для себя технологии и реализовать свои задумки. Хотим теперь развивать культуру хакатонов внутри компании и делать их масштабнее!
P.S.
А это мы сидим после хакатона на крыше офиса и разговариваем о том, каково это — провести выходные в офисе, и как бороться с болью в спине после 25 лет.
![](https://habrastorage.org/getpro/habr/upload_files/d2a/208/d56/d2a208d5668fefd99922efdcf200b35e.jpg)