Skip to content

Long road to the MVP

dchaplinsky edited this page Dec 19, 2014 · 2 revisions

Unshred.it: идея решения, текущее состояние, общее видение, дальнейшие действия.

Коротко о том пути, которым мы решаем проблему:

  • Все собранные шреды за исключением пустых, аккуратно выклеиваются на листы цветной бумаги или на прозрачную подложку и сканируются с высоким разрешением.
  • Отсканированные листы обрабатываются программой: шреды “вырезаются” с цветного фона и сохраняются в отдельные файлы. К каждому шреду программа записывает служебную информацию (с какого листа и в каком месте он был “вырезан”), а также информацию которая нам в дальнейшем может пригодиться для складывания “пазла”: форму краев, цвета контуров на этих краях, наличие прямых линий, цвет фона, и многое другое.
  • Обработанные таким образом шреды загружаются на сайт, где волонтеры могут вручную добавить к ним информацию, которую видит человек, но сложно увидеть компьютеру. Волонтеры дают каждому шреду метки, например “фрагмент таблицы”, “фрагмент печати”, “пометки карандашом”, вводят текст, который можно распознать на шреде и другие факты, которые нам могут пригодиться при сборке. Вся работа выполняется с определенной избыточностью, чтобы снизить вероятность ошибки и усложнить намеренную порчу данных.
  • После этого обработанные шреды поступают на сборку. Используя информацию, собранную на предыдущих двух этапах, система для каждого шреда предлагает кандидатов “в соседи” и волонтер проверяет эти совпадения “глазами” и подтверждает их. На этом этапе тоже есть некоторая избыточность обработки.
  • Когда найдено достаточное количество “соседей”, документ уже можно складывать, хотя бы фрагментарно. Если кого интересуют детали, напомню, что здесь есть часовое видео моего доклада и большой документ, описывающий многие технические нюансы.

Текущее состояние:

  • Волонтерами выклеено и отсканировано порядка 10 мешков (за что им низкий поклон). Это далеко не все мешки, которые припрятаны у Дениса, но для начала нам с головой хватит и их.
  • Мы умеем обрабатывать эти листы и извлекать из них достаточно информации с отличной скоростью. Точность извлечения этой информации не всегда идеальна, но текущей уровня достаточно, чтобы двигаться вперед.
  • У нас есть платформа, при помощи которой мы можем отдать шреды на обработку людьми. Она прошла бета-тестирование, во время которого волонтеры обработали пробные документы (за что им большое спасибо). Кстати, эти обработанные документы нам очень помогут для дальнейших исследований и тестирования. Мы также собрали и обработали отзывы от волонтеров по улучшению этого этапа, но пока не брались за реализацию. Мы также провели базовый анализ собранной статистики и теперь лучше понимаем процесс изнутри.
  • Мы умеем находить похожие шреды, которые могут быть соседями. Пока довольно наивным методом, но это уже сокращает область поиска. У нас пока нет программы, при помощи которого волонтер мог было бы находить шредам соседей и сохранять их.

Общее видение: Основная проблема на текущий момент состоит из двух половинок. К сожалению, у меня не всегда хватает свободного времени, чтобы обеспечить проекту постоянное движение вперед. Те люди, которые работали со мной над программной частью на волонтерских основах, в мое отсутствие зачастую теряют мотивацию и все стопорится. Я не могу их винить, потому что писать какой–то фрагмент и иметь общее видение проекта и менеджить его на начальном уровне — это довольно разные вещи. И однозначно, вклад этих людей в проект сложно недооценить. Выхода из этой ситуации два, менее реалистичый и более реалистичный. Менее реалистичный: вы или ваш знакомый — rock star project manager с навыками работы в исследовательских open source проектах, у которого есть свободное время и достаточная мотивация заниматься менеджментом проекта. Мы знакомимся с этим выдающимся человеком, и начинаем работать. Более реалистичный (над которым мы уже начали работать): мы определяем минимальный рабочий прототип, который бы позволил (пусть с оговорками и упрощениями) реализовывать всю схему выше и начать собирать и реконструировать документы. Пусть и не со всеми задуманными военными хитростями, этот прототип уже будет выполнять реальную работу, а значит даст нам дополнительную мотивацию продолжать работу и понять тонкости процесса. Этот прототип мы сможем улучшать последовательно, либо использовать информацию, полученную при его использовании для проектирования и создания полноценного продукта. Используя прототип мы также сможем сначала собрать тестовые документы (это даст нам необходимые данные для дальнейших экспериментов и улучшений), а потом перейти и к документам Курченко. Еще одним достоинством этого подхода в том, что те вещи, которые отделяют нас от этого прототипа, они, в большинстве своем не требуют каких–то исследований, проб и ошибок и время на их разработку можно оценить довольно точно (хотя и не все эти вещи тривиальны). Дальнейшие действия:

  • Определить свойства вот этого самого прототипа.
  • Провести ревизию людей, согласных помогать с разработкой и их умений.
  • Собрать и выписать все идеи, которые у нас есть для всех этапов и освободить голову от них на вермя.
  • Выписать и организовать все задачи, которые отделяют наш сегодняшних, от нас, счастливых обладателей работающего прототипа.
  • Распределить эти задачи между существующей командой и примкнувшими лицами.
  • Писать, откладывая кирпичи, до достижения минимальной рабочей версии.
  • повторять бесконечно с первого шага.
  • PROFIT.

Если вы дочитали до этого места, и вам интересно больше кровавых подробностей нашего закулисья, то мы рекомендуем вам почитать документ в котором мы определяем вещи из списка выше и докумeнт, в который мы складываем умные идеи, которые мы еще не реализовали. Warning: МАТАН.