До сих пор самой неудачной версией iOS считалась одиннадцатая. Apple пришлось шесть раз выпускать релизы с исправлением ошибок, потребовалось примерно два месяца чтобы iOS 11 научилась прилично себя вести. Тринадцатая версия iOS побила этот рекорд: для приведения её в порядок потребовалось восемь релизов-исправлений. Один из релизов можно было бы не считать, он касался HomePod – но исправления еще не закончены, на стапелях iOS 13.3, третья бета-версия которой доступна для тестирования.
Другими словами, Apple проводит эксперименты над живыми людьми, даже не ставя их в известность об этом. Но это, отчасти, шутка. Восемь с лишним релизов-исправлений – это не единственный рекорд iOS 13. Самая первая версия операционной системы для iPhone разрабатывалась несколько (от трех до пяти) лет, после чего, год за годом, с интервалом в примерно 12 месяцев выходили все новые и новые её версии. Я пытался найти хотя бы еще один программный продукт сравнимый с iOS по сложности который выпускался бы в таком же темпе. Удивительно не то что случилось с 11-й и 13-й версиями. А в меньшей степени, и с 7-й, 8-й и 10-й. Удивляют iOS 9 и iOS 12, очень достойные – несмотря ни на что. Сказать что в Apple ничего по этому поводу не предпринимали было бы неправильно.
Содержание статьи
С чего начались проблемы iOS
В начале 2018 года, в Apple Park состоялось совещание по итогам феерического дебюта iOS 11. Крейг объявил о внесении изменений в технологию разработки iOS, в организацию тестирования, и о введении новых правил. Рассказывать об изменениях 2018 года не буду, это не публичный документ. Отмечу только что эти изменения удивили меня дважды. Во-первых, в 2018 году предлагалось организовать разработку, тестирование, отслеживание “багов” и прочие элементы создания новых версий так, как все это было организовано лет десять назад. Во-вторых, iOS 12 разработанная с соблюдением старых новых правил была лучшей из всех версий iOS выпущенных в последние годы. В 2009 размер исходного кода iOS приближался к десяти миллионам строк. За десять лет он вырос, теперь это десятки миллионов строк. Если возвращение к нормальным практикам привело к такому результату, неужели в последние годы они работали как-то не так?
Предлагаем подписаться на наш канал в «Яндекс.Дзен». Там вы сможете найти эксклюзивные материалы, которых нет на сайте.
Разработчики (в том числе и разработчики iOS), покинувшие Apple в последние годы, винят во всем менеджеров, которые ни разу не программисты и не тестировщики, их де заботит только соблюдение сроков и получение ими премий за это. Вообще-то, менеджеры именно этим и должны заниматься. Об этом написано в их должностных инструкциях. То что они обязаны делать нравится не всем, далеко не все из них умеют ладить с людьми, но без менеджеров ни один серьезный программный продукт не имел бы малейших шансов выйти в свет в назначенное для него время. Сроки назначаются по соображениям стратегии, они учитывают ситуацию на рынке и планы конкурентов. И все что говорилось в 2018, было адресовано менеджерам. По каким-то причинам, из-за спешки или чтобы не трепать лишний раз нервы подчиненным, они игнорировали часть правил. Это моё предположение, но эти правила пришлось снова вводить в действие, я не представляю себе что еще должно было произойти чтобы это случилось.
На всякий случай: правила если и нарушались, то точечно, в ситуациях когда на них просто не хватало времени – в практике, наверное, любого софтвер-хауса что-то подобное имеет место. И в большинстве случаев обходится без эксцессов. Но iOS слишком большой и сложный комплекс состоящий из сотен проектов. Который вот уже тринадцать лет, без пауз, напряженно, строго по графику, продолжает развиваться. И с каждым годом его все труднее контролировать.
Главные проблемы iOS 13
В 2018 менеджеры напряглись и напрягли разработчиков. Педантично соблюдались все правила и “глупые запреты”, проекты комплекса своевременно согласовывались, и iOS 12 оказалась на удивление чистой. Без проблем не обошлось, но их было на удивление мало, и, видимо, обрадованное высшее руководство перестало пристально следить за строгим соблюдением “уставных” правил (у руководства других забот выше крыши, все старшие вице-президенты Apple трудоголики, работающие с утра до ночи и почти без выходных, а с этими проблемами, по мнению Крейга Федериги, вроде бы уже разобрались), и получилось как всегда. Конструкция снова не выдержала.
Читайте также - Стоит ли устанавливать iOS 13?
Разработку iOS 14 и iPadOS 14 плотно и тщательно контролируют Крейг Федериги и его “лейтенанты”, а Крейга, видимо, жестко контролирует Тим Кук. Планов на iOS/iPadOS 14 громадьё, некоторые из них амбициозны и грандиозны – а из-за того что что-то очень неправильно, все это делается мучительно и на нервах. Побочный эффект – не все этот ритм выдерживают. На смену ушедшим приходят новые энтузиасты своего дела, кто-то из них готов мириться с некоторым дискомфортом, кто-то нет (кадровая служба в Apple все еще одна из лучших в мире), но я единственный у кого возникает ощущение что ситуация все больше похоже на возведение комплекса небоскребов у подножия активного вулкана, готового в любую минуту извергнуть лаву? А кроме проекта с кодовым названием Azul (iOS 14, возможно и iPadOS 14) уже формируется техническое задание на Azul + 1 (iOS 15), обе эти версии очень важны для будущего Apple.
Как исправить проблемы iOS 13
Вариант “ничего не делать” уже точно невозможен. iOS и iPadOS – одно из главных конкурентных преимуществ Apple, даже несмотря на все их “детские болезни”, которые за два-три месяца авральной работы устраняются, это лучшие мобильные операционные системы в мире. И качество этих систем теперь в зоне особого внимания. Напряжением всех сил, возможно, Apple удастся выпустить одну или две замечательных версии. Как бы им не было тяжело, все разработчики, тестировщики и менеджеры из Apple не уйдут, так как самая большая концентрация фанатиков Apple в мире именно среди них. Но жестко (даже жестоко) контролировать вырывающийся из-под контроля процесс год за годом, без перерыва, невозможно. А напряжение будет только нарастать. Новые версии iOS и iPadOS будут раз за разом все сложней.
Сторонние доброжелатели предлагают два варианта облегчения ситуации. Первый – время от времени пропускать очередной срок. Заранее объявить о том что, например, после iOS 15 следующая версия выйдет не в следующем году, а через два. Боюсь, это не лучшее из возможных решений, ущерб от которого может быть очень серьезным, даже фатальным. Второй вариант – стратегия “тик-так” имени Intel Corporation. Версии насыщенные новыми функциями должны чередоваться с версиями главная задача которых – рефакторинг, оптимизация, чистка, излечение застарелых проблем. Новых функций может вообще не быть, или быть совсем немного (если это необходимо). Второй вариант мог бы сработать, посколько все macOS “без новых функций” были очень удачны и оставили о себе добрую память. iOS сейчас в значительно более трудном положении чем macOS 10.5 “Leopard” оказалась в 2007. Какое решение примут в Apple, пока неизвестно. Поживем – увидим. Пока – в Купертино прошло еще одно “совещание по поводу качества программного обеспечения”, обещают внедрить какие-то новые технологии – скорее всего, iOS 14 и iOS 15 будут отлаживать не на живых людях. А потом проведут еще одно совещание – наверное, это тоже метод.