Top.Mail.Ru
8 мин

Как за 28 часов создать прототип сервиса и выиграть хакатон

Автор:
В сентябре в Москве прошел Diversity.Hack, партнерами которого стали Dostavista, Waves и мы — «Новые Облачные Технологии»

В сентябре в Москве прошел Diversity.Hack, партнерами которого стали Dostavista, Waves и мы — «Новые Облачные Технологии». Участие в хакатоне, организованном Phystech.Genesis, проектом Бизнес-инкубатора МФТИ, стало первым и одновременно успешным опытом для нашей компании. Но не будем забегать вперед — давайте посмотрим, как все прошло и что интересного удалось придумать его участникам.

Как проходил Diversity.Hack

На хакатон в коворкингe GrowUp собрались 208 человек в составе 44 команд, что стало рекордом для организаторов. О том, по какому принципу формировались команды, в деталях можно прочитать в статье от Phystech.Genesis. Участники решали одну из трех предложенных задач от каждой компании чуть больше суток, имея возможность остаться на ночь прямо на месте проведения и с питанием от организаторов. Призовой фонд в размере 300 000 рублей равноценно делился между треками. Кроме генерации идей и кодинга, участники могли посетить интенсивы о том, как побеждать на хакатонах.

В начале мероприятия все компании-партнеры рассказали условия своих задач — до этого были известны лишь общие формулировки и набор технологий, который участникам предстоит использовать. Время на разработку прототипа команды распределяли по своему усмотрению, учитывая основные моменты: анализ рынка существующих идей, брейншторм, определение ключевых особенностей прототипа, роли внутри команды и кодинг.

Среди участников были как студенты, так и опытные специалисты, встречались очень перспективные ребята. В итоге нам и другим компаниям-партнерам удалось почерпнуть новые идеи. Например, компания Waves предложила разработать мобильное приложение при помощи языка Ride и платформы Waves Platform. Для службы доставки Dostavista команды разрабатывали систему по оптимизации маршрутов курьеров.

Под руководством наших коллег из «Новых Облачных Технологий» нужно было придумать удобный инструмент (алгоритм, UI) для анализа изменений в документах при сравнении двух и более версий.

Почему именно эта задача?

Наша компания с 2013 года развивает МойОфис — набор офисных приложений, работающий на всех основных операционных системах, включая мобильные. Изначально у нас было 7-8 вариантов заданий, и чтобы выбрать одно для хакатона, мы даже устроили закрытое голосование внутри компании. Среди вариантов были, например, сравнение двух и более документов (разработка самой технологии и UX), автоматизированное сравнение качества рендеринга документов (на примере экспорта в PDF из двух разных редакторов), также была идея, связанная с анализом шрифтов в документе. Еще мы хотели дать задание на сбор информации из чатов о датах встреч для их автоматизированного добавления в календарь смартфона (интересно для, например, написания ботов в Telegram) и несколько других.

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

Казалось бы, как вообще такая задача может быть актуальной? Сейчас доступны различные облака, в которых отображается вся история изменений — кто, что и когда отредактировал. Однако во многих компаниях документы не разрешают хранить в облаке из соображений безопасности. По этой или какой-либо другой причине правки в файл могут быть внесены оффлайн, без использования облака, а затем ту или иную версию документа обычно отправляют коллегам по почте. Правки может вносить не один человек, и в итоге версий документа становится так много, что неизбежно возникает неразбериха.

Так мы и столкнулись с потребностью использования инструмента для одновременного сравнения более чем двух документов. Но вот незадача! На рынке просто не оказалось решений этой проблемы, есть лишь сервисы для сравнения двух документов, причем существующий выбор не блещет разнообразием. Так, есть ABBYY Comparator, который умеет сравнивать документы не только в текстовом формате, но и PDF, сканы и фотографии. Недостатком использования этого сервиса может стать его стоимость. Другой сервис — Text Compare! — и похожие на него позволяют просто вставлять текст в два специальных окошка. А это сильно ограничивает возможности — даже файлы загрузить нельзя, а только Ctrl+C и Ctrl+V!

Средство от возникшей «боли» наша компания решила искать у талантливых разработчиков со всей России, убрав ограничение на формат документа. Мы предложили использовать знакомый всем html — в нем удобно представляется древовидная структура документа. Все участники откликнулись на это предложение. Нам было интересно получить саму технологию сравнения, а также удобный и интерактивный интерфейс.

Решения команд-победителей

На Хабре есть немало статей-интервью о том, как участники выстроили рабочий процесс во время того или иного хакатона, как им удалось победить. Нашу задачу решали восемь команд, три из которых заняли призовые места: первое заняли ZenDocs, второе разделили SerotoninMix и SegFault. Мы выбирали победителей по следующим критериям: удобство пользовательского интерфейса (его интерактивность и минимализм), качество проработки различных кейсов в этом интерфейсе (как будет выглядеть сравнение таблиц — структурных изменений и изменений текста внутри, диаграмм, изображений), сам алгоритм сравнения (временная сложность, способность распознать разные типы правок). Хороший рабочий прототип считался большим плюсом

Назад к публикациям
Поделиться в соц. сетях: