Устанавливать или не устанавливать очередное обновление, «прилетевшее» на смартфон? В свете недавних событий, связанных с Apple и тем, как компания умышленно ограничивает производительность старых устройств (да, теперь это официально доказано) вопрос приобретает особую пикантность. Но что, если выбора-то и нет? Если производитель, выпустивший на рынок очередного «убийцу флагманов», так и не выпустил ни одного крупного обновления? В этой статье мы расскажем о ряде производителей, поступивших именно таким образом.
Обновления ОС Android – тема, давно набившая оскомину. Нежелание производителей платить за разработку новых версий прошивок для уже проданных устройств усиливается их нежеланием платить производителям чипсетов за обновлённые драйверы. Сертификация Google, а в некоторых странах (например, в США и Канаде) – и дополнительная сертификация мобильным оператором делают возможность распространения обновлений ещё более дорогим, трудным и неимоверно затянутым по времени мероприятием. Да, Project Treble от Google способен существенно упростить, а главное – удешевить процесс обновления между версиями Android, но смартфоны, поддерживающие подсистему Treble, только-только начинают появляться на рынке (или получать подсистему в качестве обновления; но – не всегда и не для всех устройств, обновляющихся до Android 8 Oreo). Для всех же прочих продолжают действовать старые правила игры, описать которые можно всего двумя словами: «минное поле».
Почему производителям так сложно, дорого и долго создавать и распространять обновления, повышающие версию Android (сейчас мы не говорим о патчах безопасности или исправлении ошибок в собственных криворуких оболочках, которые так любят некоторые OEM), и почему разработчики кастомных прошивок способны быстро и без больших проблем решить эту, казалось бы, невыполнимую задачу? Для ответа на этот вопрос рассмотрим цепочку участников процесса.
Первое и главное: производитель чипсета, набора системной логики смартфона. Именно от него зависит выпуск корректных драйверов, способных работать на новой версии Android. И если производитель решает «забить» на какой-либо чипсет и не выпускать для него соответствующих драйверов, то и OEM, выпустивший на рынок смартфон, основанный на таком чипсете, не сможет выпустить для него официальной прошивки. И дело здесь не столько в отсутствии драйверов как таковых; чисто технически существует возможность создать программную прослойку, транслирующие «новые» вызовы в команды, понятные «старому» HAL. Таким способом любит обновлять свои прошивки, к примеру, китайская компания BBK (а точнее, её дочернее отделение OnePlus); точно так же действуют авторы многих кастомных прошивок (справедливости ради – далеко не всех; о том, какие механизмы могут использоваться в кастомах – ниже).
К сожалению, даже подобное половинчатое решение – далеко не панацея. Дело в том, что такая прошивка может не пройти сертификацию Google (кастомные – и не проходят), а без сертификации Google уважающий себя производитель прошивку на рынок не выпустит.
Примеры? За ними далеко ходить не надо, и речь сейчас не о безымянных Rockchip или хорошо известной MediaTek. Яркий пример – компания Qualcomm, официально отказавшаяся выпускать драйверы Android 7 для чипсетов Snapdragon 800/801: Why Android 7.0 won’t officially come to Snapdragon 800/801 devices. Из-за этого очень многие устройства, которые должны были получить обновление до 7-й версии Android (например, SONY Xperia Z3), его не получили, не смотря на желание и готовность производителей его выпустить.
Что ещё может пойти не так на этапе работы с производителем чипсета? Обновления драйверов для того или иного набора системной логики для производителя смартфонов не бесплатны. И если производитель сэкономил на этапе проектирования устройства, заказав чипсет с драйверами только для текущей версии Android, то за свежие версии драйверов ему придётся платить дополнительно. Дорого и не хочется; гораздо проще и дешевле сделать кривую программную прослойку (как в OnePlus 5 и 5T, «обновляющихся» до Android 8 с использованием HAL от 7-й версии Android и коряво написанную прослойку-транслятор) или и вовсе спустить вопрос на тормозах.
Но, допустим, производитель чипсета выпустил обновлённые драйверы для платформы и передал их OEM. Что дальше? Дальше производителю смартфона нужно потратить человеко-часы как на то, чтобы свежая сборка Android вообще заработала на их устройстве, так и на то, чтобы адаптировать собственные надстройки и оболочки, уродующие Android AOSP. И чем более ужасна оболочка (Huawei, LeEco, Meizu), тем больше времени потребуется для того, чтобы «натянуть» её на свежую версию Android. Результат? Смартфоны LeEco ни разу не получали обновлений версии Android; многие и многие смартфоны Huawei (за исключением недавних флагманов) или не обновлялись вовсе, или получали обновления спустя месяцы, а иногда и годы. Meizu и вовсе знаменита тем, что «обновляет» собственную оболочку, оставаясь в рамках старой версии Android. В тот же ряд можно записать и такую компанию, как Amazon: многие их устройства работают под управлением условно-свежих версий форка Android под названием Fire OS, но основаны на чрезвычайно старых версий ОС Android. Сюда же условно можно отнести Xiaomi, известную тем, что одна и та же версия MIUI может работать на разных устройствах компании на основе самых разных версий Android.
Предположим, что и этот этап был каким-то образом преодолён, и в руках у OEM – работоспособная прошивка, основанная на свежей сборке Android. Для того, чтобы доставить обновление пользователям, производитель должен обратиться в одну из лабораторий – партнёров Google для того, чтобы сертифицировать прошивку на предмет соответствия Android Compatibility Definition Document. Здесь, в частности, должны проверять такие вещи, как реализацию шифрования и безопасности (к примеру, смартфон при первом включении или сразу после перезагрузки обязательно разблокировать при помощи PIN-кода или паттерна, но не датчика отпечатков; в ZTE Axon 7 этот момент при сертификации пропустили), работоспособность сервисов Google (например, Backup Transport, позволяющего создавать и восстанавливать резервные копии данных в «облаке» Google Drive; в смартфонах Xiaomi под управлением даже глобальных версий прошивок MIUI пропустили и этот момент) и многое другое, что должно, по идее, работать на сертифицированной прошивке.
Сертификация – процесс небесплатный и довольно длительный. Если обнаруживаются несоответствия – всю процедуру потребуется проходить заново. Платить и ждать, ждать и платить. Далеко не каждый производитель готов играть в эту игру.
И даже получение сертифицированной прошивки далеко не всегда означает её моментальную доступность для пользователей. Если смартфон является операторской моделью, предназначенной для определённого сотового оператора (например, в США – Verizon, AT&T или T-Mobile), то прошивка поступает теперь уже к оператору для того, чтобы тот мог установить в неё то или иное количество собственных приложений и убедиться, что смартфоны на новой прошивке не создадут проблем сотовой сети оператора. (Пользователям из других стран тяжело понять концепцию того, что телефон, работающий на абсолютно любой прошивке, способен создать какие-либо проблемы сотовой сети, но в США бытует именно такой миф, любовно пестуемый операторами. Но стоит принимать во внимание и тот факт, что в США пользователь смартфона с любыми проблемами с телефонам склонен обращаться именно к своему оператору сотовой связи, а работников техподдержки проще тренировать на решение типичных проблем, основываясь на какой-то одной версии прошивки – и абсолютно без разницы, на какой версии Android она основана). Одобрение провайдером мобильной связи занимает длительное время, а некоторые операторы (яркий пример – американский Verizon) предпочитают сэкономить время и деньги, просто отказываясь распространять обновления для непопулярных или устаревших с их точки зрения устройств.
И даже на этом ещё не всё. Даже после сертификации Google и (если требуется) одобрения оператором, производители всё чаще предпочитают распространять обновления волнами. Сначала обновление получает незначительный процент пользователей. Если не возникло проблем, через какое-то время обновление получает следующая волна, уже в больших масштабах. Всем пользователям обновление зачастую становится доступно спустя недели, если не месяцы, после выхода – причём относится это даже к устройствам линейки Google Pixel, которые должны бы, по идее, обновляться сразу из без задержек.
И тем не менее, каким-то чудом многие и многие производители умудряются выпускать одно, а то и целых два крупных обновления версии Android для своих устройств. А вот некоторые другие производители не заморачиваются, предпочитая спустить вопрос на тормозах до окончания срока официальной поддержки. И вовсе не обязательно эти производители – безымянные китайские компании. Напротив, очень часто халтурить начинают крупные OEM. И речь сейчас идёт не только о бюджетных моделях, которые обречены работать с той версией Android и с теми многочисленными багами, с которыми они впервые появились на полках магазинах. Сейчас нам интересны флагманы – или то, что таковыми считают их производители. Итак, ниже – чёрный список производителей-халтурщиков.
Почётное первое место занимает компания BlackBerry. Речь сейчас не об устройствах под управлением сначала BlackBerry OS, а потом – BlackBerry 10; на их обновлениях компания поставила крест уже давно. Поговорим о смартфонах компании, выпущенных под управлением ОС Android.
Гвоздь программы – смартфон BlackBerry Priv. Это – самый первый аппарат компании под управлением Android, выпущенный в ноябре 2015 года с ОС Android 5.1. Для устройства обещалось два года обновлений. В мае 2016 смартфон получил обновление до Android 6.0. До конца официальной поддержки оставалось полтора года… В августе 2016 вышел Android 7.0. Тем не менее, BlackBerry Priv не получил седьмой версии Android ни в 2016, ни в 2017 году, а в ноябре 2017 компания с радостью анонсировала прекращение поддержки устройства. Мне жаль пользователей, купивших этот недешёвый аппарат в надежде на получение обновлений в течение двух обещанных лет.
Ещё более печальна судьба смартфона BlackBerry DTEK60, выпущенного в октябре 2016 на устаревшей уже на тот момент версии Android 6.0. Этот недешёвый смартфон, построенный на отличной платформе Snapdragon 820, так и не увидел Android 7 ни в 2016, ни в 2017 году. За всё время устройство не получило ни одного обновления версии Android. Компания BlackBerry не собирается обновлять этот телефон, ограничившись выпуском патчей безопасности, заявив, что такое обновление – чрезвычайно сложный процесс, сравнимый с чудом.
В настоящий момент BlackBerry занята продажами смартфона KeyOne – середнячка на платформе Snapdragon 625, который предлагается по стоимости современных флагманов. На сей раз пользователям обещают длительный период обновлений. Мы, как всегда, верим.
Единственным телефоном компании Kodak стал фотосмартфон Kodak Ektra, выпущенный в октябре 2016 года под управлением устаревшей (но на момент анонса – ещё не очень сильно) платформы Android 6.0.
С момента выхода смартфон получил несколько обновлений, которые касались исключительно работы предустановленного софта и приложения камеры. Версия Android как была 6.0, так и осталась 6.0. Ни Nougat, ни тем более Oreo этот смартфон не получил. Между тем предлагался этот смартфон за безумные $499 в США и 449 евро в Европе. На сегодняшний день, спустя чуть больше года с момента анонса, устройство заброшено производителем, и его можно купить менее, чем за сотню евро. На мой взгляд – красная цена за аппарат с устаревшей ОС без обновлений.
Gigaset – известная немецкая компания, выпускающая самые разнообразные модели беспроводных телефонов DECT. Два года назад компания решила попробовать расширить линейку, с помпой представив флагманскую линейку смартфонов Gigaset ME и Me Pro в сентябре 2015. Устройства предлагались по заоблачным ценам в 459 и 549 евро соответственно. Неудивительно, что потребитель прошёл мимо этих устройств. Компания быстро осознала свою ошибку, и исправила ситуацию, прекратив всяческую поддержку уже проданных и отключив серверы OTA. Смартфоны, претендующие на звание флагманских, не получили ни одного обновления Android.
Зачем этим телефонам обновления? Дело в том, что при довольно интересном (до сих пор!) железе, программное обеспечение этих смартфонов не просто оставляло желать лучшего, а являло собой одну зияющую дыру в безопасности. Плохо было (и теперь уже останется) всё: дырявая блокировка загрузчика, позволяющая спокойно загрузить стороннее recovery без удаления данных; встроенный терминальный root-доступ; датчик отпечатков пальцев, срабатывающий сразу после перезагрузки устройства… дальше просто скучно, ведь любая из этих уязвимостей уже позволяет проделать с телефоном фактически что угодно.
Компания OnePlus также известна вольным обращением с собственными обещаниями. Так, вышедший в конце 2015 года OnePlus X получил ровно одно крупное обновление – с Android 5.1 до 6.0. И если в случае с этим смартфоном у компании есть оправдание – Qualcomm не выпустили драйверы для Android 7.0, – то ситуация с OnePlus 2 куда менее однозначна.
Выпущенный в июле 2015, OnePlus 2 получил флагманские для 2015 года характеристики, Android 5.1 и обещание двухгодичной поддержки производителем. Компания OnePlus неоднократно подтверждала, что смартфон должен получить Android 7.0. К сожалению, выполнять свои обещания компания не спешила, а в июле 2017 выступила с официальным заявлением: Android Nougat для этого устройства не будет [ https://www.androidauthority.com/oneplus-confirms-no-android-nougat-update-oneplus-2-779029/ ]. Почему так случилось? Официальная причина – «в момент выхода этого телефона у нас не было такой замечательной команды разработчиков, как есть сейчас». (Вероятно, имеется в виду, что Nougat для OnePlus 2 должны были делать «тогда», и именно те программисты.) Реальная – чипсет Snapdragon 810 получился настолько неудачным, что аппарат не пользовался популярностью, и его обновление посчитали пустой тратой денег. Репутация? Для BBK это слово ничего не значит, и в чём-то они правы: пользователи продолжают покупать их смартфоны; нарушенное обещание никак не повлияло на продажи.
Не всё в порядке и с последним поколением устройств OnePlus, смартфонами OnePlus 5 и 5T. Судя по всему, в целях экономии при разработке устройств в компании заказали набор драйверов для Android 7, не оплатив дальнейшую поддержку. В результате в драйвере камеры обоих устройств кроется фатальная ошибка, из-за которой вместо современного HAL3 производитель использовал устаревший HAL1, а Camera 2 API фактически неработоспособен из-за несовместимых с жизнью визуальных артефактов. У пользователей была надежда, что ситуация будет исправлена с выходом обновления до Android 8.0, но в OnePlus хитрым образом обманули ожидания своих почитателей, отказавшись, во-первых, поддерживать Project Treble, а во-вторых, использовав вместо актуального для Android 8 HAL набор старых драйверов от Android 7 и программную прослойку (shim) для трансляции вызовов.
Вообще говоря, так не делается; это – дешёвый и грязный способ поддержки новых версий Android в условиях отсутствия нормальных драйверов. Для того, чтобы понять, насколько неправильно поступает OnePlus, приведу простую схему того, как должно быть построено взаимодействие аппаратной и программной частей, если его реализовывать правильным образом, но «в лоб», без поддержки Treble:
Драйверы (Oreo) > HAL (Oreo) > Приложения (Oreo)
А вот как это реализовал OnePlus:
Драйверы (Nougat) > HAL (Nougat) > прокладка-транслятор (shim) > Приложения (Oreo)
К сожалению, этот путь ведёт в тупик: ошибки не исправляются, а накапливаются и масштабируются, а дальнейшие обновления будут всё более и более сложными. Именно поэтому OnePlus 5/5T мы записываем в чёрный список с точки зрения обновлений.
К этому способу обычно прибегают разработчики кастомных прошивок (в частности, прошивок на основе Android 7 для устройств на Snapdragon 800/801, где нужных драйверов просто не существует в природе. Для интересующихся приведу ссылку на статью Cameras in Custom ROMs: How Developers Make Hardware Work without Source Code.
Да-да, в наш чёрный список попала и известнейший онлайновый магазин Amazon. Не все знают, но в июле далёкого 2014 году компания выпустила смартфон под собственной маркой. Amazon Fire Phone был оснащён процессором Snapdragon 800 и работал под управлением ужасно устаревшей уже на момент выхода ОС Android 4.2 (напомню, ещё в октябре 2013 года – почти за год до выхода Fire Phone! – был выпущен Android 4.4 KitKat). В мае 2015, почти через год после выхода Android 5.0 Lollipop, Amazon выдал на-гора обновление – аж до версии 4.4 KitKat (которая вышла, ещё раз, в октябре 2013). Сразу после этого смартфон был заброшен.
Что это было? Дешёвая модель с кучей рекламы? На момент выхода в США смартфон предлагался за $199 (за версию 32ГБ) или $299 (64GB). Дёшево? Как бы не так! Купить устройство можно было только при заключении кабального контракта с AT&T, что моментально взвинчивало стоимость устройства до $379 и $479 соответственно. Назвать эти цены низкими не поворачивается язык. Впрочем, компания Amazon быстро осознала свою ошибку, и спустя всего полгода Fire Phone можно было купить всего за $179 и без контракта, однако поезд уже ушёл.
Да, на рынке хватает компаний, сплошь и рядом нарушающих обещания или забрасывающих уже выпущенные модели на произвол судьбы. За исключением единичных флагманских моделей, выпущенных единичными компаниями, основная масса устройств на Android никогда не получит обновлений помимо исправлений ошибок, внесённых самим же производителем на этапе натягивания на чистый Android собственной оболочки.
К моему огромному сожалению, в Microsoft прекратили выпуск смартфонов на собственной ОС Windows 10 Mobile. Lumia 950 и 950 XL обладали всеми свойствами, которые хотелось получить от смартфона в 2015 году: съёмный аккумулятор, поддержка двух SIM карт и дополнительно – карты памяти, сменная задняя крышка с вариантами оформления на любой вкус (хоть кожа, хоть дерево, хоть простой пластик). Камера в этих смартфонах до сих пор составляет конкуренцию свежайшим флагманам, а псевдофлагманы класса OnePlus 5 (маркетинговый слоган “Clearer Photos”) и вовсе нервно курят в сторонке. Даже Snapdragon 810 не стал камнем преткновения, т.к. Microsoft – единственные среди всех производителей – сумели совладать с его «горячим» характером, установив в весьма крупный корпус Lumia 950 XL полноценные тепловые трубки.
Увы, продолжения не последовало, а линейка устройств на Windows 10 Mobile была закрыта. Когда подобное происходит в мире Android, производитель частенько делает «упс!», и обновлений можно больше не ждать. (Позитивные примеры тоже есть, но их можно пересчитать по пальцам одной руки). Однако Microsoft и здесь пошли против течения: оба флагмана (а заодно и устройства среднего класса) будут получать обновления Windows 10 Mobile до середины 2019 года. Неплохо для устройств, вышедших в далёком 2015 году и проданных в мизерных количествах? Да, мы понимаем, что новых возможностей в ОС уже не появится; даже ночной режим, появившийся в Creators Update, и тот не будет портирован в мобильную ОС. Тем не менее, ошибки исправляются, найденные уязвимости патчатся, и даже новые UWP API портируются в мобильную версию Windows. Можно ли требовать чего-то большего от устройств двухлетней давности из закрытой линейки, работающих на «мёртвой» ОС?
В схожей с Microsoft ситуации оказалась компания Lenovo, закрывшая подразделение, занимающееся выпуском линейки смартфонов ZUK. Тем не менее, смартфоны ZUK Z2 Pro и ZUK Edge, вышедшие с Android 6.0 на борту, продолжают получать обновления: сперва Android 7.0, а теперь и Android 8.0 доступен в виде бета-версии. Вполне достойное поведение для производителя, никогда официально не продававшего эти модели за пределами Китая.
А вот с моделью Moto G4 Plus компания чуть не допустила ошибку, не включив телефон в список модели, которые должны получить обновление до Android Oreo. По заявлению компании, в маркетинговые материалы (во все сразу, включая коробку устройства) вкралась ошибка; в реальности планов обновлять устройство до Android 8 у компании не было. Тем не менее, признав свою ошибку, Lenovo не открестилась от устройств, а добавила http://www.androidpolice.com/2017/09/18/motorola-honors-android-8-0-oreo-update-promise-moto-g4-plus/ их в список моделей, которые таки получат обновление. Единственно правильный, на мой взгляд, выбор – и полная противоположность поведению OnePlus.
Все знают, что устройства под управлением iOS, выпускаемые компанией Apple, поддерживаются в течение многих лет и получают обновления одновременно и мгновенно, сразу после их выпуска. И действительно, в Apple сумели создать совершенно уникальную систему обновлений, не имеющую даже отдалённых аналогов ни у одного другого производителя – но вовсе не потому, о чём вы, возможно, подумали. Есть платформы (та же Windows 10 Mobile), которые получают обновления непосредственно от Microsoft; есть отдельные устройства (те же Nexus и Pixel), которые получают обновления напрямую от Google. В чём же разница?
Отличие не в том, что Apple в одно лицо контролирует разработку чипсета, устройств на его основе, драйверов для них и собственно операционной системы (iOS). И не в том, что Apple нет необходимости как-то дополнительно сертифицировать собственные прошивки. И даже не в том, что компания сумела договориться с американскими провайдерами сотовой связи о том, что будет распространять обновления напрямую, минуя операторские каналы. Это важно, и одного этого уже было бы достаточно для полного счастья такой компании, как Microsoft или Google (собственно, по похожему принципу Google и распространяет обновления на свои устройства линейки Pixel, да и Microsoft не сильно отстаёт со своей Insider Program).
Принципиальная разница в том, как именно Apple позволяет устройствам устанавливать обновления.
Если для смартфона на Android, Windows 10 Mobile и даже BlackBerry 10 можно скачать файл обновления (а во многих случаях – и полный образ прошивки) и так или иначе, но установить его на смартфон независимо от того, какой на календаре месяц, год или день недели, то в случае с Apple iOS для установки прошивки (и более того, даже для входа в режим обновления прошивки!) категорически требуется, чтобы сервер Apple подписал при помощи цифровой подписи данную конкретную прошивку для данного конкретного устройства. А если Apple не захочет подписывать ту или иную прошивку? Ваше устройство просто не сможет установить обновление.
Этот подход уникален среди производителей массовых мобильных устройств, и даёт компании Apple целый ряд преимуществ. Так, вы всегда сможете обновить свой телефон только на актуальную версию iOS; лишь в течение ограниченного времени (от нескольких дней до пары недель) сохраняется «окно выбора», позволяющее пользователям, которым категорически не нравится новая версия iOS, откатиться на предыдущую актуальную версию системы. Как только окно закрывается, откат на что-либо, кроме текущей актуальной версии iOS становится невозможен.
В связи с этим – ещё одно интереснейшее наблюдение. Вы, вероятно, слышали о существовании такого класса устройств, как устройства для перебора пасскода для iPhone. Подавляющее большинство этих устройств работало примерно одинаково: они вводили iPhone в режим обновления прошивки, подсовывая в качестве «обновления» одну из уязвимых версий iOS. Разумеется, на самом деле никакого обновления прошивки не происходило, а режим обновления был нужен исключительно для того, чтобы перебирать пароли на iPhone без риска потерять данные после десяти неудачных попыток и без длительных (до получаса) блокировок устройства после пяти. Всего несколько месяцев назад все эти устройства, сколько их ни есть в мире, одновременно перестали работать: в Apple спохватились и перестали подписывать уязвимые версии iOS, после чего даже ввести iPhone в режим «обновления прошивки» стало решительно невозможно – даже если на устройстве установлена именно уязвимая версия iOS!
Итого: всего один переключатель на сервере Apple, и перестали работать все китайские коробки для перебора паролей на iPhone независимо от версии iOS, установленной на устройстве.
Справедливости ради, нужно упомянуть о двух исключениях из правила. Во-первых, для смартфонов на iOS 7 или более старой китайские устройства продолжают работать; в 2013 году у Apple был совсем другой подход к безопасности. И во-вторых, если перед обновлением прошивки сохранить со своего устройства ключи от старой, то старую прошивку можно будет снова установить на то же устройство, если что-то пойдёт не так с новой версией. Однако работает это только на том самом устройстве, с которого были сохранены ключи.
В заключение обычно бывают выводы, но здесь их нет. Ни громкое имя (Amazon! Gigaset! Kodak!), ни «флагманская» цена, ни массовая реклама не дают гарантии того, что устройство будет поддерживаться производителем. Представление о том, как будет обновляться та или иная модель, можно получить, лишь подробно проанализировав даты выхода и даты получения мажорных обновлений предыдущими поколениями устройств той или иной компании. Да, есть исключения: новички на рынке HMD Global (торговая марка “Nokia”) и Razer (купившая стартап Nextbit) стараются изо всех сил, чтобы завоевать доверие потребителя, но в целом платить какие-то заметные деньги за телефон, выпущенный новой на рынке смартфонов компанией, я бы поостерёгся. А вот ухватить на распродаже остатков такую модель по бросовой цене вполне можно. Главное – понимать, что именно приобретается и какие у него перспективы использования.