Similar presentations:
Приложения для носимых устройств (Wear OS, watchOS) Особенности разработки на маленьком экране
1. Приложения для носимых устройств (Wear OS, watchOS): Особенности разработки на маленьком экране.
2. Эволюция носимых устройств
Носимые устройства (Wearable Devices) — это класс электронных устройств, предназначенных для постоянногоношения на теле пользователя, которые объединяют функции персонального компьютера, фитнес-трекера и
коммуникационного средства. В контексте разработки мобильных приложений под носимыми устройствами
понимаются прежде всего умные часы (smartwatches), работающие под управлением специализированных
операционных систем — Wear OS (экосистема Google) и watchOS (экосистема Apple).
Ключевая особенность, отличающая носимые устройства от смартфонов, заключается в их постоянном присутствии на
теле пользователя. Это создает принципиально иную модель взаимодействия: доступ к информации должен быть
мгновенным, а само взаимодействие — минимальным по времени и когнитивной нагрузке. В индустрии этот принцип
получил название Glanceability (от англ. glance — «взгляд») — способность пользователя получить нужную
информацию за 3–5 секунд, просто бросив взгляд на запястье, без необходимости доставать и разблокировать
телефон.
Целевое назначение носимых приложений
Приложения для носимых устройств не являются уменьшенными копиями мобильных приложений. Они решают
принципиально иной набор задач, диктуемый контекстом использования. Если смартфон предназначен
для погруженного взаимодействия (работа с документами, просмотр контента, сложная навигация), то часы
предназначены для эпизодического взаимодействия в условиях, когда использование телефона невозможно или
неудобно.
К типичным сценариям использования носимых приложений относятся:
Быстрый просмотр уведомлений — пользователь видит заголовок сообщения и принимает решение, требует ли
оно немедленного реагирования.
Фитнес-трекинг — сбор данных о пульсе, шагах, пройденной дистанции во время бега или тренировки, когда
телефон может оставаться в сумке или кармане.
Управление мультимедиа — переключение треков, регулировка громкости без доставания телефона из кармана.
Бесконтактные платежи — быстрая оплата через NFC одним касанием часов к терминалу.
Голосовые команды и диктовка — отправка сообщений или создание напоминаний голосом, что значительно
быстрее набора текста на маленьком экране.
3. Три этапа эволюции архитектуры носимых приложений
Первый этап (2013–2016): эпоха аксессуаров. На этом этапе умные часырассматривались производителями и разработчиками исключительно как
периферийное устройство к смартфону. Приложение на часах не содержало
собственной бизнес-логики — оно было «тонким клиентом», который
отображал данные, полученные по Bluetooth от парного приложения на
телефоне. Если телефон отсутствовал поблизости, приложение на часах
становилось бесполезным. Такой подход упрощал разработку, но
существенно ограничивал функциональность.
Второй этап (2017–2020): появление автономности. С выходом моделей со
встроенным сотовым модулем (LTE) и развитием API для работы с
сенсорами (пульсометр, GPS, акселерометр) разработчики получили
возможность создавать standalone-приложения — полностью автономные
программы, которые могут работать без подключения к телефону. Это
открыло новую категорию приложений: фитнес-трекеры с голосовым
сопровождением, навигаторы для бега, музыкальные сервисы с
возможностью загрузки плейлистов напрямую на часы.
Третий этап (2021–настоящее время): экосистемная
зрелость. Современный этап характеризуется унификацией подходов к
разработке. Wear OS 3+, разработанный совместно Google и Samsung,
объединил лучшие практики предыдущих версий. watchOS 8 и выше
внедрил концепцию «умного стека» (Smart Stack), где приложения
становятся не изолированными программами, а частью единого
информационного потока, адаптирующегося к контексту. На этом этапе
ключевым требованием к разработчику становится не просто создание
функционального приложения, а его глубокая интеграция с системными
механизмами — циферблатами, уведомлениями, Siri/Google Assistant.
4. Ключевые различия платформ
Wear OS и watchOS — это две доминирующие операционные системы для носимых устройств, каждая изкоторых развивается в рамках своей экосистемы. Wear OS (до 2018 года называлась Android Wear) —
платформа компании Google, предназначенная для смарт-часов, совместимых с устройствами на
Android. watchOS — проприетарная операционная система Apple, работающая исключительно на Apple
Watch и требующая для работы iPhone.
Несмотря на внешнее сходство (оба продукта решают задачу отображения информации на запястье), эти
платформы имеют фундаментальные различия в архитектуре, инструментарии разработки, подходах к
дизайну и требованиях к публикации приложений. Понимание этих различий критически важно для
разработчика, поскольку выбор платформы определяет стек технологий, время разработки и возможности
интеграции с аппаратным обеспечением.
Инструментарий разработки и языки программирования
• Wear OS базируется на той же технологической основе, что и Android для смартфонов. Разработка
ведется в среде Android Studio с использованием языков Kotlin (рекомендуемый, современный подход)
или Java (классический, но устаревающий). Wear OS использует знакомую разработчикам Android
архитектуру: Activity, Service, BroadcastReceiver, а также специализированные компоненты, такие
как WearableActivity и WatchFaceService. Важной особенностью является то, что приложение для Wear
OS может быть либо полностью независимым, либо частью единого Android-проекта, содержащего
модули для телефона и часов. Это позволяет переиспользовать общую бизнес-логику между
устройствами.
• watchOS является частью экосистемы Apple и разрабатывается исключительно в среде Xcode на
языках Swift (основной, современный) или Objective-C (легаси-код). Архитектура watchOS
принципиально отличается от iOS: приложение для часов представляет собой отдельную цель (target) в
рамках проекта Xcode и тесно связана с iOS-компаньоном. watchOS использует фреймворк WatchKit,
который определяет строгую структуру интерфейса: интерфейсные контроллеры (WKInterfaceController)
аналогичны ViewController в iOS, но с существенно ограниченными возможностями кастомизации по
сравнению с Wear OS.
5. Размер и разрешение
Физический размер экрана умных часов в 5–7 раз меньше, чем у стандартного смартфона (6–7дюймов). При этом разрешение дисплея остается относительно высоким (от 320×320 пикселей на
старых моделях до 484×484 пикселей на современных), что создает ложное ощущение, что на экране
можно разместить много информации. Однако высокая плотность пикселей (PPI) не решает проблему
физического размера — текст остается мелким, а интерактивные элементы — труднодоступными для
нажатия.
Более того, пользователи взаимодействуют с часами в условиях, которые редко бывают идеальными.
Часы носятся на запястье, и взаимодействие происходит в движении: на бегу, во время ходьбы, в
транспорте. В этих условиях тремор руки (непроизвольные микродвижения) и необходимость смотреть
на экран под разными углами дополнительно усложняют точное нажатие. Это означает, что интерфейс
должен быть не просто «читаемым», но и «терпимым к неточности» — прощающим ошибки попадания
на 5–10 миллиметров в сторону.
Эффект «жирного пальца» (Fat Finger Problem) — это термин из человеко-машинного
взаимодействия (Human-Computer Interaction), описывающий ситуацию, когда палец пользователя
физически перекрывает область экрана, на которую он нажимает, делая невозможным визуальный
контроль за точностью касания. В контексте смартфонов эта проблема частично решается тем, что после
касания появляется визуальная обратная связь, и пользователь может скорректировать нажатие. На
часах проблема стоит острее по двум причинам: во-первых, площадь экрана настолько мала, что палец
перекрывает до 30–40% всей видимой области; во-вторых, время взаимодействия с часами обычно
короче, и у пользователя нет возможности многократно корректировать нажатие.
Для решения этой проблемы в индустрии сформировались стандарты минимальных размеров
интерактивных элементов. В экосистеме Wear OS минимальный размер цели касания (hit target)
составляет 60 dp (density-independent pixels). В пересчете на физические размеры при стандартной
плотности экрана это примерно 9–10 миллиметров. В экосистеме watchOS минимальный размер
составляет 44 pt (points), что в физическом выражении дает примерно 7–8 миллиметров. Разница
объясняется тем, что watchOS использует более строгую систему автоматического масштабирования и
предполагает более высокую точность взаимодействия за счет Digital Crown.
6. UI/UX: Принципы дизайна
UI/UX для носимых устройств — это область дизайна пользовательскихинтерфейсов, ориентированная на создание взаимодействия, которое укладывается
в концепцию Glanceability (мгновенного восприятия) и требует от пользователя
минимальных когнитивных и моторных усилий. В отличие от дизайна для
смартфонов, где допустимы многоступенчатые сценарии и развернутая навигация,
дизайн для часов подчиняется принципу «один экран — одна задача» (one screen,
one task).
Этот подход продиктован тремя факторами: физическим размером экрана,
условиями использования (на ходу, в движении) и психологическими ожиданиями
пользователя. Когда человек поднимает руку, чтобы посмотреть на часы, он ожидает
получить ответ на свой вопрос за 3–5 секунд. Если приложение требует более
длительного взаимодействия, пользователь испытывает фрустрацию и в следующий
раз предпочтет достать телефон, а не использовать приложение на часах.
На маленьком экране каждый символ текста конкурирует за внимание пользователя
с другими элементами интерфейса. Чем больше текста на экране, тем больше
времени требуется пользователю, чтобы найти нужную информацию. Поэтому
принцип минимализации текста является одним из основных в дизайне для часов.
Вместо текстовых меток рекомендуется использовать иконки, которые распознаются
мгновенно. Например, вместо надписи «Следующий трек» достаточно иконки с
символом «>>». Вместо надписи «Пульс 72 удара в минуту» достаточно крупной
цифры «72» с маленькой иконкой сердца. Вместо надписи «Шаги: 5432» достаточно
цифры «5,4k» с иконкой шага. Однако важно помнить, что иконки должны быть
универсально узнаваемыми. Не стоит использовать редкие или абстрактные иконки,
которые пользователю придется интерпретировать — это увеличивает когнитивную
нагрузку.
7. Digital Crown и аппаратные элементы управления
Digital Crown на Apple Watch и вращающийся безель / боковая крутилка на Wear OSустройствах представляют собой уникальные для носимых устройств способы ввода,которые не имеют прямых аналогов на смартфонах. Они позволяют пользователю
взаимодействовать с интерфейсом, не закрывая экран пальцем, что особенно ценно для
точных операций.
• Digital Crown (цифровая корона) — это физический элемент управления на Apple Watch,
который поддерживает три типа взаимодействия:
• Вращение — прокрутка контента вверх/вниз, масштабирование изображений,
изменение значений в пикере (picker).
• Нажатие (одиночное) — возврат на главный экран (аналог кнопки Home).
• Двойное нажатие — вызов последнего использованного приложения.
• Долгое нажатие — вызов Siri.
Для разработчиков watchOS вращение Digital Crown автоматически работает с
прокручиваемыми элементами (WKInterfaceTable, WKInterfacePicker). Однако разработчик
может программно обрабатывать вращение через метод crownDidRotate, чтобы
реализовать кастомную логику, например, регулировку яркости или громкости.
На Wear OS ситуация более фрагментирована, поскольку устройства выпускают разные
производители. На моделях Samsung Galaxy Watch присутствует вращающийся безель
(rotating bezel) — физическое кольцо вокруг экрана, вращение которого генерирует
события прокрутки. На Google Pixel Watch и других моделях используется боковая крутилка
(rotating crown) — аналог Digital Crown, но с меньшей функциональностью. Wear OS
автоматически преобразует вращение безеля или крутилки в события прокрутки, и
разработчик может обрабатывать их через стандартные слушатели прокрутки.
8. Адаптивность: Круглый vs Квадратный экран
Адаптивность к форм-фактору — это способность приложениякорректно отображаться и функционировать на экранах различной
геометрической формы без потери функциональности, обрезания
критических элементов интерфейса и ухудшения пользовательского
опыта. В контексте носимых устройств эта проблема стоит особенно
остро, поскольку Wear OS-устройства выпускаются с круглыми
дисплеями (подавляющее большинство моделей), тогда как
watchOS работает исключительно на квадратных или скругленноквадратных дисплеях Apple Watch.
Ключевое различие между этими форм-факторами заключается не
только в эстетике, но и в том, как геометрия экрана влияет на
размещение интерфейсных элементов. На круглом экране угловые
области (зоны за пределами вписанного в окружность квадрата)
физически отсутствуют, и любой элемент, размещенный в этих
зонах, будет либо обрезан, либо полностью невидим. На
квадратном экране такой проблемы нет, но появляется другая:
разница в соотношении сторон между моделями разных поколений
(от 38 мм до 49 мм) требует гибкого масштабирования интерфейса.
9. Управление питанием и производительность
Управление питанием и производительностью в контексте разработки для носимыхустройств — это комплекс архитектурных и программных решений, направленных на
минимизацию энергопотребления приложения при сохранении достаточной отзывчивости
интерфейса и функциональности. Умные часы имеют жесткие ограничения по емкости
аккумулятора (обычно от 200 до 500 мА·ч), что в 5–10 раз меньше, чем у смартфона, при этом
они должны работать от одного заряда от 18 до 48 часов в зависимости от модели и сценария
использования.
Процессоры в носимых устройствах значительно слабее мобильных: они имеют меньше ядер,
более низкую тактовую частоту и ограниченную оперативную память (от 512 МБ до 2 ГБ). Это
связано с ограничениями по тепловыделению — часы плотно прилегают к запястью, и
перегрев не только неприятен для пользователя, но и может вызвать срабатывание
термозащиты, принудительно закрывающее приложение. Разработчик должен постоянно
держать в уме эти ограничения и проектировать приложение так, чтобы оно было
«дружественным к батарее» (battery-friendly).
Сетевое взаимодействие является одним из основных потребителей энергии на носимых
устройствах. Wi-Fi и сотовая связь (LTE) требуют значительного энергопотребления для
поддержания соединения и передачи данных. Разработчик должен минимизировать сетевую
активность приложения, особенно в фоновом режиме и в режиме ожидания.
Основные принципы оптимизации сетевой активности включают:
• Пакетная передача данных. Вместо того чтобы отправлять множество мелких запросов по
мере появления данных, приложение должно накапливать данные и отправлять их одним
пакетом. Например, фитнес-трекер может сохранять данные о пульсе локально каждую
секунду, а отправлять на сервер или телефон один раз в 5–10 минут. Это снижает
количество сеансов связи и время удержания радиомодуля в активном состоянии.
• Использование фоновых окон. На обеих платформах существуют ограниченные временные
окна для выполнения фоновых задач. На Wear OS фоновая работа ограничена примерно 30
секундами после того, как приложение ушло в фон. На watchOS фоновые задачи имеют еще
более строгие ограничения — обычно 10–15 секунд. Разработчик должен
использовать WorkManager (Wear OS) или WKApplication с фоновыми задачами (watchOS)
для планирования операций, а не пытаться удерживать приложение активным в фоне
постоянно.
10. Оптимизация графики и анимации
Разработчик должен использовать форматы изображений,оптимизированные для носимых устройств. Векторная графика
предпочтительнее растровых изображений, поскольку они
масштабируются без потери качества и занимают меньше места в
памяти. Если растровые изображения неизбежны, необходимо
предоставить несколько версий для разных плотностей экрана (ldpi,
mdpi, hdpi, xhdpi) и использовать формат WebP вместо PNG для
уменьшения размера и ускорения загрузки.
На watchOS рекомендуется использовать SF Symbols — системную
библиотеку иконок, которые оптимизированы для рендеринга на
дисплеях Apple Watch и не требуют загрузки внешних ресурсов.
Анимация на часах должна быть минимальной и целенаправленной.
Каждый кадр анимации требует вычислений и перерисовки экрана,
что потребляет энергию. Если анимация необходима (например,
индикация успешного выполнения действия), она должна быть
короткой (не более 300–500 мс) и использовать аппаратное ускорение.
На Wear OS для анимации предпочтительно
использовать ObjectAnimator с аппаратным ускорением, а не ручное
управление кадрами через Handler или Timer.
11. Практическое задание № 1
Найдите в интернете 3 скриншота интерфейсов приложений дляумных часов (любые: фитнес, погода, музыка).
Для каждого скриншота напишите несколько предложений: как в
этом приложении реализован принцип «быстрого взгляда»
(минимум текста, крупные цифры, понятные иконки).
12. Практическое задание № 2
Найдите официальные документы Human Interface Guidelines (HIG) дляwatchOS и Design Guidelines для Wear OS. Изучите разделы,
посвященные компоновке интерфейса и размерам интерактивных
элементов.
Найдите и выпишите:
• Какое максимальное количество строк текста рекомендуется
отображать на одном экране для каждой платформы?
• Каковы минимальные рекомендуемые размеры кнопок (в pt, dp или
физических миллиметрах) для каждой платформы?
• Найдите конкретную цифру — сколько секунд, по мнению Apple и
Google, должно занимать типичное взаимодействие пользователя с
приложением на часах?
software