×Закрыть

DOU Labs: как в KeepSolid создали приложение для электронной подписи документов

В рубрике DOU Labs мы приглашаем IT-компании делиться опытом собственных интересных разработок и внутренних технологических инициатив. Вопросы и заявки на участие присылайте на editors@dou.ua.

Привет! Меня зовут Андрей, я — Product Manager в KeepSolid. Сегодня расскажу об одном из наших приложений для бизнеса, которое позволяет подписывать документы в электронном виде. Это освобождает специалистов и собственников бизнеса от устаревшей процедуры «распечатать-подписать-отсканировать-отправить» и значительно экономит время.

Идея

До появления идеи KeepSolid Sign мы выпустили несколько достаточно успешных продуктов, в том числе и VPN Unlimited. Это было совершенно новой областью знаний — технические законы перестают действовать, когда работаешь не с компьютерами, а с людьми.

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

И вот, спустя несколько лет, ряд критических ошибок управления и $400 000+ на разработку, мы создали KeepSolid Sign — приложение для электронного подписания документов. За время разработки продукта мы больше четырех раз меняли только название. Еще больше раз — команду и, соответственно, код.

Реализация

Когда только появилась идея приложения для электронной подписи в 2017 году, мы быстро проанализировали рынок и поняли, что количество игроков не столь велико. Но есть несколько очень крупных, бороться с которыми стартапу без инвестиций не представляется возможным. Мы выбрали стратегию удобного продукта с понятной монетизацией и максимально быстрым достижением ожидаемого результата. Сначала мы выпустили бесплатную бета-версию, работа над которой заняла у нас полтора месяца, и собрали пользовательский фидбэк.

Благодаря бете мы получили много инсайтов о том, как пользователи подписывают и работают с документами. Например, более 30% компаний-участников в развитых странах все еще печатают, подписывают и сканируют документы. Хотя это во многом зависит от индустрии и законодательного регулирования на уровне штата и государства. Процент использования электронных подписей в США и Великобритании выше, чем, например, в Польше.

Более того, пользователи помогли нам определиться, что стоит протестировать в качестве основного УТП — кроссплатформенность продукта, которая влияет на скорость приложений и позволяет работать с документами в офлайне.

Через несколько месяцев мы выпустили платный релиз с триалом в 14 дней на всех популярных платформах (Mac OS, Windows, iOS, Android, Web). Все данные пользователя автоматически синхронизируются между платформами, ограничения на количество устройств нет. За внешней простотой продукта скрываются весьма сложные алгоритмы шифрования данных, передачи между устройствами и серверами, десяток языков программирования и еще больше используемых технологий.

И, конечно же, менеджмент. Как молодой стартап, мы в полной мере прошли на практике обучение методам управления командами, познакомились со всеми проявлениями межличностных отношений, узнали, что такое вовлеченность команды. За это время мы были вынуждены два раза менять состав команды, подбирая тех специалистов, кому интересно делать продукт и кто стремится к результату. Сейчас в команде KeepSolid Sign 14 человек: iOS, Android, mac и С++ разработчики, три Web (frontend & backend) разработчика, два тестировщика, sales manager, маркетолог и выделенный под продукт customer support manager. Руководят командой опытные Project Manager и Product Manager.

Команда KeepSolid Sign

Как устроена архитектура продукта

Так как у нас есть приложение на все основные платформы, базой всех клиентов является Kernel. Это ядро содержит основную бизнес-логику и написано на C++. В его задачи входит:

  • общение с RPC-сервером;
  • работа с локальной БД;
  • криптография;
  • работа с PDF-файлами.

Далее уже с ним общаются клиенты под MacOS, Windows, iOS и Android.

Общение с сервером состоит из передачи событий. Когда у пользователя пропадает интернет, все события хранятся на стороне клиента до появления интернет-соединения, после чего отправляются на сервер. Также сервер в real-time режиме присылает события, полученные от других клиентов. Сами документы хранятся разрозненно на разных серверах, в целях безопасности. Для структурирования данных, передаваемых RPC серверу, используется технология Protocol Buffers.

Полноценный веб-клиент появился позже всех, поэтому для создания веб-приложения пришлось портировать примерно 80% возможностей Kernel на JavaScript. В основном это бизнес-логика и алгоритмы шифрования. Для общения с RPC-сервером через Protocol Buffers веб-приложение использует прослойку на Node.js.

Офлайн-режим также работает в веб-приложении. Для кеширования статики используются Service Worker-ы, для хранения данных пользователя (в том числе и файлов) используется IndexedDB.

Но есть и функции, которые реализуются только на стороне сервера, например — рендеринг истории документа в PDF-формате. В этом нам помогает Headless Chrome.

Чем отличаемся от конкурентов

Поскольку KeepSolid Sign — это мультиплатформенное приложение, оно позволяет пользователям работать с документами на любом устройстве, как в офисе, так и в дороге, и даже без подключения к интернету. Офлайн-режим позволяет получать документы, подготовленные к подписи: добавлять аннотации, назначать получателей. Более того, пользователи могут даже нажать кнопку отправки в офлайн-режиме. Документ будет отправлен в тот момент, когда будет доступно подключение к интернету.

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

Какие компании используют электронную подпись чаще всего

В настоящее время основной акцент KeepSolid Sign направлен на частных предпринимателей и предприятия малого и среднего бизнеса. Это люди, которым нужно часто подписывать документы, — ежедневно или еженедельно, иногда и в офлайн-режиме. Очень удобно, когда прямо в смартфоне есть специальное приложение для подписи.

Полнофункциональное кроссплатформенное приложение формирует тип пользователей для продукта. Например, многие наши клиенты скачивают приложение в Mac App Store. В основном это фрилансеры, предприниматели и небольшие команды, которые используют приложения для себя лично. Им важна простота и гибкость использования приложения. Когда мы говорим о пользователях Windows, это команды внутри больших компаний и организаций, где наше решение используют разные отделы и с его помощью подписывают как внутренние, так и внешние документы. Для этой категории пользователей важна возможность интеграции с другими продуктами и адаптация к внутренним процессам.

Нашими клиентами также являются консалтинговые компании, маркетинговые агентства, отделы продаж, специалисты по персоналу, риэлторы, агенты по недвижимости и даже пасторы церкви.

Результаты и актуальные фичи

Мы очень внимательно относимся к отзывам и пожеланиям наших пользователей. Поэтому основные драйверы изменений в продукте — наши клиенты и сама индустрия. При этом мы по-прежнему стараемся выдержать баланс и не делать наш продукт слишком сложным. Например, одна из последних фич, которые нас просили добавить, — это возможность подписать документы на устройстве пользователя, если человек который должен оставить подпись, находится рядом. Так у нас появилась функция In-Person Signing.

Пользователям, работающим с большим количеством документов, необходимо было отслеживать историю документов непосредственно внутри нашего приложения. Для них мы добавили функцию Audit Trail, которая дает возможность отслеживать историю работы с конкретным документом и отображает действия (т. н. логи) всех участников до того, как документ переходит в статус Completed.

Мы сделали workflow нашего приложения более гибким, чтобы он подходил к разным сценариям подписания документа. Например, когда вам нужно поставить подпись на документе не первым, а после того, как его подпишут другие участники процесса. По просьбам наших пользователей мы расширили и возможность работы с Google Docs. Теперь можно легко загружать и подписывать различные типы документов в Docs, Sheets или Slides. Чем шире география пользователей, тем шире становится список сторонних сервисов, популярных в различных регионах. Например, в последнем релизе был добавлен облачный сервис pcloud, который уже доступен для мобильных платформ iOS и Android.

Учитывая, что большее количество наших пользователей используют устройства Apple, то и в продукте появляются возможности, которые максимально используют функциональность линейки продуктов Apple. Мы первыми на рынке добавили поддержку Apple Watch. Также в нашем приложении используется функция 3D Touch, что добавляет удобства для пользователей.

Если говорить о будущем, то мы стремимся занять существенную долю рынка, где KeepSolid Sign будет важным звеном в выполнении бизнес-задач. Мы будем продолжать совершенствовать приложение согласно пожеланиям пользователей и потребностям рынка.

LinkedIn

17 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Как тот кто связан с темой ЕЦП, скажу что все это фигня, где перечень поддержываемых АЦСК?, Стандартов криптографии?, НКИ тех же SecureToken-337? Такие программные продукти нуждается в обязательной сертификации в определенных госсорганах. И наконец почему нету не слова о безопасности?

почему нету не слова о безопасности?

Тому що мета таких статей — пропіарити неодноразово зашкварену галєру, а не просвіщати, панімаєшь, Мєнтальних Рабов Аутсорса ©(тм)

Цель таких статей — поделиться опытом

В продукте поддерживается Электронная подпись, НЕ цифровая (о чем конкретно сказано). Простая электронная подпись имеет одинаковый статус с собственноручной подписью при условии наличия договоренности между сторонами об использовании электронной подписи в целом ряде стран: Канада, США, Австралия и т.д. Такие продукты НЕ нуждаются в обязательной сертификации и не попадают под спец.требования госорганов

с другой стороны правительства многих стран только начали обсуждать вопрос легальности ЭЦП

Здесь именно ЭЦП. Будьте внимательны. Акцентируйте сразу внимание на то, что у вас ЭП а не ЭЦП.

Да ладно!!! Смотрим, что об этом думает АЦСК Украина uakey.com.ua/index.php?num_text=7362

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

а еще эту «договорённость» в суд можно понести без ЭЦП или мокрой подписи. Статью не читал, но настроение поднялось

С одной стороны это хорошо поддерживало устоявшуюся тенденцию экономить бумагу и беречь лес, а с другой стороны правительства многих стран только начали обсуждать вопрос легальности ЭЦП.

Это каких стран то? Африка-Океания? Простите, но в Украине сие давненько уже, лет десять, а на сейчас так мы довольно лидирующие (электронные кабинеты, отчетность в гос органы и т.п.)

У вас что есть контейнер для подписи и сертификата? Какие алгоритмы и форматы поддерживаются?

В материале приведены кейсы — риэлторские компании, колл центры, даже игровой бизнес. Речь идет о странах с либеральным законодательством регулирования ЭП: Штаты, Канада, Н.Зеландия, Австралия и т.д. Мы поддерживаем контакт с Державним агентством з питань електронного урядування України (eGovernanceUkraine), конкретно этот продукт ориентирован на коммерцию.

О б-г, автор пытался прочитать по порядку факты со второй картинки, так как он(а) задумывал(а)? Зигзагом!

Это для работы с гопсударством или с контрагентами? Если с контрагентами — их тоже надо будет подсадить на ваш продукт чтоб с ними работать? Если дело дойдёт до суда и контрагент заявит что «небыло ничего, ничего не было ©» ваша ЭЦП имеет какую-то силу? И в какой юрисдикции? Или всё просто пока есть взаимное согласие?
Т.е. вы просто подписываете PDF’ки и как-то умудрились на это выбить $400k+? Где вы таких лоинвесторов выпасаете? Вот уж поистину «смелость» — второе счастье.
Более того: вы несколько раз меняли команду чтоб заделиверить просто подпись PDF’ок с web-мордой? И эти лоинвесторы не потребовали свои деньги обратно?
Да, это таки саксесс стори. Зависть-зависть.

А як у кіпсолід пройшли свята? З овертаймами, чи без?

Статью не читал. Зашел ради этого коммента!

зробіть snap чи flatpack пакет для лінукса.

Кипсолид, почему ваш директор перестал писать феерические статьи?

Ну хз, на мой взгляд это довольно феерическая.

>>в 2017 году
>>И вот, спустя несколько лет

Хм, ну допустим. Учитывая то, что выработаете в праздники и выходные у вас год за три.

>>бороться с которыми стартапу без инвестиций
>>$400 000+ на разработку

Первый вариант сообщали кандидатам в команду, а второй в маркетинговых материалах?

>>ряд критических ошибок управления
>>Руководят командой опытные Project Manager и Product Manager.

Этопабеда!

А в целом статья как за «несколько лет» и «$400 000+ на разработку» выплюнуть аппу с чуть более чем тысячей установок на ведройдах и зашквариться с фейкавыми отзывами на продуктханте www.producthunt.com/...​ts/keepsolid-sign/reviews

Подписаться на комментарии