Мнение: почему производители не обновляют смартфоны до новой версии Android

07.09.2016 12:14 — Новости Hi-Tech |  
Размер текста:
A
A
A

Источник материала:

Популярный твиттер-блогер под никнеймом @turbojedi написал в своем блоге на Medium заметку о том, почему далеко не все смартфоны на базе Android могут оперативно перейти на новую версию системы. Редакция vc.ru опубликовала отредактированный вариант статьи с разрешения автора.

Android-телефоны, как и все вещи в 2016 году, собираются из каких-то микросхем. У вас могло сложиться ошибочное мнение, что работу можно делать хорошо, а можно делать быстро. Не так с микросхемами: их можно делать быстро, но плохо, а можно  -  медленно, но все равно плохо. Даже если очень долго делать хорошую микросхему, то на выходе через несколько лет почему-то все равно получается плохая (в этом в некоторой степени виноваты и лично вы, но это уже совершенно другая история). А о том, как ставить смайлы в инстаграмме на Андроиде, вы всегда сможете прочитать тут.

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

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

Видео декодируется вверх ногами? Плевать, поправим в софте.

Контроллер флешки читает что угодно, но только не содержимое флешки? Плевать, поправим в софте.

GPU не рисует текстуры? Это вообще норма. Большое счастье, что GPU в принципе хоть как-то работает.

На фотографии я правлю вещи в софте. К счастью, эта микросхема не для Android-телефона, великовата.

Изображение: Некстджен и Усиление / medium.com
Изображение: Некстджен и Усиление / medium.com

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

Один из первых отпечатанных на заводе девбордов со свежим набором хаков проходит все тесты Google (14 других образцов из той же партии тесты не проходят, но это, опять же, совершенно другая история). Это очень важный момент по следующим причинам.

Уже сейчас абсолютно никто на фирме не имеет ни малейшего понятия, каким образом работает хоть что-то.

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

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

Чтобы программисты не перевешались на JTAG-шнурках от стыда, на помощь им приходит маркетинговое отделение и говорит, что исходные коды не раскрываются, потому что содержат большую коммерческую тайну и, посмотрев в них, можно в принципе понять, как работают некоторые вещи в микросхеме. Это на самом деле никому вообще не надо  -  другие производители тоже не имеют понятия, как работают и их собственные микросхемы, они не хотят разбираться еще и с чужими. Чтобы было еще чуть-чуть менее стыдно, набор хаков называют BSP (Board Support Package).

Перемотаем события на два года вперед. Каким-то чудом производитель вашего телефона сумел выпустить ваш телефон, вы по глупости его купили, а теперь прочитали в интернете, что скоро выходит новая версия Android с кучей новых интересных вещей, и гадаете, портируют ли ее на ваш телефон.

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

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

Поэтому сначала руками разводит производитель микросхем  -  обновлять BSP для старой линейки экономически нецелесообразно.

Потом руками разводит производитель вашего телефона  -  что он может без обновленного BSP? Новый Android просто не будет работать так, как хочет Google (или вообще никак не будет).

Потом руками разводите вы и покупаете новый телефон с новым Android. Я уже говорил, что в ситуации виноваты лично вы?

 
 
 

РЕКЛАМА