DOU Labs: як в KeepSolid створили додаток для електронного підпису документів

У рубриці DOU Labs ми запрошуємо IT-компанії ділитися досвідом власних цікавих розробок і внутрішніх технологічних ініціатив. Питання і заявки на участь надсилайте на [email protected] .

Привіт! Мене звати Андрій, я — 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++. В його задачі входить:

Далі вже з ним спілкуються клієнти під 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 буде важливою ланкою у виконанні бізнес-завдань. Ми будемо продовжувати вдосконалювати додаток згідно з побажаннями користувачів і потребам ринку.

Опубліковано: 15/01/19 @ 11:00
Розділ Різне

Рекомендуємо:

Що таке Implementation Plan, або Як планувати реалізацію при розробці
AI & ML дайджест #9: Data Science Survey, ключові тренди 2019 року, кращі статті топових конференцій
Navigaton with less pain. Рішення для Android
Як налаштувати Jira для управління бэклогом: покрокова інструкція
Рейтинг роботодавців 2018: аналізуємо оцінки