Для Huawei 2019 год стал едва ли не худшим годом за всю историю компании. Своими недальновидными указами президент США Дональд Трамп сделал так, что китайский производитель теперь не может использовать в смартфонах не только приложения и сервисы компании Google, но и собственные процессоры. И я не стал бы заикаться об этом не очень интересном событии, если бы не огромное количество поклонников Huawei, внезапно проявивших преданность компании.

Вопреки всем ожиданиям люди продолжили покупать смартфоны любимой марки и не побежали менять их после двух дней мучительного использования. Они оказались готовы заморачиваться с установкой сторонних приложений из непонятных источников, просиживать ночи за чтением мануалов по нелегальной установке Play Store и искать аналоги известных приложений в Huawei AppGallery. Любовь людей оказалась столь велика, что в этом году компания не только не потеряла на продажах телефонов, но и укрепила свои позиции, став самым популярным брендом в мире (да, Apple и Samsung остались позади).

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

Но сначала немного словоблудия.

 

Бизнес по-китайски

В последние несколько лет я плотно занимаюсь разработкой мобильных приложений для Android и поэтому всегда имею в своем арсенале пяток-другой телефонов разных производителей: Huawei, Xiaomi, Samsung, OnePlus и так далее. Среди них есть телефон с прошивкой AOSP (чистый Android), которая позволяет протестировать приложения в, так сказать, эталонной среде. В качестве бонуса я всегда могу посмотреть, как прошивки работают в сравнении с «настоящим Android», таким, каким его задумала Google.

И здесь начинается самое интересное. Android — это ОС с открытым исходным кодом, поэтому у каждого производителя есть возможность изменить любой из его компонентов в любую сторону. И большинство производителей охотно этим пользуются, тюнингуя внешний вид (то, что пользователи некорректно называют словом «оболочка») и поведение операционной системы. И если первое обычно ничем плохим не заканчивается, разве что приходится привыкать к новому UI, то второе может привести к катастрофическим последствиям.

Пользователи Huawei наблюдают эти последствия ежедневно. Особая гордость и непременный аргумент любого поклонника Huawei в том, насколько долго их телефон живет от одного заряда батареи. Смартфон действительно может ставить рекорды, и с точки зрения рядового пользователя это существенный плюс. А вот с точки зрения разработчика приложений и юзера, которому нужно нечто больше, чем вконтактик, — ужасная головная боль.

Сравнительный тест времени жизни от батареи. Источник: www.anandtech.com
Сравнительный тест времени жизни от батареи. Источник: www.anandtech.com

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

Да, твой WhatsApp продолжит нормально работать. Но не потому, что он так хорош, а потому, что в прошивках почти всех китайских смартфонов есть белый список приложений, на которые ограничения либо не распространяются вовсе, либо распространяются частично. И проблема здесь в том, что в него включают исключительно популярный софт. Если ты решишь установить какой-нибудь Delta Chat — он не будет работать корректно. И жаловаться ты пойдешь к разработчикам Delta Chat, а не к Huawei.

INFO

В свое время пользователи Huawei настолько надоели жалобами разработчикам VLC, что тем не осталось иного выбора, кроме как заблокировать установку приложения на половину моделей смартфонов этой компании.

 

Китайский код

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

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

Да, условные Xiaomi и Samsung тоже встраивают в свои прошивки системы подавления фоновой активности. Вот только в Xiaomi всю эту требуху таки можно отключить полностью, а в самсунгах она реализована как часть стандартного механизма энергосбережения Android и работает настолько аккуратно, что ее действие даже не замечаешь. И да, я не фанат Samsung, я разработчик, который регулярно запускает тесты производительности на разных смартфонах.

Приведу еще один интересный пример. Как ты думаешь, что сделает прошивка Huawei, если приложение захочет быстро завершить само себя? В документации Android на этот счет есть вполне четкое объяснение: приложение завершит работу (сюрприз!). Но программисты из Huawei плевать хотели на официальную документацию. Они покажут пользователю окно с сообщением о том, что приложение чуть не сломало телефон (!), и порекомендуют его удалить. Удалить, Карл! И я бы даже ничего не сказал, если бы это было результатом очередной «оптимизации». Но такое поведение явно говорит о другом — что разработчики Huawei не понимают концепцию кодов возврата.

О да, бедный телефон едва не умер от действий злобного приложения
О да, бедный телефон едва не умер от действий злобного приложения

И если уж мы заговорили о профнепригодности, вот еще один пример. В Huawei есть несколько встроенных виджетов рабочего стола. Они красивые и замечательные, но обладают одной очень интересной особенностью — некоторые из них крашат сторонние лаунчеры. Ты добавляешь виджет на рабочий стол, и рабочий стол завершает свою работу с ошибкой. Фанаты Huawei искренне полагают, что проблема в лаунчерах, и, конечно же, отправляют жалобы их авторам.

Настоящая проблема, разумеется, в другом. Встроенные в Huawei виджеты требуют, чтобы разрешение на доступ к нужным им функциям имел лаунчер, а не приложение, которому принадлежит виджет. Еще раз: виджет требует от лаунчера наличие нужного виджету разрешения. С точки зрения архитектуры ПО такой бред мог запрограммировать только вусмерть пьяный бомж, которому на голову упал Кирпич Тупости. И это при условии, что бомж родился тупым.

Кстати, о лаунчерах. Как ты думаешь, что это за безумная цепочка слов: «Настройки → Приложения → Настройки → Приложения по умолчанию → Настройки → Диспетчер»? Это инструкция, как открыть окно выбора лаунчера по умолчанию в смартфонах Huawei. Нет, не диспетчера памяти, диспетчера задач или диспетчера транспорта, а рабочего стола! Шесть абсолютно неочевидных слоев настроек надо пройти, чтобы выбрать лаунчер. А когда ты это сделаешь, система сбросит настройку при любом удобном случае, например после показа того самого сообщения с рекомендацией удалить приложение.

Вообще, нелюбовь к сторонним лаунчерам свойственна всем китайским производителям. Ведь совместимость своих наполненных костылями прошивок приходится обеспечивать не только с собственным лаунчером, но и со всеми остальными рабочими столами. Например, кривая система клонирования приложений и еще более кривая система теминга в Xiaomi приводят к тому, что сторонние лаунчеры не могут адекватно показывать иконки приложений и запускать клоны (и да, в пресловутом самсунге и с клонами, и с темами все хорошо).

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

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

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

Сюр, бред, сумасшествие? Но именно это получают пользователи Huawei. И хотят еще.

 

Выводы

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

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    11 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии