От костылей до патентов: наш путь в дизайне KasperskyOS Mobile. kaspersky.. kaspersky. kasperskyos.. kaspersky. kasperskyos. ui.. kaspersky. kasperskyos. ui. ux.. kaspersky. kasperskyos. ui. ux. Блог компании «Лаборатория Касперского».. kaspersky. kasperskyos. ui. ux. Блог компании «Лаборатория Касперского». Графический дизайн.. kaspersky. kasperskyos. ui. ux. Блог компании «Лаборатория Касперского». Графический дизайн. Дизайн.. kaspersky. kasperskyos. ui. ux. Блог компании «Лаборатория Касперского». Графический дизайн. Дизайн. Дизайн мобильных приложений.. kaspersky. kasperskyos. ui. ux. Блог компании «Лаборатория Касперского». Графический дизайн. Дизайн. Дизайн мобильных приложений. дизайн-система.. kaspersky. kasperskyos. ui. ux. Блог компании «Лаборатория Касперского». Графический дизайн. Дизайн. Дизайн мобильных приложений. дизайн-система. операционная система.

Я Никита Черемисинов, руководитель продуктового дизайна микроядерной операционной системы KasperskyOS, изначально безопасной на уровне архитектуры, «по дефолту». Моя команда отвечает за весь пользовательский слой системы: от пикселя и виброотклика — до системных сценариев, дизайн-системы и базовых приложений. Если это видно, слышно, ощущается или в целом влияет на опыт работы с KasperskyOS — UI/UX это наша зона ответственности.

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

И вот уже несколько лет мы с командой проектируем интерфейсы для этой ОС. И если кому-то кажется, что «ну подумаешь, еще одна оболочка Android», — спешим разочаровать: это совсем другая лига. Разрабатывать интерфейсы для KasperskyOS — это не просто нарисовать набор базовых приложений от SMS до галереи. Это как делать ремонт, начиная с фундамента, а не с обоев. И в этой статье я расскажу о нюансах нашей задачи и о пути, по которому мы пошли.

От костылей до патентов: наш путь в дизайне KasperskyOS Mobile - 1

UI как часть архитектуры, а не «кожа поверх системы»

Если вы создаете интерфейсы под iOS или Android, у вас уже есть почти все: готовые компоненты, понятные гайдлайны, жесты, анимации, API. Эти системы за годы существования накопили целую экосистему решений, которые делают интерфейсы живыми буквально из коробки. Хотите добавить легкий виброотклик на нажатие? В SwiftUI просто указываете код 1256. Нужна плавная анимация появления элемента? Задаете длительность, и система сама просчитает движение. Даже скролл, который в iOS упруго отскакивает в конце, или мягкая тень под карточкой в Android — все это готово, продумано, оптимизировано.

А теперь представьте, что всего этого нет вообще. Нет системных API, нет стандартных жестов, нет даже драйверов для виброотклика. Если нам нужно, чтобы устройство слегка завибрировало при действии — нам сначала нужно… написать сам драйвер вибромотора.

И так во всем. Хотите реализовать свайп по элементу списка? В Android это готовая функция. В KasperskyOS — целый проект: нужно придумать механику, задать скорость и физику движения, определить логику реакции, протестировать на разных устройствах.

Каждое взаимодействие, которое в других системах существует по умолчанию, у нас превращается в исследование и инженерную задачу. Это уже не просто UI-дизайн. Это инженерия поведения.

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

Такой подход формирует у дизайнеров особое мышление. Мы сразу смотрим глубже: а это возможно архитектурно? Как поведет себя система при ошибке? Можно ли масштабировать этот паттерн? В общем, это другой уровень ответственности — и интереса.

Первые шаги: жизнь на одном CPU

Любое современное устройство работает на двух «мозгах»:

  • CPU (central processing unit) — отвечает за расчеты, логику и обработку данных;

  • GPU (graphics processing unit) — за графику, визуальные эффекты и анимацию.

В Android и iOS разработчики даже не задумываются, где там GPU, — все уже оптимизировано. Например, когда вы открываете карту и приближаете участок двумя пальцами — расчет координат, маршрутов и данных о трафике выполняет CPU, а плавное масштабирование, прорисовка улиц и движение меток происходят благодаря GPU. Или, скажем, в приложении «Камера»: CPU обрабатывает автофокус, экспозицию и сохранение снимка, а GPU отвечает за все, что вы видите в реальном времени, — тени, цветокоррекцию, плавность предпросмотра. В обычной мобильной системе взаимодействие этих «двух полушарий» отлажено до мелочей, все работает синхронно и незаметно.

А у нас… долгое время GPU просто не было. Да-да, весь UI работал только на CPU. Причина проста: бизнес-задачи были другими. Сначала нужно было, чтобы телефон звонил, подключался к сети, передавал данные — в общем, было не до красоты. GPU — это дорого, и, чтобы его «включить», нужно проделать большой пласт работ.

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

Как мы обходили отсутствие эффектов

Привычные для любого интерфейса вещи — блюр, скругления, тени, анимации — для нас долгое время были просто невозможны. Мы плакали, когда вышел iOS 26 с их «жидким стеклом» :) У нас ни одна библиотека этого не поддерживала: ни системных эффектов, ни аппаратного ускорения.

  • Вместо блюра — заранее подготовленные изображения PNG, уже размытые вручную. В интерфейсе они просто подменялись, создавая иллюзию прозрачности. Иногда приходилось делать десятки вариантов под разные фоны, чтобы «подмена» была незаметна.

  • Скругления — не свойство компонента, а вставленный SVG-контур, идеально подогнанный по пикселям. Если менялся масштаб интерфейса — все приходилось подгонять заново.

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

От костылей до патентов: наш путь в дизайне KasperskyOS Mobile - 2

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

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

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

В итоге мы вместе с архитектурной командой переписали механизм работы статус-бара. Фактически создали его заново как самостоятельный системный модуль, который мог читать фон приложения и подстраиваться под него. На это ушли месяцы экспериментов, десятки тестов и с десяток невидимых итераций. Но когда все заработало — это был маленький праздник. С тех пор для нас статус-бар стал символом победы над ограничениями: доказательством того, что даже самые базовые вещи можно переосмыслить и сделать своими руками, если у тебя нет ничего «из коробки».

Когда даже скролл — отдельная наука

В iOS вы тянете список, чувствуете легкий отклик, как будто он «на резинке». Это естественно. А у нас сначала скролл ощущался, как будто вы крутите старый ржавый штурвал — без плавности, без инерции.

Мы буквально изучали, как Apple делает свои скроллы: анализировали SDK, считали время замедления, тестировали на разных сенсорах. И проектировали свой — с «маслом» и упругостью. Даже тут дизайнеры участвовали наравне с разработчиками, просчитывая физику движения.

Принципы нашей дизайн-системы

Телефон на KasperskyOS — это не устройство для лайков и сторис. Это инструмент для работы. Им будут пользоваться сотрудники предприятий — в холоде, жаре, воде, в перчатках на руках. Один — держится за опору, другой — рукой снимает объект, третий — зубами держит отвертку. И в этот момент интерфейс должен помогать, а не мешать.

Чтобы создать именно такой, мы проводим постоянные исследования. Мы не придумываем сценарии из головы — мы ездим на площадки, разговариваем с реальными пользователями, наблюдаем, как они работают. Кто-то показывает, как набирает номер, стоя по колено в воде; кто-то жалуется, что кнопки слишком мелкие для рабочих перчаток; кто-то рассказывает, что яркое солнце на открытой площадке делает экран нечитаемым.

От костылей до патентов: наш путь в дизайне KasperskyOS Mobile - 3

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

Вот наши принципы.

  • Увеличенные элементы. Кнопки и списки масштабированы в 1,5 раза, чтобы ими можно было пользоваться даже в перчатках.

  • Образы реального мира. Тумблеры и переключатели похожи на промышленные — это не мода, а привычная форма для инженера.

  • Цвета, как светофор. Красный, желтый, зеленый — никаких «брендовых» сложных оттенков, все читается интуитивно.

  • Навигация внизу экрана. Чтобы не тянуться. Мы сделали это еще до того, как Apple перенесла строку поиска Safari вниз :)

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

Когда в систему пришел GPU: как мы научили интерфейс «дышать»

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

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

Шаг 1. Анимация в «междуэкраниях»

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

  • разблокировка экрана;

  • экран запуска (launch screen);

  • переход между приложениями;

  • появление рабочего стола.

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

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

Шаг 2. Архитектурные барьеры

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

Чтобы решить это, инженеры переписали композитор — системный слой, отвечающий за отрисовку экранов. Это огромная работа. Кому интересны подробности, можете посмотреть доклад с CrossConf на эту тему нашего старшего разработчика Александра Корнилова.

И вот тогда интерфейс впервые стал дышать.

От костылей до патентов: наш путь в дизайне KasperskyOS Mobile - 4

Шаг 3. Приложение GPU — наша внутренняя «лаборатория эффектов»

Когда базовые сценарии заработали, мы задумали создать отдельное приложение — GPU Lab. По сути, это тестовая библиотека эффектов, витрина с примерами, где можно было вручную настраивать параметры и проверять, как это ведет себя на реальном железе.

Внутри были десятки шаблонов:

  • переключатели, карточки, свайпы, карусели;

  • настройки градиентов, насыщенности, скоростей скролла;

  • эксперименты с блюром и тенями;

  • сложные SVG-анимации, созданные на базе легких векторных спрайтов.

Мы тестировали каждый эффект: как он влияет на производительность, его энергопотребление, плавность. Фактически, это была внутренняя «песочница», где мы учились управлять GPU, прежде чем внедрять эффекты в реальные продукты.

Эта практика дала колоссальный результат: теперь мы точно знаем, какие эффекты живут без ущерба системе, и можем внедрять их в дизайн-систему. Как мы шутим в команде — теперь наш «швейцарский дизайн будет посыпан сахарком».

Шаг 4. Когда даже статус-бар ожил

Ну и, конечно, мы не могли пройти мимо статус-бара — ведь он виден всегда, на каждом экране. Мы оживили и его тоже:

  • индикатор сети теперь плавно появляется и исчезает;

  • при свернутом звонке зеленый «пузырек» с трубкой мягко пульсирует;

  • секундомер стал метафорой реальных часов — стрелка двигается с естественным ритмом;

  • «самолетик» при включении режима полета не просто меняет иконку, а мягко уходит за экран, будто взлетая.

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

От костылей до патентов: наш путь в дизайне KasperskyOS Mobile - 5

Дальше — масштабирование

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

Системные сценарии, о которых обычно не думают

Как вы уже поняли, портфель дизайнера KasperskyOS Mobile богат и динамичен. Помимо пользовательских приложений, у нас есть огромное количество системных сценариев, которые живут вне привычных границ аппсов.

От костылей до патентов: наш путь в дизайне KasperskyOS Mobile - 6

Это клавиатура, запуск устройства, экран включения и выключения, установка системы, а также целый набор дефолтных приложений — «Звонки», «Контакты», «Камера», «Календарь» и еще около двадцати других. Каждое из них развивается как самостоятельный продукт со своими функциями, обновлениями и пользовательскими сценариями. И все эти элементы — не «дополнения», а части одной экосистемы, где все должно быть согласовано по визуальному языку, логике и поведению.

Вызовы и неожиданные сценарии

Для дизайнера вызовы — это отдельная вселенная. Например, мы даже разработали собственный клиент Telegram (привет Паше Дурову 😊). И вы можете представить, какой это объем работы: сотни экранов и сценариев взаимодействия.

Сначала мы выпустили MVP-версию, поддерживавшую только текстовые сообщения. Но люди ведь обмениваются не только текстом, они пересылают фотографии, видео, голосовые сообщения, документы… А наша система тогда просто не умела это отображать.

Мы нашли изящный выход: сделали «смягчающие» сообщения — нейтральные баблы с текстом вроде «Пока не поддерживается отображение медиа 😊». Показать, что мы видим наши точки роста.

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

Эволюция камеры

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

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

Телефонные вызовы: больше чем кажется

Приложение «Звонки» тоже оказалось настоящим испытанием. Для обычного пользователя это просто списки входящих, исходящих и пропущенных вызовов. Для нас — целая архитектура:

  • экспорт и импорт контактов с SIM-карты;

  • поддержка нескольких SIM одновременно;

  • переключение между ними;

  • сохранение контактов в память телефона;

  • антиспам, черные списки, группировка по департаментам внутри компании.

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

Когда баги становятся частью жизни

Разработка системы — это не только фичи, но и постоянные «пожары». Каждый день прилетают новые баги, которые нужно тушить:

  • Bug 9028414: [M11] Камера — зависает при открытии вместе с браузером.

  • Bug 9032102: Вспышка не работает при отключенной зарядке.

  • Bug 9032322: [T1] Подтормаживание при перелистывании экранов в лаунчере.

  • Bug 9032102: [T1] Задержка реакции ползунков в быстрых настройках.

Все эти мелочи могут рушить впечатление от интерфейса. Поэтому дизайнеры постоянно участвуют в приоритизации и помогают командам зашить UX-проблемы на корневом уровне.

От костылей до патентов: наш путь в дизайне KasperskyOS Mobile - 7

Работа с железом: тесты, чипы и парк устройств

У нас целый парк устройств — тестовых и серийных, на которых мы проверяем работу ОС. Каждое устройство имеет свои особенности:

  • камера может быть по центру или сбоку — значит, нужно адаптировать статус-бар;

  • один чипсет тянет анимации, другой — ломает их;

  • где-то работает GPU, где-то его нет.

Внутри Figma у нас даже есть архив версий:

  • «Приложение Файлы — с GPU (устройство 1)»

  • «Приложение Файлы — без GPU (устройство 2)»

Кроме того, у нас разные ветки релизов: стабильные, технические, промежуточные. Каждая со своим набором приложений и фич, и все это нужно синхронизировать. Мы ведем мастер-файлы, где собирается полная карта интерфейсов — своего рода «геном системы».

Секретное приложение для диагностики

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

Так вот, мы создавали аналогичное приложение для KasperskyOS. Это инструмент для тестирования оборудования на сборочной линии: проверка сенсоров, микрофона, батареи, точности тачскрина. Есть даже режим, где нужно «прокликать» определенные точки экрана — почти как игра «Змейка», только со смыслом.

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

Наш внутренний «инженерный зоопарк»

А еще у нас в офисе — целый инженерный полигон:

  • бронированный ящик для тестов перегрева батарей;

  • станция, которая симулирует все виды Интернета в мире;

  • механические пальцы, которые имитируют свайпы и нажатия;

  • стенд с десятками устройств, которые работают одновременно.

Это выглядит как лаборатория будущего — шум, тесты, графики, прототипы, запах пластика и кофе. И все ради того, чтобы интерфейсы KasperskyOS оставались надежными, стабильными и при этом живыми.

Уникальность и патент. Креативность под давлением инженерии

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

От костылей до патентов: наш путь в дизайне KasperskyOS Mobile - 8

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

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

После подготовки мы презентуем концепты всей компании — в том числе топ-менеджменту. Так мы показываем вектор развития продукта и вдохновляем другие команды. Часть идей потом «откусываем» и реализуем уже в ближайших релизах — эволюция в действии.

В прошлом году наши проекты получили первое место в Workspace Design Awards в категории «Мобильные приложения для корпоративного сектора». Кроме того, несколько решений уже запатентованы в Роспатенте, а еще три заявки сейчас проходят проверку.

Каждый такой результат — не просто отметка в портфолио, а подтверждение: даже внутри строго регламентированной инженерной среды можно быть креативными, если знаешь, зачем это бизнесу и пользователю.

Смотрим вперед

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

Но мы сознательно идем другим путем. Мы не копируем — мы исследуем и адаптируем, создавая свой язык, но сохраняя знакомые принципы взаимодействия, чтобы пользователю было комфортно. Это и есть суть дизайна KasperskyOS — уникальность без отрыва от реальности.

Этапы пути

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

  1. Сначала — стабильность и CPU. Мы учились запускать систему и строить фундамент.

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

  3. Теперь — GPU, анимации, микроинтеракции. Интерфейс оживает, система становится человечной.

  4. Впереди — оптимизация и масштабирование. Наша цель — сделать KasperskyOS не просто безопасной, а эмоционально приятной и естественной в использовании.

Финал: дизайн как инженерия эмоций

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

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

И самое главное — за всем этим стоит команда, которая верит: даже в мире, где все уже придумано, всегда можно придумать что-то заново.

Автор: nikitadizer

Источник

Rambler's Top100