Обновления Android — почему дальше будет только хуже

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

Телефонов на рынке огромное количество. В посте пару дней назад я уже вставлял инфографик, на котором показывалось, что только HTC на северо-американском рынке за 16 месяцев между iPhone 4 и iPhone 4S выпустила почти два десятка различных смартфонов. На сайте американского Samsung какое-то время назад насчитали почти полторы сотни различных телефонов (от простых трубок до смартфонов с Android и Windows Phone), а сюда еще стоит добавить как минимум Motorola, SonyEriccson, LG и десятка два менее крупных производителей. Все они производят огромный зоопарк моделей, отличающихся своими характеристиками и форм-фактором. И вот выходит “вся такая в белом” Google и говорит “а вот вам, пацаны, новый, вкусни, сочни Android 4.0 отмороженный бутерброд” (ну или сендвич из мороженого, неважно).
[ad#intext-inside]
Google дает доступ производителям телефонов к новой версии системы. (Интересно, получает ли сейчас Motorola этот доступ раньше, чем другие производители?). Теперь это их задача — модифицировать код операционной системы так, чтобы она работала на всевозможных конфигурациях телефонов и протестировать все модели на наличие старых и новых ошибок в работе. После этого (по крайней мере, на западном рынке) производители идут к операторам (AT&T, Verizon, Vodafone, Orange и тд), которые добавляют свой брендинг, свои приложения (которые зачастую невозможно удалить с телефона в последствии), а затем тестируют эти устройства с новым ПО в своей сети (GSM, CDMA, LTE и тд). И только после этого, если всех все устраивает и не вылезло никаких новых проблем, выходит обновление для телефона. В зависимости от модели и других условий, обновление может выпускать как производитель телефона, так и оператор. В странах вроде России, где телефоны продаются без контрактов и без привязки к операторам, этап с операторами упрощен, но устройства с новой системой все равно нужно тестировать в работе с сетками.
Даже из текста понятно, что эти процессы занимают достаточно много времени. Вначале — объединение кода Android с кодом производителя, где добавляется поддержка различных телефонов и другие улучшения (или ухудшения), внедряемые производителями телефонов. Тестирование этого кода. Затем передача всего этого кода оператору, где продолжается дополнительная разработка и тестирование. А ведь у оператора наверняка ресурсы ограничены, и когда к нему выстраиваются HTC/Motorola/Samsung и проч с требованием “протестируй меня в первую очередь!!!”, я бы на месте оператора еще использовал этот момент для того, чтобы дополнительно повыкручивать руки производителям для того, чтобы получить какие-то дополнительные уступки. Все это может занимать от 3 до 6 месяцев, что мы зачастую и наблюдаем в случае с выпусками обновлений.
И это без учета ситуаций, когда оказывается, что новая система “не влезает” в телефон, как произошло с Samsung Galaxy S (по крайней мере, именно так утверждает Samsung, объясняя отказ от обновления телефона до Android 4.0). Так это или не так — пусть остается на совести Samsung, кинувшего покупателей флагмана, которому исполнилось всего 18 месяцев. Но в любом случае, ситуация, при которой Google разрабатывает систему, не ориентируясь на конкретные интересы того или иного производителя телефонов, вполне реальна. Не говоря уже о том, что лояльность среди покупателей телефонов с Android на порядок ниже, чем у тех, кто покупает iPhone, и они просто могут не оценить стремление производителя поддержать старую модель, а пойти и купить флагман другого производителя (“А что, это же все равно тот же Android!”). Может быть, Samsung и думает о своих клиентах, но в итоге все сводится к простой арифметике подсчета эффективности инвестиций — “если поддержка обновлений для телефона S потребует слишком большого количества усилий по разработке и поддержке, то стоит ли тратить эти усилия?”. А ведь телефонов дальше будет только больше.
[ad#intext-inside]
По этому поводу хочется припомнить Google, что в мае прошлого года на конференции они громко заявили о создании консорциума партнеров Android, который продемонстрирует, как нужно выпускать обновления для телефонов. Вся эта тема с ICS 4.0, когда обновление проходит мимо не самых слабых телефонов, демонстрирует полный провал этого желания “показать кузькину мать”. Что толку от всех этих обновлений с вкусными именами, которые выпускает Google, если радуют они только гиков, которые предвкушают танцы с бубнами и прочими криогеномодами. “Открытость” Android играет в данном случае плохую службу Google и производителям телефонов, и аналогия с Microsoft, Windows и OEM-производителями в данном случае не срабатывает, поскольку для всех OEM-конфигураций Windows обновления всегда делала только Microsoft, контролируя ситуацию. Забавно, что в случае с Windows Phone 7, Microsoft выбрала подход, похожий на то, что делает Apple: ограниченный набор конфигураций устройств, сервера обновлений, контролируемые компанией — и в результате Mango “встал” без проблем на практически все телефоны (пусть их хоть и немного), выпущенные до этого. К сожалению, пока что это не помогло Microsoft в росте доли рынка, но я вполне допускаю ситуацию, при которой в Android наберется критическая масса, уставшая от головной боли с обновлениями, которая в итоге уйдет в более управляемую среду.