Первое предупреждение
Google посредством блога разработчиков ОС Android обратился к авторам приложений для устройств на базе этой ОС с просьбой начать задумываться об оптимизации своих программ, чтобы они перестали быть столь требовательными к аппаратной составляющей устройств. Как пишет Gizchina, авторы ПО не хотят работать над проблемой совместимости утилит с устройствами различных типов, и в результате приложение, ориентированное на классические смартфоны, или вовсе не запускается на мобильниках с гибким дисплеем из-за других пропорций и разрешения экрана, или плохо выглядит на нем.
То же нередко касается попытки запустить мобильное Android-приложение на умном телевизоре под управлением Android TV. Чаще всего смарт-ТВ не комплектуются сенсорным экраном, а разработчики утилит не заботятся о том, как пользователь будет взаимодействовать с их интерфейсом, имея под рукой максимум пульт дистанционного управления.
Разнообразие хорошо для пользователей, но плохо для разработчиков
Google озаботилась проблемой совместимости Android-приложениий с различными устройствами на фоне того, как рост экосистемы Android набирает обороты. Если на самом первом этапе этой ОС только и нужно было, что управлять фотоаппаратами, то с течением времени ее адаптировали сначала для смартфонов, а позже – для планшетных компьютеров. Затем новые виды устройств на Android стали появляться с невероятной скоростью – это и полноценные настольные ПК в формате неттопов и моноблоков, и смарт-ТВ, и автомобильные головные устройства. Последние сейчас становятся все более популярными – штатные медиасистемы большинства бюджетных автомобилей не отличаются широким набором функций, а синхронизация их со смартфоном, особенно «по воздуху», например, для дублирования окна навигатора – это зачастую непроходимый квест.
Поэтому проявляется все больше головных устройств из Поднебесной на полноценной ОС Android, например, линейка Teyes. По сути своей это крупногабаритные планшеты, и приложения, адаптированные под экраны смартфонов с гораздо меньшей диагональю, не всегда органично смотрятся на больших дисплеях.
Нет камеры – нет приложения
Многие разработчики современных приложений даже не думают, как их софт будет функционировать на различных устройствах. Gizchina приводит в пример ситуацию, когда в приложении есть функция сканирования QR-кода – чтобы она работала, разработчики добавляют в код проверку наличия камеры. Если пользователь хочет открыть на устройстве без камеры, например, на смарт-ТВ, то оно может выдать ошибку, что нелогично. Для сканирования QR-кода камера нужна не всегда – он может быть сохранен в виде изображения в памяти устройства.
И это всего один из примеров, когда приложение, рассчитанное под один тип устройства, по воле разработчиков частично или полностью не работает на другом.
Поэтому Google опубликовал статью в блоге разработчиков Android, чтобы напомнить разработчикам, что им следует удалить некоторые ненужные функциональные требования, чтобы улучшить удобство использования приложений на разных типах устройств. Google считает, что разработчикам следует применять более гибкие решения. Например, даже если на устройстве нет камеры, оно должно поддерживать использование приложения, поскольку пользователи могут загружать фотографии другими способами.
Это имеет решающее значение для Google, пишет Gizchina. В конце концов, на ноутбуках, автомобильных системах и других IoT-устройствах без сенсорного экрана доступно относительно немного приложений. Однако у разработчиков обычно нет желания адаптировать свое ПО к этим устройствам, ведь количество пользователей подобных гаджетов слишком мало на фоне пользователей смартфонов и планшетов.
Кроме того, Google также напоминает разработчикам приложений о необходимости гибкого управления горизонтальными или вертикальными экранами. Например, в настоящее время большие автомобильные экраны, как правило, расположены горизонтально, но при этом существует огромное количество приложений, способных работать только в портретном (вертикальном) режиме. В некоторых случаях разработчики встраивают автоматический поворот интерфейса, но сам интерфейс под ландшафтное (горизонтальное) отображение не адаптируют.