Итак, продолжим обозревать
Nexus One, суперфон над всеми smart-фонами и stupid-фонами, по мнению
Google. В прошлый раз я писал про аппаратную часть, в этот раз речь
пойдет о программной части — которая, как мне кажется, куда более
важна, чем железка, на которой она установлена. Хотя в идеале, в
правильном устройстве программная оболочка железку дополняет и
тщательно с ней интегрируется, что нам постоянно демонстрирует Apple.

Главный экран интерфейса Android, как я его себе настроил
Правда, качество железок у Apple периодически страдает, после чего
мне хочется поставить Mac OS X куда-то без надкушенного яблока, но это
потом проходит. В случае же с Nexus One систему делает Google, а сам
телефон — HTC, и иногда, когда что-то не работает (или работает не
так), непонятно, на кого же валить вину. Но это я так, отвлекся немного.
Перед обзором программной части — еще два момента о железе, о которых я
либо забыл в первой части, или выяснил еще по ходу. Во-первых,
прикольная штука у Nexus — два микрофона, один из которых принимает
голос, а второй — окружающий шум, но не для того, чтобы этот шум было
лучше слышно, а очень даже наоборот. Второй микрофон, улавливая шум
вокруг, позволяет каким-то хитрым образом (я особо не вникал в детали)
фильтровать шум при связи, что хорошо заметно во всяких шумных местах
— действительно хорошо слышно собеседника, и он тоже меня хорошо слышит.
Второй аппаратный момент, который я бы хотел отметить — это, как мне
показалось, меньше чувствительность гироскопа/акселерометра (или что
там обеспечивает телефону определение положения в пространстве).
Проявилось это на игре Labyrinth, скачанной из Market, где надо
провести виртуальный шарик по лабиринту между стен и отверстий, не
уронив этот шарик в отверстия. У меня сложилось впечатление, что на
iPhone (эта игра там тоже есть) шарик более естественно реагировал на
изменения положения телефона, хотя, возможно, дело больше в самой
системе и том, как она обрабатывает события, полученные от аппаратной
части (см. абзац №2).
Так вот, вернемся к софтверной части телефона. Изначально я
планировал разделить ее на две отдельные части, собственно, сама
"операционная система” и "приложения к ней”. Однако, в процессе
изучения телефона и его возможностей я понял, что местами эти вещи
довольно трудно отделить друг от друга, и иногда довольно тесно
переплетаются. Поэтому я решил не делать четкого разделения между этими
вещами, а расскажу просто все свои впечатления по порядку, разделяя их
просто по объему (чтобы не перегружать читателя, а также чтобы было что
запостить в блог еще и завтра) :)
В этой части я тоже добавлю еще один дисклеймер-оговорку (в
дополнение к озвученой в первой части оговорке о том, что я сравниваю
Nexus, в первую очередь, с iPhone). Я хочу, чтобы читатели немного
представляли себе, с позиции "кого” я пишу отзывы о программной части.
Я уже примерно лет десять занимаюсь разработкой приложений для разных
платформ, вначале — для Mac OS X, сейчас — для iPhone и Android, и, в
общем, неплохо представляю себе, как должно выглядеть и работать
правильно придуманное и разработанное программное обеспечение. Когда я
пишу "занимаюсь разработкой” — это не имеется в виду, что я лично
программирую, но я принимаю активное участие в создании приложений, в
том числе и интерфейсной части. Некоторые из программ, в создании
которых я участвовал, были удостоены различных наград, в том числе и
престижных Apple Design Awards. Конечно, это не исключительно моя
заслуга, мне всегда везло с командами проектов, и без них ничего этого
не было бы, но, я думаю, в целом картина ясна.
Так вот, наконец-то добрались до программной части Nexus. В нем, как
известно, установлена последняя версия операционной системы Android,
под номером 2.1, которая пока что официально дошла мало до каких
моделей телефонов с Android. Создавая ее, Google, как я понимаю,
"вложила” все то самое лучшее, что "у нее было”, чтобы показать всем
производителям, КАК на самом деле должен выглядеть и работать смартфон
на Android. И я их понимаю, потому что то, что я видел до этого, меня,
скажем так, не поразило.
На телефоне уже было установлено самое последнее обновление для
системы, которое добавляло возможность мультитача (который почему-то по
умолчанию в нем отсутствовал). В общем, круче Nexus One с Android
сейчас ничего нету, это — референсный телефон, на который должны
равняться все остальные.

Экран о системе
В целом операционная система производит вполне приятное впечатление
(особенно по сравнению с другими системами на рынке, если не брать во
внимание Apple — в частности, Windows Mobile 6 или Symbian), как с
точки зрения визуального оформления, так и общей интерактивности с
пользователем. Наверно, не стоит вдаваться сейчас в детали именно
графической оболочки, скажу лишь то, что я отметил, работая с Nexus. А
отметил я некую нелогичность интерфейса и его структуры, что ли. То
есть он просто-напросто не такой комфортный в использовании, как iPhone.
Помните, в первой части обзора я писал о кнопках на передней панели
телефона, с которыми у меня были трудности при нажатии. Так вот,
поскольку кнопок 4, а не одна, как в iPhone, то я ловил себя на том,
что я останавливаюсь, задумываясь "а какую же из них сейчас надо
нажать?”, в то время как на iPhone выбор весьма простой и не требует
лишних усилий. Я подозреваю, что для многих техногиков это может
звучать странно, но когда мне надо быстро выйти из приложения и попасть
на главный экран, и я начинаю жать Back, хотя на самом деле есть
специальная кнопка Home, то это вызывает небольшое раздражение из серии
"ну почему я должен помнить, что и зачем?”.
Кроме того, поскольку интерфейс системы рассчитан на многозадачность
(о ней немного ниже), то возникают ситуации, когда одна и та же кнопка
ведет себя в разных обстоятельствах по-разному. Например, я привык (или
убедил себя), что кнопка Back всегда должна возвращать меня на
предыдущую позицию от того места, где я был. И вот я в какой-то игре
случайно нажимаю на баннер, который ведет меня на описание другой игры
в Market (магазин приложений). Черт, думаю я, и нажимаю Back. Только я
не попадаю при этом обратно в игру, нет — вначале у меня загрузится
список игр той категории, в которую входит игра "из баннера”. Я еще раз
нажимаю Back — и попадаю в список самых популярных игр ("Черт, я же тут
не был, зачем я сюда возвращаюсь???”), нажимаю Back еще раз — и попадаю
на главный экран. Короче, много лишних нажатий и в итоге "назад”
получается как бы не совсем "назад”.
Или вот еще один пример нелогичности. Например, у меня две учетные
записи на Gmail, одна личная, вторая — рабочая, домен, который хостится
на Gmail. Я добавляю обе учетные записи туда, и захожу проверить почту,
открывая приложение Gmail. Приложение показывает мне почту только в
одной из учетных записей, я так понимаю, в той, которая первая по
списку. Но я хочу посмотреть почту и в другой учетке — нажимаю кнопку
Menu, выбираю команду Accounts, открывается окно с моими учетными
записями, выбираю вторую учетку, захожу в нее, читаю почту. Внезапно
мне нужно перейти в первую учетку, глянуть там какое-то письмо, я
нажимаю кнопку Back (рассчитывая увидеть окно выбора учеток, я ведь
оттуда только что пришел) — и оказываюсь на главном экране телефона.
WTF?
Не поймите меня неправильно :) Это
все, конечно, вроде как и мелочи, которые зачастую обычному
пользователю могут быть даже незаметны и не вызовут никакого
раздражения или непонимания. Но они, накапливаясь, складываются в нечто
большее — в то, что user experience от работы с таким устройством
оказывается неполным, не до конца продуманным. В этом месте мне уже
хочется начать защищать Android, потому что система-то на самом деле
хорошая, но чтобы успешно бороться с iPhone, нужно быть не просто
хорошим аналогом, нужно тянуться до уровня insanely great, который
хорошо получается только у Apple. Кто-то скажет, что пример Windows
доказывает, что вовсе необязательно быть "супер”, достаточно быть
"дешевым”, чтобы завоевать рынок. Но хочется надеяться, что
современного потребителя не соблазнишь посредственностью, и Google
немного не хватает того, чтобы сделать по-настоящему завершенный
продукт. Как тут не процитировать Бендера из Футурамы — ”Great is OK,
but amazing would be GREAT.”
Хотя рановато я начал резюмировать, у меня еще столько всего в заметках! :)
Давайте я скажу еще что-то хорошее про устройство и его систему.
Nexus One — ОЧЕНЬ-ОЧЕНЬ быстрое устройство. Он быстро загружает
приложения, быстро рисует графику (двухмерную) в играх, быстро рендерит
страницы в браузере — после iPhone 3G эта скорость впечатляет (хотя,
допускаю, что если бы у меня был 3GS, то разница была бы не настолько
заметной). Как я уже упоминал выше, сама система — многозадачна, то
есть позволяет запускать одновременно несколько приложений. Но вот
какая штука — если на компьютере вы фактически всегда видите свои
запущенные приложения и можете переключаться между ними одним нажатием
кнопки мыши, то даже на многозадачном телефоне вам все равно нужно
сначала скрыть приложение, а затем открыть второе приложение (либо из
менеджера задач, либо — нажав на иконку на экране, даже если приложение
уже запущено). Чем это отличается от однозадачности приложений на
iPhone, где точно также надо выйти из первого приложения и запустить
второе? А если второе при этом запускается быстро, да еще и сохранило
данные в окне — вот вам и многозадачность.
Конечно, если приложение в фоне работает и обновляет свои данные
(RSS-читалка, например), то эффект от многозадачности есть. А если это
приложение в фоновом режиме активно разряжает батарейку? У меня
случилось именно это — я, приехав в магазин, сунул телефон в карман
вместе с запущенными на нем Яндекс.Картами, которые я, приехав к
магазину, не выключил, а "спрятал” в фон. Через час шоппинга (это был
большой магазин!) я почувствовал, что телефон как-то уж очень сильно
нагрелся — я достал его из кармана и понял, что, видимо, Яндекс.Карты,
не обнаружив в кармане GPS-спутников (еще бы, откуда им там взяться),
дергали систему, требуя им отдать координаты. Ну или, может,
происходило что-то другое, я не знаю, но результат таков — батарейка за
этот час ушла наполовину. Но и это еще не все :) Иногда
некоторые приложения отказывались поворачивать экран при изменении
положения телефона. Я досконально не проверил это, но сейчас мне пришло
в голову, что это могло быть связано с каким-то приложением, работающим
в фоне, которое этого не поддерживает (игра, например), но в тот момент
ничего, кроме раздражения, это не вызывало.
А так — получение почты или же сообщений от ICQ или GoogleTalk в
фоновом режиме и на iPhone можно настроить, да и я остаюсь при мнении,
что на таком небольшом экране многозадачность нужна постольку
поскольку. Вот на iPad — другое дело, и я думаю, что там она в том или
ином виде может появиться, а на устройствах вроде iPhone, при наличии
Push-сообщений, она, как мне кажется, не особо и востребована.
А, кстати, о менеджере задач. Меня удивило вот что — по умолчанию в
системе его нет. Видимо, Google считает, что какое-бы приложение в фоне
не было запущено, пусть там и сидит. Но вторым приложением, которое я
поставил на Nexus (после, конечно же, Twitter-клиента), стал именно
менеджер задач, который я использовал для периодического "убивания”
множества запущенных процессов. Это — одно из самых популярных
приложений в Android Market, и я до сих пор удивляюсь, почему Google не
устанавливает ничего подобного в систему по умолчанию.

Убивалка задач
Но это не самое странное, чего в системе нет по умолчанию. Когда я
установил Твиттер-клиент (Swift, о нем — позже), то мне тут же
захотелось написать что-то из серии "Превед из Нексуса”. Но не тут-то
было — клавиатура отказывалась переключаться на русский язык. Ок,
подумал я, и зашел в настройки клавиатуры — там никаких настроек
касательно русского языка не было. Хм, подумал я, как же так? Неужели
тут нет русского? Телефон-то для Штатов в первую очередь, так что
ничего удивительного не было бы. Однако, меня сбивало с толку наличие
русской локализации в системе — то есть возможности установить
полностью русский интерфейс Андроида. При мне телефону сделали factory
reset, то есть сброс всевозможных настроек и обнуление до девственно
чистого состояния, так что это явно не проделки местных кулибиных. Я на
всякий случай установил эту русскую локализацию "главной”, у меня весь
телефон стал на русском языке, но клавиатуры все равно не появилось!
Короче говоря, налицо какая-то серьезная нестыковка: русская
локализация в телефоне есть, а клавиатуры — нет. Для того, чтобы она
появилась, я должен пойти в Android Market, скачать (хорошо хоть, что
бесплатно) стороннее приложение-клавиатуру для ввода русского языка,
установить это приложение, активировать его — и только тогда у меня
появится возможность ввода русского языка в Android. Я не понимаю, как
так может быть, но это — факт. Apple меня разбаловала двумя десятками
локализаций и клавиатур в iPhone, невзирая на страну продажи, и поэтому
я подхода Google не понимаю. Более того, когда я устанавливал это
приложение-клавиатуру, сама система меня предупредила о том, что, мол,
"вы осторожно, подобные приложения могут использоваться для воровства
логинов и паролей, так что вы уж там на свой страх и риск!”. Google, ну
неужели так сложно было вставить в систему свою клавиатуру и не пугать
пользователей этими предупреждениями?

То самое предупреждение
Раз уж мы заговорили про клавиатуру, то добавлю еще вот что.
Во-первых, в той русской клавиатуре, что я установил, не было
автокоррекции текста, подобной той, что есть в iPhone. То есть, в
американской раскладке, что встроена в систему, автокоррекция есть, а в
русской — нет, поэтому мои чаты и SMS, пока я пользовался Nexus,
изобиловали различными смешными и не очень опечатками. И еще вот что
— я постоянно ловил себя на мысли, что набирать тексты на клавиатуре
Android не так удобно, как на iPhone. То ли у них кнопки по-другому
устроены, то ли клавиатуры не настолько "эргономичны”, как в iPhone, но
когда я переключался с Nexus на iPhone, то тексты там набирались и
быстрее, и комфортней, и точней. Прикольно, конечно, когда на
клавиатуре есть отдельная кнопка-смайл ":-)”, но я бы предпочел, чтобы
кнопки у нее вместо этого были больше — тогда, как мне кажется, текст
было бы набирать удобней.
Фух, на этом я, пожалуй, сегодня остановлюсь, хотя мне еще много
чего есть сказать про Nexus One. Продолжение, я надеюсь, выйдет уже
завтра. |