Напишу-ка я хоть один пост "по горячим следам". Итак, тема на злобу дня - HTC заявило, что после долгих попыток портировать Gingerbread на Desire они решили "бросить полотенце", а именно признать, что ничего путного из этого не получится, и оставить Desire на FroYo.
Решение, конечно, вызвало бурю обсуждений. Традиционно считающие себя умнее других, а другую сторону - полными идиотами, стронники всех сторон ринулись в словесные баталии. Довольные противники Андроида видели в этом полный провал этой платформы и разорение фрмы НТС, а поклонники марки говорили, что им и на FroYo живется неплохо, и они переживут, и их веру в Андроид никакие "яблофаги" не поколеблют. Как и полагается, разброд и шатаниеи тому подобный цирк.
Я же предлагаю успокоиться, сделать над собой усилие и допустить крамольную и непривычную мысль, что у другой стороны тоже могут быть мозги и вполне разумные причины, и попытаться их понять. А после этого уже составлят свое мнение. Которое, кстати, вполне оспоримо и поправимо. К данной заметке это тоже относится, за конструктивные комментарии я буду только благодарен.
Итак, HTC Desire. ОЕМ версия Nexus One, основанная на той же платформе. В этом чем-то сродни Samsung Galaxy S, тот тоже имеет "гугловский" аналог Nexus S. HTC взяли Nexus One, добавили в него Sense, кастомизировали его под операторов и сделали Desire. Получился неплохой телефон.
Но Sense сыграл с НТС неприятную шутку - при попытке портировать его на Gingerbread на Desire перед НТС встал выбор - или убрать из телефона Sense, но зато проапгрейдить его на Gingerbread (на Nexus One же все прекрасно работает), или не апгрейдить его. Опция "и то, и другое" не подойдет. Я уверен, что они это попробовали, но производительность была просто неприемлемая. Вы можете не верить, но производители Андроид телефонов достаточно серьезно относятся к производительности. Вы просто не себе не представляете как кошмарно работают телефоны, когда они еще не доведены до ума, и что зачастую ради производительности жертвуются фичи. Просто не всеми фичами можно пожертвовать - у опртаторов есть свой список требований, без удовлетворения которых оператор телефон не примет, а есть фичи, важные для производителя. Важность Sense, я думаю, понимают все - это "лицо" телефонов НТС, и без него телефону не существовать. А теперь оттолкнемся от этой предпосылки и посмотрим, что дает нам Gingerbread и актуально ли это для нас.
- UI. Он темных тонов, рассчитан на SuperAMOLED экран Nexus S (чтобы уменьшить энергопотребление). Выше плавность, введены дополнительные визуальные эффекты. Для Desire это все неактуально, естественно - это все заменяет Sense.
- NFC - нактуально.
- Поддержка двух камер - неактуально.
- Клавиатура. Очень заметное улучшение. Но это можно компенсировать, дав пользователям тот же Swype.
- Улучшенное выделение текста. Это можно сделать самому, в Sense (если уже не сделали).
- Поддержка VoIP в стеке телефонии. Это приятно, но не критично. При желании можно портировать на FroYo, это несложно. Я это могу сделать за день-два.
- Мониторинг активных приложений. Тоже можно сделать.
- Мониторинг использования батарейки. Как и с приложениями.
- Куча оптимизации скорости UI. Причем не только графических, а еще и ввода. Из-за них в Gingerbread сильно возросла "чувствительность" телефона к нажатиям и скроллингу. А это очень приятно, и Sense тут не поможет. Можно попробовать это портировать, но это может оказаться нерентабельным - может понадобиться большое количество regression testing. Честно скажу - не знаю, эту часть кода не смотрел еще. Это очень приятная фича, и ею приходится жертвовать.
- Поддержка ADK, появившаяся в 2.3.4. А скольким оно надо?
- Новый API Level. Тут тоже хитро. С одной стороны, программистам не будет доступны все нововведения Gingerbread на Desire. А с другой стороны, программист будет кодить под 1.5, дабы обеспечить максимальную совместимость.
Вот и получается, что перед НТС встал непростой выбор. С одной стороны, без Gingerbread можно прожить, перетащив из него в FroYo измененения (какие получится) и дав пользователям апдейт. Да и со дня выхода телефона прошло полгода (напомним, что участники OHA обязуются апгрейдить свои телефоны в течение 18 месяцев после выхода, но Desire может не попадать под это обязательство), и телефон типа "морально устарел". А с другой стороны - это серьезная потеря лица. Лидер производителей Андроид телефонов, и так бьет лицом в грязь. Хоть отрицательный PR - это тоже PR, но урона тут может получиться больше, чем пользы. В НТС тоже не дураки сидят, и об этом они подумали. Но решили что выше головы не прыгнешь, что Sense дороше и важнее (что вполне понятно), и что горькую пилюлю на этот раз придется проглотить. Выбор сознательный, обдуманный. Не всем он может понравится, но право на него у НТС есть.
А теперь вопрос - является ли это доказательством того, какой "Андроид плохой"? Как и на всякий риторически каверзный вопрос, однозначного ответа на него нет (мнение ответом не считается). С одной стороны - Андроид не навязывает производителям телефонов жестких требований по железу (минимальные есть, но больше из разряда "что", нежели "что именно") и по альтерации платформы. И получается, что производитель может попробовать сэкономить на железе, понапихать в ОС всего своего, тяжелего, а потом пользователь будет расплачиваться. А другой стороны - именно эта политика свободы дает пользователю возможность все-таки проапгрейдиться на желанный Gingerbread вне зависимости от решения производителя. Ведь есть кастомные ROM'ы, в том числе и на основе Gingerbred, и под Desire. Вспомним тот же CyanogenMod. Наличие выбора - штука хорошая.