На очередной ежегодной конференции для разработчиков Google I/O 2014 была представлена новая версия Android, получившей до сих пор не раскрытое обозначение «L». Одни говорят, что это сокращение от Lollypop («Леденец на палочке»), но подтверждения со стороны Google пока не поступило.

Новинка пока существует только в тестовой версии, и совместимость объявлена только для семейства смартфонов HTC One. Однако ни у кого не вызывает сомнений, что Android L — это существенный шаг вперед.

Material Design

Наиболее броским изменением в Android L стал отказ от прежнего интерфейса и переход на новый дизайн Material Design. Подобно Microsoft компания Google также собирается распространить его на все продвигаемые ею платформы — Android Wear, Android TV и Android Auto. Задача простая: предоставить единый привычный опыт использования на любых устройствах и Web-сервисах, построенных средствами Google.

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

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

Усовершенствованный механизм уведомлений

Значительные изменения претерпел в Android L механизм подачи уведомлений. Теперь он стал значительно более функциональным, не потеряв простоты в применении.

Прежде всего появилась возможность вывода уведомлений на экране блокировки, а также возможность заранее определить, насколько подробными будут отображаемые сведения. Будут ли уведомляющие записи отображаться на экране, чтобы все желающие могли увидеть его содержимое или нет, зависит от выбора пользователя. Он может предусмотреть показ полного текста уведомления, или запись станет доступна целиком только после разблокировки экрана.

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

В Android L появился новый тип уведомлений, названный heads ups. Они обладают повышенным приоритетом и отображаются, даже когда пользователь гаджета занят другими делами в текущий момент. Их назначение — предоставить ему возможность немедленно выбрать действие — принять или отказаться. Такие уведомления пригодятся для операций, требующих немедленной реакции — например, ответ на входящий звонок.

Контроль включения

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

Разработчики Google предложили в Android L новый подход. «Зачем лишний раз просить пользователя вводить пароль, если можно убедиться иначе, что условия вполне безопасны для включения?» — посчитали разработчики Google. Система, находясь в состоянии блокировки, продолжает анализировать среду, в которой находится, и если принимает ее за доверенную, то позволяет войти в систему, минуя ввод секретного кода.

Доверенная среда может быть подтверждена разными путями. Например, присутствием знакомого ей Bluetooth-гаджета (это могут быть смарт-часы, например) или точки доступа Wi-Fi с заранее известными параметрами. Могут быть и другие «признаки» доверия.

Экономия питания и Project Volta

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

Google начала бороться с этим «злом» давно. Еще в версии Android 4.1 Jelly Bean платформа была дополнена механизмом Project Butter, обеспечивающим экономию питания. В Android 4.4 KitKat появился механизм Project Svelte, отвечавший за оптимизацию использования памяти. Теперь в версии Android L проблемой экономии питания будет заниматься механизм Project Volta.

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

Для решения проблемы разработчики Google предложили собственный принцип, назвав его ‘lazy first’ («в первую очередь обрабатываются самые ленивые»). Однако новый метод накладывает на разработчиков программ специальные требования. Они должны выбрать задания в своих приложениях, которые являются несрочными и могут исполняться «в самую последнюю очередь». По мнению Google, это приведет к тому, что приложения перестанут расходовать питание преждевременно, сохраняя его для задач, которые пользователь считает наиболее важными.

Google и фитнес

Забота о здоровье, отслеживание активности, трекинг — сегодня только ленивый не занимается разработкой в этих популярных направлениях. Google не исключение. Однако у компании имеются четкие ориентиры: Apple Healthkit, Samsung SAMI и Microsoft HealthVault. Теперь вызов принят, и Google предложила собственную платформу Google Fit.

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

В поддержку платформы Google Fit уже высказались многие партнеры Google, в числе которых называют Nike, Adidas, Runkeeper, HTC, Asus, LG и Motorola.

Глобальная Web-интеграция

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

До сих пор все развивалось слишком иерархично: пользователям приходилось отслеживать, в какой программе открывается документ, какое приложение следует выбрать, чтобы выполнить намеченное действие. Google пробует разорвать зависимость пользователя от программ и перейти к задачам, которые он решает. Вне зависимости от того, с чем он работает сейчас, следующий переход будет к документу, а не к приложению, в котором был запущен в работу искомый документ.

Прежде запущенные задачи теперь группируются вместе в меню Recents («Недавние»). Вкладки, открытые в Chrome, сразу собираются здесь же, вместе с другими документами. Теперь не гуляя по экранам, можно сразу выбрать следующий документ.

Android L стал еще лучше «понимать» Web. Он не просто «читает» Web-страницу, а пробует «понять», что предлагает ее разработчик. Если при просмотре, например, Web-сайта ресторана пользователь рассматривает меню и параллельно присутствует ссылка на сервис заказа столика, то Google способна найти соответствующее приложение в Сети и сразу предоставить возможность воспользоваться им, даже если пользователь был невнимателен и не заметил гиперссылки.

ART Runtime и Android Extension Pack

С точки зрения внутренней реализации Android L сильно отличается от прежних версий. До сих пор Android-код выполнялся в Java-машине Dalvik, созданной Google специально для мобильных устройств. Механизм Just-In-Time Compilation считывал данные и «на ходу» преобразовывал их в аппаратный код, позволяя разработчику приложения практически не привязываться к конкретной архитектуре или «железу». Плохим в прежнем подходе было то, что принятый алгоритм обработки наносил серьезный урон производительности системы, чрезмерно нагружая процессор во время компиляции. Частично проблема была решена за счет того, что после первого «тормозного» запуска программы часть «нативного» кода сохранялась в кэше, однако полностью проблему возникающих задержек при исполнении программ так до сих пор и не удалось. Для флагманских моделей гаджетов проблема была не настолько очевидной, однако пользователи бюджетных аппаратов не раз обращали на нее внимание.

Переходя на Android L, Google постаралась разорвать «проблемную» цепь. Новая среда выполнения приложений получила название Android Runtime (ART). Она представляет собой компилятор Ahead-Of-Time (AOT), который преобразует Java-код в «нативный» в процессе установки приложения. Выигрыш получается уже на этапе запуска программы — она поступает на обработку в уже скомпилированном виде, что должно существенно ускорить ее открытие и выполнение.

Скептики, правда, высказывают сомнения относительно проблем совместимости, с которыми могут столкнуться производители гаджетов. Однако Google постаралась сделать все, чтобы проблемы не произошло. Механизм ART уже поставлялся вместе с предыдущей версией Android 4.4 KitKat, и его можно было активировать в меню разработчика. Тем самым Google уже успела собрать обратную связь для разных аппаратных платформ и, видимо, успела внести необходимые изменения в механизм ART.

ART изначально имеет 64-разрядную архитектуру. Но, как заявляет Google, никаких изменений в приложения вносить не потребуется — все вопросы решаются на уровне системы. Новая рабочая среда совместима с аппаратными архитектурами ARM и x86, т. е. приложения теперь смогут адресовать больше памяти, чем было возможно при 32-разрядных ограничениях.

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

KNOX

Недавние анонсы Google явно указывают, что компания больше не собирается ограничиваться позиционированием Android как продукта исключительно для потребительского рынка. Google стремится расширить сферу ее применения на корпоративный рынок. Доказательством такого намерения является встраивание функции Samsung KNOX в Android L.

Теоретически система KNOX работает с т.н. «контейнерами» — защищенными пространствами, где пользователи могут хранить важную информацию (рабочие документы, контакты, персональную информацию). Данные в контейнерах шифруются, доступ к ним ограничен.

KNOX дает в распоряжение ИТ-администраторов необходимые средства для управления корпоративными данными и политиками корпоративных владельцев смартфонов. Система поддерживает две учетные записи: персональную и корпоративную. Снижается острота проблем, связанных с доступом к защищенной информации. Дальнейшее развитие KNOX способно превратить Android L в более привлекательную платформу для бизнес-применений.