Скоро пройдёт четыре месяца со дня анонса iOS 4 — операционной системы iPhone и iPod touch. То есть у разработчиков программ для неё была куча времени на то, чтобы начать поддерживать быстрое переключение между приложениями. Для этого программы нужно научить быстро сохранять своё состояние и затем быстро его восстанавливать. Вместо этого большинство старых программ до сих пор ничего подобного не поддерживает, и после перехода из них на главный экран (то есть, фактически, закрытия) данные теряются, а после перезапуска загрузка начинается с начала. Это совсем не то, чего ожидают пользователи, установив новую операционную систему, которая вроде бы должна обеспечить многозадачность.
Переложив работу на плечи разработчиков, в Apple получили огромную проблему с юзабилити: теперь система кажется ненадёжной — одна программа запомнит своё состояние, другая полностью проигнорирует эту возможность. Казалось бы, в первую очередь пострадать должны пользователи старых и малопопулярных программ. Но нет, даже разработчики, успевшие хорошенько заработать на продаже программ почему-то не торопятся выпускать обновления. Отсутствие поддержки многозадачности в читалке новостей NetNewsWire и конвертер величин Convert раздражают меня больше всего — это не самые редкие программы, но у них, похоже, самые ленивые разработчики.
К клиентам социальных сетей Twitter и Friendfeed, которыми я активно пользуюсь, таки выпустили обновления, но они принесли новую беду: теперь эти программы не загружают обновления автоматически при переключении в них. То есть раньше, чтобы посмотреть, что пишут в «Твиттер», нужно было лишь вызвать программу, а теперь вызвать и обновить.
Сохранение состояния вообще нужно далеко не во всех программах. Поскольку в многоэкранных приложениях легко заблудиться (никакой подсказки о том, где находишься, в большинстве из них нет), пользователи раньше могли использовать кнопку Home в качестве волшебного способа избавиться от всех проблем. Вышел, вошёл — оказался в самом начале.
Интересный пример — адресная книга, поставляемая Apple вместе с операционной системой. До iOS 4 в адресную книгу можно было зайти, открыть там какой-нибудь из контактов, а после возвращения перед пользователем появится список контактов, но будет установлен на открытой в прошлый раз позиции. Поистине умный подход, учитывающий все факторы. В новой версии ОС это хитрое поведение сменили на совершенно прямолинейное: при возвращении в Address Book, всё окажется на том же месте, где было оставлено. Похоже, и разработчикам теперь несмотря ни на что придётся поддерживать именно такое поведение в своих программах.
Особенно, конечно, обидно за любимые игры. Прекрасная головоломка Toki Tori просто создана для того, чтобы заглядывать в неё время от времени или хотя бы прерывать игровой процесс на проверку почты и прочие твиттеры. Увы, это невозможно — создатели игры так и не пошевелились. Это, конечно, далеко не единственный пример. Из более чем сотни установленных у меня игр многозадачность поддерживает едва ли больше десятка.
С играми, кстати, становится очевидной ещё одна проблема «быстрого переключения» iOS 4. Дело в том, что операционная система сама решает, когда на самом деле закрывать приложение и высвобождать занятую им память. Игры занимают куда больше оперативки, чем другие приложения. Что случится с «сохранённой» игрой, если память кончится? Её, несомненно принудительно закроют, но восстановить своё состояние и начаться в следующий раз с того же места она сможет лишь если разработчик специально позаботился о таком поведении. Можно ли верить в то, что они будут делать именно так? После нескольких месяцев ожидания надежд всё меньше.