К нам обратились заказчики из Канады, которые решили запустить сервис для работы с PDF-файлами. Они хотели выйти на рынок с крутым продуктом как можно быстрее. Нас привлекли к проекту, чтобы ускорить процесс.
В этом кейсе расскажем, почему использовать готовые решения не проще, чем разрабатывать с нуля, как наладить эффективную коммуникацию при 12-часовой разнице во времени, и что делать, когда заказчики «стремятся к совершенству», а вы — к соблюдению всех дедлайнов.
Весной 2024 года к нам обратились заказчики из Канады. У ребят уже было несколько успешных проектов, и теперь они решили создать новый продукт: веб-сервис для работы с PDF-файлами.
Они хотели сделать веб-приложение, где можно не только редактировать пдфки, но и организовывать рабочее пространство для команд и отдельных пользователей. Как Google Drive, только вместо гугл-доков — PDF-файлы.
В этом сегменте довольно много решений — нашим заказчикам было на что ориентироваться. Главными референсами стали популярные редакторы вроде PDFSimpli и pdfFiller.
Продукт получил лаконичное и понятное название Files Editor. Всего в приложении более 30 инструментов для работы с PDF-файлами. Вот что в нем можно делать:
Бизнес-задача — в сжатые сроки вывести на рынок коммерческий продукт. Чтобы ускорить процесс, заказчики решили подключить внешнюю команду разработки. Этой командой стали мы, Purrweb.
У нас в портфолио был похожий проект — сервис для подписания электронных документов e-Signature Project. Так что ниша не была для нас абсолютно новой: мы хорошо понимали, как устроен редактор файлов и какая архитектура у него должна быть.
А чтобы не изобретать велосипед, заказчики предложили использовать для разработки редактора SDK — набор готовых инструментов и модулей. Это оправданное решение, когда нужно ускорить запуск и снизить затраты.
Мы должны были:
И уложиться в сроки 🙂 Когда мы только обсуждали проект, то оценивали разработку всех фичей в 8 месяцев. В итоге реализация заняла больше года: у заказчиков было много фидбека и крутых идей, как еще улучшить продукт. Мы назвали это «стремлением к совершенству». Чтобы все учесть, нам потребовалось больше времени, чем закладывали изначально.
Мы предупредили клиентов, что много обратной связи → дальше дата релиза. Они сказали, что все понимают, но сделать качественный продукт — это их приоритет. Однако сроки тоже важны. Так и балансируем 😀
Чтобы не терять темп, заказчики попросили усилить команду: в какой-то момент над проектом работали сразу 7 фронтенд-разработчиков! Хотя обычно мы подключаем максимум двух фронтов. Так мы смогли параллелить задачи и идти с нужной скоростью.
<div class="post_divider"></div>
Сроки (почти) всегда сдвигаются. Но Agile спасает
Дело в том, что многое в проекте становится понятным только во время разработки. Например, уточняются бизнес-требования. Заказчики могут изменить приоритеты, пересмотреть логику функциональности или добавить то, о чем сначала даже не думали.
И это абсолютно нормально при разработке цифровых продуктов. Мы работаем по Agile — разбиваем проект на короткие итерации (спринты), регулярно переоцениваем приоритеты и вносим изменения без переделки всего проекта с нуля. Мы не боимся правок — просто включаем их в следующий спринт и двигаемся дальше. Про Agile и другие подходы подробнее рассказывали в этой статье.
<div class="post_divider"></div>
Обычно, чтобы получить результат как можно быстрее, мы придерживаемся MVP-подхода: делаем продукт с ключевыми фичами, идем в релиз, потом дорабатываем его, опираясь на бэклог и обратную связь пользователей.
Но в рамках этого проекта пришлось искать другое решение: заказчики хотели выходить в релиз с полноценной платформой, где есть все фичи. Это было важно для монетизации сервиса: пользователей должен привлечь продвинутый PDF-редактор с широкими возможностями.
Разрабатывать все функции одновременно долго: команда утонет в задачах и не будет успевать деливерить результат. Как быть, что делать? Мы разбили всю разработку на четыре этапа — назвали их майлстоунами.
Этот подход выручает, когда работаем над сложными проектами с большим скоупом задач, а выкидывать или откладывать функции на потом не получается. В общем, едим слона по кусочкам 🐘 В данном случае — PDF-слона.
В рамках каждого майлстоуна мы разрабатывали несколько связанных фичей, так, чтобы получался готовый продукт. Релиз запланирован на четвертый майлстоун: сначала полируем функции и дорабатываем все нужное, а после будем развивать полезные, но не приоритетные функции.
Кстати, это не первый наш проект, когда мы разбиваем большую задачу на этапы и выкатываем функциональность постепенно. Например, когда мы создавали мобильное приложение We’re all winners, то разбили разработку фичей на четыре этапа. А еще усиливали команду, чтобы успеть к релизу.
Кстати, сейчас у приложения 130K активных пользователей. Подробнее о том, как мы его создавали, можно прочитать в этом кейсе.
Пройдемся по основным флоу Files Editor. В редакторе собраны все инструменты для легкой и быстрой работы с PDF-файлами. Их можно конвертировать в другие форматы и наоборот, редактировать страницы внутри файла. Позже появится возможность создавать шаблоны и ставить цифровую подпись.
В будущем заказчики хотят расширить функциональность, и тогда File Editor станет удобным пространством для совместной работы команд.
Пользователь попадает на домашнюю страницу с обзором основных возможностей продукта. Да, это классический лендинг — первая точка входа для нового пользователя. При этом мы создали четыре воронки для лендинга, три из них — с разными точками входа.
Пользователь может выбрать подходящий инструмент в модальном окне.
Так выглядит текстовый редактор. Все инструменты закреплены на панели задач. У сервиса интуитивно понятный пользовательский путь с типичными для таких программ паттернами. Чтобы скачать отредактированный файл, пользователю нужно нажать кнопку Done, и выбрать формат — PDF, PNG, JPEG, Word и другие. Для скачивания у пользователя должна быть оформлена подписка.
Неавторизованному пользователю предлагается указать почту или войти с помощью Google — тогда документ сохранится в «Моих файлах». Пользователю, у которого еще нет подписки, доступен пробный период на 14 дней с доступом ко всем функциям платформы.
После релиза мы продолжим развивать продукт и добавим новые возможности. Например, на платформе можно будет создавать организации для работы команды: добавлять участников и давать разные доступы к файлам.
Пользователи смогут создавать и настраивать разные рабочие пространства. Это удобно: файлы будут в порядке, а команды смогут работать отдельно, даже если они из одной компании.
Чтобы уже после того, как мы отдадим проект внутренней команде заказчика, его разработчикам было проще поддерживать продукт и добавлять новые фичи, мы собрали UI-kit — библиотеку дизайн-компонентов. Благодаря ей фронтенд-разработчикам не нужно будет каждый раз изобретать заново интерфейс.
Мы используем готовое решение от Apryse — это SDK для разработки текстовых редакторов и приложений, в которых важен флоу работы с электронными документами.
Конечно, сторонние компоненты помогают ускорить разработку, но не обходится без ограничений. Некоторые вещи не удается кастомизировать под требования заказчика — приходится искать компромиссы и адаптироваться к возможностям SDK.
Интеграция с крупной и активно развивающейся библиотекой вроде Apryse — это отдельный вызов. Компания работает с 1999 года, за это время у них накопилась огромная кодовая база и свои внутренние процессы. Чтобы встроить в продукт SDK, нам пришлось глубоко в него погрузиться и разобраться, как он устроен.
Во время разработки мы столкнулись с проблемой: встроенный режим «Edit PDF» загружался слишком долго. Чтобы не тормозить работу всей команды, мы предложили временное техническое решение и параллельно обратились в поддержку Apryse (к слову, за время проекта мы завели туда 24 тикета). Позже специалисты нашли причину, прислали фикс и тестовый билд — все заработало.
В таблице — все технологии и интеграции, которые мы использовали при разработке Files Editor.
Одним из главных вызовов на проекте стала разница во времени — целых 12 часов. Мы давно работаем с заказчиками из разных стран и умеем выстраивать асинхронную коммуникацию, но такая большая разница требует особого подхода. Кстати, в этой статье наш проектный менеджер поделилась лайфхаками: как работать с заказчиками из разных часовых поясов, выстроить эффективную коммуникацию и не сойти с ума 🙂
Выход был один — четкие договоренности. Мы заранее согласовали время созвонов, удобное для всех участников. Иногда это означало созвон в 8 утра у клиента и 8 вечера у нас 🙂 Плюс активно подключили текстовую коммуникацию: фиксировали ключевые решения письменно, чтобы все могли ознакомиться с ними в удобное время.
Бывали непростые моменты. Например, заказчики не всегда подробно объясняли, почему хотят реализовать ту или иную фичу именно так. Со своей стороны мы предлагали альтернативные решения, основанные на опыте и рыночных практиках. Команда заказчика всегда была готова нас выслушать, но чаще придерживалась своего видения — у них был четкий образ продукта, которому они хотели следовать максимально точно.
Тем не менее, мы нашли комфортный формат взаимодействия: совместно обсуждаем бизнес-логику и стратегию, ищем точки соприкосновения. Даже если реализуем не свое решение, то адаптируем его под проект: вписываем в общую систему, корректируем при необходимости и следим, чтобы оно работало эффективно и не ломало архитектуру.
Проект успешно вышел в релиз, и уже сейчас пользователям доступны основные инструменты для работы с PDF-файлами. Мы продолжаем развивать продукт: в пост-релизном этапе фокус на шеринге файлов, совместной работе команд и создании организаций.
Заказчику нравится с нами работать и они настроены на то, чтобы продолжить сотрудничество и совершенствовать Files Editor вместе с нами. Внутри проекта сложилась сильная, сплоченная команда: ребята поддерживают друг друга, открыто обсуждают задачи и вместе создают продуктивную рабочую атмосферу.
➡️ Помогаем создавать цифровые продукты с продуманной функциональностью, сильным UI/UX и базой для масштабирования. Мы много работали со стартапами и знаем, как запускать решения быстро и качественно — даже при ограниченном бюджете и высокой неопределенности.
Теперь этот опыт мы предлагаем корпорациям и крупным игрокам: поможем протестировать гипотезы и вывести новый продукт на рынок в сжатые сроки.
Есть задача? Расскажите нам, что хотите запустить — мы свяжемся с вами, оценим идею, прикинем сроки и бюджет. А если нужно, вместе поможем ей дорасти до продукта.
Кастомная разработка полного цикла. Берем на себя весь процесс: проектируем дизайн, разрабатываем, тестируем, поможем с релизом или передадим проект и документацию вашей инхаус-команде.
Более 10 лет опыта. Мы создаем IT-продукты для бизнеса и стартапов уже больше десяти лет. Реализовали 550+ проектов в самых разных сферах: IoT, EdTech, маркетплейсы, дейтинг-приложения и многое другое.
Современные технологии. Работаем с актуальным технологическим стеком, чтобы воплощать в жизнь самые сложные и продвинутые функции. Наши решения легко масштабировать, обновлять и поддерживать.