Интерфейс классификатора документов

Тестовое задание на должность UI-дизайнера в ABBYY звучало так: «В существующую программу по электронному документообороту решено встроить классификатор: модуль, который будет автоматически определять тип отсканированного документа и в зависимости от типа отправлять документ в тот или иной бизнес-процесс. Чтобы программа могла отличить паспорт от инвойса, ее нужно обучить на тестовом наборе документов. Для этого достаточно обозначить тип, программа сама решит, по каким признакам различаются выделенные типы. Типы документов приходят от бизнеса и могут быть вложенными: например, пакет документов на визу состоит из анкеты, страховки и паспорта, причем в анкете три страницы, а в паспорте две. Часть типов известны заранее, часть пользователь создает, разбирая набор документов. Вам нужно спроектировать вид, который позволит удобно разбить несколько сотен документов на примерно два десятка типов. Документы приходят в виде отсканированных страниц. Пользователь легко различает типы на вид (например, страница паспорта с личными данными) или прочитав заголовок (анкета). Изначальную настройку классификатора будет делать администратор, но с добавлением в систему нового типа должен справиться обычный менеджер. Программа работает на платформе Windows. Графическое решение может быть любым».

Раз это десктопное приложение под Виндовс, то архитектурно и стилистически работаем в UWP. Предполагаем, что обучение классификатора — часть настроек некого большого приложения

Экран приложения разделен на 2 части — список документов и свойства. Ползунком в нижней панели можно изменить масштаб отображения, чтобы лучше\больше видеть

Стоит выбрать любой документ — справа будет предложено классифицировать его. Система по умолчанию будет предлагать свой вариант, насколько ей хватит текущих знаний

Разумеется, стоило предусмотреть множественный выбор документов. Первые страницы паспортов хорошо видны и при мелком масштабе — почему бы не классифицировать их одним махом?

Поскольку типов документов предположительно десятки, то стандартный селектбокс будет не очень удобен для выбора. Данное UI-решение называется «лукап» — модальный список занимает всю площадь

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

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

В режиме «Типы документов» можно добавить новые типы и отредактировать свойства существующих

Свойства типа документа: название и список комплектов, к которым данный документ принадлежит

Для выбора комплекта в данном случае подойдет стандартный селектбокс, потому что комплектов заведомо меньше, чем типов документов

Новый тип документа создается с помощью кнопки «+» в аппбаре приложения

В разделе «Комплекты документов» мы определяем количество, наименование и состав наборов документов, которые участвуют в бизнес-процессах компании

Здесь мы проводим обратное присвоение: указываем какие документы входят в состав данного набора. Для выбора документов используем лукап с возможностью множественного выбора