Как Google должна решить проблемы с обновлением Android
Android KitKat был впервые представлен в октябре 2013 года, то есть почти год назад. Согласно последним данным, к августу 2014 его распространенность на Android-устройствах составляет всего 20,9%, при этом мир уже замер в ожидании следующей версии операционной системы от Google. Пользователи хотят применять последние версии программного обеспечения, это логично, но с Android ни одно устройство, кроме Nexus, не может им этого гарантировать. Совершенно очевидно, что здесь есть проблема, которую было бы неплохо решить.
Конечно, Android, в отличие от устройств на других ОС, представлен широким спектром различных гаджетов, которые работают на невообразимом количестве разнообразных процессоров, видеоускорителей и прочего, и прочего. Это якобы усложняет выпуск каких-либо универсальных обновлений, которые подошли бы любому смартфону или планшету. И всё же.
Боль и страдания ARM
Взгляните на персональные компьютеры. X86 — это платформа. Чипы не только придерживаются одного и того же набора инструкций, они также подключаются к стандартным контроллерам и периферии, используя стандартные интерфейсы, с которыми ОС знает, как нужно работать. Да, некоторым из них иногда нужны драйвера, но они зачастую вам доступны. Иначе говоря, это не доставляет большого количества хлопот.
С ARM всё не так. Разные чипы всё еще придерживаются стандартного набора инструкций, но всё остальное делается производителями по-своему (часто уникально для каждого чипа), это требует большого количества времени на создание кастомного ядра Linux, просто чтобы все эти вещи работали. В более поздних версиях ядер (начиная с 3.7) это в значительной степени исправили, благодаря чему операционные системы могут работать с более широким спектром ARM-чипов. Проблема лишь в том, что и Android KitKat и L Developer Preview используют версию 3.4.
Google, в свою очередь, не предлагает никаких альтернативных путей. Компания предоставляет ядра, которые могут служить «отправной точкой», но не являются готовыми продуктами. Тем самым поисковый гигант просто бросает производителей чипов разбираться самим с этой проблемой, а они вынуждены тратить время и ресурсы на то, чтобы добиться работы Android на различных аппаратных решениях, вместо того чтобы сосредоточиться на каких-либо функциях, полезных для пользователей.
Между тем, как всем нам хорошо известно, Android — крупнейшая ARM-платформа в мире, и всё же это не дает производителям «железа» ту же широкую совместимость оборудования, которую имеют Windows или Linux на ПК. Google, безусловно, может это исправить.
Другой подход
Изначально задумывалось, что Android будет обновляться на манер iOS, где новый апдейт приносит на устройство новые API для разработчиков, новые драйвера для «железа», новые возможности для пользователей. Для продуктов Apple это приемлемо, ведь компании приходится поддерживать не так много устройств, которые имеют много общих компонентов. К тому же Apple гораздо жестче контролирует все, что касается ПО.
Но Android распространялась так быстро и так широко, что такая манера обновлений быстро показала себя несостоятельной. Судите сами, на данном этапе более 2/3 устройств на Android не могут подключиться к новому продукту Google и ее партнеров — умным часам на Android Wear. А всё потому, что эти устройства не получили обновлений даже до Android 4.3.
Да, в последнее время мы можем получать различные обновления в виде отдельных приложений в Google Play, как это, например, происходит с Google Services. Более того, помимо Chrome, Gmail, клавиатуры, нам становятся доступны даже обновления лаунчера.
Это неплохой старт, но на этом нельзя останавливаться. Многие части Android вроде центра уведомлений, меню быстрых настроек, меню запущенных приложений и других все еще требуют монолитного обновления Android. От такой практики надо уходить, дав пользователям возможность обновлять любой элемент интерфейса через Google Play, как это, опять же, происходит с лаунчерами.
То же самое касается и API, некоторые из которых уже успешно обновляются вместе с Google Services. Единственное, о чем здесь стоит подумать — как не сломать уже существующие и работающие приложения.
Вернуть контроль В то же время становится ясно, что Google хочет вернуть себе контроль над траекторией своей мобильной операционной системы. Компания уже оказывает большее, чем мы привыкли, влияние на такие ответвления Android, как Wear, TV, Auto. Логично, что продолжением этому должно стать обновление мобильного Android самой Google, без участия производителей и операторов. То есть приход к той же старой, доброй модели, которую в течение долгих лет используют ПК на Windows. Это будет проще для производителей и лучше для пользователей.
По материалам ArsTechnica