,

Почему iOS 13 и macOS 10.15 Catalina оказались настолько неудачными

Пользоваться актуальными версиями операционных систем очень сложно из-за огромного количества багов и глюков. Бывший инженер-разработчик Apple объясняет, как так вышло
Актуальные iOS 13 на iPhone (вместе с iPadOS 13 на iPad), а также macOS 10.15 Catalina на Mac оказались слишком глючными даже для Apple. Компания грешит проблемами с первыми версиями операционных систем сразу после релиза, но на этот раз она неожиданно превзошла даже саму себя.
Apple запустила тестовые версии новых операционных систем для всех ключевых гаджетов почти сразу после конференции WWDC 2019, которая прошла в начале июня. Первые беты свежих платформ оказались слишком сырыми. В них было настолько много ошибок, что использовать их на своих основных устройствах было практически невозможно. Особенно подводила macOS 10.15 Catalina, которую я пытался использовать на своём MacBook Pro ещё в начале лета. До отката на macOS 10.14 Mojave работа фактически встала. Но ругать компанию за проблемы в бетах нет смысла, ведь они, по факту, только для разработчиков.

После выхода финальных версий iOS 13 (iPadOS 13) и macOS 10.15 Catalina многие проблемы ушли. Тем не менее, в сети продолжились жалобы на стабильность устройств на базе новых операционных систем. На Mac до сих пор отвратительно работает «Музыка», то и дело зависает Finder, отваливается AirDrop — это только малая часть недоразумений операционной системы. Главная же проблема iPhone — стабильность подключения к сотовой сети. На экране смартфона может неожиданно загореться надпись «Нет сети», и вылечить это получится только его перезагрузкой. Это очень странно и мешает полноценно использовать гаджет.

Почему же iOS 13 (iPadOS 13) и macOS 10.15 Catalina оказались настолько неудачными? На этот вопрос отвечает Дэвид Шайер, который был инженером-разработчиком Apple на протяжении 18 лет и работал над iPod, Apple Watch и многими другими проектами компании. Проблемы новых систем его даже не удивили.

1. Работу над ошибками тормозит огромный список задач

Есть чёткое ощущение, что Apple не просто так откладывает внедрение самых важных, интересных и востребованных возможностей на будущие версии операционных систем для iPhone, Mac и других устройств. Нет сомнений, что программисты и инженеры компании настолько сильно не укладываются в жёсткие сроки, которые ставит им руководство, что даже признаваться в этом никто из них банально не решается. Отсюда поддержка внешних хранилищ только в iOS 13, переключение тёмной и светлой тем по расписанию не раньше macOS 10.15 Catalina и так далее. На это не хватало времени.

Факапы случаются даже у самых опытных разработчиков. Если кто-то не успевает доделать новые возможности программного обеспечения точно в срок, работу над ними приостанавливают, а все усилия перенаправляются на задачи, которые уже готовы, но требуют полировки виртуальным напильником. Тем не менее, этот вполне логичный принцип не касается Apple в полной мере. Скорее всего, именно с этим связано то, что новые функции появляются в устройствах компании с заметным опозданием. Каждая из команд разработчиков занята своими проектами и не переключается на соседние. Результат налицо.
Почему iOS 13 и macOS 10.15 Catalina оказались настолько неудачными
В Apple могли бы решить эту проблему, просто не выпуская продукты, пока весь необходимый софт для них не будет на 100% готов и максимально стабилен. Жаль только, это противоречит правилам компании. Да, устройства без фиксированного графика вроде AirPods или грядущих меток Apple Tag могут отложить на неопределённый срок, но с iPhone такой приём не пройдёт. У производителя есть целый ряд подобных гаджетов, которые должны появляться на сентябрьской, октябрьской, весенней или летней презентациях. И не важно, в каком состоянии находится их программное обеспечение.

2. Пользовательские баг-репорты не показывают всех проблем

Если у вас включена отправка отчётов об ошибках, то почти о каждой проблеме, которая произошла с устройством, в Apple будет автоматически приходить вся необходимая информация. Если нет, настоятельно рекомендуем исправиться — на iPhone: «Настройки» > «Конфиденциальность» > «Аналитика и улучшения» > «Делиться с разработчиками». Отчёты включают в себя множество различных переменных, которые помогают разработчикам понять, в чём именно заключается проблема и в каких условиях её удалось обнаружить. Чем больше пользователей открывают инженерам компании такие данные, тем быстрее они справляются со сбоями.
Почему iOS 13 и macOS 10.15 Catalina оказались настолько неудачными
Один из самых важных моментов этой функции — трассировка стека. Такая технология показывает, в какой именно части кода произошёл сбой, и каким образом это произошло. Это позволяет программистам максимально быстро устранять любые неполадки. В Apple серьёзно относятся к сообщениям о сбоях и стараются разбираться с ними в самые кратчайшие сроки. В результате этого, программное обеспечение компании становится всё лучше и лучше из года и в год и почти с каждым обновлением. Тем не менее, система, которую использует компания, далека от идеала. У неё есть один существенный недостаток.
Почему iOS 13 и macOS 10.15 Catalina оказались настолько неудачными
Жаль, но в отчётах не фиксируются те ошибки, которые не привели к сбоям системы: ваши фотографии не загружаются в iCloud, Mac не синхронизируется с другими устройствами, резервные копии системы повреждаются, iPhone зацикливается, требуя войти в учётную запись iCloud без остановки. Apple также отслеживает такие проблемы. Но делает это старомодным способом: с помощью ручного тестирования, автоматизированных тестов и написанных вручную отчётов от пострадавших пользователей. Эффективность такой системы, мягко выражаясь, оставляет желать лучшего.

3. Мелкие ошибки традиционно оставляют на далёкое будущее

Всем известно, что во время разработки Apple сортирует ошибки по степени их серьёзности. На начальных этапах компания успевает найти и убрать большинство неполадок, но после выхода первой бета-версии внимание уделяют только самым важным проблемам. В основном, это баги, которые вызывают потерю данных или сбои в работе всей системы. Конечно, с какой-то стороны этот подход вполне разумен. Чем больше вреда может нанести та или иная ошибка, тем скорее стоит браться за её устранение. Однако почина менее серьёзных сбоев часто откладывается на слишком долгое время.

4. Исправлять старые проблемы нет ни времени, ни желания

Apple уделяет особое внимание свежим продуктам — сегодня это iPhone 11 и иже с ним. Неполадки в их работе устраняются максимально быстро, чтобы пользователи видели стабильность системы и не теряли интерес к новым гаджетам. Но даже в этом случае речь идёт только про ошибки, которые сложно назвать незначительными или достаточно редкими. Не самая важная мелочь переживает первую, вторую, третью и так далее волны исправлений и может остаться в глубинах системы чуть ли не навсегда. Чего только стоит старый глюк при открытии Spotlight на iPhone, который устоял перед десятком апдейтов.

Именно поэтому многие неполадки, о которых пользователи говорят уже очень давно, компания не спешит исправлять. Само собой, в приоритете не только у Apple, но и других компаний всегда будут новые (и более дорогие) продукты. Однако рано или поздно пользователи просто устанут от такого отношения к себе.

5. Автоматизированные тесты используются неэффективно

В сфере разработки программного обеспечения не меньше трендов, чем в моде. Сейчас одним из самых интересных стало автоматизированное тестирование. У него есть несколько видов: тестовое проектирование, модульные тесты, пользовательское тестирование и так далее. Нет смысла сильно вдаваться в подробности — важно то, что Apple использует данную технологию только в некоторых областях. С точки зрения Дэвида Шайера, их круг необходимо сильно расширить, и тогда большинство проблем уйдут сами собой. Скорее всего, в ближайшее время компания действительно сделает это.
Почему iOS 13 и macOS 10.15 Catalina оказались настолько неудачными
Наиболее важной областью автоматизированной проверки считается тест аккумулятора. В его рамках компания нагружает гаджеты сложными ежедневными задачами, чтобы понять, насколько быстро они разряжаются. Такие же тесты используются в веб-браузере Safari и других приложениях. Но их не так уж много.

6. Растущая сложность гаджетов и ПО добавляет немало проблем

Ещё одной проблемой Apple стала постоянно растущая сложность экосистемы. Пару десятков лет назад компания продавала только Mac, а у процессоров было всего одно ядро. До сегодня многое изменилось — да что там, практически всё. Для работы современной экосистемы производителя нужны десятки миллионов строк кода. Mac, iPhone, iPad, Apple Watch, AirPods и HomePod общаются друг с другом и синхронизируются с iCloud, приложения работают в несколько потоков и взаимодействуют между собой через интернет. Очевидно, что справиться со всем этим всё сложнее и сложнее буквально с каждым днём.

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

Разобраться с проблемами разработчикам поможет только время

Apple анонсировала iOS 13.1 ещё до выпуска iOS 13.0. Это серьёзное подтверждение проблем с разработкой программного обеспечения, которые сегодня есть внутри компании. Тем не менее, у неё настолько много ресурсов, что от большинства недоразумений она рано или поздно, но точно избавится.

В ближайшее время нужно ждать более частых минорных обновлений операционных систем, чем это было ранее. А в долгосрочной перспективе верхушка Apple точно разберётся в данной проблеме — в этом нет сомнений. Ошибки системы бьют по бюджету, они тратят время разработчиков, которые могли бы работать над чем-то более интересным, а также снижают общий имидж компании. Тем не менее, у Apple слишком высокий уровень доверия, чтобы недоразумения с iOS 13 и macOS 10.15 Catalina могли оттолкнуть настоящих поклонников, которые вместе с ней на протяжении лет.

Apple была и остаётся одной из самых сильных компаний в секторе современной электроники. Лучше всего её устройства проявляют себя в экосистеме. Они работают сообща и часто лучше конкурентов справляются с задачами, которые на них возложены. Лично я люблю её именно за это.

P.S. Кстати, с какими глюками программного обеспечения вы когда-либо сталкивались после обновления техники. Обязательно расскажите, посмеёмся вместе! Меня вот недавно сильно удивили проблемы с приложениями Adobe, которые не работали полноценно на macOS 10.15 Catalina.

Внимание: это частичный перевод статьи TidBITS.
Последнее изменение:
 
Bravia
Bravia, 4 ноября 2019 - 18:14   (...)
Вот не знаю, дружище с 7-коц на бета 2 вполне збс себя чувствовал, даже в голову не приходило обновляться на финалку после беты так 7-й.
Ответить

Добавить комментарий
Если нужно ответить кому-то конкретно,
лучше нажать на «Ответить» под его комментарием