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

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. Поэтому мы сознательно перешли к плоскому, строгому стилю, где все строится на контрасте, типографике и выверенных пропорциях.

И вот так, постепенно минимализм стал не модным приемом, а вынужденной философией. Мы выработали визуальный язык, в котором каждая деталь имеет смысл и ничего нельзя «добавить для красоты», — потому что каждая лишняя деталь бьет по производительности. Получился «швейцарский дизайн» — строгий, функциональный, с хирургической точностью, но при этом визуально чистый и легкий.
Особенно мучил статус-бар — верхняя строка с часами, батареей и иконками связи.
В Android и iOS он умеет менять цвет под фон приложения, становиться прозрачным или полупрозрачным, подстраиваясь под контент. Это мелочь, которую пользователь почти не замечает, но именно она создает ощущение цельности интерфейса. А у нас — только два состояния: белый или черный. Все. И как бы красиво ни выглядел экран, сверху навсегда оставалась эта черная полоса, словно кусок из другой системы. Она визуально ломала весь ритм и воспринималась как баг — даже если все остальное работало идеально.
Для дизайнера это был постоянный укол в глаз: ты рисуешь, тестируешь, смотришь прототип — и видишь, как твой экран обрезает чужая планка. Мы долго искали обходные пути: пробовали визуально смешивать цвета, добавлять переходы, рисовать псевдо-градиенты, подгонять пиксели вручную — но все это выглядело, мягко говоря, неэстетично.
В итоге мы вместе с архитектурной командой переписали механизм работы статус-бара. Фактически создали его заново как самостоятельный системный модуль, который мог читать фон приложения и подстраиваться под него. На это ушли месяцы экспериментов, десятки тестов и с десяток невидимых итераций. Но когда все заработало — это был маленький праздник. С тех пор для нас статус-бар стал символом победы над ограничениями: доказательством того, что даже самые базовые вещи можно переосмыслить и сделать своими руками, если у тебя нет ничего «из коробки».
Когда даже скролл — отдельная наука
В iOS вы тянете список, чувствуете легкий отклик, как будто он «на резинке». Это естественно. А у нас сначала скролл ощущался, как будто вы крутите старый ржавый штурвал — без плавности, без инерции.
Мы буквально изучали, как Apple делает свои скроллы: анализировали SDK, считали время замедления, тестировали на разных сенсорах. И проектировали свой — с «маслом» и упругостью. Даже тут дизайнеры участвовали наравне с разработчиками, просчитывая физику движения.
Принципы нашей дизайн-системы
Телефон на KasperskyOS — это не устройство для лайков и сторис. Это инструмент для работы. Им будут пользоваться сотрудники предприятий — в холоде, жаре, воде, в перчатках на руках. Один — держится за опору, другой — рукой снимает объект, третий — зубами держит отвертку. И в этот момент интерфейс должен помогать, а не мешать.
Чтобы создать именно такой, мы проводим постоянные исследования. Мы не придумываем сценарии из головы — мы ездим на площадки, разговариваем с реальными пользователями, наблюдаем, как они работают. Кто-то показывает, как набирает номер, стоя по колено в воде; кто-то жалуется, что кнопки слишком мелкие для рабочих перчаток; кто-то рассказывает, что яркое солнце на открытой площадке делает экран нечитаемым.

Из этих историй рождаются гипотезы, которые мы проверяем на прототипах. Если решение работает — оно перестает быть просто локальной находкой. Мы превращаем его в принцип, который масштабируется на всю систему интерфейсов KasperskyOS. Так рождаются стандарты, которые потом становятся основой для всех продуктов.
Вот наши принципы.
Увеличенные элементы. Кнопки и списки масштабированы в 1,5 раза, чтобы ими можно было пользоваться даже в перчатках.
Образы реального мира. Тумблеры и переключатели похожи на промышленные — это не мода, а привычная форма для инженера.
Цвета, как светофор. Красный, желтый, зеленый — никаких «брендовых» сложных оттенков, все читается интуитивно.
Навигация внизу экрана. Чтобы не тянуться. Мы сделали это еще до того, как Apple перенесла строку поиска Safari вниз :)
Наши дизайнеры не просто рисуют компоненты — они пишут код, создают и тестируют паттерны взаимодействия. А чтобы ускорить рутину, мы активно используем нейросети: где-то для генерации паттернов, где-то для визуального анализа сценариев.
Когда в систему пришел GPU: как мы научили интерфейс «дышать»
К внедрению GPU мы тщательно готовились. Никакой спонтанности, только тщательно проработанные концепты. Мы заранее продумали, как именно оживет интерфейс, какие эффекты при этом появятся, как они должны ощущаться и в каких сценариях будут полезны, а не просто декоративны.
Но, конечно, на практике все оказалось не так просто. GPU — это не волшебная кнопка. Чтобы начать использовать его возможности, нужно было не только протестировать поведение системы, но и внедрить новый подход сразу в десятки приложений. Одновременно. А это всегда риск: любое несовпадение логики или архитектуры — и вся система сыплется. Поэтому мы составили план внедрения — аккуратный, пошаговый, почти хирургический.
Шаг 1. Анимация в «междуэкраниях»
Мы начали не с приложений, а с того, что между ними, — с основных сценариев использования телефона, которые пользователь видит чаще всего:
разблокировка экрана;
экран запуска (launch screen);
переход между приложениями;
появление рабочего стола.
То есть с того, что обычно никто не замечает. Но именно из этих микромоментов складывается ощущение живости всей системы.
Например, мы тщательно проработали, как один экран переходит в другой. Это не просто смена кадров — это движение. Один экран плавно уезжает, а другой появляется на его месте. Иконки всплывают синхронно, у всех одинаковые параметры анимации: время, инерция, прозрачность. Даже шторки при свайпе — те, что открывают быстрые настройки — мы буквально раскладывали по слоям, чтобы внедрить правильную физику движения и визуальную отзывчивость.
Шаг 2. Архитектурные барьеры
Когда GPU заработал, оказалось, что внедрить анимацию все равно не так просто. Например, экран блокировки и экран запуска — это разные приложения. Архитектурно между ними пропасть, и система не умеет склеивать переход. С точки зрения пользователя — это один непрерывный сценарий, а с точки зрения системы — два независимых мира, между которыми нельзя сделать бесшовную анимацию.
Чтобы решить это, инженеры переписали композитор — системный слой, отвечающий за отрисовку экранов. Это огромная работа. Кому интересны подробности, можете посмотреть доклад с CrossConf на эту тему нашего старшего разработчика Александра Корнилова.
И вот тогда интерфейс впервые стал дышать.

Шаг 3. Приложение GPU — наша внутренняя «лаборатория эффектов»
Когда базовые сценарии заработали, мы задумали создать отдельное приложение — GPU Lab. По сути, это тестовая библиотека эффектов, витрина с примерами, где можно было вручную настраивать параметры и проверять, как это ведет себя на реальном железе.
Внутри были десятки шаблонов:
переключатели, карточки, свайпы, карусели;
настройки градиентов, насыщенности, скоростей скролла;
эксперименты с блюром и тенями;
сложные SVG-анимации, созданные на базе легких векторных спрайтов.
Мы тестировали каждый эффект: как он влияет на производительность, его энергопотребление, плавность. Фактически, это была внутренняя «песочница», где мы учились управлять GPU, прежде чем внедрять эффекты в реальные продукты.
Эта практика дала колоссальный результат: теперь мы точно знаем, какие эффекты живут без ущерба системе, и можем внедрять их в дизайн-систему. Как мы шутим в команде — теперь наш «швейцарский дизайн будет посыпан сахарком».
Шаг 4. Когда даже статус-бар ожил
Ну и, конечно, мы не могли пройти мимо статус-бара — ведь он виден всегда, на каждом экране. Мы оживили и его тоже:
индикатор сети теперь плавно появляется и исчезает;
при свернутом звонке зеленый «пузырек» с трубкой мягко пульсирует;
секундомер стал метафорой реальных часов — стрелка двигается с естественным ритмом;
«самолетик» при включении режима полета не просто меняет иконку, а мягко уходит за экран, будто взлетая.
Это не украшения. Это обратная связь, которая делает систему живой. Теперь каждый элемент интерфейса не просто есть — он отвечает пользователю, показывает, что система слышит и реагирует.

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

Это клавиатура, запуск устройства, экран включения и выключения, установка системы, а также целый набор дефолтных приложений — «Звонки», «Контакты», «Камера», «Календарь» и еще около двадцати других. Каждое из них развивается как самостоятельный продукт со своими функциями, обновлениями и пользовательскими сценариями. И все эти элементы — не «дополнения», а части одной экосистемы, где все должно быть согласовано по визуальному языку, логике и поведению.
Вызовы и неожиданные сценарии
Для дизайнера вызовы — это отдельная вселенная. Например, мы даже разработали собственный клиент Telegram (привет Паше Дурову 😊). И вы можете представить, какой это объем работы: сотни экранов и сценариев взаимодействия.
Сначала мы выпустили MVP-версию, поддерживавшую только текстовые сообщения. Но люди ведь обмениваются не только текстом, они пересылают фотографии, видео, голосовые сообщения, документы… А наша система тогда просто не умела это отображать.
Мы нашли изящный выход: сделали «смягчающие» сообщения — нейтральные баблы с текстом вроде «Пока не поддерживается отображение медиа 😊». Показать, что мы видим наши точки роста.
Позже, когда появилась поддержка медиа, пришлось перепроектировать взаимодействие между приложениями. Телеграм открывает галерею, файловый менеджер, выбирает контент, отправляет обратно — и все это должно работать бесшовно, будто внутри одного приложения. А под капотом — десятки кейсов и целая система обмена данными между разными сервисами ОС. Наши дизайнеры проектировали эти сценарии так, чтобы решения можно было масштабировать на все остальные приложения.
Эволюция камеры
С развитием технологий и аппаратных возможностей растет и UI. Наша первая камера имела одну большую кнопку — «сделать снимок». Постепенно появились вспышка, настройки экспозиции, фокусы.
При этом у нас пока не все настройки камеры автоматически выставляются под сцену — многое делается вручную, как в профессиональных фотокамерах. Но и такая функциональность должна быть понятна и доступна даже людям, далеким от нюансов фотосъемки. Мы придумали пресеты, собранные из готовых параметров: ночь, движение, макро. Пользователь просто выбирает режим, и камера сама применяет нужные настройки. Простое решение, за которым — десятки экспериментов и тестов UX.
Телефонные вызовы: больше чем кажется
Приложение «Звонки» тоже оказалось настоящим испытанием. Для обычного пользователя это просто списки входящих, исходящих и пропущенных вызовов. Для нас — целая архитектура:
экспорт и импорт контактов с SIM-карты;
поддержка нескольких SIM одновременно;
переключение между ними;
сохранение контактов в память телефона;
антиспам, черные списки, группировка по департаментам внутри компании.
И при этом все должно быть интуитивным и красивым. Мы сделали экран вызова, который не просто функционален, а визуально насыщен и эмоционален — так, чтобы в момент звонка интерфейс выглядел живым, а не сухим.
Когда баги становятся частью жизни
Разработка системы — это не только фичи, но и постоянные «пожары». Каждый день прилетают новые баги, которые нужно тушить:
Bug 9028414: [M11] Камера — зависает при открытии вместе с браузером.
Bug 9032102: Вспышка не работает при отключенной зарядке.
Bug 9032322: [T1] Подтормаживание при перелистывании экранов в лаунчере.
Bug 9032102: [T1] Задержка реакции ползунков в быстрых настройках.
Все эти мелочи могут рушить впечатление от интерфейса. Поэтому дизайнеры постоянно участвуют в приоритизации и помогают командам зашить UX-проблемы на корневом уровне.

Работа с железом: тесты, чипы и парк устройств
У нас целый парк устройств — тестовых и серийных, на которых мы проверяем работу ОС. Каждое устройство имеет свои особенности:
камера может быть по центру или сбоку — значит, нужно адаптировать статус-бар;
один чипсет тянет анимации, другой — ломает их;
где-то работает GPU, где-то его нет.
Внутри Figma у нас даже есть архив версий:
«Приложение Файлы — с GPU (устройство 1)»
«Приложение Файлы — без GPU (устройство 2)»
Кроме того, у нас разные ветки релизов: стабильные, технические, промежуточные. Каждая со своим набором приложений и фич, и все это нужно синхронизировать. Мы ведем мастер-файлы, где собирается полная карта интерфейсов — своего рода «геном системы».
Секретное приложение для диагностики
Мало кто знает, что в любой операционной системе есть скрытое приложение диагностики. В Android его можно вызвать, набрав комбинацию цифр в звонилке — и вы попадаете в режим проверки датчиков, звука и экрана.
Так вот, мы создавали аналогичное приложение для KasperskyOS. Это инструмент для тестирования оборудования на сборочной линии: проверка сенсоров, микрофона, батареи, точности тачскрина. Есть даже режим, где нужно «прокликать» определенные точки экрана — почти как игра «Змейка», только со смыслом.
Мы подошли к этой задаче не формально, а как к полноценному продукту. Потому что от его удобства напрямую зависит скорость диагностики устройств — а значит, и производительность всей линии. Чем быстрее проходит проверка, тем выше показатели сборки.
Наш внутренний «инженерный зоопарк»
А еще у нас в офисе — целый инженерный полигон:
бронированный ящик для тестов перегрева батарей;
станция, которая симулирует все виды Интернета в мире;
механические пальцы, которые имитируют свайпы и нажатия;
стенд с десятками устройств, которые работают одновременно.
Это выглядит как лаборатория будущего — шум, тесты, графики, прототипы, запах пластика и кофе. И все ради того, чтобы интерфейсы KasperskyOS оставались надежными, стабильными и при этом живыми.
Уникальность и патент. Креативность под давлением инженерии
На первый взгляд, в условиях таких ограничений и бесконечных инженерных задач вроде бы нет места креативу. Но это вовсе не так. На самом деле, ограничения — наш главный двигатель.

Мы выстроили процессы так, чтобы у команды всегда оставалось пространство для экспериментов. Помимо продуктовых задач, каждый год мы создаем концепт будущего продукта — не фантазию ради фантазии, а реальное видение, связанное с бизнес-целями, технологическими трендами и стратегией KasperskyOS.
Мы устраиваем брейнштормы и креативные сессии — иногда совместно с агентствами, иногда полностью внутренними силами. В этом году, например, мы посвятили концепт-трек изучению нейросетей: создали целый завод по генерации иконок и обоев с помощью AI. Это позволило нам протестировать десятки направлений визуального стиля и сформировать новый подход к быстрой итерации идей.
После подготовки мы презентуем концепты всей компании — в том числе топ-менеджменту. Так мы показываем вектор развития продукта и вдохновляем другие команды. Часть идей потом «откусываем» и реализуем уже в ближайших релизах — эволюция в действии.
В прошлом году наши проекты получили первое место в Workspace Design Awards в категории «Мобильные приложения для корпоративного сектора». Кроме того, несколько решений уже запатентованы в Роспатенте, а еще три заявки сейчас проходят проверку.
Каждый такой результат — не просто отметка в портфолио, а подтверждение: даже внутри строго регламентированной инженерной среды можно быть креативными, если знаешь, зачем это бизнесу и пользователю.
Смотрим вперед
Креативность и инновации — не украшение, а инструмент развития продукта. Первое желание любого дизайнера — скопировать знакомое: iOS, Android, привычные паттерны. Кажется, что все уже придумано и не нужно изобретать космос.
Но мы сознательно идем другим путем. Мы не копируем — мы исследуем и адаптируем, создавая свой язык, но сохраняя знакомые принципы взаимодействия, чтобы пользователю было комфортно. Это и есть суть дизайна KasperskyOS — уникальность без отрыва от реальности.
Этапы пути
Если обернуться назад, видно, как мы прошли целый технологический цикл.
Сначала — стабильность и CPU. Мы учились запускать систему и строить фундамент.
Потом — мультимедиа и приложения. Мы научились делать не только безопасно, но и удобно.
Теперь — GPU, анимации, микроинтеракции. Интерфейс оживает, система становится человечной.
Впереди — оптимизация и масштабирование. Наша цель — сделать KasperskyOS не просто безопасной, а эмоционально приятной и естественной в использовании.
Финал: дизайн как инженерия эмоций
Мы начинали с черно-белых экранов и отсутствия виброотклика, а сегодня создаем живую экосистему с продуманными микровзаимодействиями, нейросетевыми экспериментами и патентами.
KasperskyOS Mobile — это не просто операционная система. Это экспериментальная площадка, где рождаются новые подходы к безопасности, интерфейсу и взаимодействию человека с технологией.
И самое главное — за всем этим стоит команда, которая верит: даже в мире, где все уже придумано, всегда можно придумать что-то заново.
