У перші вихідні дні квітня, з 2-го по 3-е числа місяця, в рамках фестивалю «IT-Salad» міста Кемерово проходив Хакатон «Taste-IT». Він був присвячений розробці мобільних додатків, ігор, програмуванню мікроконтролерів і створенню проектів інтернет-речей. Організаторами заходу виявилися люди з Microsoft Student Partners, КемДУ і КузГТУ. Генеральним партнером виступила компанія «Сибірські Мережі».
Формування команди
Думка про створення невеликої програми виникла ще півроку тому. Я висловив ідею своєму одногрупнику, і він вирішив, що її варто реалізувати у вигляді мобільного додатку. Однак, на цьому ми закінчили розвиток проекту, адже тоді з деяких причин дуже складно було все організувати.
За три тижні до старту, поки в рамках фестивалю в РЕУ і КемДУ проводилися семінари/майстер-класи, я випадково дізнався про Хакатона і тут же почав шукати команду, взявши за основу майже забуту ідею. В першу чергу запросив одногрупника, з яким почали проектувати дизайн. Планували залишити написання всієї програмної частини на час проведення Хакатона, продумавши тільки концепцію. Незабаром в команду вписався хороший дизайнер, який також зробив величезний внесок у подальшу роботу.
Так з'явилася DevCom.
Що ми знали? Чим володіли? По факту, на момент старту в нашому розпорядженні був досвід володіння мовами C++ і HTML, а також загальне уявлення про об'єктно-орієнтоване програмування. Складність Хакатона полягала в тому, що ми збиралися писати маловідомою нам мовою, C #. З іншого боку, я міг вільно змінювати код XAML, а мій товариш читав спеціалізовану літературу протягом усіх трьох тижнів. Коротше кажучи, вже тоді ми зрозуміли, наскільки цікаво буде проходити захід.
Суть проекту
Досить проста ідея. Ми захотіли зробити додаток, що пропонує користувачам підбирати одяг за своїм смаком залежно від поточної погоди. Можливо, ідея не нова. Але, судячи з проведених нами досліджень магазинів трьох мобільних платформ, хорошого аналога все ще не було. На тлі наявних наша програма виглядала куди якісніше.
Так, зваживши багато аспектів, у тому числі ринкові, було вирішено писати додаток під Windows Phone.
UPD: Через півтора року я довів ідею додатку до релізу, але вже на платформі Android. Ви можете завантажити програму з маркету Google Play і потикати.
Підготовка і початок Хакатона
Наша команда прийшла на майданчик КемГУ (де ми і проводили ці вихідні) раніше учасників і організаторів. Деякий час нас просто не пускали в навчальний заклад, адже ніхто не взяв з собою паспорт. Як виявилося, охорона не знала про запланований захід.
Скоро ми побачили знайомі обличчя - це були люди з MSP, що несли плакати і продукти харчування в нашу сторону. Через деякий час ми сиділи у творчій вітальні, що передмогла старт заходу.
Виступили спонсори. Організатори дали останні напуття. Команди презентували свої ідеї. Так починався Хакатон.
День
Кожен прийшов зі своїм обладнанням. Ми сподівалися на те, що, як тільки займемо робочі місця, візьмемося писати код і робити якісь замальовки. Але на ділі майже у всіх команд виникали складнощі: наприклад, з чотирьох наших функціонуючих ноутбуків до процесу роботи готовий був тільки один. На системі «Mac». На другий ми зуміли поставити середовище розробки «Visual Studio 2013» і підключити до нього «Windows Phone» замість емулятора. Третій використовувався як пошуковик - ми шукали інформацію, яка якось могла б допомогти в процесі конструювання коду на C #. Втім, вночі ми знайшли застосування і четвертого ноутбука. Вважаючи, що концепція узгоджена і затверджена, ми почали працювати. Але і тут виникали розбіжності. Мені здавалося, що потрібно додати більше сторінок для зручності користувача (близько 5), але наш дизайнер хотів розмістити все на двох-трьох сторінках. Через деякий час було встановлено копроміс, і тоді ми взялися за написання коду.
Ніч
До півночі дещо вже було готове, і нам починало здаватися, що залишалося багато зайвого часу, тому ми вирішили відволіктися. Діставши четвертий ноутбук, я налаштував онлайн-трансляцію заходу. Поки дизайнер сидів у відеочаті, хлопці з команди, яка розробляла браузерну гру, теж вирішили відпочити і веселилися, крутя сальто перед камерами. Третя людина - кодер - намагалася розібратися з C # і паралельно відрегулювати деталі нашого додатку. Він пояснював це тим, що на ранок ми навряд чи зуміли б зібратися з думками і зробити все так, як було задумано.
Ранок
Особливо веселим був ранок на Хакатоні. Я начебто міркував, думав про проект і його реалізацію, поки конструював код. Але варто було мені відійти від процесу ненадовго, як я мало не засипав.
Досі не можу згадати, що відбувалося вранці. Знаю, що я був у паніці, розуміючи, що залишилося вже трохи часу до здачі проекту. Хотілося більше часу, але і в той же момент я мріяв про сон. З'являлося бажання швидше виїхати додому. Якийсь парадокс.
Враження іншого члена команди.
Ближче до світанку мої думки почали спотворюватися. Я переставав стежити за поведінкою і промовою, і таким чином виявив себе сплячим на зрушених один до одного стільцях. Друзі сказали, що я заснув хвилин на 15, після чого схопився, підказав їм ідею з приводу коду, і потім знову ліг спати.
Всім командам було важко. Мабуть, ця частина заходу виявилася найсуворішою. Не обійшлося без допомоги з боку організаторів.
Демонстрація нашого проекту
Час розробки добігав кінця. Ми вносили останні доопрацювання і були готові показати проект членам журі. Мова нашого дизайнера була підв'язана, тому найвідповідальніше завдання (виступ) ми доручили їй. Я в свою чергу продемонстрував, як працює додаток. Потім посипалися каверзні питання, на які ми намагалися відповідати всією командою. Стояв там, і думав: «Завалимо!». Насправді, виявилося інакше.
До речі, ми взяли перше місце в області мобільних додатків. Отримали непогані призи на суму близько 10-12-ти тисяч.
Так на моєму ноутбуці з'явилася перша наклейка.
Підсумки
- Нічого не йде так, як спочатку планувалося. Ретельна підготовка не гарантує перемоги.
- Участь у Хакатоні - безцінний життєвий досвід.
- На заході мимоволі заводяться корисні знайомства. Хакатон - це шанс проявити, показати себе.
- Процес створення проекту йде дуже весело, а при вигляді інших працюючих людей з'являється ентузіазм.
- Хакатон не варто сприймати як змагання. Це зустріч любителів IT-технологій. Місце, де приходить натхнення та ідеї ллються рікою.
- Відновлення організму після заходу зайняло трохи більше доби.
Спасибі організаторам за можливість взяти участь у подібному заході. Окреме спасибі за читання!