Найти в Дзене
Bad Red Cat

Опровергаем ложь: "Android - открытая система" (Часть II)

Добрый день, Эта статья является продолжением "Опровергаем ложь: "Android - открытая система" (Часть I), где в полной мере и с приведением доказательств из независимых источников показано, что операционная система Android не является открытой, а проект Android Open Source Project (AOSP) является лишь "уткой" от Гугла. Уткой, созданной с целью продемонстрировать не разбирающимся в теме людям, что Android якобы является открытым и свободным проектом. Google был вынужден пойти на этот шаг, чтобы хоть как-то противостоять iOS после выхода первого айфона (для Android, как и для Symbian выход айфона стал катастрофой - но Google смог переобуться в прыжке, и вполне успешно, а Nokia - нет. Об этом в прошлой статье). Там же в прошлой статье последовательно разобрано почему проект AOSP - это по факту "от мертвого осла уши" и почему для его реального использования в смартфонах надо потратить сотни миллионов долларов и неисчислимое количество человеко-часов, либо... заключить по-настоящему кабальн
Оглавление

Добрый день,

Эта статья является продолжением "Опровергаем ложь: "Android - открытая система" (Часть I), где в полной мере и с приведением доказательств из независимых источников показано, что операционная система Android не является открытой, а проект Android Open Source Project (AOSP) является лишь "уткой" от Гугла. Уткой, созданной с целью продемонстрировать не разбирающимся в теме людям, что Android якобы является открытым и свободным проектом. Google был вынужден пойти на этот шаг, чтобы хоть как-то противостоять iOS после выхода первого айфона (для Android, как и для Symbian выход айфона стал катастрофой - но Google смог переобуться в прыжке, и вполне успешно, а Nokia - нет. Об этом в прошлой статье).

Там же в прошлой статье последовательно разобрано почему проект AOSP - это по факту "от мертвого осла уши" и почему для его реального использования в смартфонах надо потратить сотни миллионов долларов и неисчислимое количество человеко-часов, либо... заключить по-настоящему кабальный для производителя смартфонов договор с Google, а так же использовать их полностью закрытые разработки. Что в итоге делает Android такой же закрытой, как iOS. Но Apple хотя бы не обманывает людей, говоря об лживой "открытости" так, как это делает Google.

Дело даже не в плеере, а в урезанном функционале и почти полном отсутствии драйверов.
Дело даже не в плеере, а в урезанном функционале и почти полном отсутствии драйверов.

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

Сторонние приложения - основа успеха любой платформы

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

Приложения могут разрабатываться как авторами операционной системы (типичный пример - Microsoft Office для ОС Microsoft Windows), так и сторонними разработчиками. Причем на мобильных платформах исторически сложилось все так, что именно сторонние разработчики стали определять наполнение платформы приложениями. Это, опять же, произошло в результате резкой эволюции самих смарфтонов, произошедшей после выхода первых айфонов (а там и андроид подтянулся до его современного вида) - буквально за пару лет стало доступно множество функций (сенсорный дисплей, навигация и т.д.) в носимом пользователем устройстве - и если классические компьютеры развивались постепенно, в случае со смартфонами это был внезапно открывшийся рынок новых возможностей. И его заполняли все, кому не лень - если вы застали это время, вспомните реакцию людей на какой-нибудь Angry Birds на iOS или Droid Hunter на Android - я помню как мы с коллегами отстреливали дроидов, летающих на экране смартфона по комнате (они были наложены на видео с камеры устройства, снимающего в это время реальную комнату). Одним словом, именно сторонние разработчики определяют наполнение той или иной платформы и, как следствие, ее ценность для пользователей.

Андроид хронически страдает неизлечимыми проблемами со сторонними приложениями, а именно:

  • Разработка под андроид - это ад. Для компаний стоимость разработки разработки под Android и так довольно высока, а стоимость отладки и оптимизации приложений под весь зоопарк железа, на котором работает эта платформа, еще выше. Если вы написали, например, игру и она хорошо работает на флагмане Samsung, то совсем не факт что эта же игра будет так же хорошо работать даже на Samsung среднего центового сегмента, не говоря уж о каком-нибудь Сяоми. Там вообще может ничего не работать (например, вылетать с ошибками) и чтобы это понять, вам надо иметь физически аппарат сяоми и тестировать непосредственно на нем. Либо вы будете получать единицы в рейтинге приложения от недовольных пользователей.
  • Абсолютное большинство в мире андроид - это самые убогие, дешевые и слабые аппараты. Как я уже говорил, мир Android, как и сама эта операционная система, состоят из лжи чуть менее, чем полностью. За счет агрессивного маркетинга вендоры и фанаты этой системы пытаются показать что якобы флагманы на андроид разлетаются как горячие пирожки, но если посмотреть сухие цифры отчетов, картина будет ужасающей - например, средняя цена продажи "топа за свои деньги" Xiaomi за 2024 год составила... примерно 150 долларов США. Смотрите официальный отчет на странице 19. То же самое у самсунга - 75% проданных аппаратов это дно днищенское, однако средний ценник у самсунга таки выше - 295$ (против 998$ у Apple, минуточку). Но это все равно крайне слабые аппараты А-серии, где цена во многом обусловлена переплатой "за бренд" (в чем традиционно любят обвинять почему-то Apple).
  • По статистике, пользователи андроид в большинстве своем куда менее финансово благополучные люди, чем пользователи iOS. Многие из пользователей Android даже не думают покупать что-либо, предпочитая использовать бесплатные версии, либо пиратские копии, с установкой которых на Android нет никаких проблем, в отличие от IOs.
  • Цветущее на платформе Android пиратство благодаря возможности установки приложения из любых источников. Гугл начиная с 2024 года внедряет методы борьбы с ним, но пока воз и нынче там.
  • Одним словом, стоимость разработки существенно выше, а платежеспособность аудитории сильно ниже - вот вам и ответ почему Android как платформа куда менее интересен разработчикам, чем iOS.

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

Хорошо, возможно, скажете вы, но статья ведь не про мучения бедных разрабов под Android и большие сложности с заработком на приложениях, а про его закрытость по сравнению с IOs. Причем тут закрытость? И тут следует рассказать о последнем камне преткновения, по причине которого на Android в принципе отсутствует ряд приложений, которые есть на iOS.

Теперь разберемся почему и как:

Производители делают Android на устройстве окончательно закрытым по сравнению с iOS.

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

Вот ссылка на статью, рекомендую почитать: "Почему любой Android снимает видео хуже iPhone?" за авторством mcpro. В ней приведен подробный разбор с доказательствами фактов, описанных мной далее на основе, в том числе, и этой статьи.

Авторское кино режиссера Марка Кривошеина, снятое на смартфон и получившее множество наград. Картинка с сайта habr.com
Авторское кино режиссера Марка Кривошеина, снятое на смартфон и получившее множество наград. Картинка с сайта habr.com

Той самой проблемой является блокировка разработчиками андроида возможности использовать устройство в полной мере для приложений сторонних разработчиков.

Привожу цитату из статьи выше:

Вся трагедия мира Андроид заключается в ненадлежащем отношении производителей телефонов к документации Android API.
Они игнорируют все возможности, с упорным стремлением подменяя уже имеющиеся механизмы своими собственными «костылями», которые они также не стремятся документировать и вообще афишировать разработчикам сторонних приложений.

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

Для тех, кто не из сферы IT, представьте что приложение должно работать с камерой смартфона, например, сделать фото. Но само приложение ничего не знает и вообще не должно знать что за модель камеры установлена в данный смартфон и вообще как с ней работать - просто потому что этих камер десятки тысяч самых разных. Ну и кроме того, низкоуровневое программирование для работы с камерой и ее обвязкой в виде DSP и прочего это совсем отдельная история, в которую играть никогда не умеют разработчики сторонних приложений, а умеют как раз производители в случае смартфонов.

У приложения есть условное "единое окно" (тот самый API), через которое в заранее известном и приложению и операционной системе формате приложение может попросить операционную систему, например, сделать снимок с заданными параметрами экспозиции фокуса и т.д. Операционная система обрабатывает этот запрос, обращается к драйверам камеры, получает нужную информацию и далее в заранее оговоренном формате передает в приложение. Это как все должно работать в идеале. Конечно, это рассказано все сильно упрощенно, для того чтобы читатели, не работающие в сфере IT понимали где в андроиде собака зарыта.

Что же происходит в андроиде?

Как было подробно рассказано в предыдущей статье, Гугл после подписания соглашения с дьяволом MADA и продажи души выполнения всех кабальных условий MADA и уплаты навязанных платежей разработчиком смартфона передает вендору (самсунгу, сяоми и прочим) сборную солянку из компонентов андроид и сервисов Гугл, для которых вендор должен дописать оболочку, а так же реализовать ряд драйверов (в случае необходимости) и обеспечить соответствие полученного Франкенштейна различным API Android (например, Camera2 API для того, чтобы сторонние приложения могли адекватно работать с камерой).

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

Это происходит по следующим причинам:

  • В мире андроид идет дичайшая конкуренция между вендорами, часто при этом использующих одно и то же железо, например, модуль камеры. Это выражается в том, что каждый стремится привлечь внимание пользователем, как за счет оболочки, так и возможностей стандартных приложений, входящих в эту сборку. Кроме того, каждый вендор андроида опасается что если сторонние приложения будут использовать все возможности работы со смартфоном, у пользователей не будет возможности выбрать именно, например, самсунг, если стороннее приложение будет делать все ровно то же самое, привычное пользователю, но, на куда более дешевом сяоми. Как пишет автор в статье:
Apple не предлагает свои решения как единственно верные, всячески сподвигая сторонних разработчиков создавать лучшие приложения. У Apple не вызывает ревности приложение Filmic Pro, которое на голову выше нативной камеры. Абсолютно всё, что умеет нативное приложение, сторонний разработчик может без проблем повторить.
И нет ничего, что бы было скрыто от разработчика.
Производители Android-телефонов думают, что они самые умные и для своего аппарата смогут создать набор идеальных приложений на все случаи жизни. В реальности же все оказывается совсем не так.

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

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

Пример кода с использованием Reflections. Любой адекватный разработчик скажет вам что это ужасный костыль и так писать нельзя.
Пример кода с использованием Reflections. Любой адекватный разработчик скажет вам что это ужасный костыль и так писать нельзя.

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

К чему ведет полная закрытость сборок андроид для пользователей и разработчиков

А вот к чему - камера, как и другие возможности устройства крайне ограничены на андроид в сторонних приложениях, в iOS же все прекрасно и открыто.

Android на конечных устройствах чуть более чем полностью состоит из программных "костылей.
Android на конечных устройствах чуть более чем полностью состоит из программных "костылей.

Ну например:

Три Android-бренда – три линии костылей
Отдельно хочу отметить три бренда: Google, Samsung и Sony. Первый, как аппарат той же компании, что разрабатывает Android. Второй, как самого значимого «конкурента» iPhone (в кавычки специально). Третий, как почти идеал.
Google Pixel. Все описанные выше страдания могли бы переноситься проще, если бы не Google Pixel. Как оказалось, Pixel далеко не пример для подражания, и имеет все те же проблемы, и так же игнорирует документацию Android API. Как? Мне непонятно. Я не понимаю как в пределах одной компании можно разработать ОС, и потом при создании своего аппарата проигнорировать все, что ты так усердно разрабатывал. Разве Apple себе такое позволяет? Google Pixel оказался ничем не примечательным среднячком, который показал очень плохой пример остальным Android-производителям.
Samsung Galaxy S... Производитель, который умудрился в пределах одной модели сделать два абсолютно разных аппарата. Любой S на Exynos будет в 100 раз лучше любого S на Snapdragon. И на фоне аппаратов Snapdragon аппарат от Samsung выглядит самым слабым. Samsung Snapdragon вобрал в себя все недостатки, которые могут быть у современного Android-девайса. Из вышеперечисленных пункты: 1, 2, 3, 4, 6, 8 имеют проблемы на данном устройстве. Если такое может позволить себе основной конкурент Apple, то чего мы можем ждать от других игроков рынка?
Sony Xperia 1/5 mark 1/2/3. Один из немногих аппаратов, которые могут претендовать на звание самых соответствующих документации Android. Но даже здесь, чтобы встать рядом с iPhone, еще работать и работать. Костылей, хоть отбавляй. Но в то же время, основные ключи управления не спрятаны от сторонних разработчиков и открыто доступны в Camera2 API. Большой минус, что все эти ключи нигде не задокументированы, и приходится гадать, за что каждый из них отвечает.
В последнее время очень остро стал ощущать недостатки Андроид-девайсов. Поэтому каждый раз, когда вижу на Youtube очередное сравнение в стиле «Сегодня мы выберем лучший камерофон на Android», вспоминаю песенку Шнура: «Выборы, выборы, кандидаты — так себе!»
И мой ответ таким сравнениям один: «Лучший камерофон на Android — это iPhone на iOS».

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

  • Запись 60 кадров в секунду. Современный iPhone может 4К60 на всех сенсорах. Современный Android в 99% случаев HD@60 умеет только в приложении от вендора, а 4К60 в 100% случаев умеет только в приложении от вендора. То есть запись качественного видео сторонним приложениям на андроиде недоступна вообще!
  • Цифровая стабилизация. Современный iPhone позволяет включать и оптическую и цифровую стабилизацию в сторонних приложениях. Современный Android только у Sony и Huawei позволяет включать цифровую стабилизацию в сторонних приложениях. У всех остальных по документам API это предусмотрено, но по факту не работает.
  • Запись HDR-видео. Современный iPhone позволяет записывать HDR-видео 10 бит, позволяет отключить метаданные и оставить только 10 бит. Современный Android далеко не всегда позволяет записать 10 бит, даже с нужным аппаратным кодеком на борту (привет из другой моей статьи про маркетинговую ложь об LDAC и AptX на любых андроидах), а HDR-видео - это вообще отдельная больная для разработчиков тема.
  • Отключение шумодава и резкости. На Android далеко не всегда работает - например, у Samsung и Huawei. Впрочем, Apple так же не позволяет пользователям регулировать эти два параметра - это один из двух недостатков айфона.
  • Ручная настройка экспозиции. Невозможно ее выполнить на большинстве Android-аппаратов. Часто даже не понять, почему так неожиданно меняется изображение. То ли система решила подсветить кадр для лучшей фокусировки, то ли баланс белого сцены так резко поменялся, то ли это работает тот самый HDR. Другая проблема - некорректная работа автофокуса (он перестает работать как только включается режим ручной настройки экспозиции). iPhone не имеет никаких проблем с ручной настройкой экспозиции, но имеет проблему с автоматической работой HDR, который не отключить. Это второй и последний недостаток iPhone.
  • Фокус. На iPhone работает и ручной, и автоматический фокус, на андроиде всегда с этим проблемы в сторонних приложениях - автофокус может перейти на бесконечность, в режиме ручной настройки сфокусироваться на дальних объектах не представляется возможным. Проблема есть на всех устройствах китайского производства, кроме Huawei. А Samsung на девайсах Snapdragon вообще сделал работу ручного фокуса недееспособной, но при этом она работает на аппаратах с чипами самсунг (которые почти никто не берет по причине убогости процессора).
  • Ручной баланс белого. В большинстве своем почти все аппараты Android с поддержкой справляются с этой задачей. Но не справился Huawei из-за внедрения сенсоров RYYB - оказывается, Android не знает, что такие сенсоры вообще существуют, поэтому эта опция на Huawei недоступна. И пусть вас не вводит заблуждение название HarmonyOS, это тот же андроид по сути..
  • Второстепенные камеры (ультра-ширик, телевик). Современный iPhone позволяет снимать на все доступные камеры, и часто в одном и том же режиме. Android же стремится спрятать их от сторонних приложений по причине их тотальной убогости, что сразу станет заметно. Samsung это делает уже много лет, OnePlus вообще запретил использовать второстепенные камеры, как и Xiaomi. Адекватна лишь фирма Sony - они дали доступ ко всем сенсорам, не пытаясь скрывать их недостатки. А там они значительные: нет ручного управления; качество картинки на порядок хуже, чем на основном сенсоре, сильно занижены разрешение и частота кадров.. Сразу трех более менее равноправных сенсоров сегодня нет ни на одном Android-устройстве, но, внезапно есть на любом iPhone.
  • Запись 24/25 кадров в секунду (требуется в кино). Huawei и OnePlue не поддерживают такую запись, хотя она заявлена. Xiaomi официально ничего не поддерживает, но эта возможность по факту работает. Единственный производитель, который и заявил и поддерживает в рабочем состоянии - это Sony.

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

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

Выводы

  • Вендоры конечных аппаратов на Android делают и так закрытый Android вообще наглухо заколоченным. Здесь просто глупо сравнивать его с iOS, которая при детальном рассмотрении оказывается гораздо более открытой для разработчиков и их сторонних приложений.
  • Основная причина этого - страх любого производителя Android конкуренции, что самое страшное, не только с другими вендорами, но и даже разработчиками сторонних приложений для их же смартфонов! Apple же, наоборот, делает ставку на разработчиков сторонних приложений, давая им зеленый свет и открывая максимум возможностей по работе с айфоном.
  • Так же причиной является ограниченность ресурсов у любого вендора Android и необходимость каждый год клепать десятки разных апаратов - тут лишь бы как-то допилить родное приложение "камера" и прочие, куда там до поддержки сторонних!
  • Кроме этого, аудитория андроида в большинстве своем неплатежеспособна, а затраты на разработку существенно выше, чем на iOS. Это сильно снижает мотивацию разработчиков и, как следствие, качество приложений на Android (и это при том что Google Play и так заполнен чудовищным количеством низкосортного шлака)
  • Как было показано выше, съемка видео ни на одном андроиде не является полноценной в сторонних приложениях, а в нативных от вендора она основана на многочисленных программных "костылях". И никакой открытости там и близко нет.

Спасибо за внимание.