← Назад

От приложения на планшете к цельному устройству

2016–2018 · Ведущий дизайнер, аналитик и разработчик

Смарт-терминалы Эвотор

Эвотор — умные онлайн-кассы для малого бизнеса. Базовая функция — фиксировать продажу и выдавать чек. Но предприниматели могут гораздо больше: привлекать клиентов, автоматизировать поставки, вести учёт, настраивать аналитику, следить за бизнесом удалённо.

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

500+ приложений в магазине Эвотора. К 2019 году — каждый четвёртый предприниматель в России работает на смарт-терминалах Эвотор.

Лаунчер и главный экран

Главный экран Эвотор

Мы начинали с планшета на Android, подключённого к принтеру чеков. Прототип, не заточенный на работу продавца с потоком покупателей. Первая задача — совместить собственные модули кассы (продажа, товары, алкоголь, сотрудники, настройки) со сторонними приложениями из магазина.

Я спроектировал лаунчер, где все модули стали крупными плитками — хотя под капотом оставались частью одного приложения. Лаунчер бесшовно совмещал наши программы с тем, что клиент ставит из магазина.

Для разработчиков приложений я написал дизайн-гайд и описал UX-сценарии встраивания в нативный интерфейс терминала — как приложения должны выглядеть и вести себя, чтобы кассир не замечал границы между «нашим» и «сторонним».

Илья Линник — руководитель проекта · Александр Дейков — дизайн и внедрение · Арсений Сафин, Андрей Кузнецов, Антон Неделько — разработка

Подключение устройств

Схема подключения устройств

К кассам подключают весы, сканеры штрихкодов, пинпады, дисплеи покупателя, денежные ящики. Каждое устройство со своим протоколом, драйверами и капризами. Техническая команда реализовала HAL — Hardware Abstraction Layer. Все устройства регистрируются в общем хранилище, разработчики сами пишут драйверы и публикуют их в магазине.

Моя задача — спрятать всю эту техническую сложность от владельца бизнеса. Я спроектировал UX и UI подключения так, чтобы машина сама разруливала конфликты и определяла тип устройства. Когда сканер или весы подключаются к кассе, система видит это и подсказывает, что нужно для начала работы. А если удаётся определить тип — делает всё автоматически. Я писал тексты интерфейса, рисовал иллюстрации и доводил решение до релиза, чтобы ни один аспект не потерялся по дороге.

Получился аналог plug-n-play для коммерческой экосистемы на Android. Механизм защитил от конкуренции за ресурсы кассы и от подделки фискальных чеков.

UI подключения устройств Список подключённых устройств
Илья Линник — руководитель проекта · Александр Дейков — дизайн и внедрение · Олег Мозговой — разработка

Старт работы

Экраны первичной настройки

Чтобы касса работала стабильно и собирала данные о продажах, нужен целый список условий: надёжный интернет, свежая ОС, правильные дата и время, исправный фискальный чип и модуль печати, регистрация в налоговой, аккаунт Эвотора. Клиент проходит эти шаги как по чеклисту.

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

Карта состояний системы инициализации

Эта карта помогла разработчикам спроектировать архитектуру, а мне — держать систему под контролем в будущем, когда появлялись новые модели устройств с новыми точками отказа. Я верстал прототипы, описывал краевые ситуации и поведение в нестандартных случаях. Времени на разработку всегда было мало, но я не давал команде скатываться в простые для реализации, но неудобные решения — всегда предлагал компромиссы, где пользователь не замечает недоделанности части сценариев. По сути — идеальная механика создания MVP.

Илья Линник — руководитель проекта · Александр Дейков — дизайн и внедрение · Олег Мозговой, Арсений Сафин, Владимир Дегтев, Антон Неделько, Алексей Фиалко — разработка

Оферта

Интерфейс оферты

Оферта — документ, который защищает клиента и нас в спорных ситуациях. Юристы пишут его в doc, но клиенты соглашаются на кассах и в браузере. Нужен механизм, который всегда показывает актуальную версию и выглядит опрятно на любой платформе.

Я придумал, что терминалы и веб будут показывать один и тот же HTML-документ, адаптированный под интерфейс кассы для удобного чтения. В URL хранится дата публикации, в конце — ссылка на предыдущую редакцию, а относительная ссылка всегда ведёт на свежую версию. Написал на Python скрипт конвертации doc → HTML с автоматической типографикой.

Александр Дейков — дизайн, вёрстка, скрипт конвертации · Владимир Петров — юрист

Отключение продукта «Свой магазин»

Когда Эвотор был концептом, его продавали как программу на планшете в комплекте с принтером чеков. Клиент подключал планшет к принтеру по Bluetooth, запускал программу и торговал. Но законы менялись постоянно, и поддерживать устаревший прототип параллельно с основными продуктами стало неподъёмно. Решили вывести его с рынка.

Я спроектировал весь процесс отключения: подготовил скрипты для поддержки и партнёров, описал интерфейс заглушки, согласовал условия с юристами. Мы предупредили клиентов, перевели часть на новые модели со скидкой, подключили колл-центр, мониторили претензии в течение месяца. Это не про дизайн экранов — это про проектирование процесса, в котором ни один клиент не чувствует себя брошенным.

Надежда Авданина — худрук · Александр Дейков — дизайн, текст, внедрение · Илья Линник, Андрей Кузнецов — разработка · Артём Горленко, Дмитрий Савельев — скрипты и обучение партнёров

Центр уведомлений

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

До 2016 года между нами и клиентами стояли ЦТО — центры технического обслуживания. Они устанавливали, чинили и настраивали кассы за деньги, зарабатывали на консультациях и были не заинтересованы в упрощении. Им было выгодно, чтобы всё оставалось сложным. Когда вышел закон, отменивший их монополию, мы начали строить прямые каналы общения с клиентами.

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

Александр Дейков — дизайн, внедрение · Наталья Киреева — редактура · Константин Довнар — разработка

Клонирование кассы

Кассы ломаются. Когда от поломки бизнес простаивает и теряет деньги, нужна максимально быстрая замена. Но есть жёсткое ограничение: фискальный накопитель намертво привязан к серийному номеру кассы. Подменная касса должна получить номер сломанной, при этом нужна защита от дублей и продуманный сценарий возврата из ремонта.

Для оператора весь процесс — заполнение онлайн-формы и перезагрузка. Вся сложность переложена на алгоритмы. Под капотом серийный номер старой кассы зашивается в новую, переносятся данные о продажах. В аналитике клиент видит прежнюю кассу со всеми продажами — без настроек и миграций.

Если старая касса возвращается из ремонта и выходит в онлайн, система распознаёт её, сбрасывает данные и присваивает новый номер. Кассу можно использовать как новую.

Илья Линник — идея, разработка на кассе · Александр Дейков — дизайн, внедрение · Юрий Волокитин — разработка на сервере

Характеристики товаров

Интерфейс характеристик товаров

Обувь, одежда, любой товар с большим ассортиментом — нужны атрибуты и гибкий контроль остатков по размеру и цвету. Клиент загружает сотню моделей обуви, у каждой 10 размеров и 5 цветов. Касса помогает кассиру за секунды найти нужный товар среди этого изобилия и подсказывает, сколько осталось на складе.

Илья Линник — руководитель проекта · Александр Дейков — дизайн, внедрение · Кирилл Хаустов, Владимир Дегтев, Константин Довнар — разработка

За кадром

Система обновлений. Новые способы оплаты. Автоматическое взвешивание товаров. Настройки, которые не требуют настройки. Резервное копирование. Адаптация интерфейса под разные модели устройств. Быстрая настройка кассы с компьютера. Дизайн новых моделей кассы. Перепродажа кассы без боли — и ещё пара сотен мелких, но не менее интересных задач, которые не поместились в этот рассказ.

Спасибо

Руководство: Илья Линник, Надежда Авданина

Дизайн: Александр Дейков

Разработка: Арсений Сафин, Андрей Кузнецов, Антон Неделько, Олег Мозговой, Владимир Дегтев, Алексей Фиалко, Константин Довнар, Юрий Волокитин, Кирилл Хаустов

Редактура: Наталья Киреева

Юрист: Владимир Петров

Партнёры: Артём Горленко, Дмитрий Савельев

Также: Александр Жалнин, Денис Михайлов, Александр Мартынов, Саша Волкова, Катя Будашкина